Ensemble Analyzer (EnAn): Automated Conformer Ensemble Refinement
J. Chem. Inf. Model. 2026 — Pellegrini, Righi, Mazzanti, Mancinelli (Univ. Bologna) | DOI: 10.1021/acs.jcim.6c00273
🎯 コンフォーマーアンサンブルの多段階QM精製を完全自動化し、スペクトル解析・TS精製まで統合
① 背景と課題

CRESTなどで生成した数百〜数千コンフォーマーのアンサンブルを高精度QM計算で精製するダウンストリームワークフローは、依然としてad-hocスクリプトと手動介入に依存しており、再現性・移植性が低かった。

既存RMSDベース重複除去は構造アライメントが必要で計算コストが高い
QMエンジン間(ORCA/Gaussian)で熱力学計算の実装差があり再現性が低下
スペクトル生成・TS精製も別々のスクリプトで管理され一貫したワークフローが存在しない

→ JSON プロトコルファイル1枚で多段階精製・スペクトル生成・TS精製を自動実行するフレームワーク EnAn を開発

② 手法: デュアルフィルタープルーニング

回転定数ベクトルノルム(|B|)とエネルギー差(ΔG)を同時閾値で比較し、構造アライメント不要の高速重複除去を実現。

|ΔE| < thrG AND |ΔB| < thrB
→ 高エネルギー側を除去
SP段階: thrGmax=6.0 kcal/mol
最適化後: thrG=3.50 kcal/mol
O(N²) scalar
RMSDアライメント不要・CRESTと同等精度
② 手法: PCA+K-meansクラスタリング

原子間距離行列の固有値でPCA後、K-meansでクラスタリング。最適クラスター数をシルエットスコアで自動決定。

保持率 (%) ΔEav 最適 n 10% 40% 80%

シルエットスコア最大化で自動的に最適クラスター数を選択

③ ワークフロー全体像
入力: XYZ(コンフォーマー群)+ JSON(プロトコル)

Step 1: SP @ g-xTB(初期フィルタ)

Step 2: Opt+Freq @ r2SCAN-3c(精製)

Step 3: SP @ ωB97X-D4rev/def2-QZVPP(高精度)

出力: 精製アンサンブル + スペクトル + Boltzmann重み
  • ORCA v5/v6 & Gaussian16 サポート
  • qRRHO 補正を内部統一実装
  • TS アンサンブル精製にも対応
④ 主要結果 (a) コンフォーマー削減率
初期 vs 最終コンフォーマー数 Rivar. 27% Sitag. 33% Tamiflu 12% Pen. V 9% 初期 最終 平均9〜33%に削減
④ 主要結果 (b) スペクトル類似度
スペクトル種対象分子類似度
ECD (CAM-B3LYP)ブロモフェニルオキシラン
VCD (B3LYP-D4)ニトロ誘導体96%
ECD (ωB97X-D4rev)同上 (比較)
S = 1 − RMSD/RMSD_max
L-BFGS-B で FWHM・シフトを自動最適化
④ 主要結果 (c) TS精製効果
Diels-Alder TS エネルギー比較 NEB単一TS 基準 GOAT-EnAn −4.8 kcal/mol 673個のTS候補→30クラスター→精製
④ 主要結果 (d) ケムインフォ応用
適用先ユースケース
lib/mdリガンドコンフォーマー精製パイプライン統合
lib/mdMD トラジェクトリから代表構造をクラスタリング選別
lib/fepFEP 前処理として Boltzmann 重み付きコンフォーマー生成
lib/dockingドッキング前のリガンド立体配座最適化

回転定数ベース Pruner + PCA Clusterer を lib/md に実装することで既存 RMSDAnalyzer を補完できる

⑤ テイクホームメッセージ
RMSD不要の高速重複除去
回転定数+エネルギーのデュアル閾値でアライメントなし重複除去。CRESTと同等精度をO(N²)スカラー比較で達成。
📉 最大91%のコンフォーマー削減
8薬物分子で最終保持率9〜33%(平均約25%)を達成しながら熱力学的精度を維持。
🔬 VCD/ECD スペクトル自動生成
Boltzmann重み+自動FWHM最適化で96%の類似スコアを達成。実験値比較が完全自動化。
🧪 TS アンサンブル精製に初対応
673 TSをGOAT+EnAnで精製してNEB単一TSより4.8 kcal/mol低い活性化障壁を推定。
本研究のインパクト
  • OSSで提供 (GitHub / Zenodo) — 即座に lib/md へ組み込み可能
  • 回転定数 Pruner + PCA Clusterer で既存 RMSDAnalyzer を補完
  • FEP前処理・ドッキング前処理・MDクラスタリングに直接適用可
実装優先度: HIGH
  • RotConstPruner → lib/md に追加 (高優先)
  • ConformerClusterer (PCA+K-means) → lib/md (高優先)
  • BoltzmannWeighter (qRRHO) → lib/md (中優先)

コード: github.com/andre-cloud/ensemble_analyzer