Kodomo

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

Учебная страница курса биоинформатики,
год поступления 2019

EMBOSS: пакет программ для анализа последовательностей

Команды для освоения:

(1) help'ы: wossname, tfm, опции -help -verbose; http://emboss.sourceforge.net/ 
(2) работа с последовательностями: entret, 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

Нужно выбрать 7 упражнений из списка, выполнить их и записать правильные команды в текстовый файл ~/term3/block2/pr9_emboss.txt (адрес относительно вашей домашней папки). Файл должен быть в следующем формате:

#number
command
#number
command
...

где number – номер упражнения, command – команда, которая это упражнение выполняет.

Внимание, файл должен быть с переносами строк в формате Unix, и лишних пустых строк быть не должно.

  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/y19/term3/block2/pr9.

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

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

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

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

В отчёте привести номер и формулировку задачи, ссылку на скрипт, команду его запуска и подробное описание результата его применения на конкретном примере.

BLAST+

Краткая инструкция по BLAST+ от Юры Пекова.

2. Поиск гомологов белков в неаннотированном геноме

Задача: с помощью BLAST+ сделать вывод о наличии гомолога белка в неаннотированной сборке генома Amoeboaphelidium protococcarum (примитивный родственник грибов). Сборка генома лежит на kodomo в файле /P/y19/term3/block2/X5.fasta.

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

Прошу обратить особое внимание на следующие факты:

  1. сборку генома следует считать черновой и, вероятно, неполной;
  2. ген белка не обязан полностью уместиться на одном контиге;
  3. белки часто бывают многодоменными, поэтому наличие гомологичного домена не всегда говорит о гомологии белков.

В отчете для каждого из 3 белков нужно привести ссылку на его последовательность, описание того, как вы её получили, параметры запуска BLAST и выдачу (желательно в текстовом виде), обоснованный вывод о наличии гомолога в геноме Amoeboaphelidium. Загрузить последовательность белка на kodomo проще всего с помощью entret по AC, предварительно выполнив поиск на сайте UniProt. В отчете надо будет указать поисковый запрос в UniProt и команду загрузки последовательности на kodomo.