Открыть сервис

GFF: формат и применение в биоинформатике

GFF (от англ. General Feature Format — общий формат описаний признаков) — текстовый формат файлов для хранения информации об аннотации геномов: координатах генов, экзонов, кодирующих последовательностей и других функциональных элементов ДНК. Формат широко используется в биоинформатике для обмена данными между базами данных и программами анализа геномов.

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

Файл GFF состоит из строк, каждая из которых описывает один признак (feature) и содержит девять обязательных табулированных (разделённых символом табуляции) колонок. Десятое поле является необязательным и содержит атрибуты.

Обязательные колонки:

  1. seqid (или seqname) — идентификатор последовательности (хромосомы, контига или плазмиды), к которой относится признак.
  2. source — источник аннотации: название программы предсказания генов (например, GeneMark), базы данных (RefSeq) или экспериментального метода.
  3. type (feature) — тип признака: gene, mRNA, exon, CDS, tRNA, repeat_region и другие.
  4. start — координата начала признака (нумерация с единицы, включительно).
  5. end — координата конца признака (включительно).
  6. score — числовая оценка достоверности (например, e-value для гомологичных поисков); при отсутствии значения ставится точка.
  7. strand — цепь ДНК: «+» (прямая) или «−» (обратная); для признаков без цепи ставится точка.
  8. phase (frame) — сдвиг рамки считывания для CDS: 0, 1 или 2; для некодирующих признаков ставится точка.
  9. attributesсписок атрибутов в формате «ключ=значение», разделённых точкой с запятой.

История и версии

Первоначально формат GFF был разработан в 1990-х годах для проекта WormBase (аннотация генома нематоды Caenorhabditis elegans). Первая общепринятая версия — GFF2 — использовала девять колонок, но имела неоднозначности в синтаксисе атрибутов.

В 2000 году был предложен формат GTF (Gene Transfer Format) — вариант GFF2, адаптированный для описания структуры генов. В GTF атрибуты записываются через пробел, а ключевыми полями являются gene_id и transcript_id.

Современная версия — GFF3 — была стандартизирована в 2002–2005 годах участниками проекта Generic Model Organism Database (GMOD). GFF3 устранил неоднозначности GFF2: ввёл строгие правила для атрибутов, добавил поддержку иерархических связей (родитель-потомок) и многоуровневых аннотаций. В GFF3 колонка атрибутов использует формат «ключ=значение», а для связи признаков применяются атрибуты ID и Parent.

Отличия GFF3 от GFF2 и GTF

Ключевые различия между версиями формата:

  • В GFF2 и GTF атрибуты разделяются пробелами и записываются в кавычках; в GFF3 — символом «=», кавычки не требуются.
  • GFF3 поддерживает вложенную структуру признаков через атрибут Parent, что позволяет описывать иерархию «ген → транскрипт → экзон».
  • В GFF3 вводится понятие «мультипартитных» признаков: один логический признак (например, CDS) может быть разбит на несколько строк с одинаковым ID.
  • GFF3 содержит зарезервированные атрибуты: ID, Name, Alias, Parent, Target, Gap, Derives_from, Note, Dbxref, Ontology_term.
  • В GFF3 разрешены комментарии, начинающиеся с символа «#», а также директива «##FASTA», после которой может следовать блок исходных последовательностей в формате FASTA.

Применение

GFF является стандартным форматом для хранения аннотаций в крупнейших базах данных геномов: Ensembl, NCBI RefSeq, UCSC Genome Browser, WormBase, FlyBase и Arabidopsis Information Resource (TAIR). Файлы GFF используются:

  • при сборке и аннотации геномов (конвейеры MAKER, BRAKER);
  • для визуализации геномов в браузерах (IGV, JBrowse, UCSC);
  • для сравнения аннотаций и поиска различий между образцами;
  • для извлечения последовательностей (например, получение всех CDS по координатам из GFF);
  • для статистического анализа структуры генов (длина интронов, число экзонов).

Для работы с GFF созданы специализированные библиотеки и утилиты: GenomeTools, BEDTools (частичная поддержка), gffread, а также модули на языках Python (BCFtools, pyfaidx, gffutils) и R (rtracklayer).

Смежные форматы

Помимо GFF, в биоинформатике применяются другие форматы аннотации:

  • BED — упрощённый формат с тремя обязательными колонками (хромосома, старт, конец), используется преимущественно для визуализации и анализа покрытия.
  • GTF — вариант GFF2, ориентированный на описание генов и транскриптов.
  • VCF — формат для описания вариантов (мутаций), дополняет, но не заменяет GFF.
  • GenBank — плоский формат с аннотацией, используемый в одноимённой базе данных NCBI.

Критика и ограничения

GFF3, несмотря на стандартизацию, допускает неоднозначную интерпретацию некоторых правил, что приводит к расхождениям при обработке файлов разными инструментами. К типичным проблемам относят: различную трактовку фазы (phase) для CDS, способы кодирования перекрывающихся признаков и правила сортировки строк. Кроме того, формат не предназначен для хранения больших объёмов качественных данных (например, значений покрытия) — для этих целей используют бинарные форматы (BAM, BigWig).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →