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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
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¶
QualityFilterStats |
Formats¶
QualityFilterStatsFmt |
QualityFilterStatsDirFmt |
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)
- Links
- Documentation
- Source Code
- Stars
- 1
- Last Commit
- eba2f28
- Available Distros
- 2026.4
- 2026.4/qiime2
- 2026.1
- 2026.1/qiime2
- 2026.1/moshpit
- 2025.10
- 2025.10/qiime2
- 2025.10/moshpit
- 2025.7
- 2025.7/qiime2
- 2025.7/moshpit
- 2025.4
- 2025.4/qiime2
- 2025.4/moshpit
- 2024.10
- 2024.10/qiime2
- 2024.10/moshpit
- 2024.5
- 2024.5/qiime2
- 2024.5/moshpit
- 2024.2
- 2024.2/qiime2
- 2023.9
- 2023.9/qiime2
- 2023.7
- 2023.7/qiime2