Zubair Khalid

Virologist/Molecular Biologist | Veterinarian | Bioinformatician

Conventional & Molecular Virology • Vaccine Development • Computational Biology

Dr. Zubair Khalid is a veterinarian and virologist specializing in conventional and molecular virology, vaccine development, and computational biology. Dedicated to advancing animal health through innovative research and multi-omics approaches.

Dr. Zubair Khalid - Veterinarian, Virologist, and Vaccine Development Researcher specializing in Computational Biology, Multi-omics, Animal Health, and Infectious Disease Research

Blog · Guides · Published 2026-07-12

FASTQ Quality Control: A Researcher's Guide to Read-Level Diagnostics

FASTQ quality control (QC) is the process of evaluating raw sequencing reads for technical artifacts, base-calling confidence, and contamination before any downstream analysis. This guide explains the five core diagnostics: per-base quality scores, adapter presence, duplication levels, overrepresented sequences, and the decision log needed to document each filtering step. It is written for bench researchers, bioinformatics newcomers, and experienced analysts who want a practical, evidence based reference. NCBI Bookshelf provides authoritative background on sequence quality metrics, while EMBL-EBI Training offers step by step tutorials for running QC tools.

The goal is not to impose universal thresholds but to give you criteria for making informed decisions with your data. Each sequencing platform, library preparation kit, and organism introduces unique noise. A systematic QC workflow separates technical failures from biological signal. Galaxy Training Network contains reusable workflows that illustrate this process in practice.

At a Glance: FASTQ QC Metrics

Metric What It Detects Common Threshold Example Tool
Per-base quality Base calling accuracy drop toward read ends Mean Q score > 20 at all positions, watch for Q < 20 in last 10 bases FastQC
Adapter content Residual adapter sequences from library prep Present in > 0.1% of reads, trim if detected Cutadapt, Trimmomatic
Duplicate sequences PCR duplication vs true biological abundance > 50% duplicates may indicate low complexity, keep for RNA-seq FastQC, Picard
Overrepresented sequences Contaminants (e.g., rRNA, PhiX, host DNA) Single sequence > 1% of total, BLAST to identify FastQC, BLAST
Sequence length distribution Truncated or merged reads Consistent with expected insert size FastQC

Per-Base Quality Scores: Interpreting the Boxplot

Each nucleotide in a FASTQ read carries a Phred quality score (Q) that estimates the probability of an incorrect base call. For Illumina data, Q scores typically start high (Q 30+) and degrade along the read. A good per-base quality plot shows a tight interquartile range above Q 30 for most of the read, with a gentle drop at the 3prime end. Bioconductor packages like ShortRead and Fastqc provide the R functions to extract these summaries and flag problematic runs.

When you see a sharp dip below Q 20 in the first few bases, suspect an issue with the sequencing chemistry or a mis-calibrated base caller. A sudden drop at the last 10 to 15 bases is typical and can often be mitigated by trimming. If the median quality falls below Q 20 across the entire read, the library may have degraded or the run failed. In that case, consider re sequencing or removing the low quality read pair entirely.

Key decision: Trimming thresholds. A common choice is to trim from the 3prime end until a moving window of four bases averages above Q 15 or Q 20. For RNA-seq, aggressive trimming can lose splice junctions, so some analysts trim only the adapter and leave low quality bases if they do not affect alignment. For amplicon data, trimming to a fixed length is safer. Document your chosen threshold in the project log.

Adapter Contamination: Detection and Trimming Decisions

Adapter sequences are synthetic oligonucleotides added during library preparation. If the insert is shorter than the read length, the sequencer will read into the adapter. Adapter contamination inflates unaligned reads and creates false chimeric alignments. FastQC reports adapter content as cumulative percentages by position. NCBI Sequence Read Archive policies require that submitted reads be adapter trimmed, use the same standard for your own analysis.

A positive adapter detection means you must trim. Tools like Cutadapt, Trimmomatic, and fastp automatically recognize common Illumina adapters. For single cell RNA-seq split pool protocols, adapter sequences may differ, the pipeline described by CapMux (Front Bioinform, 2025) shows how early demultiplexing requires careful adapter identification. You should confirm the exact adapter sequences used by your sequencing facility or kit manufacturer.

Decision rule: If adapter detection exceeds 0.1% of reads, trim. If it is below that, trimming is optional but still benign. For paired end reads, a significant fraction of read pairs where both reads contain adapter indicates that the insert is shorter than the read length, in that case, you should also consider whether to merge the reads for downstream analysis.

Sequence Duplication Levels: Biological vs Technical Artefacts

FastQC reports the percentage of duplicate reads in the sample. A duplicate is defined as two reads with identical sequences (or identical first N bases). High duplication can come from genuine biological overabundance (e.g., ribosomal RNA, highly expressed transcripts) or from PCR bias during library amplification. Compi RNA-seq pipeline (J Integr Bioinform, 2025) includes a duplication filtering step in its QC module for RNA-seq data.

The interpretation differs by experimental design. For whole genome DNA sequencing, a duplication rate above 20 to 30 percent often signals insufficient input DNA or too many PCR cycles. For RNA-seq, highly expressed genes naturally produce many duplicates, a 50 percent duplication rate can be acceptable. For single cell RNA-seq, duplicates are rarer because each cell receives a unique barcode. The scRNA-seq atlas of prostate cancers (bioRxiv, 2025) uses UMI based duplicate detection to distinguish technical duplicates from true expression.

Key distinction: FastQC counts duplicates based on sequence identity, not molecular barcodes. For UMI based libraries, use a UMI aware deduplication tool instead. If you are not using UMIs, keep duplicates for RNA-seq and remove them for DNA seq variant calling unless you are targeting repetitive regions.

Overrepresented Sequences: Identifying Contaminants and Biases

When a single sequence constitutes more than 1 percent of your total reads, it is flagged as overrepresented. Common culprits include adapter dimers, rRNA fragments, PhiX control spike in, and host DNA contamination (e.g., human reads in a bacterial sample). FastQC attempts to match the sequence against a small default database, but you should perform your own BLAST search for confirmation.

Expression analysis of EMP1 in kidney stone patients (Int Urol Nephrol, 2024) mentions overrepresented sequences as part of their QC pipeline for kidney tissue RNA seq. In practice, you may see abundant mitochondrial rRNA or globin mRNA in blood derived samples. If the overrepresented sequence is a known contaminant with no biological interest, you can remove it by mapping against a contaminant database (e.g., using BBDuk or DeconSeq). If it is the target transcript (e.g., a highly expressed housekeeping gene), leave it in but note it in the QC report.

Practical action: Create a custom contaminant list from common lab organisms (E. coli, mycoplasma, yeast) and use it for filtering. If you observe a novel overrepresented sequence, BLAST it and record the result in your decision log. This is especially important for metagenomic or environmental samples where the expected composition is unknown.

Decision Logs: Recording QC Parameters for Reproducibility

A decision log is a plain text or Markdown file that documents each QC parameter, the reasoning behind it, and the software version used. For example: "Trimmed using Cutadapt v4.0, removed adapter AGATCGGAAGAGC, minimum read length 20, Phred quality threshold Q20 over a 4 base sliding window." This log ensures that anyone rerunning the analysis can use identical settings. REPLAY (bioRxiv, 2025), a pipeline for Repli seq, illustrates how a reproducible QC log is built into the workflow.

Include in your log: the raw file name, total number of reads, number of reads retained after trimming, per base quality summary, identified adapters, and any sequences that were removed as contaminants. If you used multiple tools, list each with its version. This is not just for publication, it helps you catch mistakes months later.

Practical Workflow: Running FASTQC, MultiQC, and Trimming

  1. Run FastQC on every raw FASTQ file to generate individual HTML reports.
  2. Aggregate reports using MultiQC for a single overview of all samples.
  3. Examine per base quality, adapter content, duplication, and overrepresented sequences.
  4. Define trimming parameters based on your worst sample (e.g., trim the last 10 bases if quality degrades across all samples).
  5. Apply trimming with cutadapt or fastp. Re run FastQC on trimmed files.
  6. Document all decisions in the log.

For bulk RNA-seq, the RNA Sequencing Analysis guide continues this workflow through alignment and quantification. For single cell RNA seq, the analysis roadmap incorporates additional QC steps for barcode and UMI quality.

Common Mistakes

  • Setting a single quality threshold for all samples without considering platform differences. Each flow cell or library batch may have distinct characteristics. Check per sample plots before standardizing.
  • Ignoring adapter contamination because FastQC shows a low percentage. Even 0.1 percent can introduce misalignment if you are studying splice junctions or small RNAs.
  • Removing duplicates without checking the biological context. In RNA-seq, many duplicates are real. In DNA seq, duplicates should be marked but not removed for certain variant callers.
  • Skipping the decision log. You may not remember why you trimmed to Q20 vs Q15 six months later. Write it down.
  • Over trimming reads below a length of 20 bases. Very short reads rarely align uniquely and may become noise.

Limits and Uncertainty in FASTQ QC

FastQC does not detect all issues. It cannot identify mis assignment of barcodes, index hopping, or systematic errors from optical duplicates. Per base quality scores are also platform specific, Oxford Nanopore and PacBio use different quality metrics that FastQC may misinterpret. Enhancing rapeseed drought resilience (BMC Res Notes, 2024) discusses the need for platform aware QC in their transcriptomic study.

Another limitation is that overrepresented sequence detection relies on a small default database. You must manually investigate flagged sequences. Even then, a novel transcript or a fragment of a repetitive element may appear overrepresented without being problematic. Always cross reference with your experimental design.

Finally, QC metrics cannot recover a truly degraded library. If per base quality is uniformly low and adapter content is high, the library may be compromised and no amount of trimming will salvage reliable data. In such cases, the best decision is to discard the sample and sequence a new library.

Frequently Asked Questions

What is the minimum Phred score I should accept for RNA-seq reads?
Most analysts accept a median per base score of at least Q 20. For downstream variant calling or single cell applications, Q 30 is preferable. The safe approach is to trim until a moving window of 4 bases averages above Q 20.

How do I distinguish PCR duplicates from biological duplicates in FastQC?
FastQC cannot distinguish them because it only looks at identical sequences. For UMI based libraries, use UMI aware tools like UMI tools or zUMIs. For non UMI RNA-seq, retain duplicates and rely on alignment based counting to handle multimapped reads.

Should I trim adapter sequences if FastQC says “no adapter” but my reads fail to align?
Yes. FastQC uses a limited adapter set. If your library uses a custom adapter or a unique molecular index, FastQC may miss it. Always check the read sequences directly with grep or use a tool like BBDuk that searches for known adapters in your kit.

Can I use the same QC parameters for single cell RNA-seq as for bulk RNA-seq?
Only partially. Single cell data has additional issues: barcode quality, UMI collisions, and ambient RNA. The Single Cell RNA seq QC guide addresses cell level filtering. For the FASTQ level, per base quality and adapter trimming follow the same principles.

References and Further Reading

Related Articles