#生物信息学 #并行 #序列 #速度 #物质 #迭代 #fasta-fastq

nightly bin+lib rust-parallelfastx

并行迭代FASTA/FASTQ文件,当序列顺序不重要但速度重要时使用

2个版本

0.1.1 2022年10月6日
0.1.0 2022年10月6日

#245 in 生物学

MIT/Apache

9KB
64

Rust-parallelfastx

一个真正的FASTA/FASTQ文件并行解析器。

原理

输入文件被内存映射然后虚拟分割成N个块。每个块被送入一个常规的FASTA/FASTQ解析器(这里,是出色的https://github.com/markschl/seq_io库)。

理由

几乎所有其他的“多线程”FASTA/FASTQ解析器通常只使用一个线程来解析文件,然后将解析出的序列送到线程中。如果你的磁盘足够快(>2 GB/s),那么解析文件成为CPU瓶颈,那么你可能从这个库中受益,因为解析是真正多线程的。

如何使用

src/main.rs,应该很直观。

灵感

这个仓库的灵感来自于来自https://github.com/expr-fi/fastlwc的惊人的fastlwc-mt工具,它进行多线程行计数。

注意事项

输入文件需要可定位,这排除了所有除了块压缩方法以外的压缩方法,目前这个库不支持,但原则上可以。

作者

Rayan Chikhi,2022

依赖

~1.1–2.1MB
~39K SLoC