DADA2 denoise-paired Exit Code -9

Hello Matt,
So I am at the point where I am trimming my sequences based on the demux.qzv plot but I received an error message in red font and it states that a debug message has been saved in a temp folder. I am pasting in my command and the error message below it. Please advise...

Lisa

qiime dada2 denoise-paired \

--i-demultiplexed-seqs paired-end-demux.qza
--o-table table
--o-representative-sequences rep-seqs
--p-trim-left-f 17
--p-trim-left-r 21
--p-trunc-len-f 290
--p-trunc-len-r 249

Plugin error from dada2:

Command '['run_dada_paired.R', '/tmp/tmpcz8m5iio/forward',
'/tmp/tmpcz8m5iio/reverse', '/tmp/tmpcz8m5iio/output.tsv.biom',
'/tmp/tmpcz8m5iio/filt_f', '/tmp/tmpcz8m5iio/filt_r', '290', '249',
'17', '21', '2.0', '2', 'consensus', '1.0', '1', '1000000']' returned
non-zero exit status -9

Debug info has been saved to /tmp/qiime2-q2cli-err-5qheqfod.log.
(qiime2-2017.6) qiime2@qiime2core2017-6:/media/sf_Qiime2data/FHLexper/paired-end-sequences/699$

1 Like

Hi @Lisa_Crummett,

Could you follow up with the log file (/tmp/qiime2-q2cli-err-5qheqfod.log)? When DADA2 returns -9 it usually means something else killed it (often because it ran out of memory).

Thanks!

Hello Evan,
I could not find the log file. It didn’t show up in the directory that I was working in and I didn’t see a “temporary” folder listed in the folder icon to the left. How do I access this file? I am off campus today so I may not be able to send it until Monday unfortunately.

Hey @Lisa_Crummett,

It is at the root of your filesystem, I'm guessing you are on a Ubuntu linux distro, so you could click + Other Locations at the bottom. But it's probably easier to just paste the results of running this in a terminal:

cat /tmp/qiime2-q2cli-err-5qheqfod.log

If that doesn't work, then the temporary file has been cleaned up by the system, and you'll need to re-run the command again. Adding --verbose will cause it to print the log to your terminal instead of writing it to a file (then you don't have to find anything).

No problem!

Hi Evan,
So, I tried tha the command that you suggested and got this error:
cat: /tmp/qiime2-q2cli-err-5qheqfod.log: No such file or directory

I found the “root” folder but could not open it. I found a “tmp” folder and the only thing that looked like it could be a log is called, “/tmp/config-err-Gf2FG8” but when I open it, it is only a blank page. I will try running the dada2 denoise command again and see what happens…

Lisa

So I tried running the same command again and now I get errors saying that each line in the command is “not found”. I also running Data2 denoise in Qiime2 Studio and after I click"Go", nothing happens and it says that there are “no jobs” running. What is going on?? Could I talk to one of you guys over the phone?
_Lisa

Okay, now I have the error log file for the most recent time that I tried running the Dada2 command. Here it is…

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 /tmp/tmpd3nwr2vq/forward /tmp/tmpd3nwr2vq/reverse /tmp/tmpd3nwr2vq/output.tsv.biom /tmp/tmpd3nwr2vq/filt_f /tmp/tmpd3nwr2vq/filt_r 290 249 17 21 2.0 2 consensus 1.0 1 1000000

R version 3.3.1 (2016-06-21)
Loading required package: Rcpp
Warning messages:
1: multiple methods tables found for ‘arbind’
2: multiple methods tables found for ‘acbind’
3: replacing previous import ‘IRanges::arbind’ by ‘SummarizedExperiment::arbind’ when loading ‘GenomicAlignments’
4: replacing previous import ‘IRanges::acbind’ by ‘SummarizedExperiment::acbind’ when loading ‘GenomicAlignments’
5: multiple methods tables found for ‘left’
6: multiple methods tables found for ‘right’
DADA2 R package version: 1.4.0

  1. Filtering …Traceback (most recent call last):
    File “/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/commands.py”, line 222, in call
    results = action(**arguments)
    File “”, line 2, in denoise_paired
    File “/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 203, in callable_wrapper
    output_types, provenance)
    File “/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/sdk/action.py”, line 305, in callable_executor
    output_views = callable(**view_args)
    File “/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2_dada2/_denoise.py”, line 177, in denoise_paired
    run_commands([cmd])
    File “/home/qiime2/miniconda/envs/qiime2-2017.6/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.6/lib/python3.5/subprocess.py”, line 398, in run
    output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command ‘[‘run_dada_paired.R’, ‘/tmp/tmpd3nwr2vq/forward’, ‘/tmp/tmpd3nwr2vq/reverse’, ‘/tmp/tmpd3nwr2vq/output.tsv.biom’, ‘/tmp/tmpd3nwr2vq/filt_f’, ‘/tmp/tmpd3nwr2vq/filt_r’, ‘290’, ‘249’, ‘17’, ‘21’, ‘2.0’, ‘2’, ‘consensus’, ‘1.0’, ‘1’, ‘1000000’]’ returned non-zero exit status -9
1 Like

Hi @Lisa_Crummett, thanks for posting the error log. We have seen this “exit status -9” error crop up a few times lately — it is an error from DADA2, not from QIIME 2. It is a bit of a catch-all error, but generally what we have seen is that this most often happens when the computer that you are running DADA2 on doesn’t have enough RAM (i.e. “memory”). It sounds like you are using our Virtualbox image, which means you might be able to alter the virtual machine’s available memory, or you could run QIIME 2 on a different computer that has more available RAM. You will only be able to increase the virtual machine’s available memory if your host computer (your laptop or desktop that is physically on your desk) has more available memory. Because we don’t create the Virtualbox software, our availability for support on this front is pretty limited, but a quick Google search brought me to this tutorial, which has some nice screenshots demonstrating how to increase your virtual machine’s memory. Another option is to run your denoising step on an AWS instance, which you could provision with plenty of RAM, then download the outputs and run them locally in your virtual machine. The bottom line is that most likely this is because DADA2 needs more memory to denoise your sequences. Let us know how it goes. Thanks!

1 Like

Hi Matt,
Thank you for your feedback. I tried increasing the amount of RAM allocated to VirtualBox (I increased it to 4645 MB) and then ran the Dada2 denoising command and it has been running for over 24 hours now with no response. I’m not sure what to do at this point. Do you know how many MB of RAM are needed?

Thanks,
Lisa

Hi @Lisa_Crummett:

Real-world data-sets can take a bit of time on this step. Fortunately, once it is done a lot of the down-stream steps are pretty quick, relatively speaking!

Keep on waiting until it finishes or crashes :anguished:

There are no hard and fast rules here, but @benjjneb (the author of DADA2) has put together a bit of a case study, and also has this to say:

There are too many factors that influence running time to give an answer that will hold for everyone.

While that quote is referencing time, I think the same also applies (to some degree) to necessary computational resources.


If this fails, it likely means you don't have enough memory to process this dataset on the machine you are attempting to work on. Please see this post on a similar low-memory situation that has some suggestions on moving forward (specifically an institutional cluster, or AWS EC2). Sorry I don't have better news at this point. Thanks!

1 Like

An off-topic reply has been split into a new topic: Is Sample Metadata Necessary in QIIME 2?

Please keep replies on-topic in the future.

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