Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Kabsch алгоритм , названный в честь Wolfgang Kabsch , является методом расчета оптимального вращения матрицы , что сводит к минимуму СКО ( Среднее квадратическое отклонение) между двумя парными наборами точек. Это полезно в графике, хеминформатике для сравнения молекулярных структур, а также в биоинформатике для сравнения структур белков (в частности, см. Среднеквадратичное отклонение (биоинформатика) ).

Алгоритм вычисляет только матрицу вращения, но также требует вычисления вектора сдвига. Когда фактически выполняются и сдвиг, и вращение, алгоритм иногда называют частичным наложением Прокруста (см. Также ортогональную проблему Прокруста ).

Описание [ править ]

Алгоритм для вращения P в Q начинается с двумя наборами парных точек, P и Q . Каждый набор точек можно представить в виде матрицы размером N × 3 . Первая строка - это координаты первой точки, вторая строка - координаты второй точки, N- я строка - координаты N- й точки.

Алгоритм состоит из трех этапов: перевод, вычисление ковариационной матрицы и вычисление оптимальной матрицы вращения.

Перевод [ править ]

Сначала необходимо преобразовать оба набора координат, чтобы их центроид совпал с началом системы координат . Это делается путем вычитания из координат точки координаты соответствующего центроида.

Вычисление ковариационной матрицы [ править ]

Второй шаг заключается в вычислении матрицы H . В матричных обозначениях

или, используя обозначение суммирования,

которая представляет собой матрицу кросс-ковариации, когда P и Q рассматриваются как матрицы данных .

Вычисление оптимальной матрицы вращения [ править ]

Оптимальное вращение R можно рассчитать по матричной формуле

но реализация численного решения этой формулы становится сложной, если учесть все особые случаи (например, случай, когда H не имеет обратного).

Если доступны процедуры разложения по сингулярным значениям (SVD), оптимальное вращение R можно вычислить с помощью следующего простого алгоритма.

Во- первых, вычислить СВД из ковариационной матрицы H .

Затем решите, нужно ли нам корректировать нашу матрицу вращения, чтобы обеспечить правостороннюю систему координат.

Наконец, вычислите нашу оптимальную матрицу вращения, R , как

Оптимальная матрица вращения также может быть выражена через кватернионы . [1] [2] [3] [4] Это альтернативное описание было недавно использовано при разработке строгого метода удаления движений твердого тела из молекулярно-динамических траекторий гибких молекул. [5] В 2002 г. было также предложено обобщение для применения к распределениям вероятностей (непрерывным или нет). [6]

Обобщения [ править ]

Алгоритм описан для точек в трехмерном пространстве. Обобщение на измерения D. Немедленно.

Внешние ссылки [ править ]

Этот алгоритм SVD более подробно описан на http://cnx.org/content/m11608/latest/

Функция Matlab доступна по адресу http://www.mathworks.com/matlabcentral/fileexchange/25746-kabsch-algorithm

C ++ , реализация (и модульное тестирование) с использованием Эйгена

Python скрипт доступен на https://github.com/charnley/rmsd . Еще одну реализацию можно найти в SciPy .


Бесплатный плагин PyMol, легко реализующий Kabsch, - это [1] . (Это ранее было связано с CEalign [2] , но здесь используется алгоритм CE .) VMD использует алгоритм Кабша для выравнивания.

FoldX моделирование ToolSuite включает в себя алгоритм Kabsch для измерения RMSD между диким типом и белковыми структурами мутированный.

См. Также [ править ]

  • Проблема Вахбы
  • Ортогональная проблема Прокруста

Ссылки [ править ]

  1. ^ Хорн, Бертольд КП (1987-04-01). «Замкнутое решение абсолютной ориентации с использованием единичных кватернионов». Журнал Оптического общества Америки A . 4 (4): 629. Bibcode : 1987JOSAA ... 4..629H . CiteSeerX  10.1.1.68.7320 . DOI : 10,1364 / josaa.4.000629 . ISSN  1520-8532 .
  2. ^ Кнеллер, Джеральд Р. (1991-05-01). «Суперпозиция молекулярных структур с использованием кватернионов». Молекулярное моделирование . 7 (1–2): 113–119. DOI : 10.1080 / 08927029108022453 . ISSN 0892-7022 . 
  3. ^ Coutsias, EA; Seok, C .; Дилл, К.А. (2004). «Использование кватернионов для расчета RMSD». J. Comput. Chem . 25 (15): 1849–1857. DOI : 10.1002 / jcc.20110 . PMID 15376254 . S2CID 18224579 .  
  4. ^ Петижан, М. (1999). «О среднеквадратичных количественных мерах хиральности и количественной симметрии» (PDF) . J. Math. Phys . 40 (9): 4587–4595. Bibcode : 1999JMP .... 40.4587P . DOI : 10.1063 / 1.532988 .
  5. ^ Шевро, Гийом; Каллигари, Паоло; Хинсен, Конрад; Кнеллер, Джеральд Р. (2011-08-24). «Метод наименьших ограничений для извлечения внутренних движений из молекулярно-динамических траекторий гибких макромолекул». J. Chem. Phys . 135 (8): 084110. Bibcode : 2011JChPh.135h4110C . DOI : 10.1063 / 1.3626275 . ISSN 0021-9606 . PMID 21895162 .  
  6. ^ Petitjean, М. (2002). «Хиральные смеси» (PDF) . J. Math. Phys . 43 (8): 4147–4157. Bibcode : 2002JMP .... 43.4147P . DOI : 10.1063 / 1.1484559 .
  • Кабш, Вольфганг (1976). «Решение для наилучшего вращения, чтобы связать два набора векторов». Acta Crystallographica . A32 (5): 922. Bibcode : 1976AcCrA..32..922K . DOI : 10.1107 / S0567739476001873 .
    • С поправкой в Кабш, Вольфганг (1978). «Обсуждение решения для наилучшего вращения, чтобы связать два набора векторов» . Acta Crystallographica . A34 (5): 827–828. Bibcode : 1978AcCrA..34..827K . DOI : 10.1107 / S0567739478001680 .
  • Линь, Ин-Хунг; Чанг, Сунь-Чанг; Линь, Яу-Линг (15–17 декабря 2004 г.). Исследование инструментов и алгоритмов для выравнивания и сравнения трехмерных белковых структур . Международный компьютерный симпозиум. Тайбэй, Тайвань.
  • Умэяма, Синдж (1991). "Метод наименьших квадратов параметров преобразования между двумя образцами точек". IEEE Trans. Pattern Anal. Мах. Intell . 13 (4): 376–380. DOI : 10.1109 / 34.88573 .