Учебная страница курса биоинформатики,
год поступления 2018
EMBOSS: пакет программ для анализа последовательностей
Команды для освоения:
(1) help'ы: wossname, tfm, опции -help -verbose; http://emboss.sourceforge.net/ (2) работа с последовательностями: seqret, seqretsplit, infoseq, descseq, wordcount, compseq, fuzznuc (3) работа с выравниваниями: infoalign, tranalign, consambig (4) работа с аннотациями записей: featcopy, extractfeat (5) работа с кодирующими последовательностями: transeq, cusp, getorf, tranalign (6) работа со случайными последовательностями: shuffleseq, makenucseq (7) вспомогательные: noreturn, degapseq
Кроме того, нужно знать формат USA (адрес последовательности).
0. Упражнения по EMBOSS
Не нужно описывать в отчете, но надо уметь быстро проделать аналогичные упражнения на контрольной в начале следующего занятия.
- Несколько файлов в формате fasta собрать в единый файл.
- Один файл в формате fasta с несколькими последовательностями разделить на отдельные fasta файлы.
Из файла с аннотированной хромосомой в формате gb (из GenBank или RefSeq) или embl (из ENA) вырезать три кодирующих последовательности по указанным координатам "от", "до", "ориентация" и сохранить в одном fasta файле.
- Транслировать (с первого кодона, то есть в первой рамке) кодирующие последовательности, лежащие в одном fasta файле, в аминокислотные, используя указанную таблицу генетического кода, и положить результат в один fasta файл.
- Вывести открытые рамки длиной не менее заданной, имеющиеся в данной нуклеотидной последовательности.
- Перевести выравнивание из формата fasta в формат msf.
- Выдать в файл число совпадающих букв между второй последовательностью выравнивания и всеми остальными (на выходе только имена последовательностей и числа).
- (featcopy) Перевести аннотации особенностей из файла формата gb или embl в табличный формат gff.
- (extractfeat) Из данного файла с хромосомой в формате gb или embl получить fasta файл с кодирующими последовательностями.
- Перемешать буквы в данной нуклеотидной последовательности.
- Создать три случайных нуклеотидных последовательностей длины 100.
- Найти частоты кодонов в данных кодирующих последовательностях.
(tranalign) Выровнять кодирующие последовательности соответственно выравниванию белков – их продуктов.
- Удалить символы гэпов из выравнивания (превратив его тем самым снова в набор невыровненных последовательностей).
- Перевести символы конца строки из формата Windows в формат Unix.
Файл с ридами sra_data.fastq в формате fastq перевести в формат fasta. Описание данных см. здесь
Пояснение Использовать можно любые входные последовательности. Для многих заданий данные лежат на kodomo в папке /P/y18/term3/block2/pr9.
1. Написать на python и/или bash скрипт, решающий одну из следующих задач
Прошу не забывать, что это задание в первую очередь про EMBOSS! Не надо писать код для подсчета частот динуклеотидов или поиска открытых рамок считывания, надо вызвать правильную команду EMBOSS.
Проверить, сколько находок с E-value < 0.1 в среднем находит blastn для случайной последовательности данной длины в данном геноме бактерии. (Подсказка: сгенерируйте 100 случайных последовательноcтей и задайте их как query, выдачу blastn задайте табличную).
- Найти все открытые рамки длиной более 60 аминокислотных остатков в бактериальной хромосоме и посчитать статистику совпадений с аннотированными кодирующими последовательностями белков (CDS). Считать, что предсказание совпадает с аннотацией, если совпадают координаты стоп-кодонов на одной и той же цепи ДНК (ошибки в определении инициаторного кодона часты даже в аннотациях). Формат выдачи на ваше усмотрение.
- Найти частоты динуклеотидов в геноме бактерии, сравнить их с ожидаемыми и определить динуклеотид, частота которого наиболее отклоняется от наблюдаемой. Подсказка: ожидаемая частота XY = (наблюдаемая частота X) * (наблюдаемая частота Y).
По данному аннотированному файлу в формате gb (из GenBank или RefSeq) или embl (из ENA) создать файл с кодирующими последовательностями в формате fasta, добавив в описание каждой последовательности функцию белка (из поля product).
В отчёте привести ссылку на скрипт (или набор скриптов) и подробное описание результата его применения. Если разные этапы работы выполняют разные скрипты, все равно должен быть один главный скрипт, который вызывает все, что нужно, сам.
2* Придумать самый длинный пайплайн из команд EMBOSS
Для выполнения задания можно разбиться на группы по 2-3 человека (оценка делится на всех поровну). Записываться в очередь нужно отдельно от основного задания (#9). Для этого в списке есть специальный номер практикума, 9.2 (доп.). Записываться нужно один раз на группу под любым логином (из группы) и обязательной ссылкой на страницу отчета.
Ваша задача – составить пайплайн из команд EMBOSS, который выполняет какую-то осмысленную задачу. Пайплайн (pipeline) понимается в терминах из man bash. Он должен содержать почти только команды EMBOSS и BLAST+, без циклов и условных операторов. Длина пайплайна – количество использованных команд EMBOSS и BLAST+. В пайплайне можно, в разумных пределах, использовать команды bash, но они не учитываются при вычислении длины.
Пример:
Для самых прошаренных: можно использовать Process Substitution, т.е. конструкции <(command), но "подставленные" команды не учитываются при вычислении длины. Функции использовать нельзя.
С деталями оценки определюсь в процессе. Вам надо иметь в виду следующее:
- оценки получат только несколько самых длинных и самых полезных пайплайнов (может быть, будут отдельные номинации "полезность" и "длина", но не обещаю);
- среди одинаковых, или почти одинаковых (на усмотрение проверяющего), оценивается только тот пайплайн, запись о котором появилась в очереди раньше, других преимуществ время записи не дает;
- записи с битыми ссылками, или со ссылками на недоделанные работы, будут исключаться из конкурса (совсем);
по заданию есть единственный дедлайн – мягкий дедлайн по практикуму; пайплайны, присланные позже, не оцениваются;
- можно записываться на проверку несколько раз, учитывается только последняя запись (при этом пайплайн может целиком изменяться).
Отчет – html страница, содержащая:
- список участников группы;
- (опционально) вклады участников в процентах (в этом случае оценка делится не поровну);
- описание того, что пайплайн делает, какие аргументы могут считаться его параметрами, и т.д;
- сам пайплайн (постарайтесь оформить его человекочитаемо).
Достаточно, чтобы описание было только на одной странице, на страницах других участников группы тогда нужно поставить ссылку на страницу с описанием.
Комментарий для следующих лет.
По упражнениям: все забыли про entret, надо на него тоже упражнение добавить. И контрольную по EMBOSS написали плохо, наверно имеет смысл вернуть обязательный отчет на сайте по упражнениям. Или, может быть, какой-нибудь другой метод контроля, потому что проверять упражнения очень скучно.
По заданиям. Задание 1. Вариант 4 сильно проще остальных, так как делается в одну команду, у extractfeat есть подходящая опция. Поэтому, надо либо его заменить, либо оставить для ленивых, но оценивать меньшим числом баллов. Задание 2 не делал никто)