fastp
Quick Start
- Command:
fastp - Local executable:
/home/vimalinx/miniforge3/envs/bio/bin/fastp - Version: 1.1.0
- Full options: see references/help.md
When To Use This Tool
- One-stop FASTQ preprocessing before alignment or quantification.
- Adapter trimming, quality filtering, polyG/polyX trimming, and QC reporting in one run.
- Best default choice when you want both cleaned FASTQ and an HTML/JSON report.
- Prefer
cutadaptwhen trimming logic needs very explicit adapter semantics or more surgical control.
Common Patterns
# 1) Single-end QC + trimming
fastp \
-i sample.fastq.gz \
-o sample.clean.fastq.gz \
-h sample.fastp.html \
-j sample.fastp.json \
-w 8
# 2) Paired-end preprocessing
fastp \
-i sample_R1.fastq.gz \
-I sample_R2.fastq.gz \
-o sample_R1.clean.fastq.gz \
-O sample_R2.clean.fastq.gz \
-h sample.fastp.html \
-j sample.fastp.json \
-w 8
# 3) Stricter length/quality filtering
fastp \
-i sample_R1.fastq.gz \
-I sample_R2.fastq.gz \
-o sample_R1.clean.fastq.gz \
-O sample_R2.clean.fastq.gz \
-q 20 -u 20 -n 3 -l 50 \
-h sample.fastp.html \
-j sample.fastp.json
Recommended Workflow
- Decide single-end vs paired-end first, because output wiring differs.
- Run one conservative preprocessing pass that emits both cleaned reads and QC reports.
- Review the HTML or JSON summary before aligning, especially read retention, adapter content, and quality trimming extent.
- Keep the chosen thresholds stable across the cohort unless there is a documented reason to split processing.
Guardrails
- Always set explicit outputs for both mates in paired-end mode.
--disable_adapter_trimmingis rarely what you want unless reads are known to be pre-trimmed.- PolyG trimming is useful for some Illumina platforms; do not disable it blindly if you see artificial G tails.
- Use
--dont_overwritein production runs to avoid clobbering previous preprocessing outputs.