D - Kodomo

advertisement
Реконструкция филогении
по биологическим
последовательностям
С.А.Спирин
5.XII.2005, ФББ МГУ
Что такое дерево
(напоминание)
Лист
Узел
Ветвь
Корень
«Клада»
Неукоренённые деревья
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)
Напоминание
 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
D
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
Реконструкция предковой
последовательности
+-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
Download