all¶
mlmm all は全系レイヤード PDB 上で ML/MM 機構パイプライン全体を 1 コマンドで実行します。手作業で extract → mm-parm → define-layer → scan / path-search → tsopt → irc / freq / dft を連結する代わりに、all 1 つで完結します。活性部位抽出、MM トポロジー準備、ML/MM レイヤー割り当て、任意の段階的スキャン、MEP 探索(デフォルトは単一パス path-opt、--refine-path で再帰 path-search)、任意の後処理(TS 最適化、EulerPC IRC、熱化学、DFT 一点計算、DFT//MLIP ダイアグラム)を順に実行します。ML 領域のデフォルト MLIP バックエンドは UMA で、-b/--backend で他のバックエンドを選択できます。
all は渡す入力に応じて 3 つのモードのいずれかで動作します:
マルチ構造アンサンブル – 反応順に 2 つ以上の完全 PDB を提供し、複数構造にまたがる GSM MEP 探索を駆動する。
単一構造 + 段階的スキャン – 1 つの PDB と
--scan-listsを提供する。各リテラルがスキャンステージとなり、緩和済みの端点が MEP の端点となる。TSOPT のみ – 1 つの PDB を提供し
--tsoptを設定(--scan-listsなし)して、MEP 探索なしで TS 最適化を直接実行する。
Important
--tsopt は TS 候補を生成します。all は検証のために IRC と freq を自動実行しますが、機構解釈の前に必ず結果(虚振動数モード + 端点の結合性)を確認してください。
実行例¶
コマンド形式:
mlmm all -i INPUT1 [INPUT2...] -c SUBSTRATE [options]
コアオプションは mlmm all --help、全オプション一覧は mlmm all --help-advanced で確認できます。
完全な後処理付きのマルチ構造 MEP:
mlmm all -i R.pdb P.pdb -c "SAM,GPP" -l "SAM:1,GPP:-3" \
--tsopt --thermo --dft --out-dir ./result_all
単一構造 + 段階的スキャン(2 ステージ):
mlmm all -i A.pdb -c "308,309" --scan-lists "[(12,45,1.35)]" "[(10,55,2.20)]" \
--multiplicity 1 --out-dir ./result_scan_all
# 1 つのリテラルで複数の結合を同時に駆動可能: '[(10,55,2.20),(23,34,1.80)]'
TSOPT のみの検証(単一入力、MEP 探索なし):
mlmm all -i A.pdb -c "GPP,MMT" -l "GPP:-3,MMT:-1" \
--tsopt --thermo --dft --out-dir result_tsopt_only
xTB 点電荷埋め込み付きの ORB バックエンド:
mlmm all -i R.pdb P.pdb -c "SAM,GPP" -l "SAM:1,GPP:-3" \
--backend orb --embedcharge --out-dir ./result_all_orb
対応する PDB はテンプレートが利用可能な場合に生成され、--convert-files/--no-convert-files(デフォルト有効)で制御されます。
処理の流れ¶
活性部位抽出と ML 領域定義(複数入力時はマルチ構造の和集合)
基質を定義します(
-c/--center、PDB、残基 ID、または残基名で指定)。任意で
--ligand-chargeを総数値(分配)またはマッピング(例:GPP:-3,MMT:-1)として提供します。抽出器は入力ごとのポケット PDB を
<out-dir>/_work/pockets/に書き出します。最初のポケットが<out-dir>/ml_region.pdb(--model-pdbとして再利用可能な成果物)としてコピーされ、後続の全 ML/MM 計算の ML 領域を定義します。抽出器の最初のモデルの ML 領域の総電荷が後続ステップの総電荷として使用され、丸め処理が発生した場合はコンソールに通知されます。
-c/--centerを省略した場合は抽出をスキップし、完全入力構造をそのまま使用します。
ML/MM 準備(parm7 + レイヤー割り当て)
最初の完全入力 PDB に対して
mm_parmを一度実行し、<out-dir>/mm_parm/<input_basename>.parm7/.rst7(--parmとして再利用可能な成果物)を構築します。これは自動的に--parmとして渡されます。各完全系 PDB に対して
define-layerを実行し、ML 領域定義に基づく 3 層 B 因子(ML=0.0、MovableMM=10.0、FrozenMM=20.0)を付与します。レイヤード全系 PDB は<out-dir>/layered/に書き出されます。
任意の段階的スキャン(単一入力のみ)
完全入力 PDB が 1 つのみで
--scan-listsが指定された場合、レイヤード全系 PDB に対して ML/MM calculatorを使用した段階的な結合距離駆動スキャンを実行します。各ステージの最終緩和構造(
stage_XX/result.pdb)が中間体/生成物候補として収集されます。経路探索の入力系列は
[初期レイヤード PDB, stage_01/result.pdb, stage_02/result.pdb,...]となります。
全系レイヤード PDB での MEP 探索
すべての MEP 計算は全系レイヤード PDB(
--parm+--detect-layer)上で実行されます(ポケット上ではありません)。--refine-path: 自動精密化を含む再帰的path_searchを実行し、多段階反応を自動検出して各素反応の詳細な MEP を構築します。複雑な多段階反応では手動での試行錯誤が必要な場合があります。両モードとも Stage 5 後処理に対応。--no-refine-path(デフォルト): 隣接ペアごとに単一パスpath-optGSM を実行後、軌跡を結合、セグメントごとの HEI 抽出、結合変化検出、summary.json書き出しまで行い、Stage 5 後処理(TSOPT、thermo、DFT)が利用可能。マルチ入力実行では、元の完全 PDB がマージ参照として自動的に供給されます。スキャン由来の系列(単一構造の場合)では、元の完全 PDB 1 つがすべての入力の参照テンプレートとして再利用されます。
サマリーと任意の後処理
MEP エンジン生出力(セグメントごとの軌跡、全 MEP 軌跡、エンジンの
summary.json)は<out-dir>/_work/path_opt/(--refine-path使用時は<out-dir>/_work/path_search/)に書き出され、マージ済み成果物(mep.pdb・mep_trj.xyz・mep_plot.png・energy_diagram_MEP.png)は<out-dir>/へ移動され、summary.{json,log}はコピーされます。--tsopt: 各 HEI で TS を最適化し、EulerPC IRC を実行し、セグメントエネルギーダイアグラムを描画します。--thermo: (R, TS, P) で ML/MM 熱化学を計算し、Gibbs ダイアグラムを追加します。--dft: (R, TS, P) で DFT 一点計算を実行し、DFT ダイアグラムを追加します。--thermoと組み合わせると、DFT//MLIP Gibbs ダイアグラムも生成されます。VRAM に余裕がある場合は
--hessian-calc-modeをAnalyticalに設定することを強く推奨します(デフォルトの FiniteDifference より優先)。
TSOPT のみモード(単一入力、
--tsopt、--scan-listsなし)ステップ (4)-(5) をスキップし、レイヤード全系 PDB で
tsoptを実行し、EulerPC IRC と両端の極小化を行い、R-TS-P の ML/MM エネルギーダイアグラムを構築し、任意で Gibbs、DFT、DFT//MLIP ダイアグラムを追加します。このモードでのみ、より高いエネルギーの IRC 端点が反応物 (R) として採用されます。
出力¶
ツリーは 3 つのゾーンで構成されます: ルート直下の成果物、segments/seg_NN/ 配下のセグメント別成果物、_work/ 配下のパイプライン作業領域(結果を取り出したあとは削除して構いません)。最初に確認する 3 つは summary.log、summary.json、mep.pdb(連結した反応経路。ルートへ移動。MEP エンジン生出力はデフォルトで _work/path_opt/(--refine-path 時は _work/path_search/)に残る)です。
<out-dir>/
summary.json # トップレベルサマリーのミラー(MEP ステージ実行時)
summary.log
mep.pdb # 連結 MEP 経路(ルートにコピー)
mep_trj.xyz
mep_plot.png # MEP 生エネルギープロファイル
energy_diagram_MEP.png # 全セグメント MEP 障壁
energy_diagram_UMA_all.png # 集約後処理ダイアグラム(有効時)
energy_diagram_G_UMA_all.png
energy_diagram_DFT_all.png
energy_diagram_G_DFT_plus_UMA_all.png
irc_plot_all.png
ml_region.pdb # ML 領域定義(--model-pdb として再利用可能)
mm_parm/<input1>.parm7,.rst7 # 最初の完全酵素入力 PDB から生成した MM トポロジー(--parm として再利用可能)
layered/ # レイヤード全系 PDB(B 因子アノテーション付き、再利用可能な入力)
segments/ # 反応セグメント別の成果物
seg_NN/ # 2 桁インデックス (1 始まり)、例: seg_01, seg_02
reactant.pdb · ts.pdb · product.pdb # 正規 R/TS/P
ts/... # TS 最適化 + EulerPC IRC(--tsopt)
irc/...
freq/... # --thermo の場合
dft/... # --dft の場合
structures/{reactant,ts,product}.pdb # 入れ子コピー + 生 IRC 端点
energy_diagram_{UMA,G_UMA,DFT,G_DFT_plus_UMA}.png
_work/ # パイプライン作業領域(削除可)
pockets/ # 入力ごとのポケット PDB(複数構造は統合)
scan/ # 単一構造+スキャンモードの場合のみ(stage_01/result.pdb …)
path_opt/ # MEP エンジン生出力(--refine-path 時は path_search/)
summary.{json,log} · seg_NN_mep/ # 生の per-segment GSM 軌跡(マージ済み MEP 成果物は root へ移動)
TSOPT のみモード(単一入力 + --tsopt、--scan-lists なし)では MEP ステージが無く、最適化済み R/TS/P と ts/・irc/・freq/・dft/ は segments/seg_01/ 配下に生成され、_work/path_opt/ は存在しません。
-v 2 ではコンソールに抽出、MM 準備、スキャンステージ、MEP の進捗(GSM)、ステージごとのタイミングが要約されます。ログ詳細度 (verbosity) を参照してください。
summary.log の読み方¶
ログは番号付きセクションで構成されています:
[1] グローバル MEP 概要 – イメージ/セグメント数、MEP 軌跡プロットパス、集約 MEP エネルギーダイアグラム。
[2] セグメントレベル MEP サマリー(MLIP 経路) – セグメントごとの障壁、反応エネルギー、結合変化サマリー。
[3] セグメントごとの後処理(TSOPT / Thermo / DFT) – セグメントごとの TS 虚振動数チェック、IRC 出力、エネルギーテーブル。
[4] エネルギーダイアグラム(概要) – MEP/UMA/Gibbs/DFT シリーズのダイアグラムテーブルと任意のクロスメソッドサマリーテーブル。
[5] 出力ディレクトリ構造 – インラインアノテーション付きの生成ファイルのコンパクトツリー。
summary.json の読み方¶
summary.json はコンパクトな機械可読サマリーです。主なトップレベルキー:
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パスを持つダイアグラムペイロード。
CLI オプション¶
注意: 表示されるデフォルト値はオプション未指定時に使用されます。完全なフラグ一覧は生成された command reference(
reference/commands/)にあり、以下の表は説明が必要なオプションを扱います。
入出力オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
反応順の 2 つ以上の完全 PDB( |
必須 |
|
基質指定(PDB パス、残基 ID( |
None |
|
非標準残基の総電荷または残基別マッピング(例: |
None |
|
総電荷を強制指定(最優先の上書き)。 |
None |
|
トップレベル出力ディレクトリ。 |
|
|
全系の AMBER parm7 トポロジーファイル。省略時は |
None |
|
構築済み ML 領域 PDB。指定時は ML 領域決定をスキップし、このファイルで ML 領域を直接定義。 |
None |
|
XYZ 入力用の参照 PDB。入力が XYZ の場合に PDB メタデータ(残基、鎖、B 因子)を復元するために必要。 |
None |
|
テンプレート利用可能時に XYZ/TRJ から対応する PDB の生成を切り替えるグローバルトグル。 |
|
|
オプティマイザダンプを保存。常に |
|
|
先に適用するベース YAML。 |
None |
|
実行前に解決済み設定を表示。 |
|
|
実行せず検証と計画表示のみ行う。 |
|
抽出オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
ポケット包含カットオフ (Å)。 |
|
|
独立したヘテロ-ヘテロカットオフ (Å)。 |
|
|
水分子(HOH/WAT/H2O/DOD/TIP/TIP3/SOL)を含める。 |
|
|
非基質アミノ酸の主鎖原子を除去。 |
|
|
切断結合にリンク水素を付加。 |
|
|
強制包含する残基。 |
|
|
修飾アミノ酸残基名をカンマ区切りで指定(任意で電荷付き)。主鎖切断と電荷計算にアミノ酸として扱う。例: |
|
MM 準備オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
|
|
|
リガンド/水/イオンブロック周囲の TER 挿入を制御。 |
|
|
|
|
|
|
None |
MEP 探索オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
スピン多重度 (2S+1)。 |
|
|
ML バックエンド: |
|
|
xTB 点電荷埋め込み補正(実験的機能)の有効化。MM 環境から ML 領域への静電的影響を考慮。 |
|
|
xTB 埋め込み用 MM 原子のカットオフ半径(Å)。 |
|
|
model parm7 に CMAP(骨格クロスマップ二面角補正)を含めるかどうか。デフォルト: 無効(Gaussian ONIOM と同一)。 |
|
|
セグメント GSM の内部ノード数。 |
|
|
GSM マクロサイクルの最大数。 |
|
|
セグメント GSM の TS 精密化を有効化。 |
|
|
スキャン/path-opt/path-search と単一構造最適化のプリセット( |
|
|
TSOPT/IRC 後端点最適化向けのプリセット上書き( |
|
|
収束プリセット( |
None |
|
IRC 後端点最適化の収束プリセット。 |
|
|
セグメント化前に端点を事前最適化。 |
|
|
|
|
|
ML/MM Hessianモード( |
|
|
入力 PDB の B 因子(B=0/10/20)から ML/MM レイヤーを検出。無効時は下流ツールで |
|
TSOPT の最適化モード選択順: --opt-mode-post(設定時)-> --opt-mode(明示指定時のみ)-> TSOPT デフォルト(hess → RS-I-RFO)。
スキャンオプション(単一入力実行)¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
段階的スキャン: |
None |
|
スキャン出力ディレクトリの上書き。 |
None |
|
スキャンインデックスの解釈を上書き(True = 1 始まり、False = 0 始まり)。 |
None |
|
最大ステップサイズ (Å)。 |
デフォルト |
|
調和バイアス強度 (eV/Å^2)。 |
デフォルト |
|
ステップごとの緩和最大サイクル。 |
デフォルト |
|
スキャン事前最適化トグルの上書き。 |
None |
|
スキャンステージ終端最適化の上書き。 |
None |
後処理 + freq / DFT 上書きオプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
反応セグメントごとに TS 最適化 + EulerPC IRC を実行。 |
|
|
R/TS/P で振動解析 ( |
|
|
R/TS/P で DFT 一点計算を実行。 |
|
|
|
|
|
|
デフォルト |
|
tsopt サブディレクトリのカスタマイズ。 |
None |
|
freq 出力ディレクトリの上書き。 |
None |
|
出力する最大モード数。 |
デフォルト |
|
モードアニメーション振幅 (Å)。 |
デフォルト |
|
モードアニメーションのフレーム数。 |
デフォルト |
|
モードソート方法。 |
デフォルト |
|
熱化学温度 (K)。 |
デフォルト |
|
熱化学圧力 (atm)。 |
デフォルト |
|
DFT 出力ディレクトリの上書き。 |
None |
|
汎関数/基底関数ペア。 |
デフォルト |
|
最大 SCF 反復数。 |
デフォルト |
|
SCF 収束閾値。 |
デフォルト |
|
PySCF グリッドレベル。 |
デフォルト |
|
DFTエンジン(GPU or CPU PySCF)。 |
None |
YAML 設定¶
all は階層化された YAML をサポートします:
--config FILE: ベース設定。
defaults < config < CLI < override-yaml
解決後の YAML が下流サブコマンドへ転送されます。各ツールは独自ドキュメントに記載されたセクションを読み取ります:
サブコマンド |
YAML セクション |
|---|---|
|
|
|
|
|
|
|
|
|
注意: CLI 値の後に適用されます。
最小の YAML 例:
calc:
charge: 0
spin: 1
mlmm:
real_parm7: real.parm7
model_pdb: ml_region.pdb
backend: uma # ML バックエンド (uma/orb/mace/aimnet2)
embedcharge: false # xTB 点電荷埋め込み補正
uma_model: uma-s-1p1 # uma-s-1p1 | uma-m-1p1
hessian_calc_mode: Analytical # VRAM に余裕がある場合に推奨
gs:
max_nodes: 12
climb: true
dft:
grid_level: 6
すべての YAML オプションの完全なリファレンスは YAML 設定リファレンス を参照してください。
注記¶
入力形式は抽出の有無に依存します:
抽出有効時(
-c/--center): 入力は残基を特定するため PDB ファイルが必要。抽出スキップ時: 入力は PDB/XYZ が使用可能。
マルチ構造実行には 2 つ以上の構造が必要。
電荷は優先度の高い順に解決されます – -q/--charge(明示的な CLI 上書き)-> ポケット抽出(-c 指定時、アミノ酸 + イオン + --ligand-charge の合計)-> -l, --ligand-charge フォールバック(抽出スキップ時)-> デフォルト(未解決の電荷はエラー)。スピンの解決: --multiplicity(CLI)-> デフォルト(1)。正しい電荷伝播のため、非標準基質には常に --ligand-charge を指定してください。最初のモデルの ML 領域の総電荷は最も近い整数に丸められ、丸め処理が発生した場合はコンソールに通知されます。
関連項目¶
extract – 単独の ML 領域決定(
allが内部で呼び出し)mm_parm – AMBER トポロジー構築(
allが内部で呼び出し)path-search – 単独の再帰的 MEP 探索
tsopt – 単独の TS 最適化
freq – 振動解析と熱化学
dft – DFT 一点計算
trj2fig – 軌跡からエネルギープロファイルをプロット
典型エラー別レシピ – 症状起点の切り分け
トラブルシューティング – よくあるエラーと対処法
YAML リファレンス – 完全な YAML 設定オプション
用語集 – MEP、TS、IRC、GSM の定義