BedParser
Mojo struct 🡭
BedParser
Section titled “BedParser”@memory_onlystruct BedParser[R: Reader]Streaming BED parser over a Reader.
Skips comment lines (#), blank lines, and UCSC track/browser header lines. Accepts any column count >= 3. Columns 10+ (or 10-11 for BED10/11) are collected into other_fields as raw byte spans.
API: - next_view() -> BedView (zero-unsafe_alloc; invalidated on next advance) - next_record() -> BedRecord (materialized; raises EOFError when exhausted) - for rec in parser / records() -> BedRecord - for view in parser.views() -> BedView
Aliases
Section titled “Aliases”IteratorType[origin: Origin[mut=mut]]: AnyStruct[_BedParserRecordIter[R, origin]] = _BedParserRecordIter[R, origin]
Parameters
Section titled “Parameters”- R (
Reader)
Implemented traits
Section titled “Implemented traits”AnyType, Deinitable, Iterable, Movable
Methods
Section titled “Methods”__init__
Section titled “__init__”fn def __init__(out self, var reader: R)Args:
- reader (
R) - self (
Self)
Returns:
Self
Raises:
has_more
Section titled “has_more”fn def has_more(self) -> BoolArgs:
- self (
Self)
Returns:
Bool
next_view
Section titled “next_view”fn def next_view(mut self) -> BedView[MutUntrackedOrigin]Return the next BED record as a zero-unsafe_alloc view.
Args:
- self (
Self)
Returns:
BedView[MutUntrackedOrigin]
Raises:
EOFError: When no more records. Error: On fewer than 3 fields, non-integer coordinates, chromStart > chromEnd, or invalid score/strand/itemRgb/blocks.
next_record
Section titled “next_record”fn def next_record(mut self) -> BedRecordReturn the next BED record as an owned BedRecord.
Args:
- self (
Self)
Returns:
BedRecord
Raises:
fn def views(ref self) -> _BedParserViewIter[R, origin_of(self)]Iterator yielding zero-unsafe_alloc BedViews.
Args:
- self (
Self)
Returns:
_BedParserViewIter[R, origin_of(self)]
records
Section titled “records”fn def records(ref self) -> _BedParserRecordIter[R, origin_of(self)]Iterator yielding owned BedRecords.
Args:
- self (
Self)
Returns:
_BedParserRecordIter[R, origin_of(self)]
__iter__
Section titled “__iter__”fn def __iter__(ref self) -> _BedParserRecordIter[R, origin_of(self)]Args:
- self (
Self)
Returns:
_BedParserRecordIter[R, origin_of(self)]