1. 程式人生 > 實用技巧 >GTF/GFF檔案的差異及其相互轉換

GTF/GFF檔案的差異及其相互轉換

GFF全稱為general feature format,這種格式主要是用來註釋基因組
GTF全稱為gene transfer format,主要是用來對基因進行註釋。

資料結構

GTF檔案以及GFF檔案都由9列資料組成,這兩種檔案的前8列都是相同的(一些小的差別)

123456789
reference sequence name annotation source feature type start coordinate end coordinate score strand frame attributes


GFF

GFF檔案是一種用來描述基因組特徵

的檔案,現在我們所使用的大部分都是第三版(GFF3)。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;


兩種檔案的差異比較

GTF2GFF3
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


GTF/GFF檔案的差異及其相互轉換