DADA2 fails to run due to 'Error in isBimeraDenovoTable'

Qiime2 tech Support,

I am currently processing some demultiplexed bacterial 16S rRNA V4 region data. I am using the same pipeline of commands that I have used multiple times for different batches of 16S metabarcoding NGS data which also used the same primers. I have never had an issue with the Dada2 command before, however in this instance it fails to complete. My command is

nohup qiime dada2 denoise-paired --i-demultiplexed-seqs Bioline-bacteria-paired-end-demux.qza --p-trunc-len-f 160 --p-trunc-len-r 160 --o-table table_160-160.qza --o-representative-sequences rep-seqs_160-160.qza --o-denoising-stats denoising-stats_160-160.qza --p-n-threads 16 &

I have conducted this command multiple times with a large range of different truncation values from 50 up to 240. My sequence quality plots are:

image

My error message in full is:

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

  1. Filtering .......................................................
  2. Learning Error Rates
    241623600 total bases in 1006765 reads from 47 samples will be used for learning the error rates.
    241623600 total bases in 1006765 reads from 47 samples will be used for learning the error rates.
  3. Denoise remaining samples .......................................................
  4. Remove chimeras (method = consensus)
    Error in isBimeraDenovoTable(unqs[[i]], ..., verbose = verbose) :
    Input must be a valid sequence table.
    Calls: removeBimeraDenovo -> isBimeraDenovoTable
    Execution halted
    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_paired.R /home/Public/Ps2/PsTmp/tmpiucmqlmc/forward /home/Public/Ps2/PsTmp/tmpiucmqlmc/reverse /home/Public/Ps2/PsTmp/tmpiucmqlmc/output.tsv.biom /home/Public/Ps2/PsTmp/tmpiucmqlmc/track.tsv /home/Public/Ps2/PsTmp/tmpiucmqlmc/filt_f /home/Public/Ps2/PsTmp/tmpiucmqlmc/filt_r 240 240 0 0 2.0 2.0 2 consensus 1.0 16 1000000

Traceback (most recent call last):
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2_dada2/_denoise.py", line 234, in denoise_paired
run_commands([cmd])
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2_dada2/_denoise.py", line 36, in run_commands
subprocess.run(cmd, check=True)
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['run_dada_paired.R', '/home/Public/Ps2/PsTmp/tmpiucmqlmc/forward', '/home/Public/Ps2/PsTmp/tmpiucmqlmc/reverse', '/home/Public/Ps2/PsTmp/tmpiucmqlmc/output.tsv.biom', '/home/Public/Ps2/PsTmp/tmpiucmqlmc/track.tsv', '/home/Public/Ps2/PsTmp/tmpiucmqlmc/filt_f', '/home/Public/Ps2/PsTmp/tmpiucmqlmc/filt_r', '240', '240', '0', '0', '2.0', '2.0', '2', 'consensus', '1.0', '16', '1000000']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2cli/commands.py", line 327, in call
results = action(**arguments)
File "</home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/decorator.py:decorator-gen-459>", line 2, in denoise_paired
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/qiime2/sdk/action.py", line 240, in bound_callable
output_types, provenance)
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/qiime2/sdk/action.py", line 383, in callable_executor
output_views = self._callable(**view_args)
File "/home/lucas/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2_dada2/_denoise.py", line 249, in denoise_paired
" and stderr to learn more." % e.returncode)
Exception: An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.

I am running qiime2-2019.7, through conda.

A similar problem that was solved prior, was by reducing truncation parameters, however in this case the range of different truncation parameters I have tested has no effect. Dada2 appears to be failing at the chimera removal step of the Dada2 process.

Any advice or ideas on how to proceed with this would be greatly appreciated?

2 Likes

HI @lghuggins,
You have the right idea — this error is occurring because all reads are being removed at the denoising step, prior to chimera checking. Hence the pipeline fails at chimera checking because no sequences are present.

However, I don’t think trimming/overlap is the issue.

This is just a hunch: I think the issue is that the reads are not overlapping even though they should be long enough to overlap for V4 amplicons…

I think this is occurring because it looks like you may have imported the same data twice, so that your forward and reverse reads are identical and hence do not overlap.

How did you import these data? Why are the forward and reverse read quality profiles identical?

2 Likes

Hi Nicholas,

Thank you for help with this, the issue was whilst using a manifest to import the data, the R2 reads were automatically changed to R1s when transferring the manifest data from a spreadsheet, hence I was only importing the forward reads.

Thanks again!