Paired end analysis dada2 plugin error (return code -9)

Hi, I am denoising my samples through dada2 using the atacama soil microbiome tutorial. I have run the following command and received a dada2 plugin error:

--i-demultiplexed-seqs zoo-poo.qza
--o-table table
--o-representative-sequences rep-seqs
--p-trim-left-f 5
--p-trim-left-r 5
--p-trunc-len-f 232
--p-trunc-len-r 232
Plugin error from dada2:

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

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

Hi @manpflo615! A -9 exit code from DADA2 is usually because your system ran out of memory (RAM) during the denoising process.

Can you please provide the following info?

  1. The output from running qiime info
  2. The contents of the command’s debug log: /tmp/qiime2-q2cli-err-0gdk8oqb.log (If the file is no longer accessible, rerun your command with --verbose and post the full output)
  3. How much memory (RAM) does your system have? Are you running the commands with a native QIIME 2 installation on macOS or Linux, or are you using a virtual machine (i.e. VirtualBox, Docker, or AWS EC2)? If you’re using VirtualBox or Docker, you may need to allocate more of your system’s RAM to the virtual machine, as the default memory settings aren’t always sufficient.


Hi @jairideout!

  1. This is the output:
    longitudinal 2017.12.0
    metadata 2017.12.0
    phylogeny 2017.12.0
    quality-control 2017.12.0
    quality-filter 2017.12.0
    sample-classifier 2017.12.0
    taxa 2017.12.0
    types 2017.12.0
    vsearch 2017.12.0

  2. I’m not sure how to go about retrieving the log with --verbose.

  3. My system has 4GB of RAM and I am running the commands on VirtualBox. With that taken into account, how much RAM is typically needed to be sufficient? Is that something the log file tells me?

Thanks for the info!

For future reference, you can add --verbose anywhere in your command to have verbose (debug) output displayed. However, the issue is almost certainly related to memory (see below), so don't worry about rerunning the command in verbose mode.

I don't know exactly how much RAM you need for the denoising step, but 4GB won't be enough if you're using the VirtualBox image. Your system has to split its RAM between host and guest operating systems, so it's not possible to allocate 4GB to the VirtualBox, since your host operating system still needs some RAM to work with.

If you can use a native installation of QIIME 2 on your system, you might have enough RAM (4GB) to perform this step in the analysis. Another thing you could try is the QIIME 2 Docker image, which has less overhead than the VirtualBox image.

That being said, I'd recommend at least 8GB RAM; 16GB should be sufficient for most analyses and would be your safest bet (unless you can get access to >16GB of course!). If you're unable to access a system with more memory, you could try out the QIIME 2 AWS AMIs -- that will let you rent a virtual computer on Amazon's cloud under a "pay-as-you-go" model. You'll be able to choose from a wide variety of instance types, specifying how much CPU and RAM suit your needs.

1 Like

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