只是一个简单的kseq.h绑定
fastx的Python项目详细描述
fastx公司
只是一个基于kseq.h
的用于CPython和PyPy的fasta/q解析器。在
安装方式:
pip install fastx
示例用法:
^{pr2}$这个库的灵感来自下面的基准测试页面 对于现有的python条目,CPython只对最快的条目有效。不是的 用于一般用途。在
https://github.com/lh3/biofast
标杆管理
行分析我们发现程序在添加python上花费了同样多的时间 对象放在一起,就像在pyfastx包中一样:
Line # Hits Time Per Hit % Time Line Contents
==============================================================
28 @profile
29 def main():
30 1 21.0 21.0 0.0 n, slen, qlen = 0, 0, 0
31 5682011 7366975.0 1.3 47.9 for name, seq, qual in pyfastx.Fastq(sys.argv[1], build_index=False):
32 5682010 2324629.0 0.4 15.1 n += 1
33 5682010 2783887.0 0.5 18.1 slen += len(seq)
34 5682010 2909447.0 0.5 18.9 qlen += qual and len(qual) or 0
35 1 158.0 158.0 0.0 print('{}\t{}\t{}'.format(n, slen, qlen))
这个模块在CPython和PyPy下都可以工作,这与pyfastx不同 严格地说是CPython扩展。使用PyPy时 Python和C的实现大大缩小了范围。在
Running cpython
5682010 568201000 568201000
real 0m11.444s
user 0m10.944s
sys 0m0.284s
Running pypy
5682010 568201000 568201000
real 0m1.973s
user 0m1.555s
sys 0m0.258s
Running C
5682010 568201000 568201000
real 0m1.764s
user 0m1.508s
sys 0m0.217s
- 项目
标签: