GTF/GFF檔案的差異及其相互轉換
阿新 • • 發佈:2020-07-30
GFF全稱為general feature format
,這種格式主要是用來註釋基因組。
GTF全稱為gene transfer format
,主要是用來對基因進行註釋。
資料結構
GTF檔案以及GFF檔案都由9列資料組成,這兩種檔案的前8列都是相同的(一些小的差別)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
reference sequence name | annotation source | feature type | start coordinate | end coordinate | score | strand | frame | attributes |
GFF
GFF檔案是一種用來描述基因組特徵
#
作為註釋符號,例如很多GFF檔案都會使用如下的兩行來表明其版本其建立日期:
##gff-version 2
##created 11/11/11
GFF檔案每一列所代表的含義前面表格中有,但請注意,它的第3列feature type
是不受約束的,你可以使用任意的名稱,但也不要太淘氣~用一些適當的名稱對於後面的分析會有很大的幫助。
我們需要注意的是GFF檔案的第9列,從第二版開始(GFF2),所有的屬性都以標籤=值
的方式呈現,各個屬性之間以;
作為分隔符
ID=geneAExon1;Name=geneA;Parent=geneA;Organism=human
在最新版本的GFF檔案中(GFF3),有一些是已經預先定義的屬性特徵,並且這些特徵往往還有特殊的含義:ID
這個標籤實在各行都要有的;另外有一個Parent
的屬性,它表明了當前的特徵是Parent特徵的子集。
Contig01 PFAM gene 501 750 . + 0 ID=geneA;Name=geneA
Contig01 PFAM exon 501 650 . + 2 ID=exonA1;Parent=geneA
Contig01 PFAM exon 700 750 . + 2 ID=exonA2;Parent=geneA
GTF
當前所廣泛使用的GTF格式為第二版(GTF2),它主要是用來描述基因的註釋。GTF格式有兩個硬性標準:
- 根據所使用的軟體的不同,
feature types
是必須註明的。 - 第9列必須以
gene_id
以及transcript_id
開頭
GTF檔案的第9列同GFF檔案不同,雖然同樣是標籤與值配對的情況,但標籤與值之間以空格分開,且每個特徵之後都要有分號;
(包括最後一個特徵):
gene_id "geneA";transcript_id "geneA.1";database_id "0012";modified_by "Damian";duplicates 0;
兩種檔案的差異比較
列 | GTF2 | GFF3 |
---|---|---|
reference sequence name | same | same |
annotation source | same | same |
feature type | feature requirements depend on software | can be anything |
start coordinate | same | same |
5. end coordinate | same | same |
score | not used | optional |
strand | same | same |
frame | same | same |
attributes | 空格分隔 |
= 分隔 |
兩種檔案格式之間的轉換
偷個懶,直接使用Cufflinks裡面的工具gffread
#gff2gtf
gffread my.gff3 -T -o my.gtf
#gtf2gff
gffread merged.gtf -o- > merged.gff3
來源:
https://www.jianshu.com/p/48b5a0972301