Dieses Repository ist die offizielle Implementierung von Druughive , einem tiefen hierarchischen Variations-Autocodierer, der für strukturbasiertes Arzneimitteldesign entwickelt wurde. JCIM -Papier.


Der Code wurde in der folgenden Umgebung getestet:
| Software | Version |
|---|---|
| Python | 3.9.16 |
| CUDA | 11.6 |
| OpenBabel | 3.1.1 |
| Pytorch | 1.12.1 |
| Pytorch Lightning | 2.0.0 |
| Rdkit | 2021.09.5 |
Installieren Sie Abhängigkeiten anhand der aufgelisteten Anforderungen in requirements.txt :
conda create -n drughive -c conda-forge -c pytorch -c nvidia -c rdkit --file requirements.txtgit clone https://github.com/jssweller/DrugHIVEVorausgebildete Modellgewichte können von Zenodo heruntergeladen werden:
wget -P model_checkpoints/ https://zenodo.org/records/12668687/files/drughive_model_ch9.ckpt Um von Drughive zu probieren, passen Sie zunächst die Parameter in der Konfigurationsdatei generate.yml an. Führen Sie dann den folgenden Befehl aus:
python generate_molecules.py config/generate.yml Um aus dem Prior zu probieren, setzen Sie zbetas: 1. In der Konfigurationsdatei.
Setzen Sie aus dem hinteren Ab Beispiel zbetas: 0. In der Konfigurationsdatei.
Um zwischen Prior und Posterior zu proben, setzen Sie die Werte von zbetas zwischen 0. und 1. .
Um Moleküle mit Unterkonstruktionsmodifikation zu erzeugen, passen Sie zunächst die Parameter in der Beispielkonfigurationsdatei generate_spatial.yml an. Führen Sie dann den folgenden Befehl aus:
python generate_molecules.py config/generate_spatial.ymlVor dem Ausführen des Optimierungsprozesses muss das QuickVina 2 -Docking -Tool installiert werden:
qvina2.1 in DrugHIVE/ oder in einem Verzeichnis in Ihrer PATH (z. B. /usr/bin/ ) Um Moleküle mit Drughive zu optimieren, passen Sie zunächst die Parameter in der Beispielkonfigurationsdatei generate_optimize.yml an. Führen Sie dann den folgenden Befehl aus:
python generate_optimize.py config/generate_optimize.ymlLaden Sie den pdbbind -raffinierten Datensatz von http://www.pdbbind.org.cn/ herunter und extrahieren sie.
Laden Sie Zinkmoleküle von https://zinc20.docking.org/ im SDF- oder Mol2 -Format herunter. Platzieren Sie sie in ein einzelnes Verzeichnis.
Um den PDBBind -Datensatz zu verarbeiten, lief:
python process_pdbbind_data.py < path/to/PDBbind/directory >Um den Zink -Datensatz zu verarbeiten, laufen Sie aus:
python process_zinc_data.py < path/to/ZINC/directory > -o data/zinc_data/zinc_data.h5 -ext < file_extension > Hier kann <file_extension> einer von sdf oder mol2 sein.
Passen Sie zunächst die Trainingsparameter in der Konfigurationsdatei config/train.yml an. Stellen Sie sicher, dass Sie data_path_pdb und data_path_zinc auf die Standorte Ihrer Datensätze festlegen. Führen Sie dann den folgenden Befehl aus:
python train.py config/train.yml