Skip to content

How Trim Galore works

Trim Galore reads FASTQ, applies quality and adapter trimming in a single pass, filters short reads, and writes trimmed FASTQ plus a per-input report. Specialty modes (RRBS, hard-trim, IMPLICON preprocessing, demultiplexing) layer on top. The pipeline is the same for any base-space high-throughput data; bisulfite/RRBS users should also read Bisulfite & RRBS for library-specific guidance.

Adaptive quality and adapter trimming with Trim Galore

Section titled “Adaptive quality and adapter trimming with Trim Galore”

Trim Galore handles quality trimming, adapter detection, adapter removal, length filtering, and specialty modes in a single pass over the data, with optional post-trimming quality reporting via the bundled fastqc-rust library (FastQC 0.12.1-compatible HTML + ZIP, no Java required). Originally a Perl wrapper around Cutadapt and an external FastQC install, v2.x is a faithful Rust rewrite that consolidates those passes while preserving the CLI and output filename conventions.

The pipeline runs in this order:

  1. Quality trimming. Phred-based, from the 3' end (BWA algorithm).
  2. Adapter trimming. Auto-detection or manual sequence; semi-global alignment with a configurable error rate and overlap.
  3. RRBS-specific trimming (only with --rrbs). Removes 2 bp from adapter-trimmed reads at MspI sites. See the RRBS mode page.
  4. Length filtering. Drops reads (or read pairs) below the cutoff.
  5. Paired-end validation. Discards pairs where at least one read became too short.
  6. Optional demultiplexing and FastQC.

Specialty modes (--hardtrim5, --hardtrim3, --clock, --implicon) run their own short-circuit pipeline and exit before quality and adapter trimming.