このリポジトリは、構造ベースの薬物設計のために開発された深い階層変動自動エンコーダーであるDrughiveの公式実装です。 JCIMペーパー。


コードは次の環境でテストされています。
| ソフトウェア | バージョン |
|---|---|
| Python | 3.9.16 |
| cuda | 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.ckptDrughiveからサンプリングするには、最初に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洗練されたデータセットをダウンロードして抽出します
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の1つになります。
まず、 config/train.yml例の構成ファイルのトレーニングパラメーターを調整します。データセットの場所にdata_path_pdbとdata_path_zincを必ず設定してください。次に、次のコマンドを実行します。
python train.py config/train.yml