gff/gtf格式
1)gff3及gtf2简介
一个物种的基因组测序完成后,需要对这些数据进行解读,首先要先找到这些序列中转录起始位点、基因、外显子、内含子等组成元件在染色体中的位置信息(即注释)后才能再进行深入的分析。gff/gtf是贮存这些注释信息的两种文件格式。
GFF(general feature format):这种格式主要是用来注释基因组。 现大部分利用的是第三版,即gff3。
GTF(gene transfer format):主要是用来对基因进行注释。当前所广泛使用的gtf格式为第二版,即gtf2 。
1.1)GFF3
GFF3允许使用#作为注释符号 ,除去注释外,主体部分共有9列。 GFF3中每一列的含义:seqid source type start end score strand strand attributes

1) seqid :序列的id。(The name of the sequence where the feature is located.)
2)source:注释的来源,一般指明产生此gff3文件的软件或方法(e.g. Augustus or RepeatMasker)。如果未知,则用点(.)代替。
3)type: 类型,此处不受约束,但为下游分析方便,建议使用gene,repeat_region,exon,CDS,或SO对应编号等。
4)start:起始位置,从1开始计数(区别于bed文件从0开始计数)。
5)end:终止位置。
6)score:得分,注释信息可能性说明,可以是序列相似性比对时的E-values值或者基因预测是的P-values值。”.”表示为空。(indicates the confidence of the source on the annotated feature)
7)strand:“+”表示正链,“-”表示负链,“.”表示不需要指定正负链,“?” 表示未知.
8)phase :步进。仅对编码蛋白质的CDS有效,本列指定下一个密码子开始的位置。可以是0、1或2,表示到达下一个密码子需要跳过碱基个数。
9)attributes:属性。一个包含众多属性的列表,格式为“标签=值”(tag=value),不同属性之间以分号相隔。
1.2)GTF2
gtf文件也是由9列组成,其中每一列含义:seqname source feature start end score strand frame attributes
1) seqname: 序列的名字。通常格式染色体ID或是contig ID。
2) source:注释的来源。通常是预测软件名或是公共数据库。
3) start:起始位置,从1开始计数。
4) end:终止位置。
5) feature :基因结构.根据所使用软件不同,feature types必须注明。CDS,start_codon,stop_codon是一定要含有的类型。
6) score :这一列的值表示对该类型存在性和其坐标的可信度,不是必须的,可以用点“.”代替。
7) strand:链的正向与负向,分别用加号+和减号-表示。
8) frame:密码子偏移,可以是0、1或2。
9) attributes:必须要有以下两个值:
gene_id value: 表示转录本在基因组上的基因座的唯一的ID。gene_id与value值用空格分开,如果值为空,则表示没有对应的基因。
transcript_id value: 预测的转录本的唯一ID。transcript_id与value值用空格分开,空表示没有转录本。

2)GFF3和GTF2之间的异同及相互转换。
---------------------------------------------------

GFF3和GTF2之间的转换可以用Cufflinks里面的工具"gffread":
gffread my.gff3 -T -o my.gtf #gff2gtf
gffread merged.gtf -o- > merged.gff3 #gtf2gff
3) 习题
---------------------------------------
3.1)gff3格式的功能是是什么?目前有几版?
3.2)gff3共有多少列?每一列的含义是什么?
3.3)gff3中的第8列代表的0,1,2分别代表什么含义?
3.4)gff3第9列不同属性之间是用什么符号分割的?
3.5)gtf2和gff3格式上有何异同?
3.6)gtf2和gff3在功能上有什么差异?
3.7)gtf2第9列中不同属性用什么符号分割?
3.8)如何将gtf和gff之间相互转换?
3.9)统计test.gff文件中组装出来的染色体条数
3.10)统计test.gff文件中lnc_RNA个数
3.11)统计基因组文件test.gff中有多少个基因
3.12)求最长基因的长度
3.13)查找一个基因下有3个转录本的基因个数
3.14)求相位为2的cds个数
3.15)找出基因含有最多的外显子的个数
3.16) 将test.gff转化为test.gtf
3.17)统计test.gtf中transcript的个数
3.18)根据test.gtf统计位于正链上的exon的个数
3.19)将test.gtf中所有的gene ID都统计出来
3.20) 找出test.gtf中位于正链上的最长的基因
4) 参考资源
---------------------------------------
https://en.wikipedia.org/wiki/General_feature_format
http://boyun.sh.cn/bio/?p=1602
gff/gtf格式的更多相关文章
- 探索gff/gtf格式
参考: GFF格式说明 Generic Feature Format Version 3 (GFF3) 先下载一个 gtf 文件浏览一下 1 havana gene 11869 14409 . + . ...
- (转) gffcompare和gffread | gtf | gff3 格式文件的分析 | gtf处理 | gtfparse
工具推荐:https://github.com/openvax/gtfparse 真不敢相信,Linux自带的命令会这么强大,从gtf中提取出需要的transcript,看起来复杂,其实一个grep就 ...
- GTF/GFF文件的差异及其相互转换
我们在做生物分析的时候,经常会碰到GFF格式的文件以及GTF格式的注释文件.他们有着相似的名字,甚至连内容都极为相似~那么,他们究竟差在哪里呢? GFF全称为general feature forma ...
- 关于基因组注释文件GTF的解释
GTF文件的全称是gene transfer format,主要是对染色体上的基因进行标注.怎么理解呢,其实所谓的基因名,基因座等,都只是后来人们给一段DNA序列起的名字而已,还原到细胞中就是细胞核里 ...
- 如何使用SnpEff 对SNP结果进行分析
SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of ...
- 【转录组入门】6:reads计数
作业要求: 实现这个功能的软件也很多,还是烦请大家先自己搜索几个教程,入门请统一用htseq-count,对每个样本都会输出一个表达量文件. 需要用脚本合并所有的样本为表达矩阵.参考:生信编程直播第四 ...
- tophat的用法
概述:tophat是以bowtie2为核心的一款比对软件. tophat工作分两步: 1.将reads用bowtie比对到参考基因组上. 2.将unmapped-reads打断成更小的fragment ...
- Augustus指南(Trainning部分)
Augustus指南 官方 Tutorial Index Augustus是一个真核生物基因预测软件,目前有网页服务端和本地版,它基于Hidden-Markov Model(隐马尔科夫链模型HMM)( ...
- bedtools 每天都会用到的工具
详细的使用说明:http://bedtools.readthedocs.org/en/latest/ Collectively, the bedtools utilities are a swiss- ...
随机推荐
- Letterbox,Pillarbox和Pan&Scan
Auto 不改变窗口设置16:9 PillarBox: 4:3的图像,在16:9的显示屏上显示时,上下到顶,左右会添加黑边. 16:9 Pan&Scan 4:3的图像,在16:9的显示屏上显示 ...
- java web 程序---jsp连接mysql数据库的实例基础+表格显示
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="g ...
- Centos 的计划任务 crontab
使用计划任务! crontab命令主要有3个参数: -e :编辑用户的crontab. -l :列出用户的crontab的内容. -r :删除用户的crontab的内容. 执行crontab -e,将 ...
- VLC在web系统中应用(x-vlc-plugin 即如何把VLC嵌入HTML中)第一篇
VLC毫无疑问是优秀的一款播放软件,子B/S机构的web项目中,如果能把它嵌入页面,做页面预览或者其他,是非常棒的. 第一步:下载VLC安装程序:(推荐1.0.3或者是1.0.5版本,比较稳定) ht ...
- Scrapyd发布爬虫的工具
Scrapyd Scrapyd是部署和运行Scrapy.spider的应用程序.它使您能够使用JSON API部署(上传)您的项目并控制其spider. Scrapyd-client Scrapyd- ...
- SQL Server 2008 CDC增量变更捕获详解
1 背景: 随着公司业务的成长,数据量也随之的不断增长.随之而来的问题是在做ETL的时候,时间花费也越来越长.为了节省时间开销,我们只想要更新最新的数据,不想要把公司历年所有的数据都进行处理.这种情况 ...
- ExtJS的数据模型
给大家介绍一下ExtJS的组件模型. 常见的Ajax的开发流程: 1.定义URL,metod,params 2.开发后台 接收JSON/XML数据 返回JSON/XML数据 3.前台回调 4.显示到 ...
- css3网站收集
把群里大家推荐的网站做了下收集,等有时间了研究下 1.http://icomoon.io/app/ 这个网站用来生成跟导出字体图标的,自带的图标种类很多很丰富,基本够用了,不过你也可以自己设计,然后 ...
- tornado-模板继承extend,函数和类的导入
大 import tornado.ioloop import tornado.web import tornado.httpserver # 非阻塞 import tornado.options # ...
- [Flutter] 发布自己的插件 package
我们自己做了插件包,当然也想发布到pub.dartlang.org上去.怎么发布呢?先看看官方的说明(https://flutter.io/developing-packages/). Publish ...