查看原文
其他

冰糖 2018-06-06

什么是gff/gtf细说gffgtf是什么gff和gtf的区别两种文件格式之间的转换

什么是gff/gtf

测序完成后,获得的是一堆ATGC字母组成的序列,想直接从中得出有用信息的难度不亚于解读一部“天书”,因此若是先找到这些序列中编码序列在什么地方、哪里是内含子、哪里是翻译起始位点等信息后再进行分析,才不会被海量数据所淹没。而类似刚才所述的基因组注释信息就保存在gff/gtf文件内。

gff/gtf是一种文件格式,借用目前对这两种文件格式最通用的描述:

gff主要是用来注释基因组;

gtf主要是用来对基因进行注释。

细说gff

gff全称为general feature format,gff文件是一种用来描述基因组特征的文件,现在我们所使用的大部分都是第三版(gff3)。

gff文件除gff1以外均由9列数据组成,前8列在gff的3个版本中信息都是相同的,只是名称不同:

例如第一列在gff1、gff2和gff3中分别叫做”seqname",“reference  sequence”和“seqID”,type在gff1、gff2中也被称作feature,phase在gff1、gff2中也被称作frame。

第9列attributes的内容存在很大的版本特异性。这9列信息(以gff3为例)分别是:

seqid source type start end score strand strand attributes

  • seqid :参考序列的id。

  • source:注释的来源。如果未知,则用点(.)代替。一般指明产生此gff3文件的软件或方法。

  • type: 类型,此处的名词是相对自由的,建议使用符合SO惯例的名称(sequenceontology),如gene,repeat_region,exon,CDS等。

  • start:开始位点,从1开始计数(区别于bed文件从0开始计数)。

  • end:结束位点。

  • score:得分,对于一些可以量化的属性,可以在此设置一个数值以表示程度的不同。如果为空,用点(.)代替。

  • strand:“+”表示正链,“-”表示负链,“.”表示不需要指定正负链。

  • phase :步进。对于编码蛋白质的CDS来说,本列指定下一个密码子开始的位置。可以是0、1或2,表示到达下一个密码子需要跳过的碱基个数。

  • attributes:属性。一个包含众多属性的列表,格式为“标签=值”(tag=value),不同属性之间以分号相隔。

    几个attributes举例:

    ID:type的标识;

    Name:type的展示名称。Name的值在可视化的时候得到展示。因此,Name可以根据自己展示的需要随意取值;

    Parent :指明type所从属的上一级ID。用于将exons聚集成transcript,将transripts聚集成gene。

gtf是什么

gtf全称为gene transfer format,主要是用来对基因进行注释,当前所广泛使用的gtf格式为第二版(gtf2)。以下均基于gtf2叙述。

gtf同gff3很相似,也是9列内容,其内容如下:

seqname source feature start end score strand frame attributes

  • seqname: 序列的名字。通常格式染色体ID或是contig ID。

  • source:注释的来源。通常是预测软件名或是公共数据库。

  • start:开始位点,从1开始计数。

  • end:结束位点。

  • feature :基因结构。CDS,start_codon,stop_codon是一定要含有的类型。

  • score :这一列的值表示对该类型存在性和其坐标的可信度,不是必须的,可以用点“.”代替。

  • strand:链的正向与负向,分别用加号+和减号-表示。

  • frame:密码子偏移,可以是0、1或2。

  • attributes:必须要有以下两个值:

    gene_id value; 表示转录本在基因组上的基因座的唯一的ID。gene_id与value值用空格分开,如果值为空,则表示没有对应的基因。

    transcript_id value; 预测的转录本的唯一ID。transcript_id与value值用空格分开,空表示没有转录本。

    attribures之后有可能会有comments选项,以“#”开头,一直到行末尾。

gff和gtf的区别

gtf2的内容和gff3也是很相似的,区别只在其中的2列:

两种文件格式之间的转换

使用Cufflinks里面的工具"gffread":

#gff2gtf
gffread my.gff3 -T -o my.gtf
#gtf2gff
gffread merged.gtf -o- > merged.gff3

参考资料

1.NGS数据格式BED/GFF/GTF之介绍,比较,转换

2.【生信攻略】 GTF文件格式介绍

3.gff3文件格式介绍

4.两种文件格式之间的转换(http://www.jianshu.com/p/48b5a0972301)


还有更多文章,请移步公众号阅读

如果你生信基本技能已经入门,需要提高自己,请关注上面的生信技能树,看我们是如何完善生信技能,成为一个生信全栈工程师。

如果你是初学者,请关注下面的生信菜鸟团,了解生信基础名词,概念,扎实的打好基础,争取早日入门。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存