扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍了如何将GFF转换为GTF文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
思礼网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
存储基因和转录本的结构信息,gtf和gff3两种格式都可以。在实际分析时,会需要转换两种格式。比如,NCBI 只提供了GFF格式的下载文件,我们需要转换成GTF文件之后再使用。
完成这一任务,可以自己编写脚本,也可以借助现成的工具。接下来看下每种工具的使用方法和特点。使用NCBI的GFF文件进行测试,链接如下
ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.38_GRCh48.p12/GCF_000001405.38_GRCh48.p12_genomic.gff.gz
gffread是由cufflinks的开发团队提供的一款读取gff文件的工具,可以实现gff文件转换为gtf文件,用法如下
gffread -T GCF_000001405.38_GRCh48.p12_genomic.gff -o hg38.gtf
生成的gtf示例如下
NC_000001.11 BestRefSeq exon 11874 12227 . + . transcript_id "rna0"; gene_id "gene0"; gene_name "DDX11L1";
gffread 生成的gtf文件中只提供了exon
和CDS
这两种类型的结构信息,第九列的属性也只有transcript_id
, gene_id
, gene_name
这3种属性,最关键的是, 这些ID没有任何含义,我们更想要的是基因的Entrez ID和转录本的RefSeq 编号。
UCSC采用GenePred 格式存储基因和转录本的结构信息, 通过UCSC的小工具,我们可以借助GenePred格式来实现GFF转换成GTF。用法如下
gff3ToGenePred GCF_000001405.38_GRCh48.p12_genomic.gff hg38.GenePred genePredToGtf database hg38.GenePred hg38.gtf
首先用gff3ToGenePred
转换为GenePred
格式,然后在利用genePredToGtf
转换为GTF格式。
生成的gtf示例如下
NC_012920.1 hg38.GenePred transcript 15956 16023 . - . gene_id "gene60958"; transcript_id "rna171196"; gene_name "gene60958";
相比gffreads, UCSC提供的类型更多,包括以下几种
1. exon
2. CDS
3. start_codon
4. stop_codon
5. transcript
虽然区间的类型变多了,但是属性的问题和gffread是一样的,除了gene_name属性有价值外,其他属性都没有价值。
当然,网上也有各种别人编写的脚本,但是或多或少多都存在问题。最佳的方案还是自己来编写,首先需要搞清楚GTF文件中,我们需要哪些类型的区间信息。
对于GTF的实际使用而言,只需要exon
区间信息就可以区分不同的转录本了,而且在定量的过程中,也是只需要参考exon的位置信息。所以,自己编写转换脚本,只需要保留eoxn
信息。
另外一个问题就是,第九列提供哪些属性。根据我的经验,只需要以下6个属性
gene_id
gene_name
transcript_id
transcript_name
gene_type
transcript_type
gene_id
可以用来保存不同数据库中的基因ID,比如NCBI Entrez Id, Ensembl gene Id, 当然也可以和gene_name属性保持一致;gene_name
属性用来保存gene symbol, 相比id, symbol在文章中的使用频率更高。
transcript_id
和transcript_name
表征转录本的id和名称,可以是RefSeq ID,也可以是Ensembl transcript id, 用于区分不同的转录本。
gene_type
和transcript_type
表示基因和转录本的类型,比如是protein_coding
, 还是lncRNA
, rRNA
等。在分析时,我们通常会根据类型选择其中的部分转录本来分析,比如只分析蛋白编码的转录本。
以上6种属性就能够满足几乎100%的场景,对于不同数据库中的文件,只需要自己写脚本提取这些信息,就可以了。
感谢你能够认真阅读完这篇文章,希望小编分享的“如何将GFF转换为GTF文件”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流