Skip to content

Quality Filtering Specifications

Process Details

  • Name: Quality Filtering
  • Process UUID: 20bdca2a-ed05-11e8-9ce4-85221b21564c
  • Process Group: Misc.

Overview

This process performs quality filtering on sequencing reads using either Trimmomatic or fastx_toolkit. It removes low-quality bases and reads that fall below specified quality thresholds, supporting both paired-end and single-end data. The process is particularly useful for preprocessing raw sequencing data before downstream analysis.

This process is implemented in Bash, which invokes a Perl script for quality filtering operations using Trimmomatic or fastx_toolkit.

Key Functionality

  • Quality Trimming: Performs sliding window trimming to remove low-quality regions from reads
  • Adapter and Base Removal: Cuts bases from the start (leading) and end (trailing) of reads if below quality thresholds
  • Length Filtering: Removes reads that fall below a minimum length requirement after trimming
  • Dual Tool Support: Provides options for both Trimmomatic (suitable for paired-end data) and fastx_toolkit (single-end only)

Input/Output Specification

Inputs

Required Inputs

  • Reads

    • Description: Raw sequencing reads to be quality filtered
    • Format: FASTQ
  • Mate

    • Description: Specifies whether reads are single-end or paired-end
    • Format: mate (value indicating "single" or "pair")

Outputs

  • Reads

    • Description: Quality-filtered sequencing reads
    • Format: FASTQ
  • Log File

    • Description: Processing log containing quality filtering statistics and parameters used
    • Format: LOG

Parameters & Settings

These parameters can be adjusted in the Foundry UI when running this process.

  • Quality Filtering Tool

    • Description: Choose quality removal tool to be used. Note: fastx option (fastx_toolkit fastq_quality_filter) is not suitable for paired reads.
    • Available options: trimmomatic (default), fastx
  • FASTQ Quality Encoding

    • Description: Specifies the fastq quality encoding. Default is 33 which is now almost universally used, and 64 which is used in some older Illumina data
    • Available options: 33 (default), 64
  • Window Size

    • Description: Performs a sliding window trimming approach. It starts scanning at the 5' end and clips the read once the average quality within the window falls below a threshold (=required_quality).
    • Default value: 10
  • Required Quality for Window Trimming

    • Description: Specifies the average quality required for window trimming approach
    • Default value: 15
  • Leading

    • Description: Cut bases off the start of a read, if below a threshold quality
    • Default value: 5
  • Trailing

    • Description: Cut bases off the end of a read, if below a threshold quality
    • Default value: 5
  • Minimum Length

    • Description: Specifies the minimum length of reads to be kept
    • Default value: 36
  • Minimum Quality

    • Description: Minimum quality score to keep reads (fastx parameter)
    • Default value: 20
  • Minimum Percent

    • Description: Minimum percent of bases that must have entered minQuality (fastx parameter)
    • Default value: 100
  • Remove Previous Reads

    • Description: After successful completion of the quality filtering step, previous reads will be removed to save space. However, this might affect resume functionality.
    • Default value: false

References & Resources

  • Tool Documentation: Contact the team for details on the Perl quality filtering script
  • Related Papers: Bolger, A. M., Lohse, M., & Usadel, B. (2014). Trimmomatic: a flexible trimmer for Illumina sequence data. Bioinformatics, 30(15), 2114-2120.