66个重大版本发布

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

#637 in 解析器实现

Download history 294/week @ 2024-04-26 333/week @ 2024-05-03 202/week @ 2024-05-10 554/week @ 2024-05-17 607/week @ 2024-05-24 350/week @ 2024-05-31 194/week @ 2024-06-07 666/week @ 2024-06-14 371/week @ 2024-06-21 131/week @ 2024-06-28 156/week @ 2024-07-05 740/week @ 2024-07-12 301/week @ 2024-07-19 372/week @ 2024-07-26 531/week @ 2024-08-02 161/week @ 2024-08-09

1,391 个月下载量
用于 30 个crate(直接使用2个)

MIT 许可证

1.5MB
40K 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 按文件格式拆分为多个crate。为了方便,可以将顶级元crate noodles 添加到项目的依赖列表中;格式,列在 功能 中。例如,要处理BAM格式,添加 noodles crate 并启用 bam 功能。

cargo add noodles --features bam

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

use noodles::bam;

功能标志

各个crate可能有自己的可选功能,可以使用功能标志启用。

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

示例

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

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

lib.rs:

noodles-cram 处理 CRAM 格式的读写。

依赖关系

~5–7.5MB
~132K SLoC