Продолжая использовать сайт, вы даете свое согласие на работу с этими файлами.
GFF (формат файла)
GFF (англ. General Feature Format, GFF) — формат файлов, используемый для хранения разметки генов и других элементов последовательностей ДНК, РНК и белков. Используемое для такого типа файлов расширение обозначается как .GFF
. Формат был предложен исследователями из Института Сенгера, его версия GFF2 (старейшая из ныне используемых) вышла в 1998 году.
Содержание
Общие сведения
Появление технологий секвенирования нового поколения сделало задачу расшифровки генома более простой и доступной. Существуют программы, позволяющие идентифицировать в полученной нуклеотидной последовательности того или иного организма такие функциональные элементы, как гены, экзоны, интроны, стартовые и стоп-кодоны, мотивы, сайты сплайсинга и т. д.. Формат GFF часто используется для хранения таких элементов генома.
Файл в формате GFF — это текстовый файл, где для каждого функционального элемента генома отводится одна строка. Каждая строка содержит 9 полей, разделенных знаком табуляции. Такая структура файла позволяет легко и быстро извлекать необходимые данные, а также обрабатывать их такими средствами, как bash (например, команды grep, sort и др.), простыми скриптами awk и perl.
Ниже представлен пример файла в формате GFF:
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:
- GFF Version 2 (GFF2);
- Gene Transfer Format (GTF);
- GFF Version 3 (GFF3).
GFF2 имеет ряд недостатков. Наиболее существенным является то, что он может представлять только двухуровневые иерархии элементов, и, соответственно, не может справиться с трёхуровневой иерархией типа ген → транскрипт → экзон. Сейчас он объявлен устаревшим. Формат GTF является уточнением второй версии GFF2, и иногда называется как GFF2.5.
В данный момент, наиболее современной является версия GFF3. В отличие от предыдущих версий, GFF3:
- Обеспечивает возможность поддержки многих уровней иерархии элементов
- Разграничивает имя/идентификатор элемента и предположение о его принадлежности к той или иной категории
- Ограничивает поле «type» (см. таблицу) одним словарем допустимых типов элементов
- Позволяет одиночному элементу (например, экзон) принадлежать сразу к нескольким группам
Помимо этого, версии формата GFF отличаются девятым полем: см. раздел «Структура формата GFF».
Структура формата GFF
Каждая строка в файле формата GFF содержит 9 колонок, разделенных знаком табуляции. Каждая колонка называется полем и имеет своё назначение. Список названий полей и их содержание в разных версиях формата приведены ниже.
Номер поля | Название поля | Описание |
---|---|---|
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 используется для решения нескольких задач:
- объединить в одну группу элементы, принадлежащие одной последовательности (например, разные экзоны одного гена);
- дать элементу имя, тем самым облегчив его поиск в файле;
- добавить заметки об элементе;
- добавить альтернативное имя.
В формате GFF2 поле 9 называется group. Атрибуты поля отделены от их значений пробелом, между двумя парами «атрибут-значение» ставится точка с запятой. Пример использования поля group в формате GFF:
Chr3 giemsa heterochromatin 4500000 6000000 . . . Band 3q12.1 ; Note "Marfan's syndrome"
В формате GTF вместо поля group записывается attribute, которое включает два обязательных атрибута:
• gene_id — уникальный идентификатор для геномного локуса транскрипта; если он не указан, тогда нет гена, связанного с определённым элементом;
• transcript_id — уникальный идентификатор для предсказанного транскрипта; если он не указан, тогда нет транскрипта, связанного с описанным элементом.
Такие атрибуты предназначены для обработки нескольких транскриптов и одной и той же области генома. Пример использования поля attribute в формате GTF:
AB000381 Twinscan CDS 380 401 . + 0 gene_id "001"; transcript_id "001.1";
В формате GFF3 атрибуты поля записываются через «=», а между каждой парой «атрибут=значение» ставится точка с запятой. Список всех атрибутов девятого поля в GFF3:
Название
атрибута |
Описание |
---|---|
ID | Уникальный идентификатор. Каждый идентификатор не может повторяться в одном файле GFF. |
Name | Отображаемое для пользователя имя. В отличие от ID, не обязан быть уникальным. |
Alias | Второе имя. Используется для обозначения имени локуса или номера доступа. Как и Name, не обязан быть уникальным. |
Parent | Идентификатор характеристики на 1 уровень выше. Уникален для GFF3 и поддерживает его многоуровневую иерархию. |
Target | Идентификатор типа выравнивания: ДНК-ДНК или белок-ДНК. Формат значения: «target_id start end [strand]», где strand является необязательным и может быть «+» или «-». |
Gap | Идентификатор типа выравнивания, в котором присутствуют гэпы. Формат выравнивания берется из CIGAR. |
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-файлы могут быть полезными для проверки предсказанных методами биоинформатики элементов генома.
Программы, использующие формат GFF:
Программа | Описание |
---|---|
GFF3 online validator | Валидация файлов формата GFF3 |
GenSAS | Сервер для аннотаций последовательностей |
Integrated Genome Browser | Просмотр данных РНК-секвенирования и ChIP-секвенирования вдоль аннотации генома |
Jalview | Просмотр и редактирование множественных выравниваний |
STRAP | Поиск элементов во множественных выравниваниях |
Конвертирование GFF2 в GFF3
Существует несколько серверов, позволяющих перевести файл из GFF2 в формат GFF3. Однако каждый из них немного по-разному интерпретирует исходные данные в файле GFF2, что создает проблемы при конвертации и ограничивает возможность их применения.
Например, если в поле feature версии GFF2 термин не соответствует стандартам Sequence Ontology (SO), то это необходимо каким-либо образом исправить при переводе в формат GFF3.
Литература
- 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.