Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 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

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

  1. Несколько файлов в формате fasta собрать в единый файл.
  2. Один файл в формате fasta с несколькими последовательностями разделить на отдельные fasta файлы.
  3. Из файла с аннотированной хромосомой в формате gb (из GenBank или RefSeq) или embl (из ENA) вырезать три кодирующих последовательности по указанным координатам "от", "до", "ориентация" и сохранить в одном fasta файле.

  4. Транслировать (с первого кодона, то есть в первой рамке) кодирующие последовательности, лежащие в одном fasta файле, в аминокислотные, используя указанную таблицу генетического кода, и положить результат в один fasta файл.
  5. Вывести открытые рамки длиной не менее заданной, имеющиеся в данной нуклеотидной последовательности.
  6. Перевести выравнивание из формата fasta в формат msf.
  7. Выдать в файл число совпадающих букв между второй последовательностью выравнивания и всеми остальными (на выходе только имена последовательностей и числа).
  8. (featcopy) Перевести аннотации особенностей из файла формата gb или embl в табличный формат gff.
  9. (extractfeat) Из данного файла с хромосомой в формате gb или embl получить fasta файл с кодирующими последовательностями.
  10. Перемешать буквы в данной нуклеотидной последовательности.
  11. Создать три случайных нуклеотидных последовательностей длины 100.
  12. Найти частоты кодонов в данных кодирующих последовательностях.
  13. (tranalign) Выровнять кодирующие последовательности соответственно выравниванию белков – их продуктов.

  14. Удалить символы гэпов из выравнивания (превратив его тем самым снова в набор невыровненных последовательностей).
  15. Перевести символы конца строки из формата Windows в формат Unix.
  16. Файл с ридами sra_data.fastq в формате fastq перевести в формат fasta. Описание данных см. здесь

Пояснение Использовать можно любые входные последовательности. Для многих заданий данные лежат на kodomo в папке /P/y18/term3/block2/pr9.

1. Написать на python и/или bash скрипт, решающий одну из следующих задач

Прошу не забывать, что это задание в первую очередь про EMBOSS! Не надо писать код для подсчета частот динуклеотидов или поиска открытых рамок считывания, надо вызвать правильную команду EMBOSS.

  1. Проверить, сколько находок с E-value < 0.1 в среднем находит blastn для случайной последовательности данной длины в данном геноме бактерии. (Подсказка: сгенерируйте 100 случайных последовательноcтей и задайте их как query, выдачу blastn задайте табличную).

  2. Найти все открытые рамки длиной более 60 аминокислотных остатков в бактериальной хромосоме и посчитать статистику совпадений с аннотированными кодирующими последовательностями белков (CDS). Считать, что предсказание совпадает с аннотацией, если совпадают координаты стоп-кодонов на одной и той же цепи ДНК (ошибки в определении инициаторного кодона часты даже в аннотациях). Формат выдачи на ваше усмотрение.
  3. Найти частоты динуклеотидов в геноме бактерии, сравнить их с ожидаемыми и определить динуклеотид, частота которого наиболее отклоняется от наблюдаемой. Подсказка: ожидаемая частота XY = (наблюдаемая частота X) * (наблюдаемая частота Y).
  4. По данному аннотированному файлу в формате gb (из GenBank или RefSeq) или embl (из ENA) создать файл с кодирующими последовательностями в формате fasta, добавив в описание каждой последовательности функцию белка (из поля product).

В отчёте привести ссылку на скрипт (или набор скриптов) и подробное описание результата его применения. Если разные этапы работы выполняют разные скрипты, все равно должен быть один главный скрипт, который вызывает все, что нужно, сам.

2* Придумать самый длинный пайплайн из команд EMBOSS

Для выполнения задания можно разбиться на группы по 2-3 человека (оценка делится на всех поровну). Записываться в очередь нужно отдельно от основного задания (#9). Для этого в списке есть специальный номер практикума, 9.2 (доп.). Записываться нужно один раз на группу под любым логином (из группы) и обязательной ссылкой на страницу отчета.

Ваша задача – составить пайплайн из команд EMBOSS, который выполняет какую-то осмысленную задачу. Пайплайн (pipeline) понимается в терминах из man bash. Он должен содержать почти только команды EMBOSS и BLAST+, без циклов и условных операторов. Длина пайплайна – количество использованных команд EMBOSS и BLAST+. В пайплайне можно, в разумных пределах, использовать команды bash, но они не учитываются при вычислении длины.

Пример:

   1 seqret -filter "seqs.fasta" | infoseq -filter | less
   2 # длина 2, выдает краткое описание последовательностей из seqs.fasta
   3 

Для самых прошаренных: можно использовать Process Substitution, т.е. конструкции <(command), но "подставленные" команды не учитываются при вычислении длины. Функции использовать нельзя.

С деталями оценки определюсь в процессе. Вам надо иметь в виду следующее:

Отчет – html страница, содержащая:

  1. список участников группы;
  2. (опционально) вклады участников в процентах (в этом случае оценка делится не поровну);
  3. описание того, что пайплайн делает, какие аргументы могут считаться его параметрами, и т.д;
  4. сам пайплайн (постарайтесь оформить его человекочитаемо).

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