Intentionally Corrupt FASTQ — Final Record Missing Its Quality Line (.fastq)
An intentionally corrupt FASTQ whose first five records are complete and whose sixth ends after the plus line, leaving no quality string. A four-line-block reader must report an incomplete final record rather than pairing the sequence with an empty quality string.
@NX_READ_001 length=60
GGCGCGCACGTGGGGGCCCCCAAAAAGCTCTAATGGACTGAATATTGGGGCGTTCTGATA
+
FGHFHEGEFDGDFGHDHEEECCFGCFFBDCFBEFDBDCEAAACCEBB@CAB@ACAC@@BB
@NX_READ_002 length=60
AACTATCTTAGATAAGAGTAGACGAGAGCAACCAGACTACTTGTTGTGGGCTGCGAGGAC
+
GHFHHEGFFDFHDEEGGFFFEDDDFDFFEFEDBFDCEDEEDCACDADABBBBDBA?@CC@
@NX_READ_003 length=60
AGCGACAGATATAGCTTACCGCCGCGGCTATAAGCAAAGTGTGTCAACGAACGGCTTTCT
+
IFFFIHEIGHEDGGHDGHEDDGFGGCFBCBDCDEDDBCCCEEEBEBCBCDABBDCAABBC
@NX_READ_004 length=60
CAAGAGCATGGGCCCAATCCGTTGATTACTGAGCTTCATCGGATCCATTAACCGTCGGGT
+
HEFEEEIHIFFGHEGDEHCFCGGGEGDDFEEFCCEBEADBDCCEC@BCBBDDAD??AB??
@NX_READ_005 length=60
ACGGCAAGCCGAAAAGATATTATTGATTGATCTTACATTCGATCGGTTCGCAGACCCGAG
+
IFHIFGEHHEGEGFGFGFGDEGGCDCFFCDEFFEEEDCBCDCEADAACB@@CDBBC@@CC
@NX_READ_006 length=60
ACCCGCAGTTTGGAGTGCCTAGCGACTAATGTGACACTGTGGTATCGCTCCTTCTTAGGA
+
Specifications
- Intentionally Corrupt
- true
- Complete Records
- 5
- Truncated Records
- 1
- Damage
- the last record has header, sequence and plus line but no quality line
- Lines Per Record
- 4
- Actual Final Record Lines
- 3
Testing contract
Expected to fail- Scenario
- Read the file in four-line records and report how many complete records it contains.
- Expected result
- Five records parse cleanly and the sixth raises an incomplete-record error at end of file, rather than yielding a read whose quality string is empty or reused from the previous record.
What is a .fastq file?
FASTQ pairs each sequence with per-base quality scores. A record is exactly four lines: a `@` header, the sequence, a `+` separator that may repeat the header, and a quality line of the same length whose characters encode Phred scores as ASCII with an offset — 33 in the Sanger/Illumina 1.8+ encoding, 64 in older Illumina data. Misidentifying that offset silently shifts every quality value by 31.
How to use this file
Use an example .fastq file to test read parsers, quality-trimming tools, and encoding detection, verifying that sequence and quality lengths match, that a `@` at the start of a quality line is not mistaken for a new record, and that the documented offset is applied.
How to use this file for testing
“Intentionally Corrupt FASTQ — Final Record Missing Its Quality Line (.fastq)” is a deterministic Novus Examples fixture for Scientific data, Error handling, Editor testing. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS) — for testing reference managers, molecule viewers, and scientific-data loaders.
Documented properties for this file: damage: the last record has header, sequence and plus line but no quality line · intentionally corrupt. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Scientific fixtures are small, valid, and fully synthetic — no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.
Related files
- fastaProtein FASTA — Ambiguity Codes X, B and Z (.fasta)Three synthetic protein sequences that begin with methionine and include the X, B and Z ambiguity codes, which are legal IUPAC residues rather than errors. A validator restricted to the twenty standard amino acids rejects all three files.

- csvCensored Values and Detection Limits — Non-Numeric Results (.csv)Nine laboratory results where only four are plain numbers: two are below the detection limit, one is above range, two are missing in different spellings, and one is a legitimate small negative near the blank. Coercing the censored strings to numbers or to NaN both bias the summary, and the file distinguishes every case explicitly.

- cifCIF Parser Edge Cases — Quotes, Text Fields and Wrapped Loops (.cif)A CIF built entirely out of the constructs that break naive parsers: quoted values containing apostrophes and hashes, a semicolon-delimited multi-line text field, the distinct '?' and '.' markers, a standard uncertainty written as 1.2345(7), and a loop whose rows wrap across lines. Every one of them is legal CIF.

- jsonIEEE-754 float64 Boundary Values — JSON With No NaN Literal (.json)The same boundary values as strict RFC 8259 JSON, where non-finite numbers are null in the numeric field and text in the string field because the standard has no NaN or Infinity literal. It is the fixture for the encoder that emits bare NaN and produces JSON nothing else will parse.

- jsonIntegers Beyond 2^53 in JSON — Silent Identifier Corruption (.json)Six large integers written both as JSON numbers and as strings, including the 2^53 boundary where consecutive integers stop being distinguishable in a double. A parser backed by doubles turns 9007199254740993 into 9007199254740992 and reports no error at all.

- mtxMatrix Market — Zero Stored Entries, Still Valid (.mtx)A valid Matrix Market file describing a 6x6 matrix with no stored entries, which is an all-zero matrix rather than an error. It separates readers that model an empty result from readers that treat a missing entry block as truncation.

Generated by generation/scientific.py. Free for any use, no attribution required — license.