Kodomo

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

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

Задания практикума 9

Проверять буду только файлы на kodomo, страницу с отчетом делать не надо. Мягкий дедлайн – 01:00 8 ноября, жесткий дедлайн – 01:00 15 ноября. После мягкого дедлайна штраф 0.5 балла, после жесткого – 2 балла.

1. Упражнения по EMBOSS

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

  • справка и мануалы: wossname, tfm, опции -help -verbose, http://emboss.sourceforge.net/

  • работа с последовательностями: entret, seqret, seqretsplit, infoseq, descseq, wordcount, compseq, fuzznuc.
  • работа с выравниваниями: infoalign, tranalign, consambig.
  • работа с аннотациями записей (таблицей локальных особенностей): featcopy, extractfeat.
  • работа с кодирующими последовательностями: transeq, cusp, getorf, tranalign.
  • работа со случайными последовательностями: shuffleseq, makenucseq.
  • вспомогательные: noreturn, degapseq.

Кроме того, нужно знать формат USA (адрес последовательности).

Нужно выбрать 5 упражнений из списка, выполнить их и записать правильные команды в текстовый файл ~/term3/pr9/emboss.txt. Файл должен быть в следующем формате:

## number
# comments
command

## number
# comments
command
...

где number – номер упражнения, command – команда, которая это упражнение выполняет (в одну строку), comments – краткий комментарий, поясняющий, что делает команда (может быть в несколько строк, но каждая должна начинаться с #). Комментарий обязательно должен быть перед каждой командой. Комментарии копировать запрещено, напишите своими словами. Команды можно копировать только из своей истории bash. Все команды надо проверить! В частности, надо убедиться, что вы указали все обязательные аргументы, и запущенная программа не начнет чего-то спрашивать у пользователя.

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

Упражнения:

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

  3. Транслировать в трех рамках (использовать только прямую цепь) кодирующие последовательности, лежащие в одном fasta файле, в аминокислотные, используя указанную таблицу генетического кода, и выдать результат в STDOUT в формате fasta.

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

  5. Перевести выравнивание из файла в формате fasta в формат msf, и выдать в STDOUT.

  6. Выдать в STDOUT число совпадающих букв между второй последовательностью выравнивания и всеми остальными (на выходе только имена последовательностей и числа).

  7. (featcopy) Перевести аннотации особенностей из файла формата gb или embl в табличный формат gff (выдать в STDOUT).

  8. (extractfeat) Из данного файла с хромосомой в формате gb или embl получить fasta файл с кодирующими последовательностями (CDS).
  9. Перемешать буквы в данной нуклеотидной последовательности пять раз, выдать полученные последовательности в STDOUT в формате fasta.

  10. Создать три случайных нуклеотидных последовательностей заданной длины, записать их в файл в формате ncbi (это один из вариантов fasta).
  11. Найти частоты кодонов в данных кодирующих последовательностях (файл в формате fasta), выдать в STDOUT в стандартном для используемой программы формате.

  12. (tranalign) Выровнять кодирующие последовательности соответственно выравниванию белков – их продуктов, входные файлы в любом формате выравниваний, выдача в STDOUT в формате fasta.

  13. Удалить символы гэпов из выравнивания в формате fasta (превратив его тем самым снова в набор невыровненных последовательностей). Получить выравнивание на STDIN, напечатать результат в STDOUT.

Использовать можно любые входные последовательности. Для многих заданий данные можно найти в папке /P/y22/term3/pr9 на kodomo. Везде, где написано, что надо использовать что-то "указанное" или "[за]данное", выбор на ваше усмотрение, но нельзя оставлять значение по-умолчанию.

2. Работа с Entrez Direct

Проверять буду сценарий bash с именем ~/term3/pr9/edirect.sh . Должна быть возможность запуска сценария без указания интерпретатора, т.е. в файле должен быть shebang, и у владельца файла должно быть право на исполнение.

Сценарий должен содержать два описанных ниже конвейера в указанном порядке.

Конвейер 1: получает PubMed ID статьи (из первого аргумента сценария edirect.sh) и сохраняет её абстракт (подходящее значение опции -format нужно выбрать из списка, выдаваемого efetch -help) в файл abstract_pmid{ID}.txt , {ID} – это PubMed ID статьи.

Конвейер 2: получает имя файла со списком AC или ID записей в базе Protein (из второго аргумента сценария edirect.sh), переходит по ссылкам на записи в базе данных Nucleotide и выводит их АС в STDOUT (из базы Nucleotide можно скачивать записи в формате acc). Выдача должна быть отсортирована лексикографически, т.е. по алфавиту.

Работу сценария обязательно нужно проверить! Пример вызова сценария:

kodomo:~/term3/pr9$ cat 'protein_ids.list'
AAC76961.1
147725
NP_418414.1
ABP93445.1
kodomo:~/term3/pr9$ ./edirect.sh '42' 'protein_ids.list'
M38303.1
NC_000913.3
U00096.3
kodomo:~/term3/pr9$ ls -1
abstract_pmid42.txt
edirect.sh
emboss.txt
protein_ids.list
kodomo:~/term3/pr9$

3* Дополнительное задание

Проверять буду сценарий bash с именем ~/term3/pr9/taxons.sh . Должна быть возможность запуска сценария без указания интерпретатора, т.е. в файле должен быть shebang, и у владельца файла должно быть право на исполнение.

Скрипт должен получать список ID таксонов в базе Taxonomy на STDIN (по одному в строке), отбирать только те, которые относятся к бактериям, и выводить в STDOUT таблицу в формате CSV из 3 столбцов такую, как показано в примере (обратите внимание на наличие заголовков). Таксоны в выдаче должны быть отсортированы по возрастанию числового значения идентификатора и не должны повторяться.

kodomo:~/term3/pr9$ echo 2023 999 2 37572 2 | tr ' ' '\n' | ./taxons.sh
TaxID,Ранг таксона,Научное название
2,superkingdom,Bacteria
999,species,Bernardetia litoralis
2023,genus,Thermoactinomyces
kodomo:~/term3/pr9$

Отбор нужных таксонов правильнее всего будет осуществить путем фильтрации записей по полю TXDV с помощью программы efilter.

2022/3/pr9 (последним исправлял пользователь is_rusinov 2023-11-01 04:33:55)