Plugin error from dada2: exit status -9 (with Docker pull)

Hello, I am trying to run the Atacama soil tutorial with a Docker image of Qiime2, on Illumina demultiplexed fastq files (I imported them using Casava 1.8 paired-end format to a .qza artifact).

However, the process exits with exit status -9 shortly after it starts. I have no idea why. May be someone can help?

Command:
docker run -t -i -v $(pwd):/data qiime2/core:2017.4 qiime dada2 denoise-paired
–i-demultiplexed-seqs demux-paired-end.qza
–o-table table.qza
–o-representative-sequences rep-seqs
–p-trim-left-f 1
–p-trim-left-r 1
–p-trunc-len-f 260
–p-trunc-len-r 220

Debug error after running --verbose:

DADA2 R package version: 1.1.7 _
1) Filtering Traceback (most recent call last):
_ File “/opt/conda/lib/python3.5/site-packages/q2cli/commands.py”, line 218, in call

_ results = action(**arguments)_
_ File “”, line 2, in denoise_paired_
_ File “/opt/conda/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 171, in callable_wrapper_
_ output_types, provenance)_
_ File “/opt/conda/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 248, in callable_executor_
_ output_views = callable(**view_args)_
_ File "/opt/conda/lib/python3.5/site-packages/q2_dada2/denoise.py", line 163, in denoise_paired
_ run_commands([cmd])_
_ File "/opt/conda/lib/python3.5/site-packages/q2_dada2/plot.py", line 26, in run_commands
_ subprocess.run(cmd, check=True)_
_ File “/opt/conda/lib/python3.5/subprocess.py”, line 398, in run_
_ output=stdout, stderr=stderr)_
subprocess.CalledProcessError: Command ‘[‘run_dada_paired.R’, ‘/tmp/tmpurepskn8/forward’, ‘/tmp/tmpurepskn8/reverse’, ‘/tmp/tmpurepskn8/output.tsv.biom’, ‘/tmp/tmpurepskn8/filt_f’, ‘/tmp/tmpurepskn8/filt_r’, ‘260’, ‘220’, ‘1’, ‘1’, ‘2.0’, ‘2’, ‘pooled’, ‘1.0’, ‘1’, ‘1000000’]’ returned non-zero exit status -9

Thanks!
Stefano

Hi @stefca! Thanks for providing your command and the error log. The first thing that jumps out is that you are running an unsupported version of QIIME 2 (2017.4) - can you please upgrade to the latest QIIME 2 (2017.9) and re-run? A lot has changed in the last 5 months! Thanks!

Hello, I have updated the Docker image to the latest and I run the code again. I have got the error again, here is a copy of the command and output.

Command:
docker run -t -i -v $(pwd):/data qiime2/core:latest qiime dada2 denoise-paired --i-demultiplexed-seqs demux-paired-end.qza --o-table table.qza --o-representative-sequences rep-seqs --p-trim-left-f 1 --p-trim-left-r 1 --p-trunc-len-f 260 --p-trunc-len-r 220

Error:
_run_dada_paired.R /tmp/tmp7x7vfjcn/forward /tmp/tmp7x7vfjcn/reverse /tmp/tmp7x7vfjcn/output.tsv.biom /tmp/tmp7x7vfjcn/filt_f /tmp/tmp7x7vfjcn/filt_r 260 220 1 1 2.0 2 consensus 1.0 1 1000000

R version 3.3.2 (2016-10-31)
Loading required package: Rcpp
There were 50 or more warnings (use warnings() to see the first 50)
DADA2 R package version: 1.4.0

  1. Filtering …Traceback (most recent call last):
    File “/opt/conda/lib/python3.5/site-packages/q2_dada2/_denoise.py”, line 179, in denoise_paired
    run_commands([cmd])
    File “/opt/conda/lib/python3.5/site-packages/q2_dada2/_denoise.py”, line 35, in run_commands
    subprocess.run(cmd, check=True)
    File “/opt/conda/lib/python3.5/subprocess.py”, line 398, in run
    output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command ‘[‘run_dada_paired.R’, ‘/tmp/tmp7x7vfjcn/forward’, ‘/tmp/tmp7x7vfjcn/reverse’, ‘/tmp/tmp7x7vfjcn/output.tsv.biom’, ‘/tmp/tmp7x7vfjcn/filt_f’, ‘/tmp/tmp7x7vfjcn/filt_r’, ‘260’, ‘220’, ‘1’, ‘1’, ‘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 “/opt/conda/lib/python3.5/site-packages/q2cli/commands.py”, line 218, in call
results = action(**arguments)
File “”, line 2, in denoise_paired
File “/opt/conda/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 220, in bound_callable
output_types, provenance)
File “/opt/conda/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 355, in callable_executor
output_views = self._callable(**view_args)
File “/opt/conda/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.
_

Thanks,
Stefano

Hi @stefca! Thanks for updating your docker image! Have you run the command with --verbose? Can you provide the output from that here? It is hard to say what is happening here without that info (and even then it might be hard to diagnose), but some initial suspects include: running out of memory (are you running this on a laptop or workstation?) or some strange docker config on your machine related to how your local disks are mounted (this is a bit of a shot in the dark). Anyway, can you please rerun with --verbose and provide the output here? Thanks!

This is the output of --verbose.

thanks.

Oops, sorry about that @stefca, I misread! What I added to the discussion earlier still holds true, particularly regarding the memory situation. We tend to see this -9 exit code from DADA2 when there are memory related issues, so that sounds like a good place to start. How much memory do you have available to you on the system that you are running your analysis on?

Hello, thanks for answering!

I am running the analysis on a very new MacBook Pro with 16GB of memory (Intel i5 3,1 GHz).

Stefano

Hi @stefca! It sounds pretty likely that you are running out of memory. I don’t have any hard and fast rules, but please check out this section of the DADA2 docs, there is a little bit of information for you to orient yourself against. As well, there might be a bit of overhead on your machine related to running Docker (for example, if you are on an older OS X, docker actually runs in a Virtualbox machine, which normally has pretty limited RAM resources by default). For what it is worth, installing QIIME 2 natively on a mac is pretty quick and easy — you might be able to squeeze out a few more bytes of RAM that way! If none of that works, perhaps you have an institutional cluster with some beefy resources that you could run this step on? If not, you could always spin up an Amazon EC2 instance with plenty of RAM and try it there. Keep us posted! :t_rex:

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