NGS基础 - GTF/GFF文件格式解读和转换

生物信息学习的正确姿势

NGS系列文章包括NGS基础、在线绘图、转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这)、ChIP-seq分析 (ChIP-seq基本分析流程)、单细胞测序分析 (重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程)、DNA甲基化分析、重测序分析、GEO数据挖掘(典型医学设计实验GEO数据分析 (step-by-step))、批次效应处理等内容。

GFF 文件

GFF全称为general feature format,这种格式主要是用来注释基因组。

Ensembl 导出的GFF文件示例:

X    Ensembl    Repeat    2419108    2419128    42    .    .    hid=trf; hstart=1; hend=21
X    Ensembl    Repeat    2419108    2419410    2502    -    .    hid=AluSx; hstart=1; hend=303
X    Ensembl    Repeat    2419108    2419128    0    .    .    hid=dust; hstart=2419108; hend=2419128
X    Ensembl    Pred.trans.    2416676    2418760    450.19    -    2    genscan=GENSCAN00000019335
X    Ensembl    Variation    2413425    2413425    .    +    .    
X    Ensembl    Variation    2413805    2413805    .    +    .

GFF文件是以tab键分割的9列组成,以下为每一列的对应信息:

  1. seq_id:序列的编号,一般为chr或者scanfold编号;

  2. source: 注释的来源,一般为数据库或者注释的机构,如果未知,则用点“.”代替

  3. type: 注释信息的类型,比如Gene、cDNA、mRNA、CDS等;

  4. start: 该基因或转录本在参考序列上的起始位置;(从1开始,包含);

  5. end: 该基因或转录本在参考序列上的终止位置;(从1开始,包含);

  6. score: 得分,数字,是注释信息可能性的说明,可以是序列相似性比对时的E-values值或者基因预测是的P-values值,.表示为空;

  7. strand: 该基因或转录本位于参考序列的正链(+)或负链(-)上;

  8. phase: 仅对注释类型为“CDS”有效,表示起始编码的位置,有效值为0、12. (对于编码蛋白质的CDS来说,本列指定下一个密码子开始的位置。每3个核苷酸翻译一个氨基酸,从0开始,CDS的起始位置,除以3,余数就是这个值,,表示到达下一个密码子需要跳过的碱基个数。该编码区第一个密码子的位置,取值0,1,2。0表示该编码框的第一个密码子第一个碱基位于其5’末端;1表示该编码框的第一个密码子的第一个碱基位于该编码区外;2表示该编码框的第一个密码子的第一、二个碱基位于该编码区外;如果Feature为CDS时,必须指明具体值。);

  9. attributes: 一个包含众多属性的列表,格式为“标签=值”(tag=value),以多个键值对组成的注释信息描述,键与值之间用“=”,不同的键值用“;”隔开,一个键可以有多个值,不同值用“,”分割。注意如果描述中包括tab键以及“,= ;”,要用URL转义规则进行转义,如tab键用 代替。键是区分大小写的,以大写字母开头的键是预先定义好的,在后面可能被其他注释信息所调用。

预先定义的键主要包括:

ID:注释信息的编号,在一个GFF文件中必须唯一;

name:注释信息的名称,可以重复;Alias:别名;Parent > >

Indicates:该注释所属的注释,值为注释信息的编号,比如外显子所属的转录组编号,转录组所属的基因的编号。

Parent指明feature所从属的上一级ID,用于将exons聚集成transcript,将transripts聚集成gene,值可以为多个;

Target 指明比对的目标区域,一般用于表明序列的比对结果。格式为 “target_idstart end [strand] ,其中strand是可选的(“+”或”-”),target_id中如果包含空格,则要转换成’ ‘。

Gap:T比对结果的gap信息,和Target一起,用于表明序列的比对结果。Derives_from:Note:备注;Dbxref:数据库索引。

GTF 文件

GTF全称为gene transfer format,主要是用来对基因进行注释。

从 Ensembl 导出的 GTF 文件示例:

NGS基础 - GTF/GFF文件格式解读和转换_第1张图片

1 transcribed_unprocessed_pseudogene  gene        11869 14409 . + . gene_id "ENSG00000223972"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene";
1 processed_transcript                transcript  11869 14409 . + . gene_id "ENSG00000223972"; transcript_id "ENST00000456328"; gene_name "DDX11L1"; gene_sourc e "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-002"; transcript_source "havana";

当前所广泛使用的GTF格式为第二版(GTF2),它主要是用来描述基因的注释。GTF格式大部分与GFF相同,但有两个硬性标准:

  1. feature types是必须注明的;

  2. 第9列必须以gene_id以及transcript_id开头。而且GTF文件的第9列同GFF文件不同,虽然同样是标签与值配对的情况,但标签与值之间以空格分开,且每个特征之后都要有分号;(包括最后一个特征);

    gene_id “geneA”;transcript_id “geneA.1”;database_id “0012”;modified_by “Damian”;duplicates 0;

NGS基础 - GTF/GFF文件格式解读和转换_第2张图片

GFF 文件与 GTF 文件相互转换

使用Cufflinks里面的工具gffread

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

GTF 文件中提取转录本序列(.fa)

  • Cufflink中的gffread

gffread transcripts.gtf –g genome.fa –w transcripts.output.fa
# 获取CDS序列
gffread transcripts.gtf –g genome.fa -x cds.output.fa
# 获取蛋白序列
gffread transcripts.gtf –g genome.fa -y protein.output.fa
  • Tophat中的gtf_to_fasta

gtf_to_fasta transcripts.gtf genome.fa out_file

NGS基础 - GTF/GFF文件格式解读和转换_第3张图片

使用前先仔细阅读各个参数的意思,选择适合你的需要的参数

获取启动子区序列

注意正负链基因转录起始位点的确定

NGS基础 - GTF/GFF文件格式解读和转换_第4张图片

基因组版本信息对应

具体见这个链接:https://genome.ucsc.edu/FAQ/FAQreleases.html

往期精品(点击图片直达文字对应教程)

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

你可能感兴趣的:(html,css,数据挖掘,数据可视化,正则表达式)