Filter Reads by Quality

Remove low-quality FASTQ reads using an average Phred quality threshold

Supported formats: FASTQ, FQ and compressed FASTQ files (.fastq.gz, .fq.gz) (Maximum size: 500 MB)

Filter Reads by Quality

Function

Removes FASTQ reads whose average Phred quality score falls below a specified threshold. This improves downstream analysis quality by eliminating unreliable reads.


Input Format

  • FASTQ files (.fastq, .fq)
  • Compressed FASTQ files (.fastq.gz, .fq.gz)
  • User-defined minimum average quality score.

Recommended Quality Thresholds

  • Q10: ~90% accuracy
  • Q20: ~99% accuracy
  • Q25-Q30: Suitable for variant calling
  • Q30+: High-confidence analyses

Typical Platform Recommendations

  • Illumina: Q20-Q30
  • Nanopore: Q7-Q15
  • PacBio HiFi: Q20+

Output Format

  • Filtered FASTQ file.
  • Original FASTQ structure is preserved.
  • Only reads meeting the quality threshold are retained.

Applications

  • Quality control.
  • Alignment preprocessing.
  • Variant calling preparation.
  • Genome assembly improvement.
  • Cross-sample quality standardization.

Example

Input Reads

Read 1 : Average Q = 35
Read 2 : Average Q = 28
Read 3 : Average Q = 15

Threshold = Q20

↓

Retained Reads

Read 1
Read 2

SeqKit Example

seqkit seq \
-Q 20 \
input.fastq.gz \
-o filtered.fastq.gz

NanoFilt Example

NanoFilt \
-q 10 \
input.fastq \
> filtered.fastq

fastp Example

fastp \
-i input.fastq \
-o filtered.fastq \
--average_qual 20

Suggested Reading


Important Notes:
  • Filtering is based on average read quality.
  • Reads may still contain low-quality bases even after passing the filter.
  • Combine with trimming tools such as fastp or Trimmomatic for per-base quality control.
  • Overly strict thresholds can remove a large fraction of useful reads.
  • Long-read datasets generally require lower quality thresholds than short-read datasets.