Validator
Mojo struct 🡭
Validator
Section titled “Validator”@memory_onlystruct ValidatorValidator for optional ASCII and quality checks on FASTQ records.
Structure (@, +, seq/qual length) is validated in the parser hot loop; this validator only runs optional ASCII and quality-range checks when enabled via ParserConfig (check_ascii, check_quality). Used by FastqParser when those flags are True; can also be used standalone on FastqRecord or FastqView.
Attributes: check_ascii: If True, validate() requires all record bytes to be ASCII. check_quality: If True, validate() checks quality bytes against quality_schema. quality_schema: Bounds (LOWER, UPPER) and OFFSET for quality validation.
Fields
Section titled “Fields”- check_ascii (
Bool) - check_quality (
Bool) - quality_schema (
QualitySchema)
Implemented traits
Section titled “Implemented traits”AnyType, Copyable, ImplicitlyDestructible, Movable
Methods
Section titled “Methods”__init__
Section titled “__init__”def __init__(out self, check_ascii: Bool, check_quality: Bool, quality_schema: QualitySchema)Initialize Validator with ASCII/quality flags and quality schema.
Args:
- check_ascii (
Bool): If True, validate() will reject non-ASCII bytes in records. - check_quality (
Bool): If True, validate() will check quality bytes against schema. - quality_schema (
QualitySchema): Schema used for quality validation (e.g. from_parse_schema). - self (
Self)
Returns:
Self
id_snippet
Section titled “id_snippet”def id_snippet(self, record: FastqRecord) -> StringExtract id snippet from record for error messages.
Args:
- self (
Self) - record (
FastqRecord)
Returns:
String
def id_snippet(self, record: FastqView[record.origin]) -> StringExtract id snippet from FastqView for error messages.
Args:
- self (
Self) - record (
FastqView)
Returns:
String
validate
Section titled “validate”def validate(self, record: FastqRecord, record_number: Int = 0, line_number: Int = 0)Run configured validations (ASCII and/or quality) for a parsed FASTQ record.
Structure is validated in the parser hot loop; here only check_ascii and check_quality are applied when enabled.
Args:
- self (
Self) - record (
FastqRecord): The FastqRecord to validate. - record_number (
Int): Optional 1-indexed record number for error context (0 if unknown). - line_number (
Int): Optional 1-indexed line number for error context (0 if unknown).
Raises:
def validate(self, record: FastqView[record.origin], record_number: Int = 0, line_number: Int = 0)Run configured validations (ASCII and/or quality) for a parsed FASTQ record.
Structure is validated in the parser hot loop; here only check_ascii and check_quality are applied when enabled.
Args:
- self (
Self) - record (
FastqView): The FastqView to validate. - record_number (
Int): Optional 1-indexed record number for error context (0 if unknown). - line_number (
Int): Optional 1-indexed line number for error context (0 if unknown).
Raises: