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

    #1

    Для выполнения задания была выдана следующая формула: [(((А:40,B:40):5,C:70):30,D:50):10,(E:50,F:50):50]
    Дерево вручную построенно по заданно формуле, с соблюдением относительной длины ветвей. Дерево укорененное, неультраметрическое:

               
                            +---50--------------- F
    |
    +---50---------------+
    | |
    | +---50--------------- E
    ---+
    |
    | +---50--------------- D
    | |
    +-10-+ +---70----------------------- C
    | |
    +-30---------+ +-40------------- B
    | |
    +5+
    |
    +-40------------- A

    Таблица, описывающая дерево как разбиение множества листьев:

    A B C D E F
    . . * * * *
    . . . * * *
    . . . . * *
    

    Длина гена, кодирующего мой белок, составляет 1103 нуклеотида. Соответственно формула для пересчета длинны ветви в количество необходимых мутаций: (длина ветви)*1103/100. Для выполнения мутаций использовалась программа msbar пакета EMBOSS с параметрами -point 4 -count n -auto, где -point 4 разрешает только замены, а -count n — количество мутаций. Поскольку мутации имели исключительно характер замен, это облегчало некоторые последующие действия. В частности, простое перечисление последовательностей в fasta-формате являлось одновременно и выравниванием, необходимым для выполнения программ построения деревьев. Скрипт. Выравнивание полученных путем мутагенеза листьев.

    #2 Сравнение работы различных алгоритмов


    —Neighbor-joining

    fdnadist ali.fasta -ttratio 1 -auto (Вычисление попарных расстояний между последовательностями. Параметр ttratio это отношение транзиций к трансверсиям. Т.е. этим параметром можно уточнять эволюционную модель. Значение 1 соответствует изначальной модели Джукса-Кантора)
    fneighbor ali.fdnadist -auto alinj.fneighbor
    Negative branch lengths allowed

      
      +---------B         
      ! 
      !           +------------------C         
      2-----------3 
      !           !         +--------D         
      !           +---------4 
      !                     !               +----------E         
      !                     +---------------1 
      !                                     +-------------F         
      ! 
      +--------A         
     
            
    
    
    A B C D E F
    . . * * * * 
    . . . * * *
    . . . . * *
    

    Неукорененное дерево.

    Эвристический алгоритм, в основе которого лежит поиск пар наиболее близких листьев (за счет попарных выравниваний) не полностью справился с воссозданием дерева: Топология совпадает (но нужно учитывать что построенное по алгоритму Neighbor-joining дерево неукорененное), но длинны ветвей недостоверны: например расстояния от E и F до узла не одинаковые, в отличии от оригинала.


    — UPGMA

    fdnadist ali.fasta -ttratio 1 -auto
    fneighbor ali.fdnadist -treetype u -auto aliupgma.fneighbor (-treetype u — строит дерево алгоритмом UPGMA)

                                                                           
                                        +-----------------A         
                  +---------------------1 
                  !                     +-----------------B         
      +-----------4 
      !           !   +-----------------------------------C         
      !           +---3 
    --5               +-----------------------------------D         
      ! 
      !                           +-----------------------E         
      +---------------------------2 
                                  +-----------------------F 
    							  
    							          
    A B C D E F
    . . * * * *
    * * . . * *
    . . . . * *

    Укорененное дерево.

    Алгоритм, который в настоящее время считается грубым, оказался в данной ситуации наиболее недостоверным. В отличии от других алгоритмов, UPGMA строит укорененное ультраметрическое дерево. Поскольку в основе алгоритма лежит усреднение расстояния от пар листьев до узла, то в результате алгоритм не смог построить дерево похожее на исходное: изменилась топология и расстояния от листьев до ближайших узлов у пар листьев одинаковые, что не соответствует действительности — исходное дерево не ультраметрическое.

    —Алгоритмом максимального правдоподобия

    fdnaml ali.fasta -ttratio 1 -auto aliml.fdnaml

      +--------B         
      |  
      |                                  +------------F         
      |                   +--------------4  
      |          +--------3              +----------E         
      |          |        |  
      1----------2        +---------D         
      |          |  
      |          +-----------------C         
      |  
      +--------A         
     
    A B C D E F
    . . * * * * 
    . . . * * *
    . . . . * *
    

    Неукорененное дерево.

    Переборный алгоритм выдал результат очень схожий с результатом Neighbor-joining. Т.е. топология верная, но длины ветвей — нет.

    В результате мы получили такую картину: UPGMA ошибся, результат Neighbor-joining скоррелировал с результатом перебора методом максимального правдоподобия, но результат все равно отличается от реального — при правильно предсказанной топологии не правильно определенные длинны ветвей. Возможно это произошло из-за того что было произведено слишком много замен: например если выровнять изначальную последовательность и, например, лист F, то выяснится, что между последовательностями всего 52.7% схожести. И, это случайные совпадения — для превращения изначальной последовательности в мутант F было произведено 100 мутаций на каждые 100 нуклеотидов (суммарная длина ветвей от корня до листа F). В подтверждение случайности совпадений: выравнивание F и D дало 42.4% совпадений, хотя между ними 160 мутаций на каждые 100 нуклеотидов. Думаю именно поэтому алгоритмам не удалось восстановить дерево — оно строилось на основе случайных последовательностей. Думаю в реальности программам проще работать, особенно при наличии консервативных сайтов в группе исследуемых белков.