Go to file
Navan Chauhan 85555704ce added CI badge and added sentry tracking 2020-09-10 13:26:06 +05:30
.github/workflows added CI badge and added sentry tracking 2020-09-10 13:26:06 +05:30
app added CI badge and added sentry tracking 2020-09-10 13:26:06 +05:30
lstm_chem added alpha model 2020-08-01 15:34:22 +05:30
misc added curie systemd file 2020-09-06 13:11:12 +05:30
tests removing hardcoded values 2020-09-10 13:06:12 +05:30
.deepsource.toml Add .deepsource.toml 2020-06-25 12:53:58 +00:00
.gitignore added to gitignore 2020-09-08 15:13:03 +05:30
Aptfile linked directly to deb 2020-07-31 19:40:09 +05:30
Procfile Added v1 API 2020-07-12 21:37:37 +05:30
README.md added CI badge and added sentry tracking 2020-09-10 13:26:06 +05:30
api.py bumped runtime 2020-09-02 17:49:07 +05:30
config.ini removed upload folder from config.ini 2020-09-10 12:39:26 +05:30
requirements.txt added CI badge and added sentry tracking 2020-09-10 13:26:06 +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

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. 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