カブシュアルゴリズムは、ヴォルフガング・カブシュと梅山真治にちなんでカブシュ・梅山アルゴリズムとも呼ばれ、[1] 2組の点のペアの間のRMSD (平均二乗偏差)を最小化する最適な回転行列を計算する手法です。コンピュータグラフィックスにおける点セットの位置合わせや、化学情報科学や生物情報科学で分子やタンパク質の構造を比較する際に役立ちます (特に、平均二乗偏差 (生物情報科学)を参照)。
このアルゴリズムは回転行列のみを計算しますが、平行移動ベクトルの計算も必要です。平行移動と回転の両方が実際に実行される場合、このアルゴリズムは部分プロクラステス重ね合わせと呼ばれることがあります(直交プロクラステス問題も参照)。
説明
PとQ をそれぞれ 内のN 個の点を含む 2 つの集合とします。Q からPへの変換を求めます。簡単にするために、3 次元の場合 ( ) を考えます。集合PとQ はそれぞれ、次の行列に示すように、最初の行に最初の点の座標、2 番目の行に 2 番目の点の座標などを含む N × 3行列で表すことができます 。
このアルゴリズムは、変換、共分散行列の計算、最適な回転行列の 計算という 3 つのステップで動作します。
翻訳
まず、両方の座標セットを変換して、その重心が座標系の原点と一致するようにする必要があります。これは、点の座標から重心の座標を減算することによって行われます。
共分散行列の計算
2番目のステップは行列Hを計算することです。行列表記では、
または、加算記法を使用すると、
これは、 PとQ をデータ行列として見た場合の相互共分散行列です。
最適回転行列の計算
行列式に基づいて 最適な回転Rを計算することが可能である。
しかし、この式の数値解を実装することは、すべての特殊なケース(たとえば、Hに逆関数がない場合)を考慮すると複雑になります。
特異値分解(SVD) ルーチンが利用可能な場合、最適な回転Rは次の単純なアルゴリズムを使用して計算できます。
まず共分散行列HのSVDを計算します。
ここでUとVは直交し、は対角です。次に、直交行列に反射が含まれているかどうかを記録し、
最後に、最適な回転行列Rを次のように 計算します。
このR はを最小化します。ここで、 と はそれぞれQとPの行です。
あるいは、最適回転行列は、四元数として直接評価することもできる。[2] [3] [4] [5]この代替記述は、柔軟な分子の分子動力学軌道から剛体運動を除去する厳密な方法の開発に使用されてきた。 [6] 2002年には、確率分布(連続または非連続)への応用の一般化も提案された。[7]
一般化
このアルゴリズムは3次元空間の点について説明されています。D次元への一般化はすぐに行えます。
外部リンク
このSVDアルゴリズムの詳細については、https://web.archive.org/web/20140225050055/http://cnx.org/content/m11608/latest/ を参照してください。
Matlab関数は http://www.mathworks.com/matlabcentral/fileexchange/25746-kabsch-algorithm で入手できます。
Eigenを使用した C++ 実装 (および単体テスト)
Pythonスクリプトはhttps://github.com/charnley/rmsd で入手できます。別の実装は SciPy にあります。
Kabschを簡単に実装する無料のPyMolプラグインは[1]です。(これは以前はCEalign [2]にリンクされていましたが、これはCombinatorial Extension (CE)アルゴリズムを使用しています。) VMDはアライメントにKabschアルゴリズムを使用しています。
FoldXモデリング ツールスイートには、野生型と変異したタンパク質構造間の RMSD を測定するための Kabsch アルゴリズムが組み込まれています。
参照
参考文献
- ^ Lawrence , Jim; Bernal, Javier; Witzgall, Christoph ( 2019-10-09 ). 「Kabsch-Umeyama アルゴリズムの純粋に代数的な正当化」(PDF)。米国国立標準技術研究所の研究ジャーナル。124 : 124028。doi : 10.6028 / jres.124.028。ISSN 2165-7254。PMC 7340555。PMID 34877177。
- ^ Horn, Berthold KP (1987-04-01). 「単位四元数を使用した絶対方向の閉形式解」. Journal of the Optical Society of America A . 4 (4): 629. Bibcode :1987JOSAA...4..629H. CiteSeerX 10.1.1.68.7320 . doi :10.1364/josaa.4.000629. ISSN 1520-8532. S2CID 11038004.
- ^ Kneller, Gerald R. (1991-05-01). 「四元数を用いた分子構造の重ね合わせ」.分子シミュレーション. 7 (1–2): 113–119. doi :10.1080/08927029108022453. ISSN 0892-7022.
- ^ Coutsias, EA; Seok, C.; Dill, KA (2004). 「クォータニオンを使用したRMSDの計算」J. Comput. Chem . 25 (15): 1849–1857. doi :10.1002/jcc.20110. PMID 15376254. S2CID 18224579.
- ^ Petitjean, M. (1999). 「二乗平均平方根の定量的キラリティと定量的対称性の尺度について」(PDF) . J. Math. Phys . 40 (9): 4587–4595. Bibcode :1999JMP....40.4587P. doi :10.1063/1.532988.
- ^ Chevrot, Guillaume; Calligari, Paolo; Hinsen, Konrad; Kneller, Gerald R. (2011-08-24). 「柔軟な高分子の分子動力学軌道から内部運動を抽出するための最小制約アプローチ」J. Chem. Phys . 135 (8): 084110. Bibcode :2011JChPh.135h4110C. doi :10.1063/1.3626275. ISSN 0021-9606. PMID 21895162.
- ^ Petitjean, M. (2002). 「キラル混合物」(PDF) . J. Math. Phys . 43 (8): 4147–4157. Bibcode :2002JMP....43.4147P. doi :10.1063/1.1484559. S2CID 85454709.
- Kabsch, Wolfgang (1976). 「2組のベクトルを関連付ける最適な回転の解」Acta Crystallographica . A32 (5): 922. Bibcode :1976AcCrA..32..922K. doi :10.1107/S0567739476001873.
- Lin, Ying-Hung、Chang, Hsun-Chang、Lin, Yaw-Ling (2004 年 12 月 15 ~ 17 日)。「3D タンパク質構造のアラインメントと比較のためのツールとアルゴリズムの研究」国際コンピュータシンポジウム。台北、台湾。
- 梅山 真司 (1991)。「2点パターン間の変換パラメータの最小二乗推定」IEEE Trans. Pattern Anal. Mach. Intell . 13 (4): 376–380. doi :10.1109/34.88573。
