Este repositorio es la implementación oficial de Drughive , un autoencoder de variacional jerárquico profundo desarrollado para el diseño de fármacos basado en la estructura. Papel jcim.


El código ha sido probado en el siguiente entorno:
| Software | Versión |
|---|---|
| Pitón | 3.9.16 |
| Cuda | 11.6 |
| Abrebabel | 3.1.1 |
| Pytorch | 1.12.1 |
| Pytorch Lightning | 2.0.0 |
| Rdkit | 2021.09.5 |
Instalar dependencias utilizando los requisitos listados en requirements.txt :
conda create -n drughive -c conda-forge -c pytorch -c nvidia -c rdkit --file requirements.txtgit clone https://github.com/jssweller/DrugHIVELos pesos del modelo previamente capacitado se pueden descargar desde Zenodo:
wget -P model_checkpoints/ https://zenodo.org/records/12668687/files/drughive_model_ch9.ckpt Para probar desde Drughive, primero ajuste los parámetros en el archivo de configuración generate.yml Ejemplo. Luego, ejecute el siguiente comando:
python generate_molecules.py config/generate.yml Para probar desde el anterior, establezca zbetas: 1. En el archivo de configuración.
Para probar desde el posterior, establezca zbetas: 0. En el archivo de configuración.
Para probar entre lo anterior y posterior, establezca los valores de zbetas entre 0. y 1. ..
Para generar moléculas con la modificación de la subestructura, primero ajuste los parámetros en el archivo de configuración de ejemplo generate_spatial.yml . Luego, ejecute el siguiente comando:
python generate_molecules.py config/generate_spatial.ymlAntes de ejecutar el proceso de optimización, se debe instalar la herramienta de acoplamiento QuickVina 2:
qvina2.1 en DrugHIVE/ o en un directorio en la variable de su PATH (p. Ej., /usr/bin/ ) Para optimizar las moléculas con Drughive, primero ajuste los parámetros en el archivo de configuración generate_optimize.yml Ejemplo. Luego, ejecute el siguiente comando:
python generate_optimize.py config/generate_optimize.ymlDescargue y extraiga el conjunto de datos refinado PDBBind de http://www.pdbbind.org.cn/
Descargue las moléculas de zinc de https://zinc20.dopking.org/ en formato SDF o MOL2. Colóquelos en un solo directorio.
Para procesar el conjunto de datos PDBBind, ejecute:
python process_pdbbind_data.py < path/to/PDBbind/directory >Para procesar el conjunto de datos de zinc, ejecute:
python process_zinc_data.py < path/to/ZINC/directory > -o data/zinc_data/zinc_data.h5 -ext < file_extension > Aquí, <file_extension> puede ser uno de sdf o mol2 .
Primero, ajuste los parámetros de entrenamiento en el archivo de configuración de ejemplo config/train.yml . Asegúrese de establecer data_path_pdb y data_path_zinc en las ubicaciones de sus conjuntos de datos. Luego, ejecute el siguiente comando:
python train.py config/train.yml