2个版本
0.1.1 | 2022年10月6日 |
---|---|
0.1.0 | 2022年10月6日 |
#245 in 生物学
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