17 个版本 (破坏性)

0.14.0 2024年8月4日
0.13.0 2024年7月14日
0.12.0 2024年6月17日
0.10.0 2023年12月14日
0.1.1 2021年7月21日

#2327 in 解析器实现

Download history • Rust 包仓库 605/week @ 2024-04-16 • Rust 包仓库 501/week @ 2024-04-23 • Rust 包仓库 293/week @ 2024-04-30 • Rust 包仓库 273/week @ 2024-05-07 • Rust 包仓库 481/week @ 2024-05-14 • Rust 包仓库 963/week @ 2024-05-21 • Rust 包仓库 697/week @ 2024-05-28 • Rust 包仓库 220/week @ 2024-06-04 • Rust 包仓库 509/week @ 2024-06-11 • Rust 包仓库 1211/week @ 2024-06-18 • Rust 包仓库 573/week @ 2024-06-25 • Rust 包仓库 128/week @ 2024-07-02 • Rust 包仓库 549/week @ 2024-07-09 • Rust 包仓库 365/week @ 2024-07-16 • Rust 包仓库 323/week @ 2024-07-23 • Rust 包仓库 688/week @ 2024-07-30 • Rust 包仓库

1,954 个月下载量
用于 36 个crate(3 个直接使用)

MIT 许可证

59KB
1K SLoC

noodles-fastq 处理 FASTQ 格式的读写。

FASTQ 是一种没有正式规范的文本格式,只有一些实际规则。它通常由一系列记录组成,每个记录有四行:定义(读取名称和描述)、序列、加号行和质控分数。

读取名称以一个 @(at 符号)字符为前缀,并包含一个可选的描述,由空格( )或水平制表符(\t)分隔。序列是一系列使用 IUPAC 基因符号编码的碱基。加号行实际上是一个分隔符,有时会重复读取名称和可选的描述,通常会被丢弃。质控分数是一系列 Phred 质控分数(通常但并不保证偏移量为 33)并且与序列中的每个碱基平行。也就是说,每个记录可以像以下这样描述

@<name>[< |\t>description]
<sequence>
+[<name>[< |\t>description]]
<quality scores>

示例

从文件中读取所有记录

use noodles_fastq as fastq;

let mut reader = File::open("sample.fq")
    .map(BufReader::new)
    .map(fastq::io::Reader::new)?;

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

依赖项

~0.6–2.2MB
~38K SLoC