• GTF/GFF文件的差异及其相互转换


    我们在做生物分析的时候,经常会碰到GFF格式的文件以及GTF格式的注释文件。他们有着相似的名字,甚至连内容都极为相似~那么,他们究竟差在哪里呢?

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


    数据结构

    GTF文件以及GFF文件都由9列数据组成,这两种文件的前8列都是相同的(一些小的差别)

    123456789
    reference sequence name annotation source feature type start coordinate end coordinate score strand frame attributes

    GFF

    GFF文件是一种用来描述基因组特征的文件,现在我们所使用的大部分都是第三版)(GFF3)。GFF允许使用#作为注释符号,例如很多GFF文件都会使用如下的两行来表明其版本其创建日期:

    ##gff-version 2
    ##created 11/11/11 
    

    GFF文件每一列所代表的含义前面表格中有,但请注意,它的第3列feature type是不受约束的,你可以使用任意的名称,但也不要太淘气~用一些适当的名称对于后面的分析会有很大的帮助。
    我们需要注意的是GFF文件的第9列,从第二版开始(GFF2),所有的属性都以标签=值的方式呈现,各个属性之间以;作为分隔符

    ID=geneAExon1;Name=geneA;Parent=geneA;Organism=human
    

    在最新版本的GFF文件中(GFF3),有一些是已经预先定义的属性特征,并且这些特征往往还有特殊的含义:ID这个标签实在各行都要有的;另外有一个Parent的属性,它表明了当前的特征是Parent特征的子集。

    Contig01  PFAM  gene  501  750  .  +  0  ID=geneA;Name=geneA
    Contig01  PFAM  exon  501  650  .  +  2  ID=exonA1;Parent=geneA
    Contig01  PFAM  exon  700  750  .  +  2  ID=exonA2;Parent=geneA
    

    GTF

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

    • 根据所使用的软件的不同,feature types是必须注明的。
    • 第9列必须以gene_id以及transcript_id开头
      GTF文件的第9列同GFF文件不同,虽然同样是标签与值配对的情况,但标签与值之间以空格分开,且每个特征之后都要有分号;(包括最后一个特征):
    gene_id "geneA";transcript_id "geneA.1";database_id "0012";modified_by "Damian";duplicates 0;

    两种文件的差异比较

    GTF2GFF3
    reference sequence name same same
    annotation source same same
    feature type feature requirements depend on software can be anything
    start coordinate same same
    5. end coordinate same same
    score not used optional
    strand same same
    frame same same
    attributes 空格分隔 =分隔

    两种文件格式之间的转换

    偷个懒,直接使用Cufflinks里面的工具gffread

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


    作者:西瓜要吃我
    链接:https://www.jianshu.com/p/48b5a0972301
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    Convert Date between LocalDateTime
    Java 8 Date Time API Example Tutorial – LocalDate, Instant, LocalDateTime, Parse and Format
    Enable HTTPS in Spring Boot
    设定范围和步长的递增数验证器Validator
    Codeforces Round #392(div 2) 758D (贪心)
    机器学习:决策树算法(简单尝试)
    Codeforces Round #388 (Div. 2) 749E(巧妙的概率dp思想)
    Codeforces Round #364 (Div. 1) 700B(树)
    Codeforces Round #389 (Div. 2) 752F(树的权值重心)
    Codeforces Round #389 (Div. 2) 752E(二分答案)
  • 原文地址:https://www.cnblogs.com/triple-y/p/9367268.html
Copyright © 2020-2023  润新知