【转录组测序分析专题2】gff和gtf格式介绍
【转录组测序分析专题】将要讲解流程的内容如下:
fq和fq见微信文章:【转录组测序分析专题1】各种数据格式介绍
此次介绍gff和gtf文件,如有错误,还请各位大侠批评指正!
在介绍之前,先抛出几个问题:
l GFF文件与GTF文件有什么区别么?
l 他们之间是否可以转换?
l 都在什么时候用这两个文件呢?
l 在分析之前为啥要先介绍这两个文件呢?
人类参考基因组GFF与GTF下载连接(我这里一般分析的时候用的都是ensembl数据库GRCh38版本的,后续的文章会提到不同数据库的GFF文件以及版本不同的问题):
GFF: ftp://ftp.ensembl.org/pub/release-81/gff3/homo_sapiens/
GTF: ftp://ftp.ensembl.org/pub/release-81/gtf/homo_sapiens/
每个目录下都附有很详细的readme介绍,大家也可以自己仔细研究一下哦~此外还有官网说明,更加详细:
https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md
一,GFF文件介绍
GFF,全称为Generic Feature Format,主要用来描述基因的结构与功能信息,对基因组进行注释。现在流行的版本为GFF3。
1,格式文件为文本文件,分为9列,以TAB分开。控制符使用RFC 3986 Percent-Encoding 编码。比如:%20 代表着ASCII的空格。
2,GFF允许使用#作为注释符号,例如很多GFF文件都会使用如下的两行来表明其版本其创建日期:
##gff-version 3
##created 2018/09/12
3,9列文件依次是:
1 | seqid | 参考序列的id,通常是chromosome或者contig编号。该id的取名不能以’>’开头,不能包含空格。 |
2 | source | 注释的来源。如果未知,则用点(.)代替。一般指明产生此gff3文件的软件如havana或数据库如ensembl。 |
3 | type | 属性的类型。建议使用符合SO惯例的名称(sequence ontology),如gene,mRNA,start_codon,stop_codon,exon,CDS等。 |
4 | start position | 属性对应片段的起点,对应在第一列上的坐标。从1开始计数。 |
5 | end position | 属性对应片段的终点。一般比起点的数值要大。 |
6 | score | 得分,对于一些可以量化的属性,可以在此设置一个数值以表示程度的不同。如果为空,用点(.)代替。 |
7 | strand | “+”表示正链,“-”表示负链,“.”表示不需要指定正负链。 |
8 | phase | 步进。对于编码蛋白质的CDS来说,本列指定下一个密码子开始的位置。可以是0,1或2,表示到达下一个密码子需要跳过的碱基个数。对于其它属性,则用点(.)代替。 |
9 | attributes | 含众多属性feature的列表。格式为“标签=值”(tag=value)。不同属性之间用分号“;”隔开,可以存在空格。不过若有“,=;”,则用URL(URL escaping rule)进行转义,同时TAB空格也需要转换为“%09”表示。 |
第九列的详解:
ID | 属性feature的唯一标识,一个GFF文件内ID具有唯一性 |
Name | 属性feature所展示的名称 |
Alias | 属性feature的第二个name,可以不具有唯一性 |
Parent | 属性feature的上一级ID,可以将exons聚集成transcripts, transcripts聚集成genes, and so forth。一个feature可以有多个parents。 |
Target | 表示比对的目标区域,格式为"target_id start end [strand]", 其中strand是可选("+" or "-")。 如果target_id含有空格,必须转换为’%20’ |
Gap | 比对结果的Gap信息 |
Note | 文本描述 |
Ontology_term | A reference to an ontology term,对应的GO数据库ID |
Is_circular | 表明属性feature是否为环化 |
敲黑板,重点来了!!!
说了这么多大家可能会觉得很抽象,下面我们使用实际例子来说一下这个格式。举例:编码蛋白基因EDEN在基因组上的注释结果与信息使用GFF文件展示:
从图片中可以看出:
这个基因的名字为EDEN,位置从1000 到9000。它编码生成了三个可变剪切转录本,分别为EDEN.1,EDEN.2 和EDEN.3,而EDEN.3有两个可选翻译起始位点,生成两个编码蛋白序列CDS1和CDS2。位于EDEN.1和 EDEN2上游50bp的转录起始位点还有一个转录因子结合位点。
这些信息使用GFF表示如下:
二,GTF文件
GTF全称为gene transfer format,主要是用来对基因进行注释,前八个字段与GFF相同(有一些小的差别),重点在第九列的不同。
两种文件差异比较:
GTF | GFF3 | ||
第1列 | seqid | same | same |
第2列 | source | same | same |
第3列 | type | feature requirements depend on software | can be anything |
第4列 | start position | same | same |
第5列 | end position | same | same |
第6列 | score | same | same |
第7列 | strand | same | same |
第8列 | phase | same | same |
第9列 | Attributes | 键值对使用空格” ”分开,“标签 值”(tag value) | 使用”=”号,“标签=值”(tag=value) |
好了写到这里,我们回头看之前的几个问题:
GFF文件与GTF文件有什么区别么?
答:前8列都相同,第九列标签与值之间GFF以=分开,而GTF使用空格分开。
他们之间是否可以转换?
答:目前两种文件可以方便的相互转化,比如:使用Cufflinks软件的 的gffread。
都在什么时候用这两个文件呢?
答:这里说一种用途。比如,遇到过很多同学问,我想查找一个基因在基因组上的位置信息,可能有人会告诉你去UCSC网站上输入基因symbol或者ID之类的就可以得到了,其实使用GFF文件也是可以的,并且还可以批量哦。
在分析之前为啥要先介绍这两个文件呢?
答:因为这些都是在要开始分析之前要准备好的配置文件啊,好像说了废话,哈哈哈。
留下一个问题:
各大数据库的基因注释文件都有什么不一样?我们在分析的时候该怎么选择?比如常见的数据库有:
Ensembl:http://asia.ensembl.org/index.html
UCSC:http://genome.ucsc.edu/
RefSeq:https://www.ncbi.nlm.nih.gov/refseq/
GENCODE:https://www.gencodegenes.org/
参考资料
https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md
http://gmod.org/wiki/GFF#GFF3
http://fhqdddddd.blog.163.com/blog/static/186991542014228112825912/
多生信分析需求,请加微信13621202201