1#![deny(unsafe_code)]
2
3pub mod base_builder;
17pub mod caller;
18pub mod filter;
19pub mod overlapping;
20pub mod phred;
21pub mod sequence;
22pub mod simple_umi;
23pub mod tags;
24
25#[cfg(feature = "simplex")]
26pub mod vanilla_caller;
27
28#[cfg(feature = "duplex")]
29pub mod duplex_caller;
30
31#[cfg(feature = "codec")]
32pub mod codec_caller;
33
34mod vendored;
35
36pub use base_builder::ConsensusBaseBuilder;
38pub use caller::{ConsensusCaller, calculate_error_rate, log_consensus_statistics};
39pub use filter::{
40 ConsensusType, FilterConfig, FilterResult, FilterThresholds, compute_read_stats,
41 count_no_calls, filter_duplex_read, filter_read, is_duplex_consensus, mask_bases,
42 mask_duplex_bases, mean_base_quality, template_passes,
43};
44pub use overlapping::{
45 AgreementStrategy, CorrectionStats, DisagreementStrategy, OverlappingBasesConsensusCaller,
46 apply_overlapping_consensus,
47};
48pub use sequence::ConsensusSequence;
49
50#[cfg(feature = "simplex")]
51pub use vanilla_caller::{
52 VanillaConsensusRead, VanillaUmiConsensusCaller, VanillaUmiConsensusOptions,
53};
54
55#[cfg(feature = "simplex")]
56pub(crate) use vanilla_caller::{
57 IndexedSourceRead, ReadType, SourceRead, select_most_common_alignment_group,
58};
59
60#[cfg(feature = "duplex")]
61pub use duplex_caller::{DuplexConsensusCaller, DuplexConsensusRead};
62
63#[cfg(feature = "codec")]
64pub use codec_caller::{CodecConsensusCaller, CodecConsensusOptions, CodecConsensusStats};