将索引的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第三方库


热门话题
使用applets查询的多人java游戏?   java如何基于字符串生成数组   基于java多边形的路径查找   java如何对多列ArrayList排序   java批处理更新从更新中返回了意外的行数(Spring/Hibernate)   java如何使用SeleniumWebDriver列出<tr>标记内的所有<td>   java如何使用SimpleFlatMapper将前缀为CSV的列别名到映射?   java为什么通过eclipse运行/调试TomCat时会出现ClassNotFoundException   java Android滚动视图上次视图未显示内部线性布局   替换字符串中不带空格的字符序列   调用方法时Java Swing GUI冻结   java是否允许/建议重用收集器?   在同步方法中使用java hashmap迭代器时   在java XMLDecoder XMLEncoder中写入XMLdatabase   java I无法在活动的片段中填充recyclerview   java Jitsi在调用过程中播放WAV文件如果可能,与音频混合   java JPA为什么我看到DB中每行有两个实体实例?