fastqrab-steps 0.9.1

Pipeline building blocks for fastqrab: read transformations, filters, reports, and demultiplexing
Documentation
pub(crate) use super::{
    FinalizeReportResult, FragmentEntry, FragmentEntryForCuckooFilter, InputInfo, OurCuckCooFilter,
    PartialTransformation, Step, TagUsageInfo, TagUser, edits::get_bool_vec_from_tag,
    reproducible_cuckoofilter,
};
pub(crate) use crate::config::{
    DenyName, PartialConfig, TagMetadata, ValidateSegment, ValidateTagLabel,
};

pub use fastqrab_config::{
    ConditionalTagLabel, FileFormat, RemovedTags, TagLabel, TagValueType, ToDeclaredTag, ToUsedTag,
    ToUsedTags, UsedTag,
    dna::{HitDraft, HitRegion, HitRegionView, Hits, LocationColumn, TagColumn},
    offer_alternatives,
    segments::{
        ResolvedSourceAll,
        ResolvedSourceNoAll,
        SegmentIndex,
        SegmentIndexOrAll,
        //SegmentOrNameIndex,
    },
};

pub(crate) use crate::demultiplex::{
    DemultiplexBarcodes, DemultiplexedData, OptDemultiplex, StepOutputFiles,
};

pub(crate) use anyhow::{Context, Result, bail};
pub(crate) use fastqrab_io::io::{
    FastQBlocksCombined,
    output::chunked_writer::{
        ChunkPolicy, ChunkedRecordWriter, OutputDeclaration, SinkConfig, WriteTargetConfig,
    },
    reads::NewLocation,
    reads::WrappedFastQReadCommon,
};

pub(crate) use bstr::{BStr, BString};
pub(crate) use schemars::JsonSchema;

pub(crate) type DemultiplexTag = crate::demultiplex::Tag;

pub(crate) use std::sync::{Arc, Mutex};

pub(crate) use std::path::Path;

pub(crate) const ANY_TAG_TYPE: &[TagValueType] = &[
    TagValueType::String,
    TagValueType::Bool,
    TagValueType::Numeric((None, None)),
    TagValueType::Location,
];

pub use indexmap::IndexMap;
pub use toml_pretty_deser::prelude::*;
pub use typed_floats::tf64::NonNaN;

pub type FxIndexMap<K, V> = IndexMap<K, V, rustc_hash::FxBuildHasher>;