bond-summary(構造間の結合変化)¶
bond-summary サブコマンドは、反応物(R)→ 生成物(P)や、R → 中間体 IM1 → IM2 → P のような連続する構造の間で、どの共有結合ができ、どれが切れたかを報告します。入力 N 個に対して N − 1 個の比較ブロック(A → B、B → C、…)を表示し、変化した結合ごとに前後の距離(Å)を示します。ファイルは書き出しません。
主な用途¶
IRC 端点の確認: 固有反応座標(IRC)の両端が狙った結合だけ違うかを確かめる
多段機構のスクリーニング: 中間体の列で、各段に変わる結合を一覧する
ワークフローの結果の検算:
allがsegments/seg_NN/に書き出した R・遷移状態(TS)・P を手で比べる
基本的な実行例¶
1. 2 つの構造を比べる¶
反応物と生成物を比べます。ファイル名は自分の構造に置き換えてください。
mlmm bond-summary -i reactant.xyz product.xyz
Bond formed (k): と Bond broken (k): の下に結合が並びます。Bond formed: None はできた結合が無いという意味です。
============================================================
reactant.xyz → product.xyz
============================================================
Bond formed (2):
- O14-H106 : 1.502 Å --> 1.011 Å
- P95-O107 : 3.477 Å --> 1.523 Å
Bond broken (2):
- P95-O97 : 1.585 Å --> 3.270 Å
- H106-O107 : 1.034 Å --> 1.673 Å
2. 多段の構造列¶
4 つの構造から、R → IM1、IM1 → IM2、IM2 → P の 3 ブロックが出ます。
mlmm bond-summary -i reactant.xyz im1.xyz im2.xyz product.xyz
処理の仕組みと計算仕様¶
構造の読み込み: 渡した順にファイルを読みます。XYZ・PDB・GJF を拡張子で判別し、2 つ以上のファイルが必要です。
結合の判定: 2 つの原子の Cordero et al. (2008) の共有結合半径(H は 0.40 Å)の和に
--bond-factor(デフォルト1.20)を掛けた値を T とし、距離が 0.95 T 以下なら結合ありとします。変化の数え方: 前の構造で結合なし(あり)、次の構造で結合あり(なし)で、距離の変化が 0.05 T 以上の組だけを、できた(切れた)結合として数えます。閾値をわずかにまたぐだけの変化は数えません。
ircとallが報告する結合変化も同じ判定です。
主な出力ファイル¶
bond-summary はファイルを書き出しません。連続する組ごとのテキストブロックを、実行例 1 の形で標準出力に表示します。原子は元素と原子インデックス(デフォルトは 1 始まり)で示します。--json では代わりに JSON を標準出力に表示し、scientific_status(success・partial・failed)、execution_status、comparisons を持ちます。comparisons には組ごとに structure_a・structure_b、件数の bonds_formed・bonds_broken、原子インデックス・元素・前後の距離を並べた formed・broken が入ります。保存したいときは標準出力をリダイレクトしてください。
主な CLI オプション¶
オプション |
引数の型 |
デフォルト |
説明 |
|---|---|---|---|
|
パス |
(必須) |
順に並べた 2 つ以上の構造。1 つの |
|
浮動小数点数 |
|
共有結合半径の和に掛ける係数 |
|
フラグ |
|
テキストの代わりに JSON を標準出力に表示 |
|
フラグ |
|
報告での原子の番号付け |
全オプションは 自動生成のオプションの一覧(英語のみ) を参照してください。
使用上の注意点¶
同じ原子が同じ順に並ぶこと: すべての構造で、原子の種類と並びが同じである必要があります。違う組では、標準エラーに
ERROR: Atom types and ordering must be identical.が出ます。入力 / 抽出の問題 を参照してください。境目の結合: 2.0–2.4 Å の金属配位のような長めの接触も数えたいときは、
--bond-factorを大きくしてください(例:1.30)。比較できなかった組: 1 組でも比較できないと終了コード 1 で終わり、JSON の
scientific_statusはpartialかfailedになります。終了コード: 終了コードを参照してください。
関連ドキュメント¶
irc — 同じ判定で端点を確かめる IRC
all — 各段の結合変化も報告する全工程のワークフロー
trj2fig — 軌跡のエネルギープロファイルの図
トラブルシューティング — 実行に失敗したときの対処