将索引的fasta文件集合显示为单个源

multifastadb的Python项目详细描述


multifastadb将索引的fasta文件的集合显示为单个 来源。其目的是简化对 分布在多个文件中的序列。

$pip安装多数据库

$python

>>> from multifastadb import MultiFastaDB

最简单的用法是传递文件或目录列表:

>>> mfdb = MultiFastaDB(['tests/data/ncbi'])

默认情况下,multifastadb查找以.fasta、.fa、.faa结尾的文件, .fna和以.gz结尾的压缩版本。(注:1 必须使用bgzip进行压缩;使用gzip将在读取时失败。)

来自ncbi的fasta文件包含单个 在登录行中编码的序列,例如 (GI 53292629参考NP.1)。或者,multifastadb将 创建ref项的元索引:

>>> mfdb = MultiFastaDB(['tests/data/ncbi'], use_meta_index=True)

序列可以通过fetch()方法检索,可选 序列开始和结束界限(在基于0的坐标或基间坐标中):

>>> seq = mfdb.fetch('NP_001005405.1')
>>> seq = mfdb.fetch('NP_001005405.1',0,10)

注意:使用边界获取子序列的效率比:

>>> seq = mfdb.fetch('NP_001005405.1')[0:10]    # Don't do this!

如果序列出现多次,则只有第一个版本是 返回(有意)。

还支持基于属性的检索:

>>> seq = mfdb['NP_001005405.1']
>>> seq = mfdb['NP_001005405.1'][0:10]

基于属性的检索不获取任何序列 立刻。相反,它返回一个SequenceProxy对象来获取 顺序缓慢而透明。这对于 访问大序列(如染色体)。

可以使用where_is()方法找到给定加入的位置:

>>> mfdb.where_is('gi|53292629|ref|NP_001005405.1|')   # doctest: +ELLIPSIS
[('...f1.human.protein.small.faa...', <pysam... object at ...>)]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
将数据从Storm上载到ElasticSearch时发生java错误   java组织。冬眠HibernateeException:无法访问lob流   调用Glassfish上的Jersey 2 REST端点时使用java 404   内置类中的java反射   SwingJava:创建程序的映像   使用堆栈的java加法?   Java代码在NetBeans中正常工作,但在安卓 6.0中不工作   java解析com。Windows上的apple导入错误   之后,json无法向Java JsonNode添加更多字段。set(“字段名”,JsonNode)   GWT中的java本地化替代方案   java如何配置持久性。指向MongoDB的xml   Evernote初始同步中的java大USN值   我怎样才能知道这个JavaAPI更改是什么时候发生的?