all¶
mlmm all は全系構造から ML/MM 機構パイプライン全体を 1 コマンドで実行します。内部では、活性部位抽出、MM トポロジー準備、ML/MM レイヤー割り当て、任意のスキャン、MEP 探索(デフォルトは単一パス path-opt、--refine-path で再帰 path-search)、任意の後処理(TS 最適化、EulerPC IRC、熱化学、DFT 一点計算、DFT//MLIP/MM ダイアグラム)を順に管理します。ML 領域のデフォルト MLIP バックエンドは UMA で、-b/--backend で他のバックエンドを選択できます。
この順序は all が内部管理するステージを示します。単独で再利用するファイルを
作る場合は、mm-parm に明示的な出力接頭辞を与え、その出力 PDB に対して
extract と define-layer を実行します。この PDB は生成された parm7 と原子の
同一性・順序が一致し、空の元素記号列は mm-parm が補完します。
mlmm mm-parm -i input.pdb -l 'LIG:0' --out-prefix system
mlmm extract -i system.pdb -c LIG -l 'LIG:0' -o model.pdb
mlmm define-layer -i system.pdb --model-pdb model.pdb -o system_layered.pdb
all は渡す入力に応じて 3 つのモードのいずれかで動作します:
複数構造 MEP – 反応順に 2 つ以上の完全構造を提供し、複数構造にまたがる GSM(デフォルト)または DMF の MEP 探索を実行する。
単一構造 + スキャン定義 – 1つの完全構造と
--scan-listsを提供する。1リテラルが1ステージとなり、同一リテラル内の複数tupleは協奏的に駆動する。複数リテラルは多段階scanとして順次実行し、緩和済み端点をMEPの入力列とする。TSOPT のみ – 1 つの完全構造を提供し
--tsoptを設定(--scan-listsなし)して、MEP 探索なしで TS 最適化を直接実行する。
Important
--tsopt は TS 候補を生成し、数値optimizer収束と終端鞍点次数を別々に記録します。all がIRCへ進むのは、数値最適化が収束し、終端PHVAが完了し、負の反応方向を選べる場合です。収束済み高次停留点は警告付きの診断的IRCへ進むことがありますが、一次TS認定ではありません。実際のoptimizer非収束、虚振動0本、PHVA失敗/未実施、または有効な負rootなしでは、TS成果物を保持したままIRC前で停止します。--skip-final-freqでも反応方向を検証できないためIRC前で停止します。機構解釈の前にmodeと端点接続を必ず確認してください。
実行例¶
コマンド形式:
mlmm all -i INPUT1 [INPUT2...] [-c SUBSTRATE] [--parm TOPOLOGY] [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
ORB バックエンド:
mlmm all -i R.pdb P.pdb -c "SAM,GPP" -l "SAM:1,GPP:-3" \
--backend orb --out-dir ./result_all_orb
CPU 実装の DMF(DMF バックエンドのデフォルトは GPU):
mlmm all -i R.pdb P.pdb -c "SAM,GPP" -l "SAM:1,GPP:-3" \
--mep-mode dmf --dmf-backend cpu --out-dir ./result_all_dmf
trajectory/structureを変換したPDB companionはテンプレートが利用可能な場合に生成され、
--convert-files/--no-convert-files(デフォルト有効)で制御されます。後述する確認用の
ML領域PDB pairは別の成果物であり、PDB入力では常に出力されます。
処理の流れ¶
活性部位抽出と 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 領域を定義します。<out-dir>/ml_region_without_linkH.xyzとml_region_with_linkH.xyzに、リンク H 挿入前後のモデル系を出力します。PDB 入力では対応する.pdbcompanion も出力します。自動リンクペアは ML/MM 選択を横切る parm7 結合から決まり、距離による結合認識は行いません。抽出器の最初のモデルの 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 後処理に対応。--mep-modeで GSM(デフォルト)または DMF を選択します。--dmf-backend gpuはdmf.torch、--dmf-backend cpuは NumPy 実装を使用します。GPU メモリ不足時は CPU を選択してください。--no-refine-path(デフォルト): 隣接ペアごとに選択した最適化法で単一パスpath-optを実行後、軌跡を結合、セグメントごとの 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、bridge 入力時のmep.cif、mep_trj.xyz、mep_plot.png、energy_diagram_MEP.png)は<out-dir>/へ移動され、summary.{json,log}はコピーされます。--tsopt: 各 HEI で TS を最適化します。TS 判定を通過した後、EulerPC IRC とセグメントエネルギーダイアグラムへ進みます。--thermo: (R, TS, P) で ML/MM 熱化学を計算し、Gibbs ダイアグラムを追加します。--dft: (R, TS, P) のモデル領域で DFT 一点計算を実行し、モデル DFT 電子エネルギーダイアグラムを追加します。--thermoと組み合わせると、subtractive DFT//MLIP/MM 全エネルギーに ML/MM 熱補正を加えた DFT//MLIP/MM Gibbs ダイアグラムも生成されます。TS 最適化、IRC、振動解析、flatten PHVA は固定の constrained 処理を使用します。これは凍結 anchor を動かさない全系剛体運動だけを除去し、実用的な ML/MM 境界では有効 rank は通常 0 です。
--hessian-calc-modeは、対応するバックエンドで解析 Hessian または有限差分 Hessian を選択します。速度とメモリはバックエンドと系に依存するため、対象系の小規模試行で比較してください。
TSOPT のみモード(単一入力、
--tsopt、--scan-listsなし)MEP 探索をスキップし、レイヤード全系 PDB で
tsoptを実行します。TS 判定を通過した後、EulerPC IRC、両端の極小化、任意の熱化学、DFT、DFT//MLIP/MM ダイアグラムへ進みます。IRC を実行した場合、経路や参照構造による向きがないため、両端は化学的に未割当の
E1とE2として出力します。サマリーは各端点から TS への障壁を報告し、R/P 反応エネルギーは報告しません。構造を確認してから化学的役割を割り当ててください。
出力¶
ツリーは 3 つのゾーンで構成されます: ルート直下の成果物、segments/seg_NN/ 配下のセグメント別成果物、_work/ 配下のパイプライン作業領域(結果を取り出したあとは削除して構いません)。最初に確認する 3 つは summary.log、summary.json、mep.pdb(連結した反応経路。ルートへ移動)です。CIF/mmCIF bridge 入力では、元の識別子を復元した mep.cif もルートへ移動します。
<out-dir>/
summary.json # トップレベルサマリーのミラー(MEP ステージ実行時)
summary.log
mep.pdb · mep.cif # CIF は bridge 入力で元の ID を復元
mep_trj.xyz
mep_plot.png # MEP 生エネルギープロファイル
energy_diagram_MEP.png # 全セグメント MEP 障壁
energy_diagram_MLIP_all.png # 集約後処理ダイアグラム(有効時)
energy_diagram_G_MLIP_all.png
energy_diagram_DFT_all.png
energy_diagram_G_DFT_plus_MLIP_all.png
irc_plot_all.png
ml_region.pdb # ML 領域定義(--model-pdb として再利用可能)
ml_region_without_linkH.xyz # リンク H 挿入前の ML モデル
ml_region_with_linkH.xyz # parm7 結合由来リンク H 挿入後の ML モデル
ml_region_without_linkH.pdb # PDB 入力時の topology 付き companion
ml_region_with_linkH.pdb # 生成した HL/LKH を含む PDB companion
mm_parm/<input1>.parm7,.rst7 # 最初の完全酵素入力 PDB から生成した MM トポロジー(--parm として再利用可能)
layered/ # レイヤード全系 PDB(B 因子アノテーション付き、再利用可能な入力)
segments/ # 反応セグメント別の成果物
seg_NN/ # 2 桁インデックス (1 始まり)、例: seg_01, seg_02
reactant.{pdb,cif} · ts.{pdb,cif} · product.{pdb,cif} # MEP 実行の R/TS/P
e1.{pdb,cif} · ts.{pdb,cif} · e2.{pdb,cif} # TSOPT のみの未割当端点
ts/... # TS 最適化(--tsopt)
irc/... # TS 判定通過後の EulerPC IRC
freq/... # --thermo の場合
dft/... # --dft の場合
structures/{reactant,ts,product}.pdb # MEP 実行の入れ子コピー
structures/{endpoint_1,ts,endpoint_2}.pdb # TSOPT のみの入れ子コピー
energy_diagram_{MLIP,G_MLIP,DFT,G_DFT_plus_MLIP}.png
_work/ # パイプライン作業領域(削除可)
pockets/ # 入力ごとのポケット PDB(複数構造は統合)
scan/ # 単一構造+スキャンモードの場合のみ(stage_01/result.pdb …)
path_opt/ # MEP エンジン生出力(--refine-path 時は path_search/)
summary.{json,log} · seg_NN_mep/ # セグメント別の生 MEP 軌跡(マージ済み成果物はルートへ移動)
TSOPT のみモード(単一入力 + --tsopt、--scan-lists なし)では MEP ステージがなく、ts/ は segments/seg_01/ 配下に生成されます。TS 判定通過後は E1/TS/E2 と irc/、続いて指定した freq/ と dft/ が追加されます。_work/path_opt/ は存在しません。
-v 2 ではコンソールに抽出、MM 準備、スキャンステージ、MEP の進捗、ステージごとの所要時間が要約されます。ログ詳細度 (verbosity) を参照してください。
summary.log の読み方¶
ヘッダーでは all の入口を MEP、Scan、TS-only のいずれかで示し、
ルート出力ディレクトリを絶対パスで表示します。MEP / Scan では内部 path
module ディレクトリも絶対パスで表示し、TS-only では - とします。
path-opt / path-search などの内部 engine 名は machine-readable
metadata に保持し、ユーザー向け pipeline mode には使用しません。
ログは番号付きセクションで構成されています:
[1] グローバル MEP 概要 – イメージ/セグメント数、MEP 軌跡プロットパス、集約 MEP エネルギーダイアグラム。
[2] セグメントレベル MEP サマリー(MLIP 経路) – セグメントごとの障壁、反応エネルギー、結合変化サマリー。
[3] セグメントごとの後処理(TSOPT / Thermo / DFT) – セグメントごとの TS 虚振動数チェック、判定通過後の IRC 出力、エネルギーテーブル。
[4] エネルギーダイアグラム(概要) – MEP/MLIP/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パスを持つダイアグラムペイロード。
stage の result.json または thermoanalysis.yaml が書き出される場合、
rigid_projection ブロックに treatment、有効 rank、Hessian source、Hessian shape が
記録されます。全原子凍結はアクティブ自由度が残らないためエラーになります。
CLI オプション¶
注意: 表示されるデフォルト値はオプション未指定時に使用されます。完全なフラグ一覧は生成された command reference(
reference/commands/)にあり、以下の表は説明が必要なオプションを扱います。
入出力オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
反応順の 2 つ以上の完全構造。PDB/mmCIF は直接、XYZ は |
必須 |
|
基質指定(PDB パス、残基 ID( |
None |
|
非標準残基の総電荷または残基別マッピング(例: |
None |
|
ML 領域/model system の正味電荷を強制指定(最優先の上書き)。 |
None |
|
全系の1始まり原子indexをカンマ区切りで指定し、scan/MEP/TSOPT/IRC/振動解析を通して固定。YAML |
None |
|
トップレベル出力ディレクトリ。 |
|
|
全系の AMBER parm7 トポロジーファイル。省略時は |
None |
|
構築済み ML 領域 PDB。指定時は ML 領域決定をスキップし、このファイルで ML 領域を直接定義。 |
None |
|
XYZ 入力用の参照 PDB。入力が XYZ の場合に PDB メタデータ(残基、鎖、B 因子)を復元するために必要。 |
None |
|
テンプレート利用可能時に XYZ/TRJ から対応する PDB の生成を切り替えるグローバルトグル。 |
|
|
任意のオプティマイザ軌跡・リスタートを保存。親で明示したトグルは |
|
|
先に適用するベース YAML。 |
None |
|
実行前に解決済み設定を表示。 |
|
|
一時ディレクトリで抽出/setup と電荷・parity 検証を実行し、計画を表示して計算 stage は省略。 |
|
抽出オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
ポケット包含カットオフ (Å)。 |
|
|
独立したヘテロ-ヘテロカットオフ (Å)。 |
|
|
水分子(HOH/WAT/H2O/DOD/TIP/TIP3/SOL)を含める。 |
|
|
非基質アミノ酸の主鎖原子を除去。 |
|
|
切断結合にリンク水素を付加。 |
|
|
|
|
|
修飾アミノ酸残基名をカンマ区切りで指定。未知残基は整数電荷が必須(例: |
|
MM 準備オプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
|
|
|
リガンド/水/イオンブロック周囲の TER 挿入を制御。 |
|
|
mm_parm に転送:CYS/CYM/CYX にわたり SG-SG 幾何からジスルフィドを検出して結合(結合された CYS は CYX にリネーム)。 |
|
|
|
|
|
|
None |
MEP 探索オプション¶
Note
--max-cycles-gsm と --max-cycles-dmf は選択したMEP childだけを制御し、
いずれもデフォルト300です。scan、TS最適化、IRCなどは各stage固有のcycle optionと
デフォルトを使用します。
オプション |
説明 |
デフォルト |
|---|---|---|
|
スピン多重度 (2S+1)。 |
|
|
ML バックエンド: |
|
|
REAL と MODEL の両 MM 層で CMAP を保持します。 |
|
|
|
|
|
DMF 実装。明示指定時だけ子コマンドへ転送するため、省略時は子コマンドの YAML 設定 |
|
|
GSM/DMF セグメントの内部ノード数。 |
|
|
完全成長後のGSMノード配置。 |
|
|
MEP childのGSMストリング最適化サイクル上限。 |
|
|
MEP childのDMF IPOPT反復上限。 |
|
|
選択した最適化法が対応する場合に climbing-image TS 精密化を有効化。 |
|
|
TSOPT と IRC 後の端点最適化に使う予備プリセット( |
|
|
TSOPT/IRC 後端点最適化向けのプリセット上書き( |
|
|
単一構造最適化と scan 緩和の収束プリセット( |
|
|
MEP 段の GSM ストリング最適化の収束プリセット( |
|
|
DMF MEP 段の IPOPT dual-infeasibility 許容値。 |
|
|
IRC 後端点最適化の収束プリセット。 |
|
|
セグメント化前に端点を事前最適化。 |
|
|
|
|
|
ML/MM Hessian モード( |
|
|
バックエンド精度。省略時は UMA/AIMNet2 fp32、ORB/MACE fp64。AIMNet2 は fp64 を拒否。 |
バックエンド依存 |
|
UMA predictor worker 数。2 以上は |
|
|
UMA 並列 predictor のノード当たり worker 数。 |
None |
|
B 因子レイヤー(B=0/10/20)を自動的に読み取ります。 |
有効 |
TSOPT の最適化モード選択順: --opt-mode-post(設定時)-> --opt-mode(明示指定時のみ)-> TSOPT デフォルト(hess → RS-P-RFO)。
スキャンオプション(単一入力実行)¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
インライン |
None |
|
スキャン出力ディレクトリの上書き。 |
|
|
スキャン原子インデックスを 1 始まりまたは 0 始まりとして解釈。 |
None |
|
最大ステップサイズ (Å)。 |
|
|
調和バイアス強度 (eV/Å^2)。 |
|
|
ステップごとの緩和最大サイクル。 |
|
|
スキャン事前最適化トグルの上書き。 |
None |
|
スキャンステージ終端最適化の上書き。 |
None |
後処理 + freq / DFT 上書きオプション¶
オプション |
説明 |
デフォルト |
|---|---|---|
|
反応セグメントごとに TS 最適化を行い、TS 判定通過後に EulerPC IRC を実行。 |
|
|
Hessian TS optimizerでCPU/file cacheしたHEI接線候補から反応root identityを追跡。OFFではcache作成・利用を止め初期Hessian modeから選択。Dimerには適用外 |
|
|
MEP 実行では R/TS/P、TS-only 実行では E1/TS/E2 で振動解析 ( |
|
|
MEP 実行では R/TS/P、TS-only 実行では E1/TS/E2 で DFT 一点計算を実行。 |
|
|
|
|
|
IRC 後のエンドポイント再最適化のみで RFO の上り坂ステップ拒否を明示的に有効化(許容値 |
|
|
TS 後の各 IRC に EulerPC 最大ステップ(Bohr)を転送。数フレームで停止する場合は |
IRC デフォルト |
|
IRCのgradient・energy端点判定を無視して各branchを最大cycleまで追跡。数値/integration失敗や外部中断では停止。 |
|
|
|
|
|
tsopt サブディレクトリのカスタマイズ。 |
None |
|
freq 出力ディレクトリの上書き。 |
None |
|
出力する最大モード数。 |
|
|
モード軌跡の振幅 (Å)。 |
|
|
モード軌跡のフレーム数。 |
|
|
モードソート方法。 |
|
|
熱化学温度 (K)。 |
|
|
熱化学圧力 (atm)。 |
|
|
DFT 出力ディレクトリの上書き。 |
None |
|
汎関数/基底関数ペア。 |
|
|
SCF反復上限。 |
|
|
SCF 収束閾値。 |
|
|
PySCF グリッドレベル。 |
|
|
DFT エンジン(GPU or CPU PySCF)。 |
|
YAML 設定¶
all は YAML 設定をサポートします:
--config FILE: ベース設定。
defaults < config < 明示指定 CLI
解決後の YAML が下流サブコマンドへ転送されます。各ツールは独自ドキュメントに記載されたセクションを読み取ります:
サブコマンド |
YAML セクション |
|---|---|
|
|
|
|
|
|
|
|
|
明示指定した CLI 値だけが --config の値を上書きします。
最小の YAML 例:
geom:
tr_projection: constrained # 固定の内部 PHVA 処理
calc:
model_charge: 0
model_mult: 1
backend: uma # ML バックエンド (uma/orb/mace/aimnet2)
uma_model: uma-s-1p2 # uma-s-1p2 | uma-m-1p1
hessian_calc_mode: Analytical # 代表的な pilot で FiniteDifference と比較
gs:
max_nodes: 20
climb: true
dft:
grid_level: 6
すべての YAML オプションの完全なリファレンスは YAML 設定リファレンス を参照してください。
固定の constrained 剛体モード処理と tsopt --ref-mode は別の機能です。
後者は鞍点回復で使う内部的な MEP 接線 handoff を制御します。
geom.tr_projection の古い非constrained値は明示的に拒否されます。
注記¶
入力形式は抽出の有無に依存します:
PDB/mmCIF 入力はそのまま使用できます。
XYZ 入力には
--ref-pdbが必要です。座標は XYZ、抽出および後続 stage の残基・鎖・B 因子メタデータは参照 PDB から取得します。マルチ構造実行には 2 つ以上の構造が必要。
電荷の優先度は、明示的な -q/--charge → workflow で導出した電荷(抽出、または --ligand-charge を使う選択 model の導出)→ YAML calc.model_charge → error です。多重度の優先度は、明示的な --multiplicity → YAML calc.model_mult → 1 です。非標準基質には --ligand-charge を指定してください。最初の model の ML 領域電荷は最も近い整数へ丸め、console に通知します。
関連項目¶
extract – 単独の ML 領域決定(
allが内部で呼び出し)mm-parm – AMBER トポロジー構築(
allが内部で呼び出し)path-search – 単独の再帰的 MEP 探索
tsopt – 単独の TS 最適化
freq – 振動解析と熱化学
dft – DFT 一点計算
trj2fig – 軌跡からエネルギープロファイルをプロット
典型エラー別レシピ – 症状起点の切り分け
トラブルシューティング – よくあるエラーと対処法
YAML リファレンス – 完全な YAML 設定オプション
用語集 – MEP、TS、IRC、GSM の定義