Skip to content

aaml-analytics/mof-explorer

Repository files navigation

Metal-organic Framework Data Visualisation Tools

About

These tools aim to provide a reproducible and consistent data visualisation platform where experimental and computational researchers can use big data and statistical analysis to explore their data or the adsorption related data we provide to find the best materials for specific applications.

App Manual

  • The app manual, explaining data file upload requirements and features of the tool can be found here

Deployment options

  • Users can deploy using the push Heroku button or deploy the app using command line, to either a development or production server. Command line is recommended as app requests are quicker.

Deploying to Heroku

heroku create
git push heroku master
heroku open

Alternatively, you can deploy your own copy of the app using this button and creating your own Heroku account: Deploy

  • Note: Once you have created your own copy of the app, after a period of inactivity Heroku shuts down the app's containers. Once the app gets a web request (the link above is used), it will wake up, but the initial response can take 10-20 seconds.

Deploy app on server (production and development)

Requirements

  • Download Python 3 if not already installed
  • Install Git -- Installation instructions using command line can be found here Note: If you are using Git after upgrading to macOS Catalina and get the following error...
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

...run the following in your terminal:

xcode-select --install
  • Install virtualenv to create virtual environments
pip install virtualenv

Running the app

To run this app first clone repository and then open a terminal to the app folder.

git clone https://github.com/aaml-analytics/mof-explorer/
cd mof-explorer

Create and activate a new virtual environment (recommended) by running the following:

On Windows:

virtualenv venv
\venv\scripts\activate

Or if using macOS or linux

python3 -m venv myvenv
source myvenv/bin/activate

Install the requirements:

pip install -r requirements.txt

Run the app on development server:

python app.py

You can then run the app on your browser at http://127.0.0.1:8050

  • To quit the app press (CTRL +C). You will have to run the app again with this command everytime you leave your terminal/ quit the app.

Run the app on production server by Gunicorn:

The suggested number of workers is (2*CPU)+1. For a dual-core (2 CPU) machine, 5 is the suggested workers value. The number of workers should equal the number of threads. The user can either use the below or change the worker and threads number accordingly.

gunicorn app:server --workers=5 --threads=5 --bind 0.0.0.0:8080

You can then run the app on your browser at http://0.0.0.0:8080

  • This URL will continue running and can be used to access the app even after you have left your terminal.

Screenshots

explorer-screenshot.png

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. You can also contact the AAML research group to discuss further contributions and collaborations. Please read CONTRIBUTING.md for details on our code of conduct.

Contact Us

Email: Mythili Sutharson, Nakul Rampal, Rocio Bueno Perez, David Fairen Jimenez
Website: http://aam.ceb.cam.ac.uk/
Address:
Department of Chemical Engineering and Biotechnology
Cambridge University
Philippa Fawcett Dr
Cambridge
CB3 0AS

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • AAML Research Group for developing this dashboard for the MOF community. Click here to read more about our work
  • Dash - the python framework used to build this web application

About

Content from AAML Data Analytics Tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages