bamnado/lib.rs
1//! # BamNado Library
2//!
3//! `bamnado` is a high-performance Rust library for manipulating BAM files, designed specifically
4//! for specialized genomics workflows such as single-cell ATAC-seq (scATAC-seq) and Multi-modal
5//! Cellular Characterization (MCC).
6//!
7//! ## Core Features
8//!
9//! * **Coverage Analysis**: Efficient calculation of coverage signals across chromosomes.
10//! * **BAM Splitting**: Tools for splitting BAM files based on various criteria.
11//! * **Read Filtering**: Advanced filtering capabilities for BAM reads.
12//! * **Signal Normalization**: Methods for normalizing genomic signals.
13//! * **Spike-in Analysis**: Utilities for handling spike-in controls.
14//!
15//! ## Modules
16//!
17//! * [`bam_modifier`]: Tools for modifying BAM records.
18//! * [`bam_splitter`]: Functionality for splitting BAM files.
19//! * [`bam_utils`]: General utilities and statistics for BAM files.
20//! * [`coverage_analysis`]: Core logic for generating coverage tracks.
21//! * [`genomic_intervals`]: Handling of genomic coordinates and intervals.
22//! * [`read_filter`]: Structures and traits for filtering reads.
23//! * [`signal_normalization`]: Normalization strategies for coverage data.
24//! * [`spike_in_analysis`]: Analysis tools for spike-in normalization.
25
26// Rust crates
27
28// Internal modules
29pub mod bam_modifier;
30pub mod bam_splitter;
31pub mod bam_utils;
32pub mod bedgraph_utils;
33pub mod bigwig_compare;
34pub mod coverage_analysis;
35pub mod genomic_intervals;
36pub mod read_filter;
37pub mod signal_normalization;
38pub mod spike_in_analysis;
39
40pub use bam_utils::{BamStats, CellBarcodes, CellBarcodesMulti, Strand};