61 个重大版本发布
0.62.0 | 2024年8月4日 |
---|---|
0.61.0 | 2024年7月14日 |
0.60.0 | 2024年6月17日 |
0.51.0 | 2024年3月28日 |
0.2.0 | 2021年7月30日 |
#1220 在 解析器实现
1,763 每月下载量
用于 35 个 软件包(直接使用6个)
1MB
23K SLoC
noodles
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-vcf 处理 VCF 格式的读写。
示例
从文件中读取所有记录
use noodles_vcf as vcf;
let mut reader = vcf::io::reader::Builder::default().build_from_path("sample.vcf")?;
let header = reader.read_header()?;
for result in reader.records() {
let record = result?;
// ...
}
依赖项
~2.2–4MB
~70K SLoC