Foundations for the Rust omics ecosystem.
Explore the docs »
Request Feature
·
Report Bug
·
⭐ Consider starring the repo! ⭐
The omics
crate provides foundational data structures for working with omics data. The
following features are included and are top-level goals of the project.
- Coordinate systems (
omics::coordinate
). Provides multiple genomic coordinate systems including both a 0-based, half-open coordinate system (also known as the interbase coordinate system) and 1-based, fully-closed coordinate system (also known as the in-base or just base coordinate system). - Biologically relevant molecules (
omics::molecule
). Representations of molecules relevant in omics including smaller compounds (e.g., nucleotides) and larger polymers (e.g., DNA, RNA). - Variation (
omics::variation
). Facilities for expressing common types of variation including single nucleotide variations (SNVs), insertions/deletions (INDELs), structural variations (SVs), and copy number variations (CNVs).
To bootstrap a development environment, please use the following commands.
# Clone the repository
git clone [email protected]:stjude-rust-labs/omics.git
cd omics
# Build the crate in release mode
cargo build --release
# List out the examples
cargo run --release --example
Before submitting any pull requests, please make sure the code passes the following checks (from the root directory).
# Run the project's tests.
cargo test --all-features
# Run the tests for the examples.
cargo test --examples --all-features
# Ensure the project doesn't have any linting warnings.
cargo clippy --all-features
# Ensure the project passes `cargo fmt`.
cargo fmt --check
# Ensure the docs build.
cargo doc
Contributions, issues and feature requests are welcome! Feel free to check issues page.
This project is licensed as either Apache 2.0 or MIT at your discretion. Additionally, please see the disclaimer that applies to all crates and command line tools made available by St. Jude Rust Labs.
Copyright © 2024-Present St. Jude Children's Research Hospital.