Kodomo

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

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

Формат хранения биологических последовательноcтей fasta

Формат fasta — самый популярный формат хранения биологических последовательностей. Пример файла в формате fasta см., например, здесь.

Строки файла в формате fasta делятся на две категории:

Каждая последовательность может занимать одну или несколько строк, её имя и описание находятся в ближайшей сверху строке, начинающейся с ">". Обычно считается, что между строкой с описанием и строками с последовательностью, а также между строками с последовательностью не должно быть пустых строк, но большинство программ работы с последовательностями просто игнорирует все пустые строки. Точно так же большинство программ игнорирует пробелы в последовательностях, их часто вставляют для удобства просмотра человеком.

Структура строки с описанием. После знака ">" вплотную, без пробела, идёт имя последовательности (оно же "название", оно же "идентификатор"). Имя не должно содержать пробелов. Всё, что находится после первого пробела, это собственно описание. Собственно описания может и не быть, а вот имя обязательно.

Например, в строке из примера

>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 используется двойная система идентификаторов).