我们在做生物分析的时候,经常会碰到GFF格式的文件以及GTF格式的注释文件。他们有着相似的名字,甚至连内容都极为相似~那么,他们究竟差在哪里呢?
GFF全称为general feature format
,这种格式主要是用来注释基因组。
GTF全称为gene transfer format
,主要是用来对基因进行注释。
数据结构
GTF文件以及GFF文件都由9列数据组成,这两种文件的前8列都是相同的(一些小的差别)
列 | 内容 |
---|---|
1 | reference sequence name |
2 | annotation source |
3 | feature type |
4 | start coordinate |
5 | end coordinate |
6 | score |
7 | strand |
8 | frame |
9 | attributes |
GFF
GFF文件是一种用来描述基因组特征的文件,现在我们所使用的大部分都是第三版)(GFF3)。GFF允许使用#
作为注释符号,例如很多GFF文件都会使用如下的两行来表明其版本其创建日期:
|
|
GFF文件每一列所代表的含义前面表格中有,但请注意,它的第3列feature type
是不受约束的,你可以使用任意的名称,但也不要太淘气~用一些适当的名称对于后面的分析会有很大的帮助。
我们需要注意的是GFF文件的第9列,从第二版开始(GFF2),所有的属性都以标签=值
的方式呈现,各个属性之间以;
作为分隔符
|
|
在最新版本的GFF文件中(GFF3),有一些是已经预先定义的属性特征,并且这些特征往往还有特殊的含义:ID
这个标签实在各行都要有的;另外有一个Parent
的属性,它表明了当前的特征是Parent特征的子集。
|
|
GTF
当前所广泛使用的GTF格式为第二版(GTF2),它主要是用来描述基因的注释。GTF格式有两个硬性标准:
- 根据所使用的软件的不同,
feature types
是必须注明的。 - 第9列必须以
gene_id
以及transcript_id
开头 GTF文件的第9列同GFF文件不同,虽然同样是标签与值配对的情况,但标签与值之间以空格分开,且每个特征之后都要有分号;
(包括最后一个特征):
|
|
两种文件的差异比较
列 | 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
|
|