FASTQ Format
Description
FASTQ stores sequencing reads as four-line blocks: identifier, sequence, separator, and quality string. IterableData yields one dict per read with id, description, sequence, and quality. Registry id is fq (alias fastq). It is read-only in this release. Stdlib only — no optional dependency.
File Extensions
.fq— FASTQ (registry idfq).fastq— common alias
Implementation Details
Reading
- Parses classic four-line FASTQ blocks
@header split intoidand optionaldescription- Skips incomplete trailing blocks
- Streams from filename or text stream; supports
encoding
Writing
Writing is not supported.
Key Features
- Quality-aware reads: Phred ASCII quality string preserved as-is
- Zero extras: base install only
- Flat records: one dict per read
Usage
from iterable import open_iterable
with open_iterable("reads.fq") as source:
for rec in source:
print(rec["id"], len(rec["sequence"]), rec["quality"][:10])
Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
encoding | str | utf-8 | No | Text encoding for the file |
Installation
pip install iterabledata
No format-specific extra.
Limitations
- Read-only
- Classic 4-line blocks only (multi-line sequence/quality variants not supported)
- Does not validate that sequence and quality lengths match
Error Handling
- No ImportError for missing third-party deps
- Format is registered writable=False
- I/O errors: missing or unreadable files
- Truncated files stop at the last complete block