bio-read-qc-quality-filtering

Trim low-quality bases and filter reads using Trimmomatic sliding window or fastp quality filtering.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bio-read-qc-quality-filtering" with this command: npx skills add gptomics/bioskills/gptomics-bioskills-bio-read-qc-quality-filtering

Quality Filtering

Trim low-quality bases and filter reads using Trimmomatic sliding window or fastp quality filtering.

Trimmomatic Quality Operations

Single-End Mode

trimmomatic SE -phred33
input.fastq.gz output.fastq.gz
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36

Paired-End Mode

trimmomatic PE -phred33 -threads 4
input_R1.fastq.gz input_R2.fastq.gz
output_R1_paired.fastq.gz output_R1_unpaired.fastq.gz
output_R2_paired.fastq.gz output_R2_unpaired.fastq.gz
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36

Trimmomatic Operations

Operation Syntax Description

LEADING LEADING:Q Remove leading bases below quality Q

TRAILING TRAILING:Q Remove trailing bases below quality Q

SLIDINGWINDOW SLIDINGWINDOW:W:Q Cut when W-bp window average < Q

MINLEN MINLEN:L Discard reads shorter than L

CROP CROP:L Cut read to max length L

HEADCROP HEADCROP:N Remove first N bases

AVGQUAL AVGQUAL:Q Drop read if average quality < Q

MAXINFO MAXINFO:L:S Balance length and quality

TOPHRED33 TOPHRED33 Convert to Phred33 encoding

TOPHRED64 TOPHRED64 Convert to Phred64 encoding

Common Trimmomatic Recipes

Standard quality trimming

trimmomatic SE input.fq output.fq
SLIDINGWINDOW:4:20 MINLEN:36

Aggressive 3' trimming

trimmomatic SE input.fq output.fq
TRAILING:20 SLIDINGWINDOW:4:20 MINLEN:36

Trim both ends, strict filtering

trimmomatic SE input.fq output.fq
LEADING:10 TRAILING:10 SLIDINGWINDOW:4:25 MINLEN:50

Keep fixed length (for some tools)

trimmomatic SE input.fq output.fq
CROP:100 MINLEN:100

Remove first 10 bases (e.g., random primers)

trimmomatic SE input.fq output.fq
HEADCROP:10 MINLEN:36

SLIDINGWINDOW Details

SLIDINGWINDOW:<windowSize>:<requiredQuality>

Scan from 5' to 3'

Cut when average quality in window drops below threshold

Common settings: 4:15, 4:20, 5:20

Conservative (keep more, lower quality)

SLIDINGWINDOW:4:15

Moderate

SLIDINGWINDOW:4:20

Strict (keep less, higher quality)

SLIDINGWINDOW:4:25

fastp Quality Filtering

Basic Quality Filtering

Quality filtering (default Q15)

fastp -i in.fq -o out.fq

Custom quality threshold

fastp -i in.fq -o out.fq -q 20

Sliding window from 5' end

fastp -i in.fq -o out.fq --cut_front --cut_front_window_size 4 --cut_front_mean_quality 20

Sliding window from 3' end

fastp -i in.fq -o out.fq --cut_tail --cut_tail_window_size 4 --cut_tail_mean_quality 20

Aggressive right-side trimming (recommended)

fastp -i in.fq -o out.fq --cut_right --cut_right_window_size 4 --cut_right_mean_quality 20

fastp Quality Options

Global mean quality filter

fastp -i in.fq -o out.fq -q 20 -e 25

-q: per-base quality threshold

-e: average quality threshold for entire read

Unqualified bases threshold

fastp -i in.fq -o out.fq --unqualified_percent_limit 40

Discard if >40% bases below quality threshold

N base filtering

fastp -i in.fq -o out.fq -n 5

Discard reads with >5 N bases

Paired-End with fastp

fastp -i R1.fq -I R2.fq -o out_R1.fq -O out_R2.fq
--cut_right
--cut_right_window_size 4
--cut_right_mean_quality 20
-q 20 -l 36

Length Filtering

Trimmomatic

trimmomatic SE input.fq output.fq MINLEN:50

fastp

fastp -i in.fq -o out.fq -l 50 # min length fastp -i in.fq -o out.fq --length_limit 150 # max length

Cutadapt Quality Trimming

Trim 3' end below Q20

cutadapt -q 20 -o out.fq in.fq

Trim both ends

cutadapt -q 20,20 -o out.fq in.fq

With minimum length

cutadapt -q 20 -m 36 -o out.fq in.fq

Paired-end

cutadapt -q 20 -m 36 -o R1.fq -p R2.fq in_R1.fq in_R2.fq

Combined Adapter + Quality Trimming

Trimmomatic Full Pipeline

trimmomatic PE -threads 4 -phred33
R1.fq.gz R2.fq.gz
R1_paired.fq.gz R1_unpaired.fq.gz
R2_paired.fq.gz R2_unpaired.fq.gz
ILLUMINACLIP:TruSeq3-PE-2.fa:2:30:10:2:keepBothReads
LEADING:3 TRAILING:3 SLIDINGWINDOW:4:20 MINLEN:36

Cutadapt Full Pipeline

cutadapt
-a AGATCGGAAGAGC -A AGATCGGAAGAGC
-q 20 -m 36
-o R1_trimmed.fq.gz -p R2_trimmed.fq.gz
R1.fq.gz R2.fq.gz

Poly-G Trimming (NovaSeq/NextSeq)

NextSeq and NovaSeq use two-color chemistry, causing poly-G artifacts at read ends.

fastp auto-detects and trims poly-G

fastp -i in.fq -o out.fq --trim_poly_g

Disable auto-detection

fastp -i in.fq -o out.fq --disable_trim_poly_g

Trimmomatic (manual approach)

Add poly-G to adapter file

Quality Thresholds

Phred Error Rate Use Case

Q10 10% Very lenient

Q15 3% fastp default

Q20 1% Common threshold

Q25 0.3% Strict

Q30 0.1% Very strict

Related Skills

  • adapter-trimming - Remove adapters before quality filtering

  • quality-reports - Check quality before/after filtering

  • fastp-workflow - All-in-one preprocessing

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

bioskills

No summary provided by upstream source.

Repository SourceNeeds Review
General

bio-data-visualization-genome-tracks

No summary provided by upstream source.

Repository SourceNeeds Review
General

bio-epitranscriptomics-merip-preprocessing

No summary provided by upstream source.

Repository SourceNeeds Review
General

bio-data-visualization-multipanel-figures

No summary provided by upstream source.

Repository SourceNeeds Review