noodles

crates.io Docs.rs CI status

noodles attempts to provide correct implementations of libraries for handling various bioinformatics file formats. It currently supports BAM 1.6, BCF 2.2, BED, BGZF, CRAM 3.0/3.1, CSI, FASTA, FASTQ, GFF3, GTF 2.2, SAM 1.6, tabix, and VCF 4.3/4.4.

Usage

noodles is published on [crates.io]. Early versions can be used in projects, but keep in mind that the API is still considered experimental.

noodles is split into multiple crates by file format. For convenience, a top-level meta crate named noodles can be added to your project's dependency list; and formats, listed as [features]. For example, to work with the BAM format, enable the bam feature.

toml noodles = { version = "0.41.0", features = ["bam"] }

Each enabled feature can then be imported by its re-exported name, e.g.,

rust use noodles::bam;

Feature flags

Individual crates may have optional features that can be enabled using feature flags.

Examples

Each crate may have its own examples directory, and all examples are runnable as an application. After cloning the repository, run cargo run --release --example for a list of available examples. Use the example name as the option argument and append program arguments to the command, e.g.,

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