使用 skbio 从压缩的 FASTA bz2 文件中读取
Posted
技术标签:
【中文标题】使用 skbio 从压缩的 FASTA bz2 文件中读取【英文标题】:Reading from compressed FASTA bz2 file using skbio 【发布时间】:2016-06-23 15:40:42 【问题描述】:是否可以从压缩文件(例如 FASTA bz2)中读取?我通常使用skbio.sequence.Sequence.read,但在那里看不到这个选项。
谢谢!
【问题讨论】:
我正在寻找 SeqIO.parse 的 skbio 替代品(例如,使用 bz2.BZ2File(fna_bz2,"r") as in_f: for s in SeqIO.parse(in_f,"fasta") :) 谢谢! 【参考方案1】:可以这样做:
import skbio
seq = skbio.io.read("seqs.fna.bz2", format='fasta', compression='bz2', into=skbio.DNA)
我使用的是 scikit-bio 0.5.0,但早期版本也应该可以。虽然我明确定义了压缩类型,但这通常不是必需的。
相关文档为here和here。
【讨论】:
需要注意的几点: 1) 上面的示例使用了过程 API。您可以等效地使用面向对象的 API 来执行此操作,例如skbio.Sequence.read("seqs.fna.bz2")
。 2) scikit-bio 将尝试猜测压缩类型和文件格式,而不管使用的文件扩展名。
如果文件中有多个条目,你如何让它工作?以上是关于使用 skbio 从压缩的 FASTA bz2 文件中读取的主要内容,如果未能解决你的问题,请参考以下文章