Реконструкция филогении по биологическим последовательностям С.А.Спирин 6.III.2007, ФББ МГУ Что такое дерево (напоминание) Лист Узел Ветвь Корень «Клада» Неукоренённые деревья A A B B C A C D B C D D E E Неукоренённое дерево следует понимать как множество возможных укоренений E C A B D E Небинарные деревья A A B C B F D C E F D E Небинарное дерево следует понимать как множество возможных «разрешений» A B C E D F Топология дерева = Расстояния по дереву между листьями 16 47 10 8 52 31 6 8 92 22 6 D(MOUSE, CAEEL) = 6+31+92 = 129 Расстояния по дереву между листьями 16 47 10 8 22 6 D(MOUSE, CAEEL) = 6+31+92 = 129 Дерево с заданными длинами ветвей порождает метрическое пространство, элементами которого являются листья 52 31 6 8 92 Ультраметрические деревья Если на дереве можно найти точку такую, что расстояния от нее до всех листьев одинаковы, до дерево называется “ультраметрическим”. Ультраметрическое дерево можно однозначно укоренить (в эту самую точку). Содержательно ультраметрические деревья соответствуют случаю, когда длины ветвей суть время эволюции (а все последовательности современны) Время эволюции можно восстанавливать в предположении «молекулярных часов» Мы рассматриваем алгоритмы реконструкции филогении по данному множественному выравниванию (хотя бывают и другие!). CAEEL HUMAN MOUSE PROWI MARPO BRANA VICFA ASWRQLRDVKRREQIQEVGADRMRLKAIKFNTILPQAIRDEAAEKMQKAR VDWRMWRDVKRRKMAYEYADERLRINSLRKNTILPKILQDVADEEIAALP VDWRMLRDLKRRKMAYEYADERLRINSLRKNTILPKDLQEMAGDEIAALP MFNSIKRDLKRRKLYKKYESKRLLYKALISDCNLNQDLRFILTQKLNKLP MSNQIIRDHKRRLLVAKYELKRMHYKAICQDRNLPNKIRYEYFFKLSKLP SEKQNSRDHKRRLLAAKFELRRKLYKAFCKDPDLPSDMRDKHRYKLSKLP SEKRNIRDHKRRLLAAKYELRRKLYKAFCKDSDLPSDMRDKLRYKLSKLP Алгоритмов много! Прежде всего, алгоритм либо предполагает "молекулярные часы", и тогда реконструированное им дерево — укорененное и ультраметрическое, либо не предполагает, и тогда дерево всегда не ультраметрическое и как правило не укоренённое. А что значит «реконструировать»? Выбрать топологию из множества вариантов Ещё приписать длины всем ветвям (но не все алгоритмы это делают) Два типа алгоритмов a. Использующие вычисление расстояний между последовательностями b. "Символьно-ориентированные" Выравнивание Матрица расстояний b a Дерево Другая классификация алгоритмов a. Переборные алгоритмы b. Эвристические алгоритмы (UPGMA & Neighbor-Joining) Некоторые алгоритмы Mol. clock Heuristic Distance matrix UPGMA Neighbor-joining Fitch – Margoliash Max. parsimony Max. likelihood + – +/– + + – + + + – +/– – – – – Напоминание UPGMA предполагает молекулярные часы ( реконструирует укоренённое ультраметрическое дерево) Neighbor-joining не предполагает МЧ и не укореняет деревья Оба алгоритма работают только с матрицей расстояний Идея кластерного алгоритма Ультраметрическое дерево строится «от листьев к корню» • Находим два самых близких листа и объединяем их в кластер. • Кластеру сопоставляем узел, соединённый с этими листами. • Вычисляем (тем или иным способом) расстояние от кластера до остальных листьев. • Листья можно считать кластерами из одного элемента. Находим пару ближайших кластеров и объединяем их в новый кластер. • и т.д., пока не останется один кластер. Разница между разными кластерными алгоритмами только в способе вычисления расстояний между кластерами. UPGMA Unweighted Pair Group Method with Arithmetic Mean Кластерный метод, в котором расстояние между кластерами вычисляется как среднее арифметическое расстояний между их элементами. Ещё к этому прилагается способ вычисления длин ветвей Идея алгоритма neighbor-joining A B Находим пару листьев A, B, для которых сумма длин веток такого дерева минимальна. Длины получаются из матрицы расстояний. Идея алгоритма neighbor-joining A B В наиболее распространённом варианте A и B — такая пара последовательностей, для которых минимальна величина (A, B) – M(A,B), где — расстояние из матрицы, а M — среднее расстояние от A и B до всех остальных последовательностей. Идея алгоритма neighbor-joining A B Такие «соседи» дальше рассматриваются как один лист. «Объединение соседей» продолжается, пока не останутся только три «листа». В отличие от кластерных алгоритмов, NJ не находит корня! Другая классификация алгоритмов a. Переборные алгоритмы b. Эвристические алгоритмы (UPGMA & Neighbor-Joining) Переборные алгоритмы Любой переборный алгоритм включает: a. Критерий качества дерева b. Принцип (алгоритм) поиска самого качественного дерева (на практике сводится к поиску "достаточно качественного" дерева) Поиск лучшего дерева Все деревья перебрать (как правило) нельзя! Число различных деревьев с N листьями равно: (2N – 5)!! = 1•3•5•... •(2N – 5) Это число очень быстро растёт! Полный перебор возможен, если число последовательностей не превышает 10–12 Поиск лучшего дерева: «выращивание» • Найдем лучшее дерево для части последовательностей • Будем добавлять листья по одному, находя для них D наилучшее место C A D D E B C A ? +E C A D E B C A B E B Всего 5 вариантов Поиск лучшего дерева: «выращивание» • Найдем лучшее дерево для части последовательностей • Будем добавлять листья по одному, находя для них D наилучшее место C A D C A E B ! +E B D D E C A B C A E B Немного комбинаторики Дерево с N листьями всегда имеет 2N–3 ветви. Поэтому, чтобы “вырастить” дерево с N листьями, надо проанализировать 3 + 5 +...+ (2N – 5) = (N – 3)(N – 1) деревьев. Уже для N=10 это число меньше числа всех возможных деревьев в 32175 раз! Выращивание не гарантирует нахождение «лучшего» дерева, но при хороших данных не должно приводить к большим ошибкам. Поиск лучшего дерева Еще один приём: построим сначала «черновое» дерево, а затем попробуем его улучшить. Черновое дерево можно построить одним из эвристических методов или «вырастить». Улучшать будем, просматривая «соседние» деревья. Что такое «соседние» деревья Оторвём один лист и «привьём» его на другую ветвь D D C A C A B E E B Что такое «соседние» деревья Можно проделать аналогичную операцию с целой кладой D D D C A A C B C A E E E B B В пакете PHYLIP это называется “Global rearrangement” Что такое «соседние» деревья Можно «схлопнуть» одну ветвь и заменить её другой D D A D C A A C C B E B E B E В пакете PHYLIP это называется “Local rearrangement” Алгоритм поиска Строим черновое дерево (два варианта: эвристический метод или «выращивание» с использованием критерия качества). Анализируем соседние деревья; если находим среди соседей лучшее, берём за основу его. Повторяем предыдущий пункт, пока текущее дерево не окажется лучше всех своих соседей. Переборные алгоритмы Любой переборный алгоритм включает: a. Критерий качества дерева b. Принцип (алгоритм) поиска самого качественного дерева (на практике сводится к поиску "достаточно качественного" дерева) Основные критерии качества Максимальная экономия (maximum parsimony) Максимальное правдоподобие (maximal likelihood) Соответствие расстояний по дереву заданной матрице расстояний (Fitch – Margoliash или minimal evolution) Первые два критерия — символьно-ориентированные Укоренение PROWI MARPO BRANA VICFA + MOUSE HUMAN CAEEL • в среднюю точку Укоренение P ROW I M AR PO BRANA VI CFA M OUSE H UMAN CAEEL • в среднюю точку • используя «аутгруппу» (outgroup) Сравнение деревьев Консенсусное (небинарное) дерево Максимальное общее поддерево Дерево из ветвей, поддержанных большинством (majority-rule tree) Меры сходства деревьев ("расстояние") i. Доля общих ветвей ii. Расстояние в "пространстве ветвей" iii. Доля общих четверок iv. Длина пути в пространстве деревьев PHYLIP Символьно-ориентированная реконструкция: dnapars, protpars, dnaml, dnamlk, protml, protmlk Вычисление расстояний: dnadist, protdist Реконструкция по матрице расстояний: neighbor, fitch, kitsch PHYLIP Сравнение: consense, treedist, treedistpair Визуализация: drawgram, drawtree Редактура: retree PHYLIP: где взять? На сайте разработчика: http://evolution.genetics.washington.edu/phylip/getme.html (для установки на своём компьютере) Web-интерфейс: http://bioweb.pasteur.fr/seqanal/phylogeny/phylip-uk.html В составе EMBOSS/EMBASSY Реконструкция предковой последовательности (dnaml) +-YERPE | | +BACAN | +----4 | | | +BACCR | +-----3 +--5 | | | +BACC1 1----------------------------------------2 | | | +-----BACSU | | | +---BACHD | +------ECOLI node 1 YERPE 2 3 4 BACAN 5 BACCR BACC1 BACSU BACHD ECOLI Reconstructed sequence (caps if > 0.95) latMSqsPIE ---MSQSPIE MttqKqQaVT MktKKQQnVT MEEKKQQNVT MEEKKQQNVT MEEKKQQNVT MEEKKQQNVT MEEKKQQNVT MKTKKQQYVT MTTQKKQAVT ---MSNTPIE LKGSSFTLSV LKGSSFTLSV IKGTKdGLTl IKGTKdGlTL IKGTKDGITL IKGTKDGITL IKGTKDGITL IKGTKDGITL IKGTKDGITL IKGTKNGLTL IKGTKDGLTF LKGSSFTLSV VHLHdsrPeV VHLHDSRPEV HLDDrCSFDs HLDDcCSFdE HLDDCCSFSE HLDDCCSFSE HLDDCCSFSE HLDDCCSFSE HLDDCCSFSE HLDDACSFDE HLDDRCSFDS VHLHEAEPKV IrQALqeKvd IRQALQEKVD ivgeLaeKLS LLdeLqeKLS LLKELDEKLS LLKELDEKLS LLKELDEKLS LLMELDEKLS LLKELDEKLS LLDGLQNMLS IVGELAEKLS IHQALEDKIA QAPAFLKnAP QAPAFLKNAP skHYymedgp tehYyDGdGq TeHYYDGDGR T-HYYDGDGR TeHYYDGDGR T-HYYDGDGR T-HYYDGDGR IEQYTDGKGQ SKHYQMEDQP QAPAFLKHAP VViNVatLpn VVINVATLPN rlIqVkVlpn klIeVHVlpd SLIEVHVlpd SLIEVHV--SLIEVHVlpd SLIEVHV--SLIEVHV--K-ISVHV--R-IQVKV--VVLNVSALED