34 个重大发布
0.35.0 | 2024年7月14日 |
---|---|
0.33.0 | 2024年5月19日 |
0.29.0 | 2024年3月28日 |
0.26.0 | 2023年12月14日 |
0.1.1 | 2021年7月21日 |
#109 in 生物学
1,604 每月下载量
在 33 个crate(2个直接) 中使用
425KB
10K 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 根据文件格式分成多个crate。为了方便,可以将顶层元crate命名为 noodles
并添加到项目的依赖列表中;格式,列出为 features。例如,为了使用 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-gff 处理 GFF3 格式的读写。
GFF(通用特征格式)是一种基于文本的格式,用于表示基因组特征。
示例
读取 GFF3 文件中的所有记录
use noodles_gff as gff;
let mut reader = File::open("annotations.gff3")
.map(BufReader::new)
.map(gff::io::Reader::new)?;
for result in reader.records() {
let record = result?;
println!(
"{}\t{}\t{}",
record.reference_sequence_name(),
record.start(),
record.end(),
);
}
依赖关系
~2.2–4MB
~69K SLoC