3 unstable releases
new 0.2.0 | Feb 20, 2025 |
---|---|
0.1.1 | Feb 15, 2025 |
0.1.0 | Feb 13, 2025 |
#193 in Biology
230 downloads per month
39KB
177 lines
dabuild
dabuild
provides your analysis with genome build metadata.
Example
Use GRCh38.p13 build (Homo sapiens):
use dabuild::{GenomeBuild, GenomeBuildIdentifier};
use dabuild::builds::get_grch38_p13;
// Load the build
let build: GenomeBuild<u32> = get_grch38_p13();
// Check the basic credentials, such as major assembly and patch version
assert_eq!(build.id().major_assembly(), "GRCh38");
assert_eq!(build.id().patch(), Some("p13"));
// Obtain a contig (e.g. `chrY`) by name ...
let y = build.contig_by_name("Y");
assert!(y.is_some());
/// ... or GenBank accession ...
let y = build.contig_by_name("CM000686.2");
assert!(y.is_some());
/// ... or RefSeq accession ...
let y = build.contig_by_name("NC_000024.10");
assert!(y.is_some());
/// ... or UCSC identifier.
let y = build.contig_by_name("chrY");
assert!(y.is_some());
Documentation
See more examples along with the complete documentation at docs.rs.
lib.rs
:
dabuild
dabuild
provides you with genome build metadata.
Examples
Load genome build
The builds
module provides several bundled builds.
Alternatively, you can load a build from an assembly report.
See the builds
documentation for more info.
Use genome build
Genome build is basically a data container and the usage involves accessing the data.
Examples
We show several examples with the GRCh38.p13 genome build.
use dabuild::{GenomeBuild, GenomeBuildIdentifier};
use dabuild::builds::get_grch38_p13;
let build: GenomeBuild<u32> = get_grch38_p13();
Check build identifiers
We can check the major assembly and the patch of the build:
assert_eq!(build.id().major_assembly(), "GRCh38");
assert_eq!(build.id().patch(), Some("p13"));
Access contigs
The genome build contains one or more contigs.
We can iterate over all contigs, e.g. to count them:
let count = build.contigs().count();
assert_eq!(count, 640);
and we can also access a contig (e.g. chrY
) by one of its names:
// Query by name ...
let y = build.contig_by_name("Y");
assert!(y.is_some());
/// ... or GenBank accession ...
let y = build.contig_by_name("CM000686.2");
assert!(y.is_some());
/// ... or RefSeq accession ...
let y = build.contig_by_name("NC_000024.10");
assert!(y.is_some());
/// ... or UCSC identifier.
let y = build.contig_by_name("chrY");
assert!(y.is_some());
Dependencies
~150KB