Skip to main content

gtars_genomicdist/
lib.rs

1//! Genomic distribution and statistics for region sets.
2//!
3//! This crate provides tools for analyzing the distribution of genomic regions
4//! across chromosomes, including:
5//!
6//! - Computing summary statistics (min, max, mean, median) for region lengths per chromosome
7//! - Binning genomes into fixed-size windows and counting region overlaps
8//! - Analyzing genomic coverage patterns
9//!
10//! # Example
11//!
12//! ```no_run
13//! use gtars_genomicdist::GenomicIntervalSetStatistics;
14//! use gtars_core::models::RegionSet;
15//!
16//! let regions = RegionSet::try_from("input.bed").unwrap();
17//!
18//! // Get statistics per chromosome
19//! let stats = regions.chromosome_statistics();
20//!
21//! // Get region distribution across 10 bins
22//! let distribution = regions.region_distribution_with_bins(250);
23//! ```
24
25pub mod asset;
26pub mod bed_classifier;
27pub mod consensus;
28pub mod errors;
29pub mod models;
30pub mod partitions;
31pub mod region_set_list_ops;
32pub mod signal;
33pub mod statistics;
34pub mod stranded_region_set;
35pub mod utils;
36
37// re-exports
38pub use asset::GenomicDistAnnotation;
39#[cfg(feature = "bedclassifier")]
40pub use bed_classifier::classify_bed;
41pub use gtars_core::models::CoordinateMode;
42pub use consensus::{ConsensusRegion, consensus};
43pub use region_set_list_ops::pairwise_jaccard;
44pub use region_set_list_ops::RegionSetListOps;
45pub use partitions::{
46    calc_expected_partitions, calc_partitions, genome_partition_list, ExpectedPartitionResult,
47    ExpectedPartitionRow, GeneModel, PartitionList, PartitionResult,
48};
49pub use models::{SortedRegionSet, Strand, StrandedRegionSet};
50pub use signal::{calc_summary_signal, ConditionStats, SignalMatrix, SignalSummaryResult};
51pub use statistics::GenomicIntervalSetStatistics;
52pub use utils::{chrom_karyotype_key, median_abs_distance};
53pub use statistics::{calc_dinucl_freq, calc_gc_content, DINUCL_ORDER};