10 个版本
0.5.0 | 2022年9月1日 |
---|---|
0.4.1 | 2021年9月7日 |
0.4.0 | 2021年7月5日 |
0.3.3 | 2021年6月29日 |
0.1.0 | 2021年4月25日 |
#1456 在 命令行工具
96KB
1.5K SLoC
关于
随着新一代测序工具的能力,数百万到数十亿的读取被生成。为了以成本效益的方式达到这样的速度,为多行或物种对个别序列进行条形码是常见的做法。
Sabreur 是一个旨在将条形码读取去重到单独文件的工具。它支持 fasta 和 fastq 文件。输入文件可以是 gzip、bzip2 或 xz 压缩的输入或输出(感谢优秀的 niffler crate)。如果提供未压缩的文件,则默认输出为未压缩。但是,可以通过将 --format
选项设置为所需的压缩格式来更改此行为。如果在输入文件压缩时指定了 --format
选项,则将输出文件更改为目标压缩格式。Sabreur 核心比较提供的条形码与每个读取,然后将读取分离到适当的文件。如果一个读取没有识别到的条形码,则将其放入未知文件。
如何使用 sabreur
配对端模式
sabreur barcode.txt input_R1.fq.gz input_R2.fq.gz
单端模式
sabreur barcode.txt input.fq
输入序列文件可以是 fasta 或 fastq,压缩或不压缩。支持的压缩格式是 gz、bz2、xz 和 zst。只需提供序列,sabreur 就知道如何处理它!
命令行参数
USAGE:
sabreur [options] <BARCODE> <FORWARD FILE> [<REVERSE FILE>]
ARGS:
<BARCODE> input barcode file
<FORWARD> input forward fastx file
<REVERSE> input reverse fastx file
OPTIONS:
-m, --mismatch <INT> maximum number of mismatches [default: 0]
-o, --out <DIR> ouput directory [default: sabreur_out]
-f, --format <STR> output files compression format
-l, --level <INT> compression level [default: 1]
--force force reuse of output directory
-q, --quiet decrease program verbosity
-h, --help Print help information
-V, --version Print version information
要求
- Rust 稳定频道
- libgz 支持 gz 文件
- liblzma 支持 xz 文件
- libbzip2 支持 bzip2 文件
- zstd 支持 zstd 文件
安装
从 crates.io
如果您已经有一个有效的 rust 安装,请
cargo install sabreur
从源码
git clone https://github.com/Ebedthan/sabreur.git
cd sabreur
cargo build --release
cargo test
cargo install --path .
基准测试
工具 | 单端未压缩输出 | 单端压缩输出 | 配对端未压缩输出 | 配对端压缩输出 |
---|---|---|---|---|
idemp | - | 211.571 ± 3.718 | - | 366.247 ± 10.482 |
sabre | 32.911 ± 2.411 | - | 109.470 ± 49.909 | - |
sabreur | 10.843 ± 0.531 | 93.840 ± 0.446 | 40.878 ± 13.743 | 187.533 ± 0.572 |
Rust 最小版本策略
此 crate 的最小支持的 rustc
版本是 1.56.1
。
注意
Sabreur 在帮助中使用了彩色输出,但同时也尊重 NO_COLORS 环境变量。
Sabreur 使用一种特殊的条形码制表符分隔的文件格式,形式如下
barcode1 barcode1_file1.fq barcode1_file2.fq
barcode2 barcode2_file1.fq barcode2_file2.fq
...
贡献
在 行为准则 下欢迎对该项目的贡献。
缺陷
将问题或请求提交给 问题跟踪器。
行为准则
请注意,sabreur 项目是以 贡献者行为准则 发布的。通过向本项目贡献,您同意遵守其条款。
依赖项
~20–31MB
~443K SLoC