Этот репозиторий является официальной реализацией Drughive , глубокого иерархического вариационного аутокодера, разработанного для структурного дизайна лекарств. JCIM Paper.


Код был протестирован в следующей среде:
| Программное обеспечение | Версия |
|---|---|
| Питон | 3.9.16 |
| Куда | 11.6 |
| OpenBabel | 3.1.1 |
| Пирог | 1.12.1 |
| Питорх Молния | 2.0.0 |
| Rdkit | 2021.09.5 |
Установите зависимости, используя перечисленные требования в requirements.txt :
conda create -n drughive -c conda-forge -c pytorch -c nvidia -c rdkit --file requirements.txtgit clone https://github.com/jssweller/DrugHIVEПредварительно обученные веса модели могут быть загружены с Zenodo:
wget -P model_checkpoints/ https://zenodo.org/records/12668687/files/drughive_model_ch9.ckpt Чтобы обратить внимание из Drughive, сначала отрегулируйте параметры в файле конфигурации generate.yml . Затем запустите следующую команду:
python generate_molecules.py config/generate.yml Чтобы попробовать из предварительного, установите zbetas: 1. В файле конфигурации.
Чтобы попробовать с задней части, установите zbetas: 0. В файле конфигурации.
Для выборки между предыдущим и задним средством установите значения zbetas между 0. и 1. .
Чтобы генерировать молекулы с модификацией субструктуры, сначала настройте параметры в файле конфигурации generate_spatial.yml . Затем запустите следующую команду:
python generate_molecules.py config/generate_spatial.ymlПеред запуском процесса оптимизации необходимо установить инструмент стыковки QuickVina 2:
qvina2.1 в DrugHIVE/ или в каталоге, указанном в переменной вашего PATH (например, /usr/bin/ ) Чтобы оптимизировать молекулы с помощью Drughive, сначала отрегулируйте параметры в файле конфигурации generate_optimize.yml . Затем запустите следующую команду:
python generate_optimize.py config/generate_optimize.ymlЗагрузите и извлеките уточненный набор данных PDBBIND с http://www.pdbbind.org.cn/
Скачать молекулы цинка с https://zinc20.docking.org/ в формате SDF или MOL2. Поместите их в один каталог.
Чтобы обработать набор данных PDBBind, запустите:
python process_pdbbind_data.py < path/to/PDBbind/directory >Чтобы обработать набор данных цинка, запустите:
python process_zinc_data.py < path/to/ZINC/directory > -o data/zinc_data/zinc_data.h5 -ext < file_extension > Здесь <file_extension> может быть один из sdf или mol2 .
Во -первых, отрегулируйте учебные параметры в файле конфигурации config/train.yml . Обязательно установите data_path_pdb и data_path_zinc в местоположениях ваших наборов данных. Затем запустите следующую команду:
python train.py config/train.yml