#pragma css /css/2017.css
<<BI>>

== Указания к заданию 11 ==
== Задача 1: выбор объектов и получение выравнивания ==

Все домены и доменные архитектуры определяются в соответствии с БД [[https://pfam.xfam.org/|Pfam]].

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

 '''1. Выбор семейства доменов''' 

Варианты выбора:
  * Один из доменов вашего белка с первого курса.
  * Другие семейства доменов из доменных архитектур, содержащих домен вашего белка. 
  * Любой подходящий домен.

=== Рекомендуемые ограничения на домен ===
  * В семействе Pfam не более 10000 (десяти тысяч) последовательностей (чтобы !JalView не тормозил).
  * В семействе Pfam представлены последовательности из не более чем 1200 видов (чтобы интерактивное дерево видов генерировалось на сайте Pfam; 1200 – пробовал, открывается; 2500 – пробовал, Pfam отказывается).
  * Домены семейства входят как минимум в две разные доменные архитектуры, представленные как минимум парой десятков последовательностей (>20) каждая.
  * Желательно: хотя бы для одной последовательности известна 3D структура белка (домена).

Необходимую для выбора домена информацию см. на сайте Pfam (со страницы домена ссылки Domain organisation, Species &rarr; Tree, Structures).

=== Действия ===
Запустите !JalView. Для выбранного семейства доменов:
  * Скачайте выравнивание из Pfam (Full): в !JalView: File &rarr; Fetch Sequences, выбираете БД, указываете AC семейства [то, которое PF....; например, PF18299].
  * Раскрасьте по консервативности (ClustalX или BLOSUM62, By conservation, подберите порог консервативности).
  * (*)Добавьте 3D структуру одного домена, если таковая имеется:
    * на сайте Pfam найдите соответствие между Uniprot ID и PDB кодами;
    * найдите в выравнивании нужный Uniprot ID (Select &rarr; find);
    * свяжите последовательность с PDB кодом (щёлкнуть правой кнопкой мыши по ID, выбрать Structure &rarr; Associate structure with sequence &rarr; Enter PDB Id);
    * скачайте структуру (View structure в том же меню).
  * Сохраните выравнивание как проект (jvp) и в fasta-формате. 

  '''2. Выбор архитектур''' 

Достаточно выбрать две архитектуры.

=== Рекомендуемые ограничения на архитектуру ===

  * Рекомендуем (но не настаиваем) выбирать простые доменные архитектуры – одно-двух-трех доменные. 
  * Должно быть не менее 20 последовательностей с данной архитектурой, на считая фрагментов.
 
=== Рекомендуемые действия ===

  * Получите таблицу с информацией об архитектуре всех последовательностей, содержащих выбранный домен:
    * Файл swisspfam, содержащий эту информацию для всех последовательностей Uniprot, скачан на kodomo (`/srv/databases/pfam/swisspfam.gz`)
    * скрипт  '''swisspfam_to_xls.py''' отбирает последовательности с указанным доменом и составляет таблицу для Excel (`python swisspfam_to_xls.py -h`  для изучения списка параметров) 
  * Составьте список последовательностей с указанием доменной архитектуры. Используйте сводную таблицу в Excel: строки -- AC последовательностей, столбцы -- домены Pfam.  
  * В список последовательностей добавьте колонки с информацией о таксономической принадлежности. Для этого:
{{{#!wiki comment
    * Получите AC по идентификаторам отобранных последовательностей:
      * Uniprot ID mapping
      * Вводите список ID и выбираете
        * From: UniprotKB AC/ID
        * To: UniprotKB AC
      * Получаете таблицу перекодировок mapping table и таблицу отказов "not mapped"
    * (не обязательно, если достаточно опознанных AC) как узнать почему отказ:
      * Uniprot , поиск по UniprotKB  не найденного ID 
      * Если нашлось, то History чтобы узнать что случилось с записью
}}}
    * Скачайте полные записи всех последовательностей:
      * [[http://www.uniprot.org|Uniprot]] &rarr; Retrieve;
      * вводите список AC &rarr; Retrieve; сохраняете flat text .
    * Получите таксономию:
      * Запустите скрипт '''uniprot_to_taxonomy.py'''
        * `python uniprot_to_taxonomy.py -i <входной файл в формате Uniprot> -o <выходной файл>`
        * `python uniprot_to_taxonomy.py -h` (для  подсказки)
    * Перенесите полученную таксономию в основную таблицу с помощью ВПР (VLOOKUP).
  * Добавьте колонку с длиной выбранного домена из каждой последовательности.

  '''3. Выбор таксона и подтаксонов'''
  * Нужно выбрать один таксон и два (можно три) его подтаксона следующего уровня. 
Подтаксоны должны быть достаточно представлены последовательностями c выбранными архитектурами (не менее 20 последовательностей с каждой из архитектур в каждом из подтаксонов; если такие подтаксоны и архитектуры подобрать не получается, выберите другое семейство доменов). Рекомендуется в качестве таксона выбрать надцарство (Archaea, Bacteria, Eukaryota). Другой хороший вариант: взять в качестве таксона все "cellular organisms", а два или все три надцарства -- как подтаксоны.
Следует придумать буквенные коды (X,Y,...) для выбранных подтаксонов, чтобы отображать их на листьях дерева.  

  '''4. Выбор представителей архитектур''' 

=== Действия ===
==== В основной таблице (всех представителей семейства доменов): ====
  * Добавьте колонку для отметки выбранных вами последовательностей.
  * Выберите по 20 (лучше несколько более, чтобы было кого выкидывать потом) последовательностей из каждой выбранной архитектуры и отметьте их. Следите за тем, чтобы:
    * домены в выбранных последовательностях имели примерно одинаковую длину (так уменьшается риск взять фрагмент или неправильно выровненную последовательность);
    * было хорошее представительство подтаксонов в выборке. 
  * (*) Добавьте к выборке последовательность с известной 3D структурой, даже если она не входит в нужные группы (пригодится для проверки выравнивания).

==== В выравнивании: ====
  * Оставьте только отобранные вами последовательности из всех выбранных архитектур. 
    * Используйте скрипт  '''filter_alignment.py''' (Запустите сначала `python filter_alignment.py -h` для изучения списка параметров) 
  * Откройте "профильтрованное" выравнвание в !JalView, проверьте, отредактируйте и разметьте полученное выравнивание:
    * удалите пустые колонки (Edit &rarr; Remove Empty columns); 
    * создайте группы, по одной на каждую архитектуру (выделить имена, правой кнопкой мыши по выделенным последовательностям &rarr; Selection &rarr; Group &rarr; Edit name and description)
    * задайте раскраску в каждой группе (Group &rarr; Color &rarr; ClustalX или BLOSUM62; затем Group &rarr; Color &rarr; By conservation и подберите порог)
    * При необходимости, отсортируйте по группам: Calculate &rarr; Sort
    * (*) Добавьте разметку по вторичной структуре, исходя из последовательности с известной 3D структурой
    * удалите явные фрагменты
    * удалите те последовательности, которые выровнены явно неправильно  
    * (*) на месте спиралей и тяжей, составляющих ядро домена (см. 3D в соответствующем окне !JalView) гэпы крайне маловероятны -- уберите их, если есть
    * удалите N- и C-концевые участки в том случае, если в них очевидно нет хорошего выравнивания.
  * Сохраните как проект (под другим именем, нежели выравнивание всего семейства).
  * '''Проверьте выравнивание!!!'''. Качество реконструкции филогении напрямую зависит от правильности выравнивания. Убедитесь в (i) отсутствии фрагментов; (ii) отсутствии последовательностей, резко отличающихся от выравнивания в целом – возможно, Pfam нашел в них домен ошибочно; (iii) отсутствии явных ошибок в выравнивании - программы множественного выравнивания нередко справляются с задачей не идеально, что видно на глаз.  

== Задача 2: построение филогенетического дерева домена ==

'''Важно: выравнивание должно содержать не полноразмерные последовательности белков, а фрагменты, представляющие домены общего для всех семейства!!! '''

Построение дерева по выравниванию последовательностей многодоменных белков ''с разной доменной архитектурой'' бессмысленно, так как, очевидно, сходство по домену, которого нет в последовательностях с другой доменной архитектурой, обеспечит разделение на ветви по доменным архитектурам вне зависимости от хода эволюции.
 
  * Сделайте имена последовательностей говорящими. А именно:
    * Закодируйте доменные архитектуры (например, 1 и 2, если выбраны однодоменные и двудоменные белки). 
    * Закодируйте сравниваемые таксоны (например, E, A и B – если рассматриваются эукариоты, археи и бактерии). Расшифровка кодов архитектур и таксонов на странице с отчётом '''обязательна'''!
    * К именам всех последовательностей ''спереди'' добавьте коды архитектуры и таксона (например, так: 2_E_Q9XWZ6 вместо Q9XWZ6_CAEEL/290-607)
  * Постройте филогенетическое дерево: 
    * Используйте любой из методов "верхней тройки" программы MEGA. Вместо этого можно, если хотите, использовать метод NJ из Jalview, программы пакета PHYLIP или какой-нибудь онлайн-сервис (но выбранный метод не должен предполагать молекулярные часы и должен выдавать длины ветвей). Обязательно опишите программу, метод  и использованные параметры в отчёте.
    * (* – дополнительно) Используйте известные вам методы подтверждения достоверности ветвей дерева
    * Создайте рисунок дерева с использованием методов выделения (раскраски и т.п.) ветвей и/или клад для наглядной демонстрации результата, поместите его на страницу отчёта. Можно использовать MEGA или любые другие программы визуализации дерева, представляющие достаточные средства для визуализации. Одна из таких программ — [[http://itol.embl.de/| ITOL]]
    * Также поместите на странице отчёта скобочную формулу дерева.  
    * При описании эволюции доменной архитектуры придерживайтесь принципа парсимонии (т.е. экономии предполагаемых эволюционных событий).