Общие принципы
EMBOSS (The European Molecular Biology Open Software Suite) — пакет программ для биоинформатиков. После установки каждая утилита будет доступна из командной строки:
> needle Needleman-Wunsch global alignment of two sequences Input sequence:
Собственно EMBOSS предназначен для установки под UNIX (в частности Linux) или Mac. Для Windows существует специальный дистрибутив "mEMBOSS", который, впрочем, почти ничем не отличается от обычного EMBOSS, разве что обычно представляет не самую последнюю версию.
Найти нужную программу можно в списке по категориям или прямо в командной строке по ключевым словам программой wossname:
> wossname need needle Needleman-Wunsch global alignment of two sequences needleall Many-to-many pairwise alignments of two sequence sets stretcher Needleman-Wunsch rapid global alignment of two sequences
Помощь
По умолчанию программы запускаются в интерактивном режиме и просят поочередно вводить входные данные. Эти данные можно задать и параметрами командной строки.
Cписок параметров любой программы выводится либо опцией -help, либо командой man programName. Опция -auto запускает программу с параматрами по умолчанию. Команда tfm выводит подробное описание программы:
> tfm needle
Uniform Sequence Address
Утилиты EMBOSS используют универсальный формат обращения к последовательностям:
file
file:entry
format::file
format::file:entry
dbname:entry
@listfile
Здесь format — формат записи, dbname — название банка (команда showdb выдает список доступных банков).
listfile — файл, содержащий названия записей в USA-формате, которые будут обработаны вместе.
В названиях файлов и записей можно использовать астериск (знак звездочки *), который имеет тот же смысл, что и в регулярных выражениях: на его месте могут стоять ноль или несколько любых знаков.
После названия записи ("entry") можно ввести координаты нужного кусочка: "entry[23:456]". Чтобы получить комплементарную цепь, можно после координат добавить :r, например "entry[23:456:r]". Если удобнее отсчитывать координаты от конца, а не от начала, нужно ставить перед ними минус, например "entry[-5:-1]" задаёт последние 5 букв последовательности.
USA может задавать не только одну, но и много последовательностей, в частности, множественное выравнивание. Нужно отметить, что программы парного выравнивания (needle, water, stretcher, matcher) по умолчанию выдают результат в формате, не годном к использованию в качестве USA. Положение можно исправить, добавив к любой из этих программ параметр "-aformat <формат>", например "-aformat fasta".
Примеры
needle, water
Программа needle реализует алгоритм глобального выравнивания Нидлмана – Вунша, а water — локальное выравнивание Смита – Ватермана. Пример: выровняем два человеческих белка из банка Swissprot и зададим все параметры по умолчанию:
> needle sw:hba_human sw:hbb_human -auto
Получим выравнивание в файле hba_human.needle и с параметрами Gap opening penalty = 10.0 и Gap extension penalty = 0.5.
getorf
Программа getorf извлекает из нуклеотидныой последовательности открытые рамки считывания.
getorf -sequence embl:v00294 -auto
Получим список рамок в ФАСТА-формате в файле v00294.orf.
entret
Программа entret создает файл с полной записью по названию банка и идентификатору (ID) или номеру доступа (AC) записи.
entret embl:x65923 -auto
Получим файл x65923.entret с записью x65923 из EMBL.
seqret
Программа seqret принимает на вход любой USA (см. выше) и сохраняет полученную последовательность в виде файла (по умолчанию – в fasta-формате).
seqret embl:x65923 fromBank.fasta
Получим файл fromBank.fasta с записью x65923 в ФАСТА-формате.
seqret fromBank.fasta[1:100] fromFile_fragment.fasta
Получим файл fromFile_fragment.fasta с первыми 100 буквами последовательности из файла fromBank.fasta.
seqret не подходит, если из банка надо достать не только последовательность, но и подробную аннотацию (сохраняется только краткая аннотация: в случае банков Swissprot и EMBL это содержимое полей ID, AC и DE).
Как на входе, так и на выходе seqret могут быть не только одна последовательность, но и много, например выравнивание:
seqret alignment.fasta aln::alignment.aln
Получим то же выравнивание, но в aln-формате. Программа seqret часто используется именно для перевода выравнивания из одного формата в другой.
Пример с файлом-списком:
seqret @mylist.txt mysequences.fasta
Все последовательности, адреса которых содержались в файле mylist.txt, попадут в файл mysequences.fasta. Во входном файле были только адреса, например sw:adha_human или otherfile.fasta:seq1[1:66], а в выходной попадут сами последовательности.