首页 / 文章汇 / 技能干货 / 测序技术

GFF和GTF文件的处理和应用

  • 看不见的线
  • 2161
  • 2024-07-22 09:18:07
  • 原创

GFF和GTF文件的格式规则和应用场景

GFF(General Feature Format)和GTF(Gene Transfer Format)文件是用于描述基因组注释信息的制表符分隔的文本文件,在信息分析中一般需要从这两种文件中提取所需的注释信息。

GFF文件分为三个版本,其中GFF3是最新的标准,GTF文件实际上是GFF2的一个子集。这两种文件格式都包括了基因组特征的信息,例如基因、外显子、启动子等。

GFF全称为general feature format,这种格式主要是用来注释基因组。
GTF全称为gene transfer format,主要是用来对基因进行注释。

GFF格式规则:

- GFF3中,属性列是键值对形式,用分号分隔。

-包含九列,依次为:序列名、来源、特征、起始位置、终止位置、评分、链、相位和属性,详细描述如下:

seq_id:序列的编号。通常是染色体或者Contig ID,比如:Chr01或者 scaffold_1

source:注释的来源。一般会是预测用软件工具或者数据库

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

start:上述type起始位点。从1起始计数

end:上述type结束位点

score:type的分数,可以是浮点数或者整数。与早期版本的格式一样,其语义定义不明确。建议将E-value用于序列相似性特征,将P-value用于从头基因预测。

strand:type位于参考序列的正链(+)或者负链(+),或者非链特征(.),对于链相关特征未知的也可以用问号(?)表示

phase:仅对注释类型为“CDS”的有效,表示起始编码的位置,有效值为0、1、2. (对于编码蛋白质的CDS,本列指定下一个密码子的起始位置。每3个核苷酸编码一个氨基酸,从0开始,CDS的长度,除以3,余数就是这个值,表示到达下一个密码子需要跳过的碱基数。“0” 表示密码子从该CDS的5‘端第一个核苷酸开始(即向前0个碱基),“1”相表示密码子从第二个核苷酸开始,“2”相表示密码子从第三个核苷酸开始。注意,GFF3 CDS的phase不应与类似概念frame混淆,frame的概念也是生物信息学中的常见概念。frame通常被计算为相对于完整开放阅读框(ORF)或密码子的开始的给定碱基值,而CDS phase表示相对于给定CDS特征的下一个密码子的开始。)

attributes:格式为tag=value的特征属性列表,不同的属性用分号分隔。一个键可以有多个值,不同值用“,”分割。注意如果描述中包括tab键以及“,=;”,要用URL转义规则进行转义。tag是区分大小写的,以大写字母开头的tag是预先定义好的,在后面可以被其他注释信息调用

tag含义
ID注释信息的编号,在一个GFF中必须唯一
Name注释信息的名称,与ID不同,可以重复
Alias特征的其他名称。例如基因的Sambol ID、locus ID等。与ID不同,文件中不要求唯一。
Parent表示功能的上一级。Parent ID可用于将外显子指向转录本,将转录本指向基因等。特征可能有多个Parent。Parent只能用来表示关系层级的一部分
Target核苷酸与核苷酸或蛋白质与核苷酸比对。该值的格式为target_id start-end[strand],其中strand是可选的,可以是“+”或“-”。如果target_id包含空格,则必须将其转义为 hex escape %20
Gap比对结果的Gap信息,和Target一起,用于表明序列的比对结果
Derives_from不同特征是时间关系而不是纯粹的结构关系时,用于消除一个特征与另一个特征之间的关系的歧义。多顺反子基因所必需的
Note简单的文本信息
Dbxref数据库交叉引用
Ontology_term对 Ontology term的交叉引用
Is_circular指示特征是否为环状

GTF格式规则:

-同样包含九列,格式与GFF相似,但属性列的键值对使用空格分隔,并以双引号括起来,详细信息如下:

seqname:序列名称。通常是染色体或者Contig ID,比如:Chr01或者 scaffold_1

source:注释的来源。一般会是预测用软件工具或者数据库

feature:注释信息类型(基因结构),这列信息是必须的,至少包括比如CDS、start_codon、stop_codon,还可以包含5UTR、3UTR、inter、inter_CNS、intron_CNS、exon、mRNA等等

start:上述feature起始位点。从1起始计数

end:上述feature结束位点

score:表示feature的存在和坐标的置信度,可以是一个浮点数或者整数,“.” 表示为空,就是不需要

strand:该feature位于参考序列的正链(+)或者负链(+)

frame:0表示阅读框的第一个完整密码子位于最5’端,1表示在第一个完整密码子之前有一个额外的碱基,2表示在第一整个密码子之前还有两个额外的碱基。注意,frame不是CDS长度除以3的余数(CDS mod 3)。如果链是“-”,则该区域的第一个碱基的值为end,因为对应的编码区域将在反向链上从end到start

attributes:应具有的格式为attribute_name“attribut_value”;,每个属性必须以分号结尾并且与下一个属性之间以空格分隔,并且属性的值应该用双引号包围。并且必须包含以下两个属性:

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

GTF与GFF比较:

GTF的第九列,通常为:

gene _ id "At1ge0001"; transcript _ id "At1g0ee01.1";

而 GFF的第九列,通常为:

ID =mrnae01; Name = abc ID =exon1; Parent =mrnae01ID =exon2; Parent =mrnae01

使用gffread软件可实现gtf和gff文件互转和序列提取:

gffread软件安装

方法一:conda安装

conda install bioconda::gffread -y

方法二:编译安装

# gffread软件的下载和编译

git clone https://github.com/gpertea/gffread

cd gffread

make release

#将gffread安装路径添加到环境变量(临时),需将此处路径替换为实际路径

export PATH="/mnt/Share/mawulin/class/class3/data/gffread:$PATH"

#查看帮助信息(检查安装是否成功)

gffread -h

常用参数介绍:

-g 序列文件,即GFF/GTF文件第一列ID对应的序列文件。

-i 丢弃掉内含子大于的转录本(mRNA/transcript)

-r 起始和终止位置,填写示例100.10000即为输出与100到10000有重叠的所有转录组,也可以限制序列ID及链,填写示例:+Chr1:100..10000。

-R 丢弃掉此范围的转录本,与-r相反。

-U 丢弃掉 single-exon的转录本

-C 丢低调无CDS的转录本。

-V 丢弃掉含有移码突变的转录本。

-H 如果使用了-V,则重新检查并调整内含子相位,避免由于翻译起始位点选择的位置不对导致移码突变的产生。

-B 如果使用了-V, 对于单外显子基因,则重新检查相反的链,是否存在移码突变。

-N 丢弃掉多外显子基因剪接位点不是常见的 GT-AG, GC-AG or AT-AC序列。

-J 丢弃掉没有起始密码子或者终止密码子的转录本,仅保留有完整编码框的转录本。

--no-pseudo: 过滤掉含有 'pseudo'的注释信息

-M/--merge : 合并完全相同的或者存在包含关系的转录本。

-d:使用 -M 将合并信息输出到文件中

--cluster-only:类似于 --merge但是不合并转录本

-K 对于-M选项:also collapse shorter, fully contained transcripts with fewer introns than the container

-Q 对于-M选项:移除包含关系的转录本的限制条件:多外显子转录本将会合并,如果他们内含子位置完全一样,单外显子转录本只需要有80%一样即可合并。

--force-exons: 使GFF features的最小层级为exon

-E 对于重复的 ID或者 GFF/GTF其他潜在的格式问题给出警告信息。

-Z 将内含子小于4 bp的邻近的两个外显子合并为一个。

-w 输出每个转录本的外显子序列

-x 输出CDS序列

-W 对于 -w和 -x选项,输出外显子位置坐标到FASTA序列的ID中

-y 输出蛋白质序列

-L 将Ensembl GTF转换为 GFF3 conversion (implies -F; should be used with -m)

-o 输出"filtered"后的GFF文件。

-T -o参数将输出 GTF格式。

#查看示例数据

# GFF转换GTF

gffread examples/annotation.gff -T -o out.gtf

# GTF转换GFF3

gffread examples/transcripts.gtf -o out.gff3

#根据GFF或者GTF提取CDS,蛋白质和外显子序列

gffread examples/annotation.gff -g examples/genome.fa -x cds.fa -y pep.fa -w cdna.fa

推荐课程

【课程】微生物比较基因组精品系列课——全套自学必入的系统课程

课程链接:微生物比较基因组精品系列课【全套】

【课程】铜绿假单胞菌基因组研究和分子分型实战

课程链接:铜绿假单胞菌基因组研究和分子分型实战

【课程】微生物比较基因组与群体进化——基因组变异专题研究

课程链接:微生物比较基因组与群体进化

【课程】微生物分子分型-MLST课程——分型全套(含理论、软件、方法)

课程链接:微生物分子分型-MLST课程

【课程】基因组结构分析神器Easyfig实操精品课

课程链接:基因组结构分析神器Easyfig实操精品课

【课程】BRIG绘图——结构比较专题2

课程链接:走进比较基因组,BRIG软件带你轻松玩绘图

【课程】肺炎克雷伯菌基因组学研究综合指南

课程链接:肺炎克雷伯菌基因组学研究综合指南

【课程】微生物基因组生信必学课程

课程链接:微生物基因组生信分析必学课程

【课程】微生物生防菌研究

课程链接:生防菌的系统化研究

专题材料

【资料】耐药专题材料

【资料】生防专题材料

请添加唯那生物技术客服小唯的微信号winnerbio01,备注“耐药专题”或“生防专题”,立马获取。

更多专题推荐

生信技能课专辑

耐药毒力专题

肺炎克雷伯菌专题

密码子偏好性专题

Easyfig相关问答

MLST-cgMLST

软件脚本分享

微生物基因组研究文章

知识干货

分泌系统

软件下载

书籍下载

  • 点赞 (0人)
  • 收藏 (0人)
看不见的线
  • 课程数:
  • 文章数:
  • 学习人数: 0
关注
--- 作者文章 ---
  • 暂无内容
作者课程
  • 暂无内容
相关好课严选

官方微信公众号

客服热线:15618809518

【勤学如春起之苗,不见其增日有所长。假以时日,你定会为你的努力学习而倍感骄傲,加油!】