#bam #fastq #fasta #long-read #science-bioinformatics

应用 bamsalvage

bamsalvage 的 Rust 版本,尽可能从损坏的 BAM 文件中恢复序列

1 个不稳定版本

0.1.3 2023年4月18日

#5#long-read

MIT 许可证

33KB
485

bamsalvage, Rust 版本

bamsalvage 的 Rust 版本。

简介

bamsalvage 是一个工具,旨在从可能损坏的 BAM 文件中尽可能多地恢复序列读数。该软件与 Jérémie Roquet 的 bamrescue 具有共同的目的(https://bamrescue.arkanosis.net/)。bamrescue 使用 CRC32 校验和检测损坏的 BGZF 块,跳过损坏的块,如果所有块都从新的读起,则此方法效果良好。

当我们想要恢复长读序列时,一个读可以跨越多个 BGZF 块,因为块的最大大小小于测序仪的输出。

跳过损坏的块并不能解决此类问题,并且常常导致 Samtools 终止和序列恢复失败。

bamsalvage 在检测到任何损坏的块时扫描下一个可用的起始位置。由于该软件的目标是抢救序列,bamsalvage 不会恢复 BAM 文件中包含的所有信息,而是检索读数和质量序列。

安装

程序需要 rustc 和 cargo(版本 >= 1.6)。所有资源都将通过以下命令下载并使用。

git clone https://github.com/takaho/bamsalvage-rust/
cargo build

##用法 cargo run --release -- -i [BAM 文件] -o [输出文件] [--noqual] [--verbose] 或使用目标目录内的二进制文件 bamsalvage -i [BAM 文件] -o [输出文件] [--noqual] [--verbose]

##命令

Options:
  -i, --input <FILE>     Input BAM file
  -o, --output <FILE>    Output filename
  -l, --limit <integer>  Limiting counts [default: 0]
  -n, --noqual           Skip qual field
  -v, --verbose          verbosity
  -h, --help             Print help
  -V, --version          Print version

依赖项

~8MB
~115K SLoC