14个重大版本更新

0.15.0 2024年6月17日
0.13.0 2024年5月8日
0.12.0 2024年1月25日
0.11.0 2023年12月14日
0.2.0 2022年3月29日

#2470 in 解析器实现

Download history 394/week @ 2024-04-22 246/week @ 2024-04-29 264/week @ 2024-05-06 223/week @ 2024-05-13 443/week @ 2024-05-20 430/week @ 2024-05-27 303/week @ 2024-06-03 346/week @ 2024-06-10 625/week @ 2024-06-17 202/week @ 2024-06-24 119/week @ 2024-07-01 181/week @ 2024-07-08 395/week @ 2024-07-15 283/week @ 2024-07-22 286/week @ 2024-07-29 279/week @ 2024-08-05

1,287 每月下载次数
用于 13 包(直接使用2个)

MIT 许可证

115KB
2.5K SLoC

noodles

crates.io Docs.rs CI status

noodles 尝试提供符合规范(如有适用)的库实现,用于处理各种生物信息学文件格式。它目前支持 BAM 1.6、BCF 2.2、BED、BGZF、CRAM 3.0/3.1、CSI、FASTA、FASTQ、GFF3、GTF 2.2、htsget 1.3、refget 2.0、SAM 1.6、tabix 和 VCF 4.3/4.4。

使用方法

noodles 发布在 crates.io 上。早期版本可用于项目,但请注意,API 仍被视为实验性的。

noodles 按文件格式分割成多个包。为了方便,可以在项目的依赖列表中添加名为 noodles 的顶层元包;并且格式,列在 功能 中。例如,要处理 BAM 格式,请添加 noodles 包并启用 bam 功能。

cargo add noodles --features bam

然后可以通过其重新导出的名称导入每个启用的功能,例如

use noodles::bam;

功能标志

单个包可能有可选的功能,可以使用功能标志启用。

  • async: 启用与 Tokio 的异步 I/O。(BAM、BCF、BGZF、CRAM、CSI、FASTA、FASTQ、GFF、SAM、tabix 和 VCF)
  • libdeflate: 使用 libdeflate 对 DEFLATE 流进行编码和解码。(BGZF 和 CRAM)

示例

每个包可能都有自己的示例目录,所有示例都可以作为应用程序运行。在克隆仓库后,运行 cargo run --release --example 以获取可用的示例列表。使用示例名称作为选项参数,并将程序参数附加到命令中,例如

cargo run --release --example bam_write > sample.bam
cargo run --release --example bam_read_header sample.bam

lib.rs:

noodles-bed 处理 BED (浏览器可扩展数据) 格式的读写。

依赖项

~0.6–1MB
~16K SLoC