Plugin Overview¶
This QIIME 2 plugin supports filtering and trimming of sequence reads based on PHRED scores and ambiguous nucleotide characters.
- version:
2026.4.0 - website: https://
github .com /qiime2 /q2 -quality -filter - user support:
- Please post to the QIIME 2 forum for help with this plugin: https://
forum .qiime2 .org - citations:
- Bokulich et al., 2013
Actions¶
| Name | Type | Short Description |
|---|---|---|
| q-score | method | Quality filter based on sequence quality scores. |
Artifact Classes¶
Formats¶
quality-filter q-score¶
This method filters sequence based on quality scores and the presence of ambiguous base calls.
Citations¶
Inputs¶
- demux:
SampleData[SequencesWithQuality]|SampleData[PairedEndSequencesWithQuality]|SampleData[JoinedSequencesWithQuality] The demultiplexed sequence data to be quality filtered.[required]
Parameters¶
- min_quality:
Int The minimum acceptable PHRED score. All PHRED scores less that this value are considered to be low PHRED scores.[default:
4]- quality_window:
Int The maximum number of low PHRED scores that can be observed in direct succession before truncating a sequence read. Note that truncation is performed such that the entirety of the low quality window is truncated.[default:
3]- min_length_fraction:
Float Filter truncated reads whose length fraction (truncated length divided by original length) is less than or equal to this value.[default:
0.75]- max_ambiguous:
Int The maximum number of ambiguous (i.e., N) base calls. This is applied after trimming sequences based on
min_length_fraction.[default:0]- num_processes:
Threads The number of processes to use. A higher number will improve response time if the hardware resources are available. Request no more than one process per available core.[default:
1]
Outputs¶
- filtered_sequences:
SampleData[SequencesWithQuality]|SampleData[PairedEndSequencesWithQuality]|SampleData[JoinedSequencesWithQuality] The resulting quality-filtered sequences.[required]
- filter_stats:
QualityFilterStats Summary statistics of the filtering process.[required]
Examples¶
q_score¶
wget -O 'demuxed-seqs.qza' \
'https://amplicon-docs.qiime2.org/en/stable/data/examples/quality-filter/q-score/1/demuxed-seqs.qza'
qiime quality-filter q-score \
--i-demux demuxed-seqs.qza \
--o-filtered-sequences dumux-filtered.qza \
--o-filter-stats demux-filter-stats.qzafrom qiime2 import Artifact
from urllib import request
import rachis.plugins.quality_filter.actions as quality_filter_actions
url = 'https://amplicon-docs.qiime2.org/en/stable/data/examples/quality-filter/q-score/1/demuxed-seqs.qza'
fn = 'demuxed-seqs.qza'
request.urlretrieve(url, fn)
demuxed_seqs = Artifact.load(fn)
dumux_filtered, demux_filter_stats = quality_filter_actions.q_score(
demux=demuxed_seqs,
)library(reticulate)
Artifact <- import("qiime2")$Artifact
quality_filter_actions <- import("rachis.plugins.quality_filter.actions")
request <- import("urllib")$request
url <- 'https://amplicon-docs.qiime2.org/en/stable/data/examples/quality-filter/q-score/1/demuxed-seqs.qza'
fn <- 'demuxed-seqs.qza'
request$urlretrieve(url, fn)
demuxed_seqs <- Artifact$load(fn)
action_results <- quality_filter_actions$q_score(
demux=demuxed_seqs,
)
dumux_filtered <- action_results$filtered_sequences
demux_filter_stats <- action_results$filter_stats
from q2_quality_filter._examples import q_score_example
q_score_example(use)
demuxed-seqs.qza| download | viewdumux-filtered.qza| download | viewdemux-filter-stats.qza| download | view
- Bokulich, N. A., Subramanian, S., Faith, J. J., Gevers, D., Gordon, J. I., Knight, R., Mills, D. A., & Caporaso, J. G. (2013). Quality-filtering vastly improves diversity estimates from Illumina amplicon sequencing. Nature Methods, 10(1), 57. 10.1038/nmeth.2276