DADA2 denoise issue: No reads passed the filter for single end reads

Hi! I am still relatively new to qiime2 but am running into this error I’ve not seen before as well as cannot figure out why this error would be occurring. I am running Qiime2 Core 2019.4 in a Virtualbox. My sequences are 16S rRNA sequenced generated by an illuminia Miseq and I am running my demultiplexed single-end 16S sequences through the dada2 denoise-single command and receiving the following plugin error from dada2, my code (run with verbose) and error copied below.

(qiime2-2019.4) [email protected]:~/AMD2_9.19$ qiime dada2 denoise-single --i-demultiplexed-seqs demux.qza --p-trim-left 0 --p-trunc-len 220 --o-representative-sequences re-seqs-dada2.qza --o-table table-dada2.qza --o-denoising-stats stats-dada2.qza --verbose

Running external command line application(s). This may print messages to stdout and/or stderr.
The command(s) being run are below. These commands cannot be manually re-run as they will depend on temporary files that no longer exist.

Command: run_dada_single.R /tmp/qiime2-archive-ywmanxjw/ad572a07-92ae-4a6f-b0df-76e262b4793a/data /tmp/tmpog_3cban/output.tsv.biom /tmp/tmpog_3cban/track.tsv /tmp/tmpog_3cban 220 0 2.0 2 Inf consensus 1.0 1 1000000 NULL 16

R version 3.5.1 (2018-07-02)
Loading required package: Rcpp
DADA2: 1.10.0 / Rcpp: 1.0.1 / RcppParallel: 4.4.2

  1. Filtering The filter removed all reads: /tmp/tmpog_3cban/1wk_8_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/2wk_5_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/4wk_2_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/6wk_4_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/Dup_7_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/NoCore_1_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/Raw1_3_L001_R1_001.fastq.gz not written.
    The filter removed all reads: /tmp/tmpog_3cban/Raw2_6_L001_R1_001.fastq.gz not written.
    xxxxxxxx
    Error: No reads passed the filter (was truncLen longer than the read length?)
    Traceback (most recent call last):
    File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/q2_dada2/_denoise.py”, line 152, in _denoise_single
    run_commands([cmd])
    File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/q2_dada2/_denoise.py”, line 36, in run_commands
    subprocess.run(cmd, check=True)
    File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/subprocess.py”, line 418, in run
    output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command ‘[‘run_dada_single.R’, ‘/tmp/qiime2-archive-ywmanxjw/ad572a07-92ae-4a6f-b0df-76e262b4793a/data’, ‘/tmp/tmpog_3cban/output.tsv.biom’, ‘/tmp/tmpog_3cban/track.tsv’, ‘/tmp/tmpog_3cban’, ‘220’, ‘0’, ‘2.0’, ‘2’, ‘Inf’, ‘consensus’, ‘1.0’, ‘1’, ‘1000000’, ‘NULL’, ‘16’]’ returned non-zero exit status 2.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/q2cli/commands.py”, line 311, in call
results = action(**arguments)
File “</home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/decorator.py:decorator-gen-449>”, line 2, in denoise_single
File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/qiime2/sdk/action.py”, line 231, in bound_callable
output_types, provenance)
File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/qiime2/sdk/action.py”, line 365, in callable_executor
output_views = self._callable(**view_args)
File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/q2_dada2/_denoise.py”, line 187, in denoise_single
band_size=‘16’)
File “/home/qiime2/miniconda/envs/qiime2-2019.4/lib/python3.6/site-packages/q2_dada2/_denoise.py”, line 159, in _denoise_single
" filter." % trunc_len)
ValueError: No reads passed the filter. trunc_len (220) may be longer than read lengths, or other arguments (such as max_ee or trunc_q) may be preventing reads from passing the filter.

Plugin error from dada2:

** No reads passed the filter. trunc_len (220) may be longer than read lengths, or other arguments (such as max_ee or trunc_q) may be preventing reads from passing the filter.**

See above for debug info.

Debug info has been saved to /tmp/qiime2-q2cli-err-5vdq9n9r.log. No reads passed the filter. trunc_len (220) may be longer than read lengths, or other arguments (such as max_ee or trunc_q) may be preventing reads from passing the filter.

Debug info is uploaded here as a .txt qiime2-q2cli-err-5vdq9n9r.txt (3.3 KB)

My demux.qza file is here. I have 8 samples and my sequences are successfully demultiplexed and are all at a length of 251 bases, as can be seen in the below quality plot and viewed using qiime tools view demux.qzv therefore there should not be an issue with the truncated length being longer than my actual reads. I’ve tried trimming to several length including 0, 50, 120, 220 and receive the same error every time.

image

I have checked other posts from qiime users who have received this error however they are using forward and reverse reads and their issue seems to deal more with joining reads that are too short, in my case the reads should be long enough as the demux file contains the demultiplexed reads with 251 bp.

Thank you so much, I’ve tried several different things and can’t seem to diagnose the problem, I appreciate any insight and guidance.

Hi @bstemple,
The error here is telling us that after the initial filtering step there are no reads left to move forward. This is likely happening because your data unfortunately appears to be not in great quality. By the 220 bp the quality has dipped enough that the initial filtering step is discarding all of your reads. You might have better retention if you were to truncate more of your reads, try maybe truncating at 160 bp. You may also want to trim a bit from the 5’ as well, say the first 20-30bp. Try those and let us know if you are able to retain any more that way.

1 Like

Thank you @Mehrbod_Estaki, I truncated the reads to the length you suggested and also trimmed 20 from the 5’ end and it did work, I was able to retain a good amount of my reads. I greatly appreciate the feedback, I clearly I should’ve adjusted more for the lower quality of my data. Thank you!

1 Like