#生物信息学 #条形码 #读取 #fasta #fastq #工具 #去重

app sabreur

sabreur 是用于 fasta 和 fastq 文件的条形码去重工具

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命令行工具

MIT 许可证

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 .

基准测试

我们使用 hyperfine 和此 数据集 进行基准测试。

工具 单端未压缩输出 单端压缩输出 配对端未压缩输出 配对端压缩输出
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