gruenif.ai is a web application for interactive multi-parameter optimization of molecules in a continous vector space.
A web application is best explained through a live demo. Please watch our video for a detailed explanation of the functionality: Showcase
In its current form grünifai is commposed of multiple microservices. We recommend the use of Docker to compose all microservises into one running environment.
- clone this environment.
- cd <REPOSITORY_DIR>
- docker compose up
The web app can now be accessed at http://localhost:8777/ When running without GPUs or to test, we recommend to set the checkbox for fastmode to reduce compute time.
The repository can also be installed from scratch. That way GPU support can be enabled as well. However, currently, we recommend using the Docker installation described above.
- cddd
- mso
- psycopg2
- flask
- flask_restplus
- requests
- nodejs
- yarn
- pyzmq
- marvinjs for molecule sketching: https://chemaxon.com/products/marvin-js
- terminal
- clone and install cddd
- clone and install mso
- clone this repository
- cd <REPOSITORY_DIR>
- conda env create -f environment.yml ( + activate this environment)
- pip install .
- cd <REPOSITORY_DIR>/gruenifai/backend/postgres
- python create_db.py (assumes a running postgres server running locally)
- cd <REPOSITORY_DIR>/gruenifai/gui/client
- yarn install
- yarn start
- cp marvinjs forlder into /gruenifai/gui/client/public
- terminal
- cd <REPOSITORY_DIR>/gruenifai/gui/server
- python api.py
- terminal
- cd <REPOSITORY_DIR>/gruenifai/backend/
- python start_inference_server.py --model_dir <PATH_TO_CDDD_MODEL> --device <CUDA_DEVICE (e.g. 1 3 4)> --num_servers <NUMBER_OF_SERVERS>
- terminal
- cd <REPOSITORY_DIR>/gruenifai/backend/
- python flaskserver.py --num_swarms=<NUMBER_OF_SWARMS> --num_workers=<NUMBER_OF_WORKERS>
The web app can now be accessed at port 3000