В первом упражении отрабатывались команды EMBOSS. Были выбраны 9 из 15 упражнений и написаны следующие команды:
2. Один файл в формате fasta с несколькими последовательностями разделить на отдельные fasta файлы.
seqretsplit -sequence coding2.fasta -filter
4. Транслировать (с первого кодона, то есть в первой рамке) кодирующие последовательности, лежащие в одном fasta файле, в аминокислотные, используя указанную таблицу генетического кода, и положить результат в один fasta файл.
transeq -sequence coding.fasta -frame 1 -table 0 -outseq 4.fasta
7. Выдать в файл число совпадающих букв между второй последовательностью выравнивания и всеми остальными (на выходе только имена последовательностей и числа).
infoalign -sequence protein_alignment.fasta -outfile 7.fasta -refseq 2 -name -idcount -only
10. Перемешать буквы в данной нуклеотидной последовательности.
shuffleseq -sequence coding.fasta -outseq 10.fasta -filter
11. Создать три случайных нуклеотидных последовательностей длины 100.
makenucseq -amount 3 -length 100 -outseq 11.fasta -filter
12. Найти частоты кодонов в данных кодирующих последовательностях.
cusp -sequence coding.fasta -outfile 12.cusp -filter
13. Выровнять кодирующие последовательности соответственно выравниванию белков – их продуктов.
tranalign -asequence gene_sequences.fasta -bsequence protein_alignment.fasta -outseq 13.fasta -filter
14. Удалить символы гэпов из выравнивания (превратив его тем самым снова в набор невыровненных последовательностей).
degapseq -sequence alignment.fasta -outseq 14.fasta -filter
15. Перевести символы конца строки из формата Windows в формат Unix (с помощью программы из пакета EMBOSS).
noreturn -infile dosseq.fasta -outfile 15.fasta -filter
Во втором упражении нужно было написать три конвейера с использованием Entrez Direct.
Конвейер 1: получает AC записи в базе Nucleotide (из первого аргумента сценария edirect.sh) и скачивает эту запись в формате docsum в виде json. Сохраняет выдачу в файл {AC}.json, {AC} – это полученный АС нуклеотидной записи.
epost -db nucleotide -id "${1}" -format acc | efetch -format docsum -mode json > "${1}".json
Конвейер 2: получает АС записи в базе Nucleotide (из первого аргумента сценария edirect.sh), переходит по ссылкам на записи в базе данных Protein и загружает их в формате fasta в файл {AC}_proteins.fasta, {AC} – это полученный АС нуклеотидной записи.
epost -db nuccore -id "${1}" -format acc | elink -target protein | efetch -format fasta > "${1}"_proteins.fasta
Конвейер 3: получает AC записи в базе Assembly (из второго аргумента сценария edirect.sh), и печатает в STDOUT ID записи (не AC) и N50 для контигов этой сборки в виде строки {ID}
epost -db assembly -id "${2}" -format acc | efetch -format docsum | xtract -pattern "DocumentSummary" -element "Id" "ContigN50" -tab "\t"