GTF/GFF文件的差異及其相互轉換


我們在做生物分析的時候,經常會碰到GFF格式的文件以及GTF格式的注釋文件。他們有着相似的名字,甚至連內容都極為相似~那么,他們究竟差在哪里呢?

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文件是一種用來描述基因組特征的文件,現在我們所使用的大部分都是第三版)(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;

兩種文件的差異比較

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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM