Занятие 2. Моделирование и реконструкция эволюции гена

Последовательность гена RIR1_Ecoli, выбранная для проведения исследования, лежит в файле rir1_gene.fasta.
Описание модели судьбы гена RIR1_Ecoli в виде скобочной формулы:
((((А:90,B:90):35,C:70):30,D:50):10,(E:60,F:60):40);
Расстояния даны как число мутаций на 100 нуклеотидных остатков.
  1. Изображение дерева, описанного заданной формулой(подписаны листья и длины ветвей):
  2. Описание ветвей дерева как разбиения множества листьев (считаем дерево бескорневым):
    
    A B C D E F
    . . * * * *
    . . . * * *
    . . . . * *
    
    
  3. Были получены искуственные мутантные последовательности, соответствующие листьям и узлам дерева, считая, что в корне находится последовательность гена RIR1_Ecoli.
    Длина гена - 2286 п.о.
    Формула для пересчёта расстояний(distance) в число мутаций(n) в гене RIR1_ecoli:
    n=2286*distance/100 
    
    Текст скрипта, которым получаются мутантные последовательности:
    
    msbar rir1_gene.fasta ef -point 4 -count 914 -auto
    msbar ef e -point 4 -count 1372 -auto
    msbar ef f -point 4 -count 1372 -auto
    msbar rir1_gene.fasta abcd -point 4 -count 229 -auto
    msbar abcd d -point 4 -count 1143 -auto             
    msbar abcd abc -point 4 -count 686 -auto            
    msbar abc ab -point 4 -count 800 -auto              
    msbar abc c -point 4 -count 1600 -auto              
    msbar ab a -point 4 -count 2057 -auto               
    msbar ab b -point 4 -count 2057 -auto               
    
    
    Затем все листья (содержимое файлов a,b,c,d,e,f) были помещены в файл ali.fasta.
  4. На основе последовательностей, соответствующих листьям, было реконструировано дерево алгоритмами UPGMA:
    fdnadist ali.fasta -ttratio 1 -auto #вычисление попарных расстояний
    fneighbor ali.fdnadist -treetype u -auto #реконструкция дерева
    
    Neighbor-joining:
    fdnadist ali.fasta -ttratio 1 -auto #вычисление попарных расстояний
    fneighbor ali.fdnadist -outfile neighbor -auto #реконструкция дерева
    
    и максимального правдоподобия:
    fdnaml ali.fasta -ttratio 1 -auto #реконструкция дерева
    

    Алгоритм максимального правдоподобия дал следующее дерево в виде филограммы(выходной файл ali.fdnaml):
    
      +--------------------B
      |
      |                               +------------F
      |                 +-------------4
      |         +-------3             +--------------E
      |         |       |
      1---------2       +----------D
      |         |
      |         +--------------C
      |
      +-------------------A
    
    
    Алгоритм UPGMA дает дерево в виде кладограммы(выходной файл ali.fneighbor):
    
    
                         +----------------------------------------A
      +------------------3
      !                  +----------------------------------------B
      !
    --5                        +----------------------------------C
      !            +-----------2
      !            !           +----------------------------------D
      +------------4
                   !                  +---------------------------E
                   +------------------1
                                      +---------------------------F
    
    
    Алгоритм Neighbor-joining дает дерево в виде филограммы(выходной файл neighbor):
     
      +---------------------B
      !
      !          +--------------C
      2----------3
      !          !         +---------D
      !          +---------4
      !                    !               +----------------E
      !                    +---------------1
      !                                    +-----------F
      !
      +------------------A
    
    
    Представляя ветви каждого дерева как разбиения множества листьев, составим таблицу, указывающую какие ветви встречаются в деревьях, полученных разными алгоритмами.

    A B C D E F
    Исходное дерево
    Алгоритм максимального правдоподобия
    Алгоритм UPGMA
    Алгоритм Neighbor-joining
    . . * * * *
    ++++
    . . . * * *
    ++ +
    . . . . * *
    ++++
    . . * * . .
      + 


    Как видно, алгоритмы Neighbor-joining и максимального правдоподобия дали результат, идентичный исходному, в то время как дерево, составленное при помощи алгоритма UPGMA, имеет одну не совпадающую с исходным деревом внутреннюю ветвь.
    Полученный результат, по-видимому, объясняется тем, что для корректной работы алгоритма UPGMA необходимо, чтобы для данных последовательностей выполнялась гипотеза "молекулярных часов", т.е. сумма длин ветвей от корня до листа была одинакова для каждого листа (в единицу времени во всех последовательностях происходит одинаковое число мутаций, причем конечные последовательности - современники), чего не наблюдается для исходного дерева. Это означает, что применять алгоритм UPGMA в данном случае некорректно.
    Скорей всего, этим же объясняется и тот факт, что корень дерева, полученный при помощи данного алгоритма, не совпадает с корнем исходного дерева.

Дополнительное упражнение

Сравнение разных способов оценки эволюционных расстояний между 2-мя генами