ADF module
- class ResultADF(variant_flagged: TestOutcomes, info_flag: enum.Flag | None, reads_seen: int, strand: Strand)[source]
Bases:
FlagResult
- reads_seen: int
- getinfo(alt: str) str [source]
Return basic filter info in a string formatted for use in the VCF INFO field - “<flag>|<code>”.
Each filter must return INFO as it should be formatted for the VCF INFO field, or None if not applicable. Subclasses must override this method to return more specific info.
- FlagName: ClassVar[str] = 'ADF'
- InfoFlagsAllSet: ClassVar[Flag | None] = 127
- class FixedParamsADF(*, edge_definition: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.FixedParamsADF.<lambda>)], edge_clustering_threshold: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.FixedParamsADF.<lambda>)], min_MAD_one_strand: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], min_sd_one_strand: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], min_MAD_both_strand_weak: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], min_sd_both_strand_weak: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], min_MAD_both_strand_strong: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], min_sd_both_strand_strong: ~typing.Annotated[float, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], min_non_edge_reads: ~typing.Annotated[int, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)], low_n_supporting_reads_boundary: ~typing.Annotated[int, ~pydantic.functional_validators.AfterValidator(func=~hairpin2.process_wrappers.ADF.validate_positive)])[source]
Bases:
FixedParams
- edge_definition: <lambda>)]
- edge_clustering_threshold: <lambda>)]
- min_MAD_one_strand: Annotated[float, AfterValidator(func=validate_positive)]
- min_sd_one_strand: Annotated[float, AfterValidator(func=validate_positive)]
- min_MAD_both_strand_weak: Annotated[float, AfterValidator(func=validate_positive)]
- min_sd_both_strand_weak: Annotated[float, AfterValidator(func=validate_positive)]
- min_MAD_both_strand_strong: Annotated[float, AfterValidator(func=validate_positive)]
- min_sd_both_strand_strong: Annotated[float, AfterValidator(func=validate_positive)]
- min_non_edge_reads: Annotated[int, AfterValidator(func=validate_positive)]
- low_n_supporting_reads_boundary: Annotated[int, AfterValidator(func=validate_positive)]
- model_config: ConfigDict = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'frozen': True, 'strict': True}
parent dataclass to be be inherited from to store specific fixed parameters for a particular subclass of FilterTester, or in other words for a particular filtering test. Using subclasses of this class for the fixed parameters provides type-safety and a consistent interface for implementing filters
- test_adf(run_params: RunParamsShared, fixed_params: FixedParamsADF)[source]
- class FlaggerADF(engine_fixed_params: FixedParams | None, require_marks: Sequence[str], exclude_marks: Sequence[str])[source]
Bases:
ReadAwareProcess
Anomalous Distribution Filter based on the hairpin filtering algorithm described in Ellis et al. 2020 (DOI: 10.1038/s41596-020-00437-6)
- AddsMarks: ClassVar[set[str] | None] = None
- EngineFactory() ProcessEngineProtocol[RunParams, FlagResult]
- FixedParamClass
alias of
FixedParamsADF
- ProcessNamespace: ClassVar[str | None] = 'ADF'
- ProcessType: ClassVar[ProcessKindEnum | None] = <class 'hairpin2.infrastructure.process_engines.VariantFlaggerEngine'>