gene evolution modelling

На главную страницу четвертого семестра

Моделирование эволюции гена

  1. Изображение дерева
    В начале задания была дана скобочная формула, по которой и строилось дерево, приведенное ниже:
    ((А:50,(В:37,С:37):13):40,(D:60,(Е:45,F:45):15):40);
  2. Описание ветевей дерева как разбиения множества листьев.

     ABCDEF
    α.**...
    β...***
    γ....**
    В таблице приведены разбиения, множества которых содержат более одного листа.

  3. Создание искусственных мутантных последовательностей по схеме дерева.


    Исходный ген (my_gen.fasta) - 621 нуклеотидов
    Пересчет эволюционных растояний на число мутаций в моем гене был осуществлен по формуле:
     (X/100)*621,
     где X - длина ветви.
    Для создания мутантов используется программа msbar:
     msbar infile outfile -point 4 -count n -auto,
     где n - число мутаций, характеризующее какую-либо ветвь дерева, в пересчете на мой ген.
    Команды получения всех необходимых последовательностей описаны в скрипте:

    msbar my_gen.fasta ABC.fasta -point 4 -count 248 -auto
    msbar ABC.fasta BC.fasta -point 4 -count 81 -auto
    msbar ABC.fasta A.fasta -point 4 -count 311 -auto
    msbar BC.fasta B.fasta -point 4 -count 230 -auto
    msbar BC.fasta C.fasta -point 4 -count 230 -auto
    msbar coae_gen.fasta DEF.fasta -point 4 -count 248 -auto
    msbar DEF.fasta EF.fasta -point 4 -count 93 -auto
    msbar DEF.fasta D.fasta -point 4 -count 373 -auto
    msbar EF.fasta E.fasta -point 4 -count 279 -auto
    msbar EF.fasta F.fasta -point 4 -count 279 -auto
    cat A.fasta >> allmut.fasta
    cat B.fasta >> allmut.fasta
    cat C.fasta >> allmut.fasta
    cat D.fasta >> allmut.fasta
    cat E.fasta >> allmut.fasta
    cat F.fasta >> allmut.fasta
    
    Команда "cat" дописывает содержимое файлов *.fasta в конец выбранного файла (allmut.fasta).

  4. Реконструирование дерева из полученных последовательностей.

    • Реконструирование методом максимального правдоподобия.


      Использовалась команда:
      fdnaml allmut.fasta -ttratio 1 -auto
      В результате мы получили неукорененное дерево следующего вида:

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

    • Реконструкция дерева алгоритмом Neighbor-joining.


      Для проведения операции требовалось посчитать попарные расстояния между последовательностями программой fdnadist:
      fdnadist allmut.fasta -ttratio 1 -auto
      Получившийся файл уже даем на вход непосредственно программе реконструкции дерева:
      fneighbor allmut.fdnadist -auto
      Результаты приведены ниже:

      
          +--------B         
        +-3 
        ! +----------C         
        ! 
        !                   +-----------D         
        4-------------------2 
        !                   !   +----------E         
        !                   +---1 
        !                       +-----------F         
        ! 
        +------------A         
      
      
    • Реконструкция дерева алгоритмом UPGMA.


      Для работы данной программы также необходим файл подсчета попарных расстояний.
      Работа программы по заданному алгоритму осуществляется с данной команды:
      fneighbor allmut.fdnadist -treetype u -auto
      Результат:

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

    • Сравнение полученных деревьев между собой и правильным деревом.
    • В качестве сравнения эффективности работы программ приводится таблица, где показано наличие тех или иных ветвей в различных вариантах построения одного (правильного) дерева. Звездочками и точками обозначены множества ветвей, которые представлены во всех 4-х деревьях. Плюсиком отмечается наличие данного множества ветвей у дерева.
      ABCDEFправильное деревоI деревоII деревоIII дерево
      ...***++++
      .**...++++
      ....**++++

      Программы полностью справились с задачей. Результаты оказались максимальными. Все три дерева по топологии совпали с реальным.


    Bootstrap и drawtree

  5. Bootstrap - анализ
    Необходимо провести бутстреп-анализ выравнивания мутированных последовательностей, соответствующих листьям моего (правильного) дерева.
    Сначала с помощью команды:
    fseqboot allmut.fasta -auto
    программой fseqboot создаю 100 бутстреп-реплик выравнивания. Затем подаю эти выравнивания на вход программе fdnaml:
    fdnaml allmut.fseqboot -ttratio 1 -auto.
    После всего вывожу результаты бутстреп-анализа с помощью программы fconsense:
    fconsense allmut.treefile.

    Результаты.
    Множества ветвей и число их встречаемости:

    A B C D E F
    . . . * * *          100.00
    . . . . * *          90.00 
    * . . * * *          45.00 
    
    Консенсусное дерево:
                                  +------F
                           +-90.0-|
                    +100.0-|      +------E
                    |      |
             +-45.0-|      +-------------D
             |      |
      +------|      +--------------------A
      |      |
      |      +---------------------------B
      |
      +----------------------------------C
    
    Результаты полностью подтверждают структуру и расположение множеств ветвей реального дерева. Очень хорошие показатели выявлены для множеств (ABC/DEF) и (ABCD/EF). Они встретились в 100 и 90 бутстреп-репликах выравнивания соответственно. Для множества (ADEF/BC) данный показатель имеет среднее значение.
    Также необходимо отметить 2 множества, не вошедших в консенсусное дерево, но все-таки имеющих значимое число встречаемости: (BDEF/AC) - 36 и (BA/CDEF) - 19.
    В целом bootstrap анализ полностью справился с задачей.

  6. Создание изображения своего дерева программой fdrawtree.
    Изображение получено с помощью команды:
    fdrawtree sk.form sk_form.ps,
    где sk.form - скобочная формула дерева.

    Данное изображение топологически полностью соответствует дереву, которое нужно было нарисовать вручную.


©Куликовский, Алексей