K-mer size as a literal number type (e.g., 21, 31)
ReadonlyidSequence identifier (required, but may be empty string in malformed data)
Optional ReadonlydescriptionOptional description/comment line
ReadonlysequenceThe actual sequence data
ReadonlylengthCached sequence length for performance
Optional ReadonlylineOriginal line number where this sequence started (for error reporting)
ReadonlykmerK-mer size (window size) tracked at compile-time
This field's type is the literal K, not just number.
TypeScript will infer K from the actual value.
ReadonlystepStep size used to generate these k-mers
Recorded for metadata/reproducibility but NOT tracked at compile-time.
ReadonlyoriginalOriginal sequence ID before windowing
Extracted from: {original_id}{suffix}:{start}-{end}
ReadonlystartStart position in original sequence (0-based or 1-based)
Coordinate system depends on WindowOptions.zeroBased setting.
ReadonlyendEnd position in original sequence (0-based or 1-based)
For 0-based: exclusive end (standard programming convention) For 1-based: inclusive end (bioinformatics convention)
ReadonlycoordinateCoordinate system used for startPosition and endPosition
ReadonlysuffixSuffix used when generating this window
ReadonlyisWhether this k-mer was generated from circular sequence wrapping
ReadonlywindowIndex of this k-mer within the original sequence's k-mer set
K-mer sequence with compile-time size tracking and parsed coordinate information
Extends AbstractSequence with k-mer-specific metadata extracted from seqkit sliding window ID format: {original_id}{suffix}:{start}-{end}
The generic parameter K tracks k-mer size at compile-time, enabling:
Example