Code
Browse files- .gitattributes +1 -35
- README.md +7 -8
- models/lddmK5_CDv2_BN_de5_do3_co1_vn10_g4_bs50ag2_he0.1_epoch544.ckpt +3 -0
- packages.txt +1 -0
- requirements.txt +36 -0
- startup.py +34 -0
- startup.sh +22 -0
.gitattributes
CHANGED
|
@@ -1,35 +1 @@
|
|
| 1 |
-
|
| 2 |
-
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
-
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
-
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
-
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
-
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
-
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
-
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
-
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
-
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
-
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
-
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
-
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
-
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
-
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
-
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
-
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
-
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
-
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
-
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
-
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
-
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
-
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
-
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
-
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
-
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
-
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
-
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
-
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
-
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
-
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
-
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
-
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
-
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 1 |
+
models/lddmK5_CDv2_BN_de5_do3_co1_vn10_g4_bs50ag2_he0.1_epoch544.ckpt filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -1,12 +1,11 @@
|
|
| 1 |
---
|
| 2 |
title: Drugon
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version: 5.31.0
|
| 8 |
-
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
| 1 |
---
|
| 2 |
title: Drugon
|
| 3 |
+
emoji: 🏃
|
| 4 |
+
colorFrom: gray
|
| 5 |
+
colorTo: indigo
|
| 6 |
sdk: gradio
|
|
|
|
|
|
|
| 7 |
pinned: false
|
| 8 |
+
app_file: startup.py
|
| 9 |
+
python_version: 3.11
|
| 10 |
+
sdk_version: 4.44.1
|
| 11 |
+
---
|
models/lddmK5_CDv2_BN_de5_do3_co1_vn10_g4_bs50ag2_he0.1_epoch544.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:659009a92d5af0493600d19ddd7fcdbdd40672bda3c4d3da653d7e598e6a1d7e
|
| 3 |
+
size 168628628
|
packages.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
unzip
|
requirements.txt
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
rdkit==2023.9.5
|
| 2 |
+
|
| 3 |
+
--extra-index-url https://download.pytorch.org/whl/cu121
|
| 4 |
+
torch==2.2.1
|
| 5 |
+
torchvision==0.17.1
|
| 6 |
+
torchaudio==2.2.1
|
| 7 |
+
|
| 8 |
+
torch_geometric==2.5.3
|
| 9 |
+
-f https://data.pyg.org/whl/torch-2.2.1+cu121.html
|
| 10 |
+
|
| 11 |
+
torch_scatter==2.1.2
|
| 12 |
+
-f https://data.pyg.org/whl/torch-2.2.1+cu121.html
|
| 13 |
+
|
| 14 |
+
lightning==2.2.3
|
| 15 |
+
wandb==0.16.6
|
| 16 |
+
|
| 17 |
+
scipy==1.13.0
|
| 18 |
+
matplotlib==3.8.4
|
| 19 |
+
tqdm==4.66.2
|
| 20 |
+
ipykernel==6.29.4
|
| 21 |
+
prody==2.4.1
|
| 22 |
+
biopython>=1.79
|
| 23 |
+
|
| 24 |
+
posebusters==0.2.14
|
| 25 |
+
useful_rdkit_utils==0.55
|
| 26 |
+
fcd==1.2.2
|
| 27 |
+
|
| 28 |
+
webdataset==0.2.86
|
| 29 |
+
notebook==7.2.1
|
| 30 |
+
prolif==2.0.3
|
| 31 |
+
pot==0.9.4
|
| 32 |
+
|
| 33 |
+
gradio_toggle==2.0.2
|
| 34 |
+
pydantic==2.10.6
|
| 35 |
+
spaces==0.34.0
|
| 36 |
+
modal==1.0.1
|
startup.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import subprocess
|
| 2 |
+
subprocess.call(['sh', './startup.sh'])
|
| 3 |
+
|
| 4 |
+
import os
|
| 5 |
+
import sys
|
| 6 |
+
pwd = os.getcwd()
|
| 7 |
+
sys.path.append(f'{pwd}/lddm')
|
| 8 |
+
sys.path.append(f'{pwd}/lddm/drugon')
|
| 9 |
+
os.environ["PATH"] = f'{pwd}/bin' + os.pathsep + os.environ.get("PATH", "")
|
| 10 |
+
model_path = f'{pwd}/models/lddmK5_CDv2_BN_de5_do3_co1_vn10_g4_bs50ag2_he0.1_epoch544.ckpt'
|
| 11 |
+
ketcher_path = f'{pwd}/lddm/drugon/ketcher'
|
| 12 |
+
|
| 13 |
+
os.chdir('lddm/drugon')
|
| 14 |
+
print("Current directory:", os.getcwd())
|
| 15 |
+
|
| 16 |
+
users = {}
|
| 17 |
+
print(os.environ.get('AUTH_USERS'))
|
| 18 |
+
for line in os.environ.get('AUTH_USERS').split('\n'):
|
| 19 |
+
parts = line.split(' ')
|
| 20 |
+
if len(parts) == 2:
|
| 21 |
+
users[parts[0]] = parts[1]
|
| 22 |
+
|
| 23 |
+
def auth(username, password):
|
| 24 |
+
if username not in users:
|
| 25 |
+
return False
|
| 26 |
+
return users[username] == password
|
| 27 |
+
|
| 28 |
+
print('Ketcher directory exists:', os.path.exists(ketcher_path))
|
| 29 |
+
print('Ketcher js file exists:', os.path.exists(f'{ketcher_path}/static/js/main.adb1c0c5.js'))
|
| 30 |
+
print('Ketcher css file exists:', os.path.exists(f'{ketcher_path}/static/css/main.c3d3c37d.css'))
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
from app import start
|
| 34 |
+
start(checkpoint=model_path, device='cpu', auth=auth, static_paths=['ketcher'])
|
startup.sh
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
git clone $PRIVATE_REPO_URL
|
| 2 |
+
cd lddm/drugon
|
| 3 |
+
git checkout drugon-modal
|
| 4 |
+
wget https://github.com/epam/ketcher/releases/download/v2.26.0/ketcher-standalone-2.26.0.zip -O ketcher.zip
|
| 5 |
+
unzip ketcher.zip
|
| 6 |
+
mv standalone ketcher
|
| 7 |
+
mkdir -p static/css
|
| 8 |
+
mkdir -p static/js
|
| 9 |
+
ls -l
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
git lfs install
|
| 13 |
+
git clone https://huggingface.co/datasets/igashov/reference_3d_validity_pdb
|
| 14 |
+
ls -l
|
| 15 |
+
ls -l reference_3d_validity_pdb
|
| 16 |
+
|
| 17 |
+
cd ../../
|
| 18 |
+
mkdir -p bin
|
| 19 |
+
wget https://zenodo.org/records/15113339/files/reduce?download=1 -O bin/reduce
|
| 20 |
+
chmod +x bin/reduce
|
| 21 |
+
pwd
|
| 22 |
+
ls -l
|