#bam-format #生物信息学 #文件格式 #读写器 #Sam #IO #序列

noodles-bam

BAM(二进制比对/映射)格式读写器

65个重大版本

0.66.0 2024年8月4日
0.65.0 2024年7月14日
0.64.0 2024年6月17日
0.58.0 2024年3月28日
0.2.1 2021年7月30日

#120科学

Download history 510/week @ 2024-05-01 263/week @ 2024-05-08 585/week @ 2024-05-15 766/week @ 2024-05-22 348/week @ 2024-05-29 322/week @ 2024-06-05 588/week @ 2024-06-12 514/week @ 2024-06-19 215/week @ 2024-06-26 207/week @ 2024-07-03 751/week @ 2024-07-10 376/week @ 2024-07-17 394/week @ 2024-07-24 1486/week @ 2024-07-31 1035/week @ 2024-08-07 984/week @ 2024-08-14

3,965 每月下载量
用于 40 个crates(6 个直接)

MIT 许可证

1MB
26K SLoC

noodles-bam 处理BAM(二进制比对/映射)文件格式的读写。

BAM格式包含与SAM(序列比对/映射)相同的信息,即SAM头和记录列表。

示例

读取所有记录

use noodles_bam as bam;

let mut reader = bam::io::reader::Builder::default().build_from_path("sample.bam")?;
let header = reader.read_header()?;

for result in reader.records() {
    let record = result?;
    // ...
}

查询记录

查询允许通过区域过滤记录。它需要一个相关的BAM索引(BAI)。

use noodles_bam as bam;

let mut reader = bam::io::indexed_reader::Builder::default().build_from_path("sample.bam")?;
let header = reader.read_header()?;

let region = "sq0:5-8".parse()?;
let query = reader.query(&header, &region)?;

for result in query {
    let record = result?;
    // ...
}

依赖关系

~2.8–5MB
~80K SLoC