Метод кластеризации снизу вверх для создания филогенетических деревьев
В биоинформатике метод объединения соседей представляет собой метод кластеризации снизу вверх (агломеративный) для создания филогенетических деревьев , созданный Наруей Сайто и Масатоши Неем в 1987 году. [1] Обычно основанный на данных о последовательностях ДНК или белков , алгоритм требует знания расстояния между каждой парой таксонов (например, видов или последовательностей) для создания филогенетического дерева. [2]
Алгоритм
Neighbor joining принимает матрицу расстояний , которая определяет расстояние между каждой парой таксонов , в качестве входных данных. Алгоритм начинается с полностью неразрешенного дерева, топология которого соответствует топологии звездной сети , и повторяет следующие шаги, пока дерево не будет полностью разрешено, и все длины ветвей не будут известны:
На основе текущей матрицы расстояний вычислите матрицу (определенную ниже).
Найдите пару различных таксонов i и j (т.е. с ), для которой наименьшее значение. Создайте новый узел, который соединяет таксоны i и j, и соедините новый узел с центральным узлом. Например, в части (B) рисунка справа узел u создается для соединения f и g.
Рассчитайте расстояние от каждого таксона в паре до этого нового узла.
Рассчитайте расстояние от каждого таксона за пределами этой пары до нового узла.
Запустите алгоритм снова, заменив пару присоединенных соседей новым узлом и используя расстояния, рассчитанные на предыдущем шаге.
Q-матрица
На основе матрицы расстояний, связывающих таксоны, вычислите матрицу x следующим образом:
где — расстояние между таксонами и .
Расстояние от членов пары до нового узла
Для каждого таксона в соединяемой паре используйте следующую формулу для расчета расстояния до нового узла:
и:
Таксоны и являются парными таксонами и является вновь созданным узлом. Ветви, соединяющие и и и , и их длины, и являются частью дерева, которое постепенно создается; они не влияют и не подвергаются влиянию последующих шагов по присоединению соседей.
Расстояние других таксонов от нового узла
Для каждого таксона, не рассмотренного на предыдущем шаге, мы вычисляем расстояние до нового узла следующим образом:
где — новый узел, — узел, расстояние до которого мы хотим рассчитать, а — члены только что присоединенной пары.
Сложность
Присоединение соседей к набору таксонов требует итераций. На каждом шаге нужно построить и выполнить поиск матрицы. Изначально матрица имеет размер , затем на следующем шаге она становится , и т. д. Реализация этого простым способом приводит к алгоритму с временной сложностью ; [3] существуют реализации, которые используют эвристики, чтобы сделать это намного лучше, чем это в среднем. [4]
Пример
Предположим, что у нас есть пять таксонов и следующая матрица расстояний :
Первый шаг
Первое присоединение
Рассчитываем значения по уравнению ( 1 ). Например:
Получаем следующие значения матрицы (диагональные элементы матрицы здесь не используются и опущены):
В приведенном выше примере . Это наименьшее значение , поэтому мы объединяем элементы и .
Оценка длины первой ветви
Пусть обозначает новый узел. Согласно уравнению ( 2 ), выше, ветви, соединяющие и , тогда имеют длины:
Первое обновление матрицы расстояний
Затем мы переходим к обновлению исходной матрицы расстояний в новую матрицу расстояний (см. ниже), уменьшенную в размере на одну строку и один столбец из-за объединения с их соседом . Используя уравнение ( 3 ) выше, мы вычисляем расстояние от до каждого из других узлов, кроме и . В этом случае мы получаем:
Результирующая матрица расстояний имеет вид:
Выделенные жирным шрифтом значения соответствуют вновь рассчитанным расстояниям, тогда как выделенные курсивом значения не затронуты обновлением матрицы, поскольку они соответствуют расстояниям между элементами, не участвующими в первом объединении таксонов.
Второй шаг
Второе присоединение
Соответствующая матрица:
Мы можем выбрать либо присоединение и , либо присоединение и ; обе пары имеют минимальное значение , и любой выбор приводит к одному и тому же результату. Для конкретности давайте присоединим и и назовем новый узел .
Оценка длины второй ветви
Длины ветвей, соединяющих и можно рассчитать:
Объединение элементов и расчет длины ветвей помогают нарисовать дерево объединения соседей, как показано на рисунке.
Второе обновление матрицы расстояний
Теперь вычисляется обновленная матрица расстояний для оставшихся трех узлов, , и :
Последний шаг
Топология дерева на этом этапе полностью решена. Однако для ясности мы можем вычислить матрицу . Например:
Для конкретности соединим и и назовем последний узел . Длины трех оставшихся ветвей можно вычислить:
Дерево объединения соседей теперь готово, как показано на рисунке.
Вывод: аддитивные расстояния
Этот пример представляет собой идеализированный случай: обратите внимание, что если мы перейдем от любого таксона к любому другому вдоль ветвей дерева и просуммируем длины пройденных ветвей, результат будет равен расстоянию между этими таксонами во входной матрице расстояний. Например, переходя от к мы имеем . Матрица расстояний, расстояния которой согласуются таким образом с некоторым деревом, называется «аддитивной», что редко встречается на практике. Тем не менее, важно отметить, что при наличии аддитивной матрицы расстояний в качестве входных данных, присоединение соседей гарантированно найдет дерево, расстояния между таксонами которого согласуются с ней.
Присоединение соседей как минимальная эволюция
Neighbor joining можно рассматривать как жадную эвристику для критерия сбалансированной минимальной эволюции [5] (BME). Для каждой топологии BME определяет длину дерева (сумму длин ветвей) как определенную взвешенную сумму расстояний в матрице расстояний, с весами, зависящими от топологии. Оптимальная топология BME — это та, которая минимизирует эту длину дерева. NJ на каждом шаге жадно присоединяет ту пару таксонов, которая даст наибольшее уменьшение предполагаемой длины дерева. Эта процедура не гарантирует нахождения оптимума для критерия BME, хотя часто это так и происходит, и обычно она довольно близка. [5]
Соединение соседей имеет свойство, что если входная матрица расстояний верна, то выходное дерево будет верным. Более того, правильность топологии выходного дерева гарантируется, пока матрица расстояний является «почти аддитивной», в частности, если каждая запись в матрице расстояний отличается от истинного расстояния менее чем на половину длины самой короткой ветви в дереве. [7]
На практике матрица расстояний редко удовлетворяет этому условию, но соединение соседей часто в любом случае создает правильную топологию дерева. [8] Правильность соединения соседей для почти аддитивных матриц расстояний подразумевает, что оно статистически последовательно во многих моделях эволюции; при наличии данных достаточной длины соединение соседей восстановит истинное дерево с высокой вероятностью. По сравнению с UPGMA и WPGMA , соединение соседей имеет то преимущество, что оно не предполагает, что все родословные развиваются с одинаковой скоростью ( гипотеза молекулярных часов ).
Тем не менее, метод соседнего присоединения был в значительной степени вытеснен филогенетическими методами, которые не полагаются на измерения расстояний и обеспечивают превосходную точность в большинстве условий. [ необходима ссылка ] Метод соседнего присоединения имеет нежелательную особенность, заключающуюся в том, что он часто присваивает отрицательные длины некоторым ветвям.
Реализации и варианты
Существует множество программ, реализующих присоединение соседей. Среди реализаций канонического NJ (т. е. использующих классические критерии оптимизации NJ, поэтому дающих те же результаты) RapidNJ (запущен в 2003 г., крупное обновление в 2011 г., все еще обновляется в 2023 г.) [9] и NINJA (запущен в 2009 г., последнее обновление в 2013 г.) [10] считаются передовыми. Их типичное время выполнения примерно пропорционально квадрату числа таксонов.
Варианты, отклоняющиеся от канонических, включают в себя:
BIONJ (1997) [11] и Weighbor (2000), [12] улучшают точность, используя тот факт, что более короткие расстояния в матрице расстояний, как правило, лучше известны, чем более длинные. Оба метода были расширены для работы на неполных матрицах расстояний. [13]
«Fast NJ» запоминает лучший узел и всегда имеет O(n^2); «relax NJ» выполняет поиск с восхождением на вершину и сохраняет наихудшую сложность O(n^3). Rapid NJ быстрее, чем простой relax NJ. [14]
FastME — это реализация тесно связанного метода сбалансированной минимальной эволюции (BME) (см. § Присоединение соседей как минимальная эволюция). Он примерно такой же быстрый и более точный, как NJ. Он начинается с грубого дерева, а затем улучшает его с помощью набора топологических ходов, таких как обмены ближайшими соседями (NNI). [15] FastTree — это связанный метод. Он работает с «профилями» последовательностей вместо матрицы. Он начинается с приблизительного дерева NJ, перестраивает его в BME, а затем перестраивает в приблизительное максимальное правдоподобие. [16]
^ Сайто, Н.; Ней, М. (1 июля 1987 г.). «Метод объединения соседей: новый метод реконструкции филогенетических деревьев». Молекулярная биология и эволюция . 4 (4): 406–425. doi : 10.1093/oxfordjournals.molbev.a040454 . PMID 3447015.
^ Ксавье Дидело (2010). «Анализ структур бактериальной популяции на основе последовательностей». В D. Ashley Robinson; Daniel Falush; Edward J. Feil (ред.). Генетика бактериальной популяции при инфекционных заболеваниях . John Wiley and Sons. стр. 46–47. ISBN978-0-470-42474-2.
^ Studier, JA; Keppler, KJ (ноябрь 1988 г.). «Заметка об алгоритме присоединения соседей Сайто и Нея». Молекулярная биология и эволюция . 5 (6): 729–31. doi : 10.1093/oxfordjournals.molbev.a040527 . ISSN 1537-1719. PMID 3221794.
^ ab Gascuel O, Steel M (2006). «Раскрыто присоединение соседей». Mol Biol Evol . 23 (11): 1997–2000. doi : 10.1093/molbev/msl072 . PMID 16877499.
^ ab Kuhner, MK; Felsenstein, J. (1994-05-01). "Сравнение моделирования алгоритмов филогении при равных и неравных скоростях эволюции". Молекулярная биология и эволюция . 11 (3): 459–468. doi : 10.1093/oxfordjournals.molbev.a040126 . ISSN 0737-4038. PMID 8015439.
^ Atteson K (1997). «Производительность алгоритмов объединения соседей при реконструкции филогении», стр. 101–110. В Jiang, T., и Lee, D., ред., Lecture Notes in Computer Science, 1276 , Springer-Verlag, Берлин. COCOON '97.
^ Михаеску Р., Леви Д., Пачтер Л. (2009). «Почему работает метод присоединения соседей». Algorithmica . 54 (1): 1–24. arXiv : cs/0602041 . doi :10.1007/s00453-007-9116-4. S2CID 2462145.{{cite journal}}: CS1 maint: multiple names: authors list (link)
^ "RapidNJ". birc.au.dk .
^ "NINJA: инструмент для крупномасштабного вывода филогении методом присоединения соседей - Главная". wheelerlab.org .
^ "ATGC: BioNJ". www.atgc-montpellier.fr .
^ "WEIGHBOR Homepage". 5 марта 2015 г. Архивировано из оригинала 2015-03-05.
^ Крискуоло, Алексис; Гаскуэль, Оливье (декабрь 2008 г.). «Быстрые алгоритмы типа NJ для работы с неполными матрицами расстояний». BMC Bioinformatics . 9 (1): 166. doi : 10.1186/1471-2105-9-166 . PMC 2335114 . PMID 18366787.
^ Симонсен, Мартин; Майлунд, Томас; Педерсен, Кристиан NS (2008). "Быстрое присоединение соседей" (PDF) . Алгоритмы в биоинформатике . Конспект лекций по информатике. Том 5251. С. 113–122. doi :10.1007/978-3-540-87361-7_10. ISBN978-3-540-87360-0.
^ "ATGC: FastME" . www.atgc-montpellier.fr .
^ "FastTree 2.1: Деревья приблизительно максимального правдоподобия для больших выравниваний". www.microbesonline.org .
Другие источники
Studier JA, Keppler KJ (1988). "Заметка об алгоритме присоединения соседей Сайто и Нея". Mol Biol Evol . 5 (6): 729–731. doi : 10.1093/oxfordjournals.molbev.a040527 . PMID 3221794.
Мартин Симонсен; Томас Майлунд; Кристиан НС Педерсен (2008). "Быстрое присоединение соседей". Алгоритмы в биоинформатике . Конспект лекций по информатике. Том 5251. С. 113–122. CiteSeerX 10.1.1.218.2078 . doi :10.1007/978-3-540-87361-7_10. ISBN 978-3-540-87360-0.