我有一个GTF文件,我试图分析,这样“基因id”、“基因类型”、“基因状态”、“基因名称”和水平都在单独的列中。在
因此,对于我的原始文件:
chr1 | ENSEMBL gene| 17369| 17436| . - . |gene_id "ENSG00000278267.1"; gene_type "miRNA"; gene_status "KNOWN"; gene_name "MIR6859-1"; level 3;
chr1 | ENSEMBL gene| 30366| 30503| . + . |gene_id "ENSG00000274890.1"; gene_type "miRNA"; gene_status "KNOWN"; gene_name "MIR1302-2"; level 3;
chr1 | ENSEMBL gene| 157784| 157887| . - . |gene_id "ENSG00000222623.1"; gene_type "snRNA"; gene_status "KNOWN"; gene_name "RNU6-1100P"; level 3;
chr1 | ENSEMBL gene| 187891| 187958| . - . |gene_id "ENSG00000273874.1"; gene_type "miRNA"; gene_status "KNOWN"; gene_name "MIR6859-2"; level 3;
我希望它看起来像这样,在单独的列中显示“基因标识”、“基因类型”、“基因状态”、“基因名称”和级别:
^{pr2}$我尝试过使用gffutils解析它,使用它们提供的基本代码:
import gffutils
db = gffutils.create_db("sRNA.gene.gtf", dbfn='sRNA.gene.gtf.db')
print(list(db.featuretypes()))
# Here's how to write genes out to file
with open('sRNA.gene.gtf', 'w') as fout:
for gene in db.features_of_type('gene'):
fout.write(str(gene) + '\n')
但是,我收到了一个“ImportError:cannot import name”功能:'
ImportError Traceback (most recent call last)
<ipython-input-26-4dd7cd5c7e24> in <module>()
2
3
----> 4 db = gffutils.create_db("sRNA.gene.gtf", dbfn='sRNA.gene.gtf.db')
5
6 #db = gffutils.FeatureDB('sRNA.gene.gtf.db')
我不确定这里出了什么问题,现在正在考虑尝试使用命令行解析它。有谁能提供一些关于解析GTF文件的最佳方法的建议?在
提前谢谢你。在
要将GTF文件中的多个分隔符更改为单个制表符分隔符。一旦你这样做,文件就不再是一个GTF文件。在
下面的代码将把GTF文件的内容转换成文本文件
请注意,您只能使用
create_db()
方法一次。所以我才把它评论出来。在编辑
添加了try语句
您可以使用pyranges库来解析gtf/gff,然后将属性列中的每个条目作为一个单独的列。在
安装说明:
示例文件:
^{pr2}$使用吡喃:
相关问题 更多 >
编程相关推荐