Scripts Manual

author:

Akihiro Kuroiwa, ChatGPT of OpenAI, Perplexity AI

date:

2024/09/05

create_vina_config.py Script Manual

概要

create_vina_config.py は、指定されたPDBまたはmmCIF形式の構造ファイルからAutoDock Vina用の設定ファイル(config.txt)を生成するスクリプトです。このスクリプトを使用することで、特定の残基を対象にしたドッキングボックスを設定できます。

使用方法

python create_vina_config.py input_file [-o OUTPUT] [-l LIGAND] [-r RESIDUES] [-p PATH]

引数

  • input_file (必須): 入力となるPDBまたはmmCIF形式のファイルを指定します。

  • -o OUTPUT, -–output OUTPUT (オプション): 出力される設定ファイルの名前を指定します。デフォルトは config.txt です。

  • -l LIGAND, –-ligand LIGAND (オプション): リガンドファイルの名前を指定します。デフォルトは ligand.pdbqt です。

  • -r RESIDUES, –-residues RESIDUES (オプション): ドッキングボックスを設定する残基番号を指定します。範囲はハイフン(-)で、複数指定はカンマ(,)で区切ります(例: 100-105,110,115-120)。

  • -p PATH, –-path PATH (オプション): 出力先ディレクトリを指定します。デフォルトは現在のディレクトリです。

  • -c CHAIN, --chain CHAIN (オプション): Chain IDを選びます (e.g., A)。

出力

  • config.txt: AutoDock Vina用の設定ファイルが生成されます。このファイルには、以下の情報が含まれます:

    • リガンドと受容体ファイル名

    • ドッキングボックスの中心座標とサイズ

    • 計算の詳細設定(exhaustiveness, num_modes, energy_range, cpu

    • 残基番号が指定されている場合、その情報がコメントとしてファイルの先頭に記載されます。

# Residue selection: 100-105,110,115-120

receptor = protein.pdbqt
ligand = ligand.pdbqt
center_x = 25.0
center_y = 20.0
center_z = 30.0
size_x = 10.0
size_y = 10.0
size_z = 10.0
out = out.pdbqt
log = log.txt
exhaustiveness = 8
num_modes = 9
energy_range = 3
cpu = 8

注意事項

  • config.txt はテキストエディタで編集可能です。ドッキングボックスのサイズや位置、計算設定の微調整を行う際に便利です。

  • 残基番号の指定がない場合、構造全体を対象にドッキングボックスが設定されます。

prepare_experiment.py Script Manual

概要

prepare_experiment.py は、指定されたPDB IDに基づいて実験の準備を行い、AutoDock Vina用の設定ファイル(config.txt)、フラグメントファイル(fragments.csv)、および config.ini を生成するスクリプトです。このスクリプトは、特定の残基からフラグメントを抽出し、それに基づくシミュレーション実験の準備を自動化します。

使用方法

python prepare_experiment.py pdb_id [-f FORMAT] [-o OUTPUT] [--output_fragments] [--num_smiles NUM]

引数

  • pdb_id (必須): 実験に使用するPDB IDを指定します。スクリプトはこのIDに基づいてPDBファイルをダウンロードします。

  • -f {pdb,cif}, –-format {pdb,cif} (オプション): 入力ファイルの形式を指定します。pdb または cif のいずれかを選択できます。デフォルトは pdb です。

  • -o OUTPUT, –-output OUTPUT (オプション): 出力ディレクトリの名前を指定します。デフォルトは test-{pdb_id} です。

  • –-output_fragments (オプション): フラグメント自体をSMILES形式で出力します。指定しない場合は、フラグメントから生成された分子のSMILESを出力します。

  • -n NUM_SMILES, –-num_smiles NUM_SMILES (オプション): 出力するSMILESの数を指定します。デフォルトは 10 です。

  • -r RESIDUES, –-residues RESIDUES (オプション): 文字列として選択する残基番号を書きます (e.g., 100-105,110,115-120)。

  • -c CHAIN, --chain CHAIN (オプション): Chain IDを選びます (e.g., A)。

出力

  • config.txt: AutoDock Vina用の設定ファイル。リガンドと受容体ファイル名、ドッキングボックスの中心座標とサイズ、計算の詳細設定を含みます。編集可能なテキストファイルです。残基番号の指定がある場合、その情報がコメントとして保存されます。

  • fragments.csv: 指定された残基番号に基づいて生成されたフラグメントまたはフラグメントから生成された分子のSMILESを含むCSVファイルです。

  • config.ini: similarity-antsimilarity-mcts の実験設定を含むINI形式のファイル。このファイルには、共通のオプションを DEFAULT セクションに記述し、実験ごとのオプションをそれぞれのセクションに記載します。設定ファイルはテキストエディタで編集可能です。

注意事項

  • config.ini では、シングルクォートやダブルクォートで囲まないようにしてください。文字列が複数ある場合はスペースで区切ります。

  • bool、int、strの識別は run_experiment.py が自動で行いますが、boolオプションは Yes などの明示的な値で指定する必要があります。

  • config.ini に記載されていないオプションは無視されます。

  • フラグメントのSMILESを select_ligands.py で使用すると不具合が生じる可能性があるため、分子から生成されたSMILESを fragments.csv に出力することが望ましいです。

run_experiment.py Script Manual

概要

run_experiment.py は、 config.ini ファイルから設定を読み込み、 similarity-ant または similarity-mcts の実験を実行するスクリプトです。実験結果として生成された分子のSMILESをCSVファイルに出力し、 select_ligands.py を使用してリガンドファイルを作成するために利用できます。

使用方法

python run_experiment.py config_file [-a | --ant] [-m | --mcts]

引数

  • config_file (必須): 実験の設定が記述された config.ini ファイルを指定します。

  • -a, --ant (オプション): similarity-ant 実験を実行します。

  • -m, --mcts (オプション): similarity-mcts 実験を実行します。

出力

  • generated_smiles.csv: 実験の結果として生成された分子のSMILESが含まれるCSVファイルです。このファイルは、後で select_ligands.py に指定してリガンドファイルの作成に使用できます。

注意事項

  • config.ini ファイルには、 similarity-ant または similarity-mcts の設定が含まれている必要があります。実験に必要なオプションは run_experiment.py が自動で識別し、設定に基づいて実行されます。

  • 実験結果のSMILESはCSV形式で出力され、 select_ligands.py を使用してリガンドファイルの作成に利用できます。

select_ligands.py Script Manual

select_ligands.py は、CSVファイルから上位のリガンドを選択し、PDBQTフォーマットに変換するPythonスクリプトです。

使用方法

python select_ligands.py <csv_file> [-o OUTPUT_DIR] [-n TOP_N]

引数

  • csv_file: 生成されたSMILESを含む入力CSVファイル(必須)

  • -o OUTPUT, --output OUTPUT: リガンドファイルの出力ディレクトリ(デフォルト: "ligands")

  • -n TOP_N, --top_n TOP_N: 選択する上位リガンドの数(デフォルト: 10)

注意事項

  1. フラグメントの処理: このスクリプトは、完全な分子のSMILESを想定しています。フラグメントSMILES(例:[1*]C(=O)[C@@H]([4*])CCCCN)を直接処理すると、エラーや不正確なリガンドファイルが生成される可能性があります。

  2. 入力データの確認: CSVファイルに含まれるSMILESが完全な分子を表していることを確認してください。フラグメントを組み合わせて生成した完全な分子のSMILESを使用することをお勧めします。

  3. エラーハンドリング: 無効なSMILESや処理できない分子構造がある場合、スクリプトはエラーを出力する可能性があります。エラーメッセージを確認し、必要に応じて入力データを修正してください。

  4. 出力の確認: 生成されたPDBQTファイルが期待通りの構造を持っているか、必ず確認してください。