Go to file
Navan Chauhan 854cc0b53a added docker compose functionality for quick testing 2020-09-22 17:24:30 +05:30
.github/workflows added CI badge and added sentry tracking 2020-09-10 13:26:06 +05:30
app added try except incase collada2gltf is not there 2020-09-22 17:17:05 +05:30
lstm_chem added alpha model 2020-08-01 15:34:22 +05:30
misc [ImgBot] Optimize images 2020-09-11 16:45:01 +00:00
tests commenting email test 2020-09-22 17:23:43 +05:30
.deepsource.toml Add .deepsource.toml 2020-06-25 12:53:58 +00:00
.gitignore added logs to gitignore 2020-09-11 21:16:11 +05:30
Aptfile linked directly to deb 2020-07-31 19:40:09 +05:30
Dockerfile added docker compose functionality for quick testing 2020-09-22 17:24:30 +05:30
Procfile Added v1 API 2020-07-12 21:37:37 +05:30
README.md added cover to readme 2020-09-11 22:13:24 +05:30
api.py fix startup crash if database not found 2020-09-19 15:49:22 +05:30
config.ini removed upload folder from config.ini 2020-09-10 12:39:26 +05:30
docker-compose.yml added docker compose functionality for quick testing 2020-09-22 17:24:30 +05:30
requirements.txt added oddt and changed mysql connector 2020-09-22 17:17:28 +05:30
run.py make it better 2020-06-24 23:39:05 +05:30
runtime.txt bumped runtime 2020-09-02 17:49:07 +05:30

README.md

Curie-Web

Database and Backend

Curie-Web Cover

Tested on:

  • macOS 10.15 (Catalina)
  • Ubuntu 20.04 - Raspberry Pi 4

1. Installing Dependencies

1.1 Docker

Once you have installed docker, make sure to pull the following images (Otherwise, these will automatically get downloaded when you run the web-server)

  • navanchauhan/curie-cli (amd64/aarch64)
  • navanchauhan/usd-from-gltf (aarch64)
  • leon/usd-from-gltf (amd64)

1.2 PLIP

Install from pharmai/plip.

In case you have problems installing it, install it from the forked repo navanchauhan/plip

1.3 PyMOL with Python Bindings (version >= 2.0)

  • macOS users can use Homebrew to install it via brew install pymol

  • Users using apt can install it via sudo apt install pymol

1.4 Open-Babel (version >= 3.0)

macOS users can use Homebrew to install it via brew install open-babel

Users using apt can install it via sudo apt install openbabel python3-openbabel

2. Changing the Configuration

Replace the values in config.ini

Default Values:

[DATABASE]
HOST = navanspi.duckdns.org
PORT = 3306
USER = curieweb
PASSWORD = curie-web-russian-54
NAME = curie

[SMTP]
SERVER = smtp.gmail.com
PORT = 587
EMAIL = navanchauhan@gmail.com
PASSWORD = okrs shoc ahtk idui

[LOGS]
LOG = True
SAVE_LOGS = False 

[FILES]
UPLOAD_FOLDER = ./app/static/uploads
LOG_FOLDER = ./app/logs/

[EXECUTION]
INSTANT = True

[FEATURES]
LSTM = False

Database

Name Description
HOST MySQL Database Host
PORT MySQL Database Port
USER Username
PASSWORD Password
NAME MySQL Database Name

SMTP

Name Description
SERVER SMTP Server
PORT SMTP Port
EMAIL Email
PASSWORD Password

LOGS

Name Description
LOG Log
SAVE_LOGS SAVE LOGS

FILES

Name Description
UPLOAD_FOLDER Folder to store files
LOG_FOLDER Folder to store logs

EXECUTION

Name Description
INSTANT Whether to run the docking jobs instantly (True or False)

FEATURES

Name Description
LSTM Enable LSTM Generator (True or False)

3. Adding AR Model Support

Make sure you have PyMOL 2.0 or higher

Either download the precompiled binaries from COLLADA2GLTF or compile it on your own

Once you have the COLLADA2GLTF-bin file, copy the file:

cp COLLADA2GLTF-bin /usr/local/bin/collada2gltf

4. Setting up the Database

You will first need to create a database and grant all priviliges to a user. Make sure you have correctly configured the config.ini file.

After tha simply run the following commands. This will create the table(s) and check if the backend is working or not.

cd tests
python3 dbTestFiller.py
python3 backendTest.py
python3 removeSample.py

5. Running

Without FastAPI

gunicorn api:app -b "0.0.0.0:7589"

With FastAPI

gunicorn api:app -k uvicorn.workers.UvicornWorker -b "0.0.0.0:7589"

systemd

There is a sample systemd file in the misc folder

  • Configure the file and then copy it to /etc/systemd/system

  • You can start the server by running sudo systemctl start curie

  • To enable the server to start on boot run sudo systemctl enable curie