pub mod cli;
pub mod conversion;
pub mod dtc;
pub mod external_sort;
pub mod harmonize;
pub mod inference;
pub mod input;
pub mod liftover;
pub mod panel;
pub mod panel_writer;
pub mod plink;
pub mod reference;
pub mod remote;
pub mod report;
pub mod smart_reader;
pub mod source_ref;
pub mod vcf_utils;
pub use conversion::{ConversionConfig, OutputFormat, convert_dtc_file};
#[derive(Debug, Default, Clone)]
pub struct ConversionSummary {
pub total_records: usize,
pub emitted_records: usize,
pub variant_records: usize,
pub reference_records: usize,
pub missing_genotype_records: usize,
pub skipped_reference_sites: usize,
pub unknown_chromosomes: usize,
pub reference_failures: usize,
pub invalid_genotypes: usize,
pub symbolic_allele_records: usize,
pub parse_errors: usize,
pub liftover_unmapped: usize, pub liftover_ambiguous: usize, pub liftover_incompatible: usize, pub liftover_straddled: usize, pub liftover_contig_missing: usize, }
impl ConversionSummary {
pub fn record_emission(&mut self, has_alt: bool) {
self.emitted_records += 1;
if has_alt {
self.variant_records += 1;
} else {
self.reference_records += 1;
}
}
}