काब्श एल्गोरिथम

काब्श एल्गोरिथम, जिसे काब्श-उमेयामा एल्गोरिथम के रूप में भी जाना जाता है, वोल्फगैंग काब्श और शिनजी उमेयामा के नाम पर, इष्टतम रोटेशन मैट्रिक्स की गणना करने की एक विधि है जो बिंदुओं के दो युग्मित सेटों के बीच आरएमएसडी (रूट माध्य वर्ग विचलन) को कम करती है। यह कंप्यूटर चित्रलेख  में बिंदु-सेट पंजीकरण के लिए और रसायन सूचना विज्ञान और जैव सूचना विज्ञान में आणविक और प्रोटीन संरचनाओं की तुलना करने के लिए उपयोगी है (विशेष रूप से, रूट-माध्य-वर्ग विचलन (जैव सूचना विज्ञान) देखें)।

एल्गोरिदम केवल रोटेशन मैट्रिक्स की गणना करता है, लेकिन इसमें अनुवाद वेक्टर की गणना की भी आवश्यकता होती है। जब अनुवाद और रोटेशन दोनों वास्तव में किए जाते हैं, तो एल्गोरिदम को कभी-कभी आंशिक प्रोक्रस्टेस सुपरइम्पोज़िशन कहा जाता है (ऑर्थोगोनल प्रोक्रस्टेस समस्या भी देखें)।

विवरण
के घूर्णन के लिए एल्गोरिथ्म $P$ में $Q$ युग्मित बिंदुओं के दो सेटों से प्रारंभ होता है, $P$ और $Q$. बिंदुओं के प्रत्येक सेट को एक के रूप में दर्शाया जा सकता है $N × 3$ मैट्रिक्स (गणित)। पहली पंक्ति पहले बिंदु के निर्देशांक हैं, दूसरी पंक्ति दूसरे बिंदु के निर्देशांक हैं $N$वीं पंक्ति के निर्देशांक हैं $N$वाँ बिंदु. नीचे दिए गए मैट्रिक्स की जाँच करें


 * $$\begin{pmatrix}

x_1 & y_1 & z_1 \\ x_2 & y_2 & z_2 \\ \vdots & \vdots & \vdots \\ x_N & y_N & z_N \end{pmatrix}$$ एल्गोरिदम तीन चरणों में काम करता है: एक अनुवाद, एक सहप्रसरण मैट्रिक्स की गणना, और इष्टतम रोटेशन मैट्रिक्स की गणना।

अनुवाद
निर्देशांक के दोनों सेटों का पहले अनुवाद किया जाना चाहिए, ताकि उनका केन्द्रक समन्वय प्रणाली की उत्पत्ति के साथ मेल खाए। यह संबंधित केन्द्रक के बिंदु निर्देशांक को घटाकर किया जाता है।

सहप्रसरण मैट्रिक्स की गणना
दूसरे चरण में एक मैट्रिक्स की गणना करना शामिल है $H$. मैट्रिक्स संकेतन में,


 * $$ H = P^\mathsf{T}Q \, $$

या, योग संकेतन का उपयोग करते हुए,


 * $$ H_{ij} = \sum_{k = 1}^N P_{ki} Q_{kj}, $$

जो कि एक क्रॉस-सहप्रसरण |क्रॉस-कोवेरिएंस मैट्रिक्स है $P$ और $Q$ को design_matrix के रूप में देखा जाता है।

इष्टतम रोटेशन मैट्रिक्स की गणना
इष्टतम रोटेशन की गणना करना संभव है $R$मैट्रिक्स सूत्र के आधार पर


 * $$ R = \left(H^\mathsf{T} H\right)^\frac12 H^{-1} $$

लेकिन इस सूत्र का संख्यात्मक समाधान लागू करना तब जटिल हो जाता है जब सभी विशेष मामलों को ध्यान में रखा जाता है (उदाहरण के लिए, का मामला)। $H$ व्युत्क्रम नहीं होना)।

यदि एकल मूल्य अपघटन (एसवीडी) रूटीन उपलब्ध हैं, तो इष्टतम रोटेशन, $R$, की गणना निम्नलिखित सरल एल्गोरिदम का उपयोग करके की जा सकती है।

सबसे पहले, सहप्रसरण मैट्रिक्स के एसवीडी की गणना करें $H$.


 * $$ H = U \Sigma V^\mathsf{T} $$

इसके बाद, तय करें कि दाएं हाथ की समन्वय प्रणाली सुनिश्चित करने के लिए हमें अपने रोटेशन मैट्रिक्स को सही करने की आवश्यकता है या नहीं


 * $$ d = \mathrm{sign}\left(\det\left(V U^\mathsf{T}\right)\right) $$

अंत में, हमारे इष्टतम रोटेशन मैट्रिक्स की गणना करें, $R$, जैसा


 * $$ R = V \begin{pmatrix}

1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & d \end{pmatrix} U^\mathsf{T} $$ इष्टतम रोटेशन मैट्रिक्स को चतुर्भुज के संदर्भ में भी व्यक्त किया जा सकता है।  इस वैकल्पिक विवरण का उपयोग लचीले अणुओं के आणविक गतिशीलता प्रक्षेप पथ से कठोर-शरीर गतियों को हटाने के लिए एक कठोर विधि के विकास में किया गया है। 2002 में संभाव्यता वितरण (निरंतर या नहीं) के अनुप्रयोग के लिए एक सामान्यीकरण भी प्रस्तावित किया गया था।

सामान्यीकरण
एल्गोरिथ्म को त्रि-आयामी अंतरिक्ष में बिंदुओं के लिए वर्णित किया गया था। को सामान्यीकरण $D$ आयाम तत्काल है.

बाहरी संबंध
This SVD algorithm is described in more detail at http://cnx.org/content/m11608/latest/

A Matlab function is available at http://www.mathworks.com/matlabcentral/fileexchange/25746-kabsch-algorithm

A C++ implementation (and unit test) using Eigen

A Python script is available at https://github.com/charnley/rmsd. Another implementation can be found in SciPy.

A free PyMol plugin easily implementing Kabsch is. (This previously linked to CEalign, but this uses the Combinatorial Extension (CE) algorithm.) VMD uses the Kabsch algorithm for its alignment.

The FoldX modeling toolsuite incorporates the Kabsch algorithm to measure RMSD between Wild Type and Mutated protein structures.

यह भी देखें

 * वहबा की समस्या|वहबा की समस्या
 * ऑर्थोगोनल प्रोक्रस्ट्स समस्या

संदर्भ

 * With a correction in
 * With a correction in