GFF (англ. General Feature Format, GFF) — формат файлов, используемый для хранения разметки генов и других элементов последовательностей ДНК, РНК и белков. Используемое для такого типа файлов расширение обозначается как .GFF. Формат был предложен исследователями из Института Сенгера, его версия GFF2 (старейшая из ныне используемых) вышла в 1998 году[1][2].

Общие сведения

править

Появление технологий секвенирования нового поколения сделало задачу расшифровки генома более простой и доступной. Существуют программы, позволяющие идентифицировать в полученной нуклеотидной последовательности того или иного организма такие функциональные элементы, как гены, экзоны, интроны, стартовые и стоп-кодоны, мотивы, сайты сплайсинга и т. д.[3][4]. Формат GFF часто используется для хранения таких элементов генома[1].

Файл в формате GFF — это текстовый файл, где для каждого функционального элемента генома отводится одна строка. Каждая строка содержит 9 полей, разделенных знаком табуляции[5]. Такая структура файла позволяет легко и быстро извлекать необходимые данные, а также обрабатывать их такими средствами, как bash (например, команды grep, sort и др.), простыми скриптами awk и perl[6].

Ниже представлен пример файла в формате GFF[7]:

IV     curated  mRNA   5506800 5508917 . + .   Transcript B0273.1; Note "Zn-Finger"
IV     curated  5'UTR  5506800 5508999 . + .   Transcript B0273.1
IV     curated  exon   5506900 5506996 . + .   Transcript B0273.1
IV     curated  exon   5506026 5506382 . + .   Transcript B0273.1
IV     curated  exon   5506558 5506660 . + .   Transcript B0273.1
IV     curated  exon   5506738 5506852 . + .   Transcript B0273.1
IV     curated  3'UTR  5506852 5508917 . + .   Transcript B0273.1

В этом примере хранятся данные только об одной мРНК, которая охватывает весь представленный диапазон. Запись включает участки типо 5'UTR, 3'UTR и exon. Все они сгруппированы в транскрипт под названием B0273.1. Также мРНК имеет дополнительную заметку.


Примеры веб-сервисов и баз данных, которые могут выдавать файлы в формате GFF: UniProt, Ensembl Genomes, mirBAse.

Версии GFF

править

В настоящий момент используются три версии формата файлов GFF[8]:

  • GFF Version 2 (GFF2);
  • Gene Transfer Format (GTF);
  • GFF Version 3 (GFF3).

GFF2 имеет ряд недостатков. Наиболее существенным является то, что он может представлять только двухуровневые иерархии элементов, и, соответственно, не может справиться с трёхуровневой иерархией типа ген → транскрипт → экзон. Сейчас он объявлен устаревшим[7]. Формат GTF является уточнением второй версии GFF2, и иногда называется как GFF2.5[9].
В данный момент, наиболее современной является версия GFF3. В отличие от предыдущих версий[6], GFF3:

  • Обеспечивает возможность поддержки многих уровней иерархии элементов
  • Разграничивает имя/идентификатор элемента и предположение о его принадлежности к той или иной категории
  • Ограничивает поле «type» (см. таблицу) одним словарем допустимых типов элементов
  • Позволяет одиночному элементу (например, экзон) принадлежать сразу к нескольким группам

Помимо этого, версии формата GFF отличаются девятым полем: см. раздел «Структура формата GFF».

Структура формата GFF

править

Каждая строка в файле формата GFF содержит 9 колонок, разделенных знаком табуляции[1]. Каждая колонка называется полем и имеет своё назначение[10]. Список названий полей и их содержание в разных версиях формата приведены ниже.

Номер поля Название поля Описание
1 seqid Название (идентификатор) последовательности, где находится данный элемент. Идентификатор может содержать любые символы из набора [a-zA-Z0-9.:^*$@!+_?- ].
2 source Источник определения элемента, в качестве которого может выступать программа, или база данных, или экспериментальная проверка, или организация (например, TAIR англ.). Фактически, уточняя собой элемент, поле «source» расширяет её онтологию.
3 type Тип элемента. Является либо термином Sequence Ontology, например, «CDS» (белок-кодирующая последовательность), «stop_codon» (стоп-кодон) «exon» (экзон), либо номером доступа SO с синтаксисом вида SO:000000. В любом случае, это либо сам элемент (sequence_feature, SO:0000110), либо его потомок (is_a child of)
4 и 5 start и end Начальные и конечные положительные целочисленные координаты элемента в последовательности, нумерация которых начинается с единицы.

Начальная координата всегда меньше или равна конечной. Для элементов, пересекающих ориджин (например, в геномах большинства бактерий, плазмид и вирусов) это требование выполняется путем добавления к конечной координате длины всего генома.

Для элементов с нулевой длиной, (например, сайты вставки), начало равняется концу, а подразумеваемый сайт находится справа от указанной координаты в направлении конца.

6 score Вес элемента, число с плавающей запятой. Смысл веса строго не определён, однако настоятельно рекомендуется использовать E-value для элементов, определённых по сходству последовательностей, и P-value для элементов, предсказанных ab initio.
7 strand Направление элемента относительно цепи, на которой располагается: «+», если направление 5'->3', «-», если направление 3'->5', «.», если направление отсутствует.

Также может использоваться «?» для элементов, направление которых неизвестно.

8 frame (GTF, GFF2) или phase (GFF3) Рамка считывания или фаза для белок-кодирующих последовательностей. В форматах GFF2 и GTF frame указывает, какому основанию участка соответствует первое основание кодона рамки: первому (0), второму (1) или третьему (2), являясь тем самым остатком от деления на 3 длины всех предыдущих кодирующих фрагментов. «.» указывается, когда описываемый участок нельзя отнести к первым трем случаям.
В формате GFF3 phase тоже принимает значения 0, 1 или 2 и указывает количество оснований, которые должны быть удалены с начала этого элемента, чтобы достичь первого основания следующего кодона.
9 attribute Поле для дополнительной информации, например, для группировки отдельных наборов записей под одним названием. Здесь прописываются идентификаторы элементов более высоких порядков, к примеру, группировка интронов и экзонов в предсказание одного определённого гена.

Поле 9 в различных версиях

править

Поле group/attribute[7] используется для решения нескольких задач:

  • объединить в одну группу элементы, принадлежащие одной последовательности (например, разные экзоны одного гена);
  • дать элементу имя, тем самым облегчив его поиск в файле;
  • добавить заметки об элементе;
  • добавить альтернативное имя.

В формате GFF2 поле 9 называется group. Атрибуты поля отделены от их значений пробелом, между двумя парами «атрибут-значение» ставится точка с запятой. Пример использования поля group в формате GFF:

Chr3 giemsa heterochromatin 4500000 6000000 . . . Band 3q12.1 ; Note "Marfan's syndrome"

В формате GTF вместо поля group записывается attribute, которое включает два обязательных атрибута[7]:

gene_id — уникальный идентификатор для геномного локуса транскрипта; если он не указан, тогда нет гена, связанного с определённым элементом;

transcript_id — уникальный идентификатор для предсказанного транскрипта; если он не указан, тогда нет транскрипта, связанного с описанным элементом.

Такие атрибуты предназначены для обработки нескольких транскриптов и одной и той же области генома. Пример использования поля attribute в формате GTF[9]:

AB000381 Twinscan  CDS          380   401   .   +   0  gene_id "001"; transcript_id "001.1";

В формате GFF3 атрибуты поля записываются через «=», а между каждой парой «атрибут=значение» ставится точка с запятой[11]. Список всех атрибутов девятого поля в GFF3:

Название

атрибута

Описание
ID Уникальный идентификатор. Каждый идентификатор не может повторяться в одном файле GFF.
Name Отображаемое для пользователя имя. В отличие от ID, не обязан быть уникальным.
Alias Второе имя. Используется для обозначения имени локуса или номера доступа. Как и Name, не обязан быть уникальным.
Parent Идентификатор характеристики на 1 уровень выше. Уникален для GFF3 и поддерживает его многоуровневую иерархию.
Target Идентификатор типа выравнивания: ДНК-ДНК или белок-ДНК. Формат значения: «target_id start end [strand]», где strand является необязательным и может быть «+» или «-».
Gap Идентификатор типа выравнивания, в котором присутствуют гэпы. Формат выравнивания берется из CIGAR[12].
Derives_from Используется для устранения неоднозначности отношения между одной функцией и другой, когда связь является временной, а не чисто структурной «частью». Это необходимо для полицистронных генов.
Note Дополнительная заметка.
dbxref Ссылка на базу данных.
Ontology_term Перекрестная ссылка на онтологию.

Пример поля attribute в формате GFF3:

##gff-version 3
ctg123 . mRNA            1300  9000  .  +  .  ID=mrna0001;Name=sonichedgehog
ctg123 . exon            1300  1500  .  +  .  ID=exon00001;Parent=mrna0001
ctg123 . exon            1050  1500  .  +  .  ID=exon00002;Parent=mrna0001

Использование GFF

править

GFF — простой и стандартизованный файловый формат. Он используется для хранения результатов предсказания или экспериментального определения генов и более сложных функциональных элементов генома.
«Экспериментальные» GFF-файлы могут быть полезными для проверки предсказанных методами биоинформатики элементов генома[13].

Программы, использующие формат GFF:

Программа Описание
GFF3 online validator Валидация файлов формата GFF3
GenSAS Сервер для аннотаций последовательностей
Integrated Genome Browser Просмотр данных РНК-секвенирования и ChIP-секвенирования вдоль аннотации генома
Jalview[англ.] Просмотр и редактирование множественных выравниваний
STRAP Поиск элементов во множественных выравниваниях

Конвертирование GFF2 в GFF3

править

Существует несколько серверов, позволяющих перевести файл из GFF2 в формат GFF3[14][15]. Однако каждый из них немного по-разному интерпретирует исходные данные в файле GFF2, что создает проблемы при конвертации и ограничивает возможность их применения[16].

Например, если в поле feature версии GFF2 термин не соответствует стандартам Sequence Ontology (SO)[англ.], то это необходимо каким-либо образом исправить при переводе в формат GFF3[16].

Примечания

править
  1. 1 2 3 Zhang, 2016.
  2. Lauren Mills. Common File Formats (англ.) // Current Protocols in Bioinformatics. — 2003.
  3. GLIMMER. Дата обращения: 19 апреля 2018. Архивировано 2 ноября 2013 года.
  4. GENSCAN. Дата обращения: 19 апреля 2018. Архивировано из оригинала 5 мая 2018 года.
  5. Deng et al, 2017.
  6. 1 2 GFF3, Summary. Дата обращения: 13 апреля 2017. Архивировано 22 июля 2017 года.
  7. 1 2 3 4 Generic Model Organism Database, GFF2. Дата обращения: 9 мая 2014. Архивировано 17 мая 2014 года.
  8. GFF Versions, GMOD. Дата обращения: 9 мая 2014. Архивировано 19 июля 2014 года.
  9. 1 2 Generic Model Organism Database, GTF. Дата обращения: 9 мая 2014. Архивировано 19 июля 2014 года.
  10. GFF3, Description of the Format. Дата обращения: 13 апреля 2017. Архивировано 22 июля 2017 года.
  11. Generic Model Organism Database, GFF3. Дата обращения: 9 мая 2014. Архивировано 19 июля 2014 года.
  12. CIGAR. Дата обращения: 19 апреля 2018. Архивировано из оригинала 30 сентября 2002 года.
  13. Stanke M., Diekhans M., Baertsch R., Haussler D. Using native and syntenically mapped cDNA alignments to improve de novo gene finding. (англ.) // Bioinformatics. — 2008. — Vol. 24, no. 5. — P. 637—644. — doi:10.1093/bioinformatics/btn013. — PMID 18218656. [исправить]
  14. GFFREAD. Дата обращения: 19 апреля 2018. Архивировано 19 апреля 2018 года.
  15. Wormbase. Дата обращения: 19 апреля 2018. Архивировано 19 апреля 2018 года.
  16. 1 2 GFF Convertation, GMOD. Дата обращения: 9 мая 2014. Архивировано 19 июля 2014 года.

Литература

править
  • Hongen Zhang. Overview of Sequence Data Formats // Statistical Genomics. — New York, NY: Springer New York, 2016. — С. 3—17. — ISBN 978-1-4939-3576-5, 978-1-4939-3578-9.
  • Feilong Deng, Shi-Yi Chen, Zhou-Lin Wu, Yongsong Hu, Xianbo Jia, Song-Jia Lai. GFFview: A Web Server for Parsing and Visualizing Annotation Information of Eukaryotic Genome // Journal of Computational Biology. — Oxford Journals, 2017.