DADA2 plugin errors - return codes 1 and -9

Hi all!

Working through some data and I keep getting errors on these files. I was originally getting return code -9, which I believe means that I’ve run out of memory (I was running QIIME2 on virtualbox through windows w/ 10GB RAM) and I’ve since set up QIIME2 through AWS, running with 68 GB RAM.

I originally ran this code:

qiime dada2 denoise-paired
–i-demultiplexed-seqs demux-muscle.qza
–o-table table
–o-representative-sequences rep-seqs
–p-trim-left-f 34
–p-trim-left-r 6
–p-trunc-len-f 68
–p-trunc-len-r 69

and got this error:
Plugin error from dada2:

An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.

Debug info has been saved to /tmp/qiime2-q2cli-err-y9d1t8eh.log

I did some reading and thought that maybe my trimming criteria were too loose so I ran this

qiime dada2 denoise-paired
–i-demultiplexed-seqs demux-muscle.qza
–o-table table
–o-representative-sequences rep-seqs
–p-trim-left-f 34
–p-trim-left-r 19
–p-trunc-len-f 76
–p-trunc-len-r 86
–verbose

And got this return code again

Loading required package: Rcpp
DADA2 R package version: 1.6.0

  1. Filtering …
  2. Learning Error Rates
    Traceback (most recent call last):
    File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/site-packages/q2_dada2/_denoise.py”, line 179, in denoise_paired
    run_commands([cmd])
    File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/site-packages/q2_dada2/_denoise.py”, line 35, in run_commands
    subprocess.run(cmd, check=True)
    File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/subprocess.py”, line 398, in run
    output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command ‘[‘run_dada_paired.R’, ‘/tmp/tmphf7tbrz6/forward’, ‘/tmp/tmphf7tbrz6/reverse’, ‘/tmp/tmphf7tbrz6/output.tsv.biom’, ‘/tmp/tmphf7tbrz6/filt_f’, ‘/tmp/tmphf7tbrz6/filt_r’, ‘76’, ‘86’, ‘34’, ‘19’, ‘2.0’, ‘2’, ‘consensus’, ‘1.0’, ‘1’, ‘1000000’]’ returned non-zero exit status -9

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/site-packages/q2cli/commands.py”, line 224, in call
results = action(**arguments)
File “”, line 2, in denoise_paired
File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 228, in bound_callable
output_types, provenance)
File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 363, in callable_executor
output_views = self._callable(**view_args)
File “/home/qiime2/miniconda/envs/qiime2-2017.12/lib/python3.5/site-packages/q2_dada2/_denoise.py”, line 194, in denoise_paired
" and stderr to learn more." % e.returncode)
Exception: An error was encountered while running DADA2 in R (return code -9), please inspect stdout and stderr to learn more.

Plugin error from dada2:

An error was encountered while running DADA2 in R (return code -9), please inspect stdout and stderr to learn more.

See above for debug info.

So am I running out of memory here, or is there another problem that I’m not seeing?

Thanks again for all your help!
Leah

Alas, yes, this is a memory issue. Are you able to get access to a higher-memory machine? :brain::computer:

1 Like

Thanks! I was worried about that - Not really, I’m running it on AWS with the highest RAM available! I may just have to run them one sample at a time!

How about the return code 1, was it that my criteria too loose for trimming?

Thanks again for all your help!

Hi @leahtee, I think it is just the opposite, these trim/trunc values seem really intense to me --- you are shortening your forward reads to only ~42 nts long, and your reverse reads to ~67 nts long. This seems pretty aggressive (also, DADA2 needs at least 20 nts of overlap between the forward and reverse reads) - would you be able to share your demux summarize QZV here? We use this file to help us deduce appropriate trim/trunc parameters. Thanks! :t_rex:

1 Like

Sure thing! Thanks!

demux-muscle.qzv (279.8 KB)

Hi @leahtee! I think @thermokarst’s assessment is in line with the qualiity score plots you sent. Your sequences are pretty short to begin with (100bp forward, 100bp reverse), and you’ll need at least 20nts of overlap between forward and reverse reads for the read joining to work. The quality scores look pretty good – I’d suggest trimming off the first few bases from the forward and reverse reads (i.e. using --p-trim-left-f and --p-trim-left-r, respectively), and avoiding truncation. Let us know how it goes!

I should also mention that you'll want to choose the trim length of the forward reads such that the primers (if any are attached to the sequences) are removed.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.