66 breaking releases

new 0.67.0 Dec 12, 2024
0.66.0 Nov 7, 2024
0.65.0 Sep 26, 2024
0.62.0 Jul 14, 2024
0.2.0 Jul 30, 2021

#1160 in Parser implementations

Download history 633/week @ 2024-08-24 883/week @ 2024-08-31 391/week @ 2024-09-07 446/week @ 2024-09-14 817/week @ 2024-09-21 523/week @ 2024-09-28 1054/week @ 2024-10-05 1409/week @ 2024-10-12 573/week @ 2024-10-19 857/week @ 2024-10-26 720/week @ 2024-11-02 667/week @ 2024-11-09 520/week @ 2024-11-16 471/week @ 2024-11-23 700/week @ 2024-11-30 832/week @ 2024-12-07

2,610 downloads per month
Used in 45 crates (8 directly)

MIT license

790KB
19K SLoC

noodles-sam handles the reading and writing of the SAM (Sequence Alignment/Map) format.

SAM is a format typically used to store biological sequences, either mapped to a reference sequence or unmapped. It has two sections: a header and a list of records.

The header mostly holds meta information about the data: a header describing the file format version, reference sequences reads map to, read groups reads belong to, programs that previously manipulated the data, and free-form comments. The header is optional and may be empty.

Each record represents a read, a linear alignment of a segment. Records have fields describing how a read was mapped (or not) to a reference sequence.

Examples

Read all records from a file

use noodles_sam as sam;

let mut reader = sam::io::reader::Builder::default().build_from_path("sample.sam")?;
let header = reader.read_header()?;

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

Dependencies

~2.9–9MB
~80K SLoC