all¶
概要¶
pdb2reaction all は、抽出から解析までの一連の処理を まとめて実行する最上位コマンド です。典型的なフローは次のとおりです。
ポケット抽出 →(任意)段階的 UMA スキャン → 再帰的 MEP 探索(path-search, GSM/DMF)→ 全系へのマージ →(任意)TS 最適化 + IRC(tsopt)→(任意)振動解析・熱化学(freq)→(任意)DFT 一点計算(dft)
Important
--tsopt True の出力は TS 候補 です。最終解釈の前に、freq(虚数モード)と irc(端点極小)で必ず検証してください。
主なモードは 3 つあります。
エンドツーエンド(複数構造) — 反応順に並べた 2 構造以上(PDB/GJF/XYZ)と基質定義を与えます。
allがポケット抽出→GSM/DMF による MEP 探索→全系テンプレートへのマージまで行い、必要に応じてセグメントごとに TSOPT / freq / DFT を実行します。単一構造 + 段階的スキャン — 1 つの構造に対して
--scan-listsを 1 つ以上与えます。スキャンで得られた中間体列を MEP の端点として用います。--scan-listsを 1 つだけ渡すと 1 ステージです。複数ステージは、
--scan-listsを 1 回指定した後に複数値として渡します(フラグの繰り返し指定はできません)。
TSOPT のみ(ポケット TS 最適化) — 1 つの入力構造に対し、
--scan-listsを省略して--tsopt Trueを指定します。-c/--centerがある場合はポケットを抽出し、その系で TS 最適化 + IRC(必要に応じて freq / DFT)だけを実行します。
テンプレートがある場合の XYZ/TRJ → PDB/GJF 変換(付随ファイルの生成)は、全ステージ共通の --convert-files {True\|False}(既定: True)で制御します。
使用法¶
pdb2reaction all -i INPUT1 [INPUT2 ...] -c SUBSTRATE [options]
例¶
# 明示的なリガンド電荷と後処理を伴う複数構造アンサンブル
pdb2reaction all -i reactant.pdb product.pdb -c 'GPP,MMT' \
--ligand-charge 'GPP:-3,MMT:-1' --mult 1 --freeze-links True \
--max-nodes 10 --max-cycles 100 --climb True --opt-mode light \
--out-dir ./result_all --tsopt True --thermo True --dft True
# 単一構造段階的スキャン + GSM/DMF + TSOPT/freq/DFT
pdb2reaction all -i single.pdb -c '308,309' \
--scan-lists '[("TYR,285,CA","MMT,309,C10",2.20),("TYR,285,CB","MMT,309,C11",1.80)]' \
--opt-mode heavy --tsopt True --thermo True --dft True
# TSOPT のみワークフロー(経路探索なし)
pdb2reaction all -i reactant.pdb -c 'GPP,MMT' \
--ligand-charge 'GPP:-3,MMT:-1' --tsopt True --thermo True --dft True
ワークフロー¶
活性部位ポケット抽出(
-c/--centerが指定された場合)基質は PDB パス、残基 ID(
123,124またはA:123,B:456)、または残基名(GPP,MMT)で指定可能抽出オプション:
--radius、--radius-het2het、--include-H2O、--exclude-backbone、--add-linkH、--selected-resn、--verbose入力ごとのポケット PDB は
<out-dir>/pockets/に保存。複数構造が提供された場合、ポケットは残基選択ごとに統合最初のポケットの総電荷がスキャン/MEP/TSOPT に伝播
オプションの段階的スキャン(単一入力のみ)
各
--scan-lists引数は UMA スキャンステージを記述する(i,j,target_Å)タプルの Python ライクなリスト単一リテラルは 1 ステージスキャンを実行し、複数リテラルは順次実行
スキャンは電荷/スピン、
--freeze-links、UMA 最適化プリセット(--opt-mode)、--args-yaml、--preoptを継承。--dumpはこのコマンドで明示指定された場合のみスキャンへ転送され、それ以外はscan側のデフォルト(False)を使用--scan-out-dir、--scan-one-based、--scan-max-step-size、--scan-bias-k、--scan-relax-max-cycles、--scan-preopt、--scan-endoptなどの上書きフラグが利用可能ステージエンドポイント(
stage_XX/result.pdb)が、後続 MEP ステップへ渡される順序付き中間体となる
ポケットでの MEP 探索(再帰的 GSM/DMF)
抽出されたポケット(または抽出がスキップされた場合は元の全構造)を使用してデフォルトで
path-searchを実行(出力は<out-dir>/path_search/)--refine-path Falseで再帰的精密化なしのシングルパスpath-optGSM/DMFチェーンに切り替え
ポケットを全系にマージ
参照 PDB テンプレートが存在する場合、マージされた
mep_w_ref*.pdbおよびセグメントごとのmep_w_ref_seg_XX.pdbファイルが<out-dir>/path_search/に出力
オプションのセグメントごとの後処理
--tsopt True: 各HEIポケットでTS 最適化を実行、EulerPC IRCで追跡し、セグメントエネルギーダイアグラムを出力--thermo True: (R, TS, P) でfreqを呼び出し振動/熱化学データとUMA Gibbsダイアグラムを取得--dft True: (R, TS, P) でDFT 一点計算を起動しDFTダイアグラムを構築。--thermo Trueと組み合わせるとDFT//UMA Gibbsダイアグラムも生成共有の上書きには
--opt-mode、--opt-mode-post(TSOPT/IRC後最適化のプリセット上書き)、--flatten-imag-mode、--hessian-calc-mode、--tsopt-max-cycles、--tsopt-out-dir、--freq-*、--dft-*、--dft-engine(GPU優先)などが含まれるVRAMが十分な場合は
--hessian-calc-modeをAnalyticalに設定することを強く推奨
TSOPT のみモード(単一入力、
--tsopt True、--scan-listsなし)MEP/マージステージをスキップ。ポケット(または抽出がスキップされた場合は完全入力)で
tsoptを実行し、EulerPC IRCを実行高エネルギー側の IRC 終端を反応物 (R) として識別し、エネルギーダイアグラム一式とオプションの freq/DFT 出力を生成
電荷とスピンの優先順位¶
電荷の解決(優先度順):
優先度 |
ソース |
適用条件 |
|---|---|---|
1 |
|
CLI で明示指定 |
2 |
ポケット抽出 |
|
3 |
|
抽出失敗時またはスキップ時のフォールバック |
4 |
|
埋め込み電荷/スピン情報 |
5 |
デフォルト |
なし(未解決ならエラー) |
スピンの解決: --mult(CLI) → .gjf テンプレート → デフォルト (1)
ヒント: 非標準の基質には
--ligand-chargeを必ず指定し、正しい電荷伝播を確保してください。
入力要件¶
抽出有効(
-c/--center): 残基同定のため入力は PDB が必須。抽出なし: PDB/XYZ/GJF を使用可能。
複数構造実行は 2 つ以上の構造が必要。
CLI オプション¶
注記: 表示されているデフォルト値は、オプション未指定時に使用される内部デフォルトです。
入出力オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
反応順序の2つ以上の完全構造( |
必須 |
|
トップレベル出力ディレクトリ |
|
|
XYZ/TRJ → PDB/GJFコンパニオンのグローバルトグル |
|
|
MEP(GSM/DMF)軌跡を出力。 |
|
|
全サブコマンドへそのまま転送されるYAML |
None |
電荷・スピンオプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
未知残基の残基別マッピングまたは総電荷(推奨) |
None |
|
総電荷を強制上書き( |
None |
|
全下流ステップへ転送されるスピン多重度 |
|
ポケット抽出オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
基質指定(PDBパス、残基ID、または残基名) |
抽出に必須 |
|
ポケット包含カットオフ(Å) |
|
|
ヘテロ–ヘテロカットオフ(Å) |
|
|
水分子を含める(HOH/WAT/TIP3/SOL) |
|
|
非基質アミノ酸の主鎖原子を除去 |
|
|
切断結合にリンク水素を付加 |
|
|
強制包含残基 |
|
|
ポケットPDBでリンクHの親を凍結 |
|
|
抽出器のINFOログを有効化 |
|
MEP 探索オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
MEP 探索アルゴリズム: GSM(Growing String Method)または DMF(Direct Max Flux) |
|
|
MEP内部ノード数 |
|
|
MEP最大最適化サイクル |
|
|
最初のセグメントでTSクライミングを有効化 |
|
|
最適化プリセット(light → LBFGS/Dimer、heavy → RFO/RSIRFO) |
|
|
収束プリセット( |
|
|
MEP前にポケット端点を事前最適化 |
|
|
True の場合は再帰的 |
|
UMA計算機オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
UMA並列度(workers > 1 で解析ヘシアン無効) |
|
|
共有UMAヘシアンエンジン |
|
後処理オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
セグメントごとのTS最適化 + IRC を実行 |
|
|
R/TS/Pで振動解析を実行 |
|
|
R/TS/PでDFT一点計算を実行 |
|
|
TSOPT/IRC後最適化のプリセット |
None |
|
IRC後エンドポイント最適化の収束プリセット( |
|
|
余分な虚数モードのフラット化 |
|
TSOPT の最適化モードは、--opt-mode-post(指定時)→ --opt-mode(明示指定時のみ)→ TSOPT の既定(heavy)の順で決まります。
TSOPT 上書き¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
|
|
|
tsopt出力サブディレクトリ |
None |
Freq 上書き¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
freq出力ディレクトリ上書き |
None |
|
最大モード出力数 |
|
|
モードアニメーション振幅(Å) |
|
|
モードアニメーションフレーム数 |
|
|
モードソート方法 |
|
|
熱化学温度(K) |
|
|
熱化学圧力(atm) |
|
DFT 上書き¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
バックエンド( |
|
|
DFT出力ディレクトリ上書き |
None |
|
汎関数/基底関数ペア |
|
|
最大SCFサイクル |
|
|
SCF収束閾値 |
|
|
PySCFグリッドレベル |
|
スキャンオプション(単一入力)¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
段階的スキャン: |
None |
|
scan出力ディレクトリ上書き |
None |
|
1始まり/0始まりインデックス |
|
|
最大ステップサイズ(Å) |
|
|
調和バイアス強度(eV/Ų) |
|
|
緩和サイクル上限 |
|
|
scan事前最適化 |
|
|
scanステージ終端最適化 |
|
出力¶
out_dir/ (デフォルト: ./result_all/)
├─ summary.log # テキスト形式の結果要約
├─ summary.yaml # YAML 形式の結果要約
├─ pockets/ # 抽出実行時の入力ごとのポケット PDB
├─ scan/ # 段階的ポケットスキャン結果(--scan-lists提供時)
├─ path_search/ # MEP結果: 軌跡、マージPDB、ダイアグラム
├─ path_search/post_seg_XX/ # 後処理出力(TS最適化、IRC、freq、DFT)
└─ tsopt_single/ # TSOPT のみ出力とIRCエンドポイント
コンソールにはポケット電荷の解決結果、YAML内容、スキャン段数、MEP進行状況(GSM/DMF)、各ステージ時間のサマリーが出力されます。
summary.log の読み方¶
ログは番号付きセクションで構成されます:
[1] グローバル MEP 概要 – イメージ/セグメント数、MEP 軌跡プロットのパス、MEP 全体のエネルギーダイアグラム。
[2] セグメント別MEPサマリー(UMAパス) – セグメントごとの障壁(
ΔE‡)、反応エネルギー(ΔE)、結合変化サマリー。[3] セグメント別後処理(TSOPT / Thermo / DFT) – TS虚数振動数チェック、IRC出力、UMA/熱化学/DFTのエネルギーテーブル。
[4] エネルギーダイアグラム(概要) – MEP/UMA/Gibbs/DFT 系の図表と、任意の横断サマリー表。
[5] 出力ディレクトリ構造 – 生成ファイルを注釈付きでまとめたツリー。
summary.yaml の読み方¶
YAML はプログラムから処理しやすい形式の要約です。代表的なトップレベルキーは以下のとおりです。
out_dir,n_images,n_segments– 実行メタデータと総数。segments–index,tag,kind,barrier_kcal,delta_kcal,bond_changesを含むセグメント配列。energy_diagrams(任意) –labels,energies_kcal,energies_au,ylabel,imageなどを含む図表データ。
summary.yaml には summary.log にある整形テーブルやファイルツリーは含まれません。
注意事項¶
形式電荷が推定できない場合は
--ligand-charge(数値または残基別マッピング)を必ず指定し、scan/MEP/TSOPT/DFTへ正しい総電荷を伝播させてください。マージ用の参照 PDB テンプレートは元の入力から自動導出されます。
path-searchの--ref-full-pdbはこのラッパーでは意図的に隠されています。収束プリセット:
--threshの既定はgau、--thresh-postの既定はbaker。抽出半径:
--radiusまたは--radius-het2hetに0を渡すと、内部で0.001 Åにクランプされます。ダイアグラムのエネルギーは反応物(最初の状態)基準の kcal/mol で報告されます。
-c/--centerを省略すると抽出をスキップして全構造を MEP/tsopt/freq/DFT に渡しますが、単一構造実行には--scan-listsか--tsopt Trueが引き続き必要です。--args-yamlで全計算器を単一設定から制御できます。YAMLはCLIを上書きします。
YAML 設定(--args-yaml)¶
同じ YAML ファイルがすべての呼び出されるサブコマンドにそのまま転送されます。各ツールは独自のドキュメントに記載されているセクションを読み取ります:
サブコマンド |
YAML セクション |
|---|---|
|
|
|
|
|
|
|
|
|
注記: CLI と YAML の両方が指定された場合、YAML が優先されます。
最小例:
calc:
model: uma-s-1p1
hessian_calc_mode: Analytical # VRAM に余裕がある場合推奨
gs:
max_nodes: 12
climb: true
dft:
grid_level: 6
すべての YAML オプションの完全なリファレンスについては、YAML 設定リファレンス を参照してください。
関連項目¶
はじめに — インストールと初回実行
概念とワークフロー — ポケット、セグメント、ステージの全体像
extract — 単独のポケット抽出(
allが内部で呼び出し)path-search — 単独のMEP 探索(
allが内部で呼び出し)tsopt — 単独のTS最適化
freq — 単独の振動解析
dft — 単独のDFT計算
トラブルシューティング — よくあるエラーと対処法
YAML リファレンス — 全YAML設定オプション
用語集 — MEP、TS、IRC、GSM、DMFの定義