gtars-overlaprs
Core infrastructure for all genomic interval overlap computations.
Purpose
Section titled “Purpose”gtars-overlaprs provides the foundational overlap computation primitives that all other modules build upon. This is the single source of truth for efficient interval operations in gtars.
Features
Section titled “Features”- Efficient interval intersection algorithms using AIList data structure
- Coverage calculations with bit vectors
- Support for large-scale genomic datasets (millions of intervals)
- Optimized memory usage and logarithmic query time
- Common
Overlappertrait for consistent interface
From Rust
Section titled “From Rust”use gtars_overlaprs::{AIList, Interval};
// Create an AIList from intervalslet mut ailist = AIList::new();ailist.add(Interval::new(100, 200));ailist.add(Interval::new(150, 250));
// Query overlapslet overlaps = ailist.query(120, 180);Data Structures
Section titled “Data Structures”- AIList - Augmented Interval List for fast overlap queries
- Bits - Bit vector implementation for coverage calculations
- Overlapper - Trait for implementing overlap operations
Performance
Section titled “Performance”Optimized for:
- Large BED files (millions of intervals)
- Fast overlap queries (logarithmic time)
- Memory efficiency through compact data structures