Учебная страница курса биоинформатики,
год поступления 2019
Формат хранения биологических последовательноcтей fasta
Формат fasta — самый популярный формат хранения биологических последовательностей. Пример файла в формате fasta см., например, здесь.
Строки файла в формате fasta делятся на две категории:
строки, начинающиеся со знака ">". Каждая такая строка содержит идентификатор и описание того биополимера (или фрагмента биополимера), чья последовательноcть находится ниже.
- прочие строки, содержащие сами последовательности биополимеров. Биополимеры — это ДНК, РНК и белки. Каждый мономер (нуклеотид или аминокислотный остаток) кодируется определённой буквой, например, в последовательности ДНК G обозначает нуклеотид гуанин, а в последовательности белка — аминокислоту глицин. Таким образом, последовательность биополимера состоит из букв и однозначно задаёт химическую формулу биополимера.
Каждая последовательность может занимать одну или несколько строк, её имя и описание находятся в ближайшей сверху строке, начинающейся с ">". Обычно считается, что между строкой с описанием и строками с последовательностью, а также между строками с последовательностью не должно быть пустых строк, но большинство программ работы с последовательностями просто игнорирует все пустые строки. Точно так же большинство программ игнорирует пробелы в последовательностях, их часто вставляют для удобства просмотра человеком.
Структура строки с описанием. После знака ">" вплотную, без пробела, идёт имя последовательности (оно же "название", оно же "идентификатор"). Имя не должно содержать пробелов. Всё, что находится после первого пробела, это собственно описание. Собственно описания может и не быть, а вот имя обязательно.
Например, в строке из примера
>HSFAU1 X65921 H.sapiens fau 1 gene
имя — это "HSFAU1", а описание — это "X65921 H.sapiens fau 1 gene".
Вот такая строка тоже не противоречит формату fasta:
>human_trypsin
Здесь есть только идентификатор, а описание пустое. Это вполне допустимо.
А вот такой строки в правильном fasta-файле быть не должно:
> rabbit rna
Здесь после знака ">" сразу идёт пробел, и получается, что имя пустое. Это не допускается.
Ни в имени, ни в описании не допускаются никакие буквы, кроме латинских.
В норме имена последовательностей в одном файле не должны повторяться. Многие программы работы с последовательностями не ругаются на повторения имён, но работа с таким файлами иногда приводит к нелепым результатам.
Часто имена последовательностей имеют сложную структуру, например, в банке Uniprot: https://www.uniprot.org/uniprot/Q47692.fasta . Здесь имя "sp|Q47692|TSH_ECOLX" разделено вертикальными чертами на три "поля", первое "sp" означает банк Swiss-Prot (составная часть Uniprot), вторая и третья — так называемые AC и ID белка (в Uniprot используется двойная система идентификаторов).