Denoising error, names attribute must be the same length as vector

Hi all,

I’ve been running into a similar error to this thread:
However, I have been monitoring my memory and it only sits at around 30% usage when it crashes. So I don’t think that’s the issue. I’m running QIIME2 in Unbuntu 18, installed QIIME using Conda, and the computer has 40 cores and 128 GB memory.

Strangely, I don’'t have the problem when running 2019.1, but the error occurs both in 2019.4 and 2019.7.

Any ideas what the problem could be?

Kind regards,

Error below:

(qiime2-2019.7) [email protected]:~/Analysis/16S_analysis/JOMS_Batch02_201910$ ./ L01
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/tmp2zq84msi/forward /tmp/tmp2zq84msi/reverse /tmp/tmp2zq84msi/output.tsv.biom /tmp/tmp2zq84msi/track.tsv /tmp/tmp2zq84msi/filt_f /tmp/tmp2zq84msi/filt_r 280 240 20 20 6.0 6.0 2 consensus 1.0 30 1000000

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 Error in names(answer) <- names1 :
    ‘names’ attribute [122] must be the same length as the vector [118]
    Execution halted
    Traceback (most recent call last):
    File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2_dada2/”, line 234, in denoise_paired
    File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2_dada2/”, line 36, in run_commands, check=True)
    File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/”, line 418, in run
    output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command ‘[‘run_dada_paired.R’, ‘/tmp/tmp2zq84msi/forward’, ‘/tmp/tmp2zq84msi/reverse’, ‘/tmp/tmp2zq84msi/output.tsv.biom’, ‘/tmp/tmp2zq84msi/track.tsv’, ‘/tmp/tmp2zq84msi/filt_f’, ‘/tmp/tmp2zq84msi/filt_r’, ‘280’, ‘240’, ‘20’, ‘20’, ‘6.0’, ‘6.0’, ‘2’, ‘consensus’, ‘1.0’, ‘30’, ‘1000000’]’ returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2cli/”, line 327, in call
results = action(**arguments)
File “</home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/>”, line 2, in denoise_paired
File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/qiime2/sdk/”, line 240, in bound_callable
output_types, provenance)
File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/qiime2/sdk/”, line 383, in callable_executor
output_views = self._callable(**view_args)
File “/home/roger/miniconda3/envs/qiime2-2019.7/lib/python3.6/site-packages/q2_dada2/”, 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.

Hi @Roger_Huerlimann,
Congratulations for running into one of the more cryptic error messages that dada2 can throw at you. This is effectively a memory error even though it does not look like one — or more specifically a multithreading issue that can be fixed by reducing the number of threads used. See here for some discussion:

I think the dada2 version was upgraded somewhere in there, so it could be a version issue, but it could also be coincidence.

Reduce the number of threads you are using and let us know if it works!


Hi @Nicholas_Bokulich

Thanks for your reply! That indeed did the trick. Looks like I need to run it with 15 cores. Anything from 20 to 40 cores brings up the error. Still, the memory is not getting past about 30% usage for some reason.

Guess I’ll just have to run fewer cores and wait a tiny bit longer with my analyses. :slight_smile:

Kind regards,