이 저장소는 구조 기반 약물 설계를 위해 개발 된 깊은 계층 적 변형 자동 인코더 인 Drughive 의 공식 구현입니다. JCIM 용지.


코드는 다음 환경에서 테스트되었습니다.
| 소프트웨어 | 버전 |
|---|---|
| 파이썬 | 3.9.16 |
| 쿠다 | 11.6 |
| OpenBabel | 3.1.1 |
| Pytorch | 1.12.1 |
| Pytorch Lightning | 2.0.0 |
| rdkit | 2021.09.5 |
requirements.txt 에서 나열된 요구 사항을 사용하여 종속성을 설치합니다 .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.ymlhttp://www.pdbbind.org.cn/에서 pdbbind 정제 된 데이터 세트를 다운로드하여 추출하십시오.
sdf 또는 mol2 형식의 https://zinc20.docking.org/에서 아연 분자를 다운로드하십시오. 단일 디렉토리에 배치하십시오.
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