クイックスタート: 単一構造スキャンワークフロー(--scan-lists)¶
目的¶
pdb2reaction all のフルワークフローを、-s/--scan-lists で原子間距離を駆動して単一構造から実行します。段階的スキャン → MEP 精密化 → (任意)TS 最適化 + IRC が自動で連鎖します。
事前に必要なもの¶
入力構造:
.pdb対象状態に対応した電荷(
-q/--chargeまたは-l/--ligand-charge)・多重度(-m)
方法 A: YAML スペックファイル(推奨)¶
1. scan.yaml を作成¶
ステージごとの目標距離(単位: Å)を順番に定義します。
one_based: true
stages:
- [["TYR,285,CA", "SAM,309,C10", 1.35]]
- [["TYR,285,CA", "SAM,309,C10", 2.20], ["TYR,285,CB", "SAM,309,C11", 1.80]]
2. 実行¶
pdb2reaction -i input.pdb -q 0 -m 1 -s scan.yaml -o ./result_scan
ステージは順番に実行され、各ステージは前ステージの緩和結果から開始します。
方法 B: -s/--scan-lists インラインリテラル(簡易ワンライナー向け)¶
-s/--scan-lists はコマンドライン上で Python リテラル文字列を直接受け取ります。原子セレクタの構文(残基/原子トークン、区切り文字、順序)と外側/内側のクォーティングルールについては、CLI 規約: スキャンリスト仕様 を参照してください。
基本構文¶
各リテラルは 3 要素タプル (atom1, atom2, target_distance_Å) のリストです。3 番目の要素は必ず ångström 単位の目標距離で、ちょうど 3 要素が必要です。1 リテラル = 1 ステージ。
# 単一ステージ、整数原子インデックス(デフォルトで1-based)
pdb2reaction -i input.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' -m 1 \
-s '[(1, 5, 1.35)]' -o ./result_scan
# 単一ステージ、PDBセレクタ文字列
pdb2reaction -i input.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' -m 1 \
-s '[("TYR,285,CA", "SAM,309,C10", 1.35)]' -o ./result_scan
タンパク質–リガンド複合体 PDB を入力とする場合は -c/--center の指定が必須です。低分子 .pdb / .xyz では -c を省略し、-l の代わりに -q を直接渡してください。-m/--multiplicity のデフォルトは 1(一重項)ですが、例ではここでも明示的に示しています。
複数ステージ¶
複数のリテラルを渡すと、各リテラルが順番に1ステージとして実行されます:
# ステージ1: 1つの結合を 1.35 Å に駆動
# ステージ2: 2つの結合を同時に駆動
pdb2reaction -i input.pdb -c 'SAM,GPP,MG' -l 'SAM:1,GPP:-3' -m 1 -s \
'[("TYR,285,CA","SAM,309,C10",1.35)]' \
'[("TYR,285,CA","SAM,309,C10",2.20),("TYR,285,CB","SAM,309,C11",1.80)]' \
-o ./result_scan
ステージは順番に実行され、各ステージは前ステージの緩和結果から開始します。
期待される出力¶
result_scan/
├── summary.log
├── summary.json
├── scan/
│ ├── preopt/ # 事前最適化構造
│ ├── stage_01/ # スキャンステージ 1
│ │ ├── scan_trj.xyz
│ │ └── scan.pdb
│ └── stage_02/ # ステージ 2(マルチステージ時)
└── path_search/ # MEP 探索(デフォルト、再帰的); --refine-path False 時は path_opt/
├── mep.pdb
└── energy_diagram_UMA_all.png
確認ポイント:
scan/stage_01/scan_trj.xyz— 結合距離の変化を PyMOL で確認path_search/mep.pdb— 最適化後の MEP 軌跡summary.log— 障壁高さと結合変化
ヒント: --print-parsed を付けて (Ctrl-C で中断する形で) スキャン設定を事前確認:
pdb2reaction scan -i input.pdb -q 0 -s '[(1, 5, 1.35)]' --print-parsed
補足¶
-s/--scan-listsは YAML/JSON ファイルパスまたはインライン Python リテラルを受け付けます(両方を同時に指定することはできません)。pdb2reaction all --help-advancedで全オプション(スキャン制御を含む)を確認できます。単独の
scanサブコマンド(MEP 精密化なし)については scan を参照してください。
次の導線¶
全オプション: all
TS 最適化と検証: クイックスタート:
pdb2reaction tsopt