fseqboot ali.fasta -auto # создает 100 бутстреп-реплик выравнивания fdnaml ali.fseqboot -auto # в выходном файле будет 100 скобочных формул, соответствующих реконструкциям, сделанным по каждому из выравниваний fconsense ali.treefile -auto # в выходном файле будут содержатся результаты бутстреп-анализаЗдесь ali.fasta - файл, содержащий множественное выравнивание предполагаемых потомков RIR1_Ecoli.
+------F +100.0-| +100.0-| +------E | | +------| +-------------D | | | | +------A | +-------100.0-| | +------B | +---------------------------CКак видно, его топология совпадает с топологией исходного дерева.
C F E D B A . * * * . . . . . . * * . * * . . .Очевидно, что данное описание аналогично такому же описанию исходного дерева:
A B C D E F . . * * * * . . . * * * . . . . * *Таким образом, можно сделать вывод о том, что бутстреп-анализ - хорошее средство для оценки достоверности филогенетических деревьев.
((((A:90,B:90):35,C:70):30,D:50):10,(E:60,F:60):40);было построено с помощью программы fdrawtree. Как видно, программа строит неукорененное дерево, причем длины ветвей пропорциональны растояниям указанным в формуле.
((A:0.64,B:0.73):0,(((E:0.56,F:0.38):0.52,D:0.33):0.34,C:0.48):0.37);Она была помещена в файл tree. Дальнейшая работа проходила с программой fretree.
fretree 6 tree # 6 - количество листьев исходного дерева.С помощью однобуквенных команд M (укоренение в среднюю точку), R (запись укорененного дерева) и W (запись дерева в файл) было построено укорененное дерево:
,--------------------------------3:E ,----------------------------11 ,---------10 `---------------------4:F ! ! ! `------------------5:D --7 ! ,----------------------------6:C `--------9 ! ,-------------------------------------1:A `---------------------8 `------------------------------------------2:BВ выходном файле имеется скобочная формула данного дерева. Это не совпадает с исходным деревом (см. протокол ко второму занятию). Возможно, это объясняется тем, что исходное дерево не является ультраметричным, поэтому укоренять его в среднюю точку неправильно.
fdrawgram -intreefile t_n -plotfile t_n.fdraw -style pЗдесь t_n - файл со скобочной формулой дерева из предыдущего задания, t_n.fdraw - выходной файл, p - обозначение филограммы (phenogram).
Необходимо восстановить предковую последовательность методом максимального правдоподобия (программа fdnamlk). Предложенная программа аналогична программе fdnaml, но подразумевает выполнение гипотезы "молекулярных часов", которая не выполняется в случае моего дерева (см. протокол к занятию 2). Попытаемся всё же восстановить предковую последовательность программой fdnamlk. Для этого выполним следующие команды:
fdnamlk ali.fasta -hypstate Y -outfile mlПолученный файл тут.
grep ml -e " 4 *[A-z]" > precursorПосле незначительного редактирования выходного файла получим последовательность предка в FASTA формате.
needle precursor rir1_gene.fasta -outfile comp -gapopen 100Штраф за открытие гэпа здесь равен 100, т.к. наша модель делеций не предполагала, а следовательно и гэпов в выравнивании быть не должно. Выходной файл тут.
A B C D E F | Исходное дерево | Алгоритм программы fdnamlk | Алгоритм программы fdnaml |
. . * * * * | + | + | + |
. . . * * * | + | + | |
. . . . * * | + | + | + |
. . * * . . | + |
Но можно восстанавливать "промежуточные" предковые последовательности методом максимального правдоподобия и без предположения выполнения гипотезы "молекулярных часов" (программа fdnaml). Программа строит неукорененное дерево. Последовательности, которые программа может восстановить, будут относится к узлам дерева, которые могут и не совпадать с его корнем.
Однако из этих узлов мы можем выбрать наиболее близкий к общему предку, потому что эволюция была смоделирована. Затем можно сравнивать его с соответствующим узлом реального дерева. Таким образом, можно будет сделать вывод о том, как алгоритм "максимального правдоподобия" восстанавливает последовательности, если гипотеза "молекулярных часов" не выполняется.
Для проведения этого сравнения был выбран общий предок последовательностей A,B,C,D (см. протокол к занятию 2). Его растояние от реального предка равно 10 замен на 100 нуклеотидов.
Чтобы найти предполагаемую последовательность общего предка A,B,C,D алгоритмом "максимального правдоподобия" необходимо выполнить следующие команды:
fdnaml ali.fasta -hypstate Y -outfile ml2чтобы построить дерево и восстановить последовательности, соответствующие его узлам (полученный файл тут). Сразу стоит заметить, что топология получившегося дерева совпадает с топологией "реального". А затем:
grep ml -e " 3 *[A-z]" > ABCD_ml2чтобы вытащить последовательность предка A,B,C,D (его порядковый номер - 3). После незначительного редактирования выходного файла получим искомую последовательность в формате FASTA. Чтобы сравнить ее с реальной построим их выравнивание.
Как видно Identity двух последовательностей достаточно велик (~66%). Учитывая эволюционные расстояния между последовательностями A,B,C,D (см. занятие 2) можно сказать, что этот процент достаточно высок, и алгоритм "максимального правдоподобия" хорошо справляется с восстановлением предковых последователностей.
Но как тогда восстановить ближайшего общего предка всех последовательностей данным алгоритмом без выполнения гипотезы "молекулярных часов"? Возможно, для этой цели необходимо "включить" в дерево последовательность заведомо далекую от каждой из данных. Таким образом, общий предок исходных последовательностей станет "внутренним" узлом дерева, то есть перестанет быть корнем, которым теперь будет общий предок искомого корня и новой последовательности. Тогда мы сможем определить общего предка данных последовательностей более точно в тех случаях, когда не выполняется гипотеза "молекулярных часов".
Вернуться к списку протоколов.