Задание 1.

1. Несколько файлов в формате fasta собрать в единый файл.
Kоманда:

seqret @list -out V

исходные файлы: ver ver1 list
выходной файл: V

2. (seqret) Из файла с хромосомой в формате .gb вырезать три кодирующих последовательности по указанным координатам "от", "до", "ориентация" и сохранить в одном fasta файле Я взяла последовательность полного генома Streptococcus suis GZ1. (файл CP000837.1) и выбрала отттуда три кодирующих послдовательности. Для этого сначала был создан список с USA интересующих нас участков с указанием координат. Затем выбранные фрагменты последовательности были объединены в один fasta-файл.
Использованные команды:
echo -e "gb::CP000837.gb[1528:2664]\ngb::CP000837.gb[2756:3637]\ngb::CP000837.gb[3647:3850]">cds.list

seqret @cds.list fasta:cds.fasta 
входной файл: CP000837.gb
выходной файл: cds.fasta

3. Транслировать кодирующие последовательности, лежащие в одном fasta файле, в аминокислотные, используя указанную таблицу генетического кода. Результат - в одном fasta файле. Полученные в предыдущем задании кодирующие последовательности были транслированы в последовательности аминокислот с использованием стандартной таблицы генетического кода (параметр -table 0, стоит по умолчанию). Стоит заметить, что все они начинались стартовым кодоном, который был транслирован в метионин, и заканчивались стоп-кодоном, который в выходном файле обозначен "*". На выходе было получено столько же последовательностей, сколько было во входном файле.
Использованная команда:
transeq -table 0 cds.fasta proteins.fasta

выходной файл: proteins.fasta

4. Перевести выравнивание из fasta формата в формат .msf Исходный файл - alignment.fasta. После перевода в msf формат получен файл alignment.msf, в котором, в отличие от исходного fasta файла, приведено выравнивание всех последовательностей вместе, а не по отдельности, а также содержится дополнительная информация о последовательностях.
Использованная команда:
seqret alignment.fasta msf::alignment.msf
входной файл: alignment.fasta
выходной файл: alignment.msf

5. (infoalign) Выдать в файл число совпадающих букв между второй последовательностью выравнивания и всеми остальными (на выходе только имя последовательности и число). Infoalign выдает различную информацию о последовательностях во входном множественном выравнивании (USA, имя, длину, количество гэпов, совпадений и пр.) в сравнении с эталонной последовательностью. По умолчанию эталонной последовательностью является вычисленная консенсусная последовательность, но ее можно задать и вручную по имени или порядковому номеру в файле. Нам необходимо было провести сравнение со второй последовательностью, поэтому была использована опция -refseq 2. Чтобы получить на выходе только имя и информацию о количестве совпадений были использованы опции -only -name -idcount.
Использованная команда:
infoalign alignment.msf -refseq 2 -only -name -idcount file 

выходной файл: file

6. (featcopy) Перевести аннотации особенностей в записи формата .gb в табличный формат .gff Featcopy читает таблицы особенностей и переводит их в любой из поддерживаемых форматов. Исходный файл - sequence.gb.
Использованная команда:
featcopy CP000837.gb CP000837.gff
входной файл: CP000837.gb
выходной файл: CP000837.gff

7.(extractfeat) Из данного файла в формате .gb получить fasta файл с кодирующими последовательностями
extractfeat CP000837.gb -type CDS

выходной файл: cpP000837.fasta

8. (shuffle) Перемешать буквы в данной нуклеотидной последовательности. Shuffle прочитывает одну или несколько последовательностей и случайным образом перемешивает их. Число перемешиваний может быть задано. Чтобы результат выводился в файл, необходимо использовать опцию -о. Для работы был взят файл cds.fasta.
Использованная команда:
shuffle -o shuffled.fasta cds.fasta

Выходной файл: shuffled.fasta

9. (cusp)Найдите частоты кодонов в данных кодирующих последовательностях. Cusp высчитывает таблицу использования кодонов для одной или более нуклеотидных последовательностей. В данной таблице для каждого кодона указано: последовательность кодона, закодированная аминокислота, частота данного кодона по отношению к остальным, кодирующим ту же аминокислоту (fraction), частота кодона в данной последовательности (frequency), число кодонов данного типа в последовательности. Для работы был взят файл cds.fasta.
Использованная команда:
cusp cds.fasta frequency.cusp

Выходной файл: frequency.cusp

10.(tranalign)Выровняйте кодирующие последовательности соответственно выравниванию белков - их продуктов Tranalign принимает на вход набор из невыровненных нуклеотидных последовательностей и соответсвующий им набор выровненных транслированных с них белковых последовательностей. В выходной файл записывается выравнивание нуклеотидных последовательностей. Каждая нуклеотидная последовательность транслируется во всех трех прямых рамках по указанному генетическому коду и трансляции сравниваются с соответсвующими во входном выравнивании. Важно, чтобы соответствующие друг друг последовательности во входных файлах располагались в одном порядке. Для работы были взяты следующие файлы: nuc.fasta - невыровненные нуклеотидные последовательности, pep.fasta - выровненные белковые последовательности.
Использованная команда:
tranalign nuc.fasta pep.fasta nucalign.fasta
входные файлы: pep.fasta , nuc.fasta
выходной файл: nucalign.fasta

Задание 2.

3. Найти частоты динуклеотидов в геноме бактерии, сравнить их с ожидаемыми и определить динуклеотид, частота которого наиболее отклоняется от наблюдаемой. Подсказка: ожидаемая частота XY = (наблюдаемая частота X) * (наблюдаемая частота Y).

Compseq производит подсчет состава слов указанной длины во входной последовательности. В выходной файл записывается само слово, сколько раз оно встречается, его наблюдаемая частота встречаемости (Obs Frequency), предполагаемая частота (Exp Frequency), а также соотношение этих частот (Obs/Exp Frequency). Чтобы найти наблюдаемые и ожидаемые частоты динуклеотидов необходимо запустить данную команду для слов длины 2 (опция -word 2). Для более точного подсчета ожидаемых частот можно использовать опцию -calcfreq, при активировании которой данный подсчет ведется на основании частот встречаемости отдельных оснований в данной последовательности (если опция выключена, то частоты всех оснований считаются равными, что не является верным).

Итак, был написан скрипт, который сначала пишет в командную строку команду compseq -word 2 -calcfreq compseq.fasta file.compseq, причем скрипт запрашивает названия compseq.fasta, file.compseq (compseq.fasta уже существует, а file.compseq создается). После чего на консоль выводятся динуклеотидов, частота которого наиболее отклоняется от наблюдаемой.
Скрипт: dd.py
Входной файл: compseq.fasta
Выходной файл: file.compseq
Пример запуска скрипта: