FASTQ Deep QC Report — FastQC-Style Read Quality Control
Per-base quality, GC and length distributions, duplication levels, overrepresented sequences and adapter content, each with a warn/fail verdict.
Paste a FASTQ file and get the full seven-module report FastQC is known for — same modules, same thresholds, straight from a paste. Per-base sequence quality is drawn as a box-and-whisker plot across read positions; per-base content overlays %A/%C/%G/%T; per-sequence GC content is compared against a theoretical normal distribution fit to your data's own modal GC%; duplication levels and overrepresented sequences are counted over the first 100,000 reads; and adapter content screens for the real Illumina TruSeq, Nextera and small-RNA adapter sequences. Every module gets an explicit pass/warn/fail verdict against FastQC's own published thresholds, not just a chart to eyeball.
Paste a FASTQ file (or load the example) to run the deep QC report.
How to use the FASTQ QC Report tool
- 1Paste FASTQ text (four lines per read: '@id', sequence, '+', quality) or load the example, and pick the Phred quality encoding.
- 2Review each module's chart and its pass/warn/fail badge — per-base quality/content, GC and length distributions, duplication levels, overrepresented sequences, and adapter content.
- 3Export any chart as SVG/PNG for your notebook, or share a link that reproduces the exact report.
Frequently asked questions
Is this the same as running FastQC?
Not the same program — it is an independent implementation of the same published modules and thresholds, so you get the same seven modules and the same pass/warn/fail verdicts without installing FastQC or a Java runtime. Where FastQC does not publish an internal detail (for example its exact duplication-level bin boundaries), the choice made here is documented on the tool page.
Which adapters does the adapter content module check for?
The real Illumina TruSeq (and the shared Illumina Universal 13bp prefix), Nextera transposase, and small RNA 3' (RA3) adapter sequences, as Illumina publishes them. A read is counted as containing an adapter from its first occurrence position through to the end of the read.
How are sequence duplication levels and overrepresented sequences sampled?
New distinct sequences are only tracked from the first 100,000 reads, but every subsequent read still increments the count for a sequence already being tracked — so a duplicate that first appears late in a very large file is not counted. This matches what FastQC does.
Can I run this from code?
Yes — the same report is available via the REST API and the MCP server.
Can it trim the reads, or only report on them?
Both. Alongside the report there is a trimmer: it removes the same named Illumina adapters the adapter-content module checks for, then quality-trims the 3' end at a Phred threshold of 20, and drops any read left shorter than 20 bases. You get the trimmed FASTQ back plus before/after read counts, mean length and mean quality, so you can see what the trim cost you. Paired-end trimming is not supported: reads are trimmed independently, so a pair whose mate is dropped is not removed with it.