#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 → Tree, Structures). === Действия === Запустите !JalView. Для выбранного семейства доменов: * Скачайте выравнивание из Pfam (Full): в !JalView: File → Fetch Sequences, выбираете БД, указываете AC семейства [то, которое PF....; например, PF18299]. * Раскрасьте по консервативности (ClustalX или BLOSUM62, By conservation, подберите порог консервативности). * (*)Добавьте 3D структуру одного домена, если таковая имеется: * на сайте Pfam найдите соответствие между Uniprot ID и PDB кодами; * найдите в выравнивании нужный Uniprot ID (Select → find); * свяжите последовательность с PDB кодом (щёлкнуть правой кнопкой мыши по ID, выбрать Structure → Associate structure with sequence → 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]] → Retrieve; * вводите список AC → 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 → Remove Empty columns); * создайте группы, по одной на каждую архитектуру (выделить имена, правой кнопкой мыши по выделенным последовательностям → Selection → Group → Edit name and description) * задайте раскраску в каждой группе (Group → Color → ClustalX или BLOSUM62; затем Group → Color → By conservation и подберите порог) * При необходимости, отсортируйте по группам: Calculate → 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]] * Также поместите на странице отчёта скобочную формулу дерева. * При описании эволюции доменной архитектуры придерживайтесь принципа парсимонии (т.е. экономии предполагаемых эволюционных событий).