genomicframe_core/lib.rs
1//! # genomicframe-core
2//!
3//! High-performance, memory-efficient genomics I/O and interoperability layer written in Rust.
4//!
5//! ## Phase 1: Core Format Support
6//!
7//! This crate provides efficient readers and writers for major bioinformatics formats:
8//! - VCF/BCF (Variant Call Format)
9//! - BAM/CRAM (Binary Alignment Map)
10//! - FASTA/FASTQ (Sequence formats)
11//! - GFF/GTF (Gene annotations)
12//!
13//! ## Architecture
14//!
15//! - Zero-copy parsing where possible
16//! - Memory-mapped I/O for large files
17//! - Arrow-compatible columnar representations
18//! - Lazy and eager iteration models
19//! - Optional async I/O and cloud storage support
20
21// #![warn(missing_docs)]
22#![warn(clippy::all)]
23
24// Core types and traits
25pub mod core;
26
27// Format-specific readers and writers
28pub mod formats;
29
30// I/O abstractions (sync, async, cloud)
31pub mod io;
32
33// Common error types
34pub mod error;
35
36// Utilities and helpers
37pub mod utils;
38
39pub mod stats;
40
41// Parallel processing infrastructure
42pub mod parallel;
43
44// Genomic interval operations
45pub mod interval;
46
47// Generic filtering traits and combinators
48pub mod filters;
49
50// Filtered reader wrapper for ergonomic filter chaining
51pub mod filtered_reader;
52
53// Expression AST for GenomicFrame query language
54pub mod expression;
55
56// Schema system for format introspection
57pub mod schema;
58
59// Logical plan representation for query engine
60pub mod plan;
61
62// Execution engine for running plans
63pub mod execution;
64
65// Re-export commonly used types
66pub mod prelude {
67 //! Convenience module for glob imports
68 pub use crate::core::*;
69 pub use crate::error::{Error, Result};
70 pub use crate::interval::GenomicInterval;
71}