【ERROR】Exception: An error was encountered while running DADA2 in R (return code -11)

Hi, dear qiim2 team

I am having trouble with running Sequence quality control using time qiime dada2 denoise-single.I hope someone can provide some advice. My system is linux while using qiime2-amplicon and my qiime info is shown below:

System versions
Python version: 3.8.15
QIIME 2 release: 2024.2
QIIME 2 version: 2024.2.0
q2cli version: 2024.2.0

Installed plugins
alignment: 2024.2.0
composition: 2024.2.0
cutadapt: 2024.2.0
dada2: 2024.2.0
deblur: 2024.2.0
demux: 2024.2.0
diversity: 2024.2.0
diversity-lib: 2024.2.0
emperor: 2024.2.0
feature-classifier: 2024.2.0
feature-table: 2024.2.2
fragment-insertion: 2024.2.0
longitudinal: 2024.2.0
metadata: 2024.2.0
phylogeny: 2024.2.0
quality-control: 2024.2.0
quality-filter: 2024.2.0
rescript: 2024.2.2
sample-classifier: 2024.2.0
taxa: 2024.2.0
types: 2024.2.0
vsearch: 2024.2.0

My script is as shown below:

time qiime dada2 denoise-single     --i-demultiplexed-seqs single-end-demux.qza     --p-trim-left 0     --p-trunc-len 0 --p-n-threads 0     --o-representative-sequences 2dada2-rep-seqs.qza     --o-table 2dada2-table.qza     --o-denoising-stats 2dada2-denoising-stats.qza --verbose

But I get this error:

Command: run_dada.R --input_directory /tmp/qiime2/yangtr/data/adb69828-bac4-4b3d-98df-25413e5686af/data --output_path /tmp/tmp3ytxlxso/output.tsv.biom --output_track /tmp/tmp3ytxlxso/track.tsv --filtered_directory /tmp/tmp3ytxlxso --truncation_length 0 --trim_left 0 --max_expected_errors 2.0 --truncation_quality_score 2 --max_length Inf --pooling_method independent --chimera_method consensus --min_parental_fold 1.0 --allow_one_off False --num_threads 0 --learn_min_reads 1000000 --homopolymer_gap_penalty NULL --band_size 16

Warning message:
package ‘optparse’ was built under R version 4.2.3 
R version 4.2.2 (2022-10-31) 
Loading required package: Rcpp
DADA2: 1.26.0 / Rcpp: 1.0.12 / RcppParallel: 5.1.6 
2) Filtering ..................................................................
3) Learning Error Rates
231624508 total bases in 2161450 reads from 2 samples will be used for learning the error rates.
4) Denoise samples 
..........................
 *** caught segfault ***
address 0xa5dc, cause 'memory not mapped'

 *** caught segfault ***
address 0x6501, cause 'memory not mapped'

 *** caught segfault ***
address 0x134d8d, cause 'memory not mapped'

 *** caught segfault ***
address 0x18251b, cause 'memory not mapped'
Error in dada_uniques(names(drpi$uniques), unname(drpi$uniques), names(drpi$uniques) %in%  : 
  bad value
Calls: dada -> dada_uniques

Traceback:

 *** caught segfault ***

Traceback:
 1: dada_uniques(names(drpi$uniques), unname(drpi$uniques), names(drpi$uniques) %in%     c(priors, pseudo_priors), erri, unname(t(drpi$quals)), opts[["MATCH"]], 
 *** caught segfault ***

Traceback:
 1: dada_uniques(names(drpi$uniques), unname(drpi$uniques), names(drpi$uniques) %in%     c(priors, pseudo_priors), erri, unname(t(drpi$quals)), opts[["MATCH"]],     opts[["MISMATCH"]], opts[["GAP_PENALTY"]], opts[["USE_KMERS"]],     opts[["KDIST_CUTOFF"]], opts[["BAND_SIZE"]], opts[["OMEGA_A"]],     opts[["OMEGA_P"]], opts[["OMEGA_C"]], opts[["DETECT_SINGLETONS"]],     if (initializeErr) {        1    } else {        unname(t(drpi$quals))[[opts[["MATCH"]]]]    }, opts[["HOMOPOLD"]], opts[["MIN_HAMMING"]], opts[["MIN_ABUNDANCE"]],     TRUE, FALSE, opts[["GAPLESS"]], opts[["HOMOPOLYMER_GAP_PENALTY"]],     multithread, (verbose >= 2), opts[["SSE"]], opts[["GAPLESS"]],     opts[["GREEDY"]])
 2: dada(drp, err = err, multithread = multithread, HOMOPOLYMER_GAP_PENALTY = HOMOPOLYMER_GAP_PENALTY,     BAND_SIZE = BAND_SIZE, verbose = FALSE)
An irrecoverable exception occurred. R is aborting now ...
 1: dada_uniques(names(drpi$uniques), unname(drpi$uniques), names(drpi$uniques) %in%     c(priors, pseudo_priors), erri, unname(t(drpi$quals)), opts[["MATCH"]],     opts[["MISMATCH"]], opts[["GAP_PENALTY"]], opts[["USE_KMERS"]],     opts[["KDIST_CUTOFF"]], opts[["BAND_SIZE"]], opts[["KDISA_A"]], address (nil), cause 'unknown'
    opts[["MISMATCH"]], opts[["GAP_PENALTY"]], opts[["USE_KMERS"]],     opts[["GAPLE_S"]], opts[["OREEAY"]], opts[["DETECT_SINGLETONS"]],     if (initializeErr) {        1    } else {        opts[["MAX_CLUST"]]    }, opts[["MIN_FOLD"]], opts[["MIN_HAMMING"]], opts[["MIN_ABUNDANCE"]],     TRUE, FALSE, opts[["VECTORIZED_ALIGNMENT"]], opts[["HOMOPOLYMER_GAP_PENALTY"]],     multithread, (verbose >= 2), opts[["SSE"]], opts[["GAPLESS"]],     opts[["GREEDY"UTOFF"]])
 2: dada(drp, err = err, multithread = multithread, HOMOPOLYMER_GAP_PENALTY = HOMOPOLYMER_GAP_PENALTY,     BAND_SIZE = BAND_SIZE, verbose = FALSE)
An irrecoverable exception occurred. R is aborting now ...
    opts[["GREEDY"UTOFF"]], opts[["BAND_SIZE"]], opts[["OMEGA_A"]],     opts[["OMEGA_P"]], opts[["OMEGA_C"]], opts[["DETECT_SINGLETONS"]],     if (initializeErr) {        1.0000000e+00    } else {        opts[["MAX_CLUST"]]    }, opts[["MIN_FOLD"]], opts[["MIN_HAMMING"]], opts[["MIN_ABUNDANCE"]],     TRUE, FALSE, opts[["VECTORIZED_ALIGNMENT"]], opts[["HOMOPOLYMER_GAP_PENALTY"]],     multithread, (verbose >= 2), opts[["SSE"]], opts[["GAPLESS"]],     opts[["GREEDY"]])
 2: dada(drp, err = err, multithread = multithread, HOMOPOLYMER_GAP_PENALTY = HOMOPOLYMER_GAP_PENALTY,     BAND_SIZE = BAND_SIZE, verbose = FALSE)
An irrecoverable exception occurred. R is aborting now ...
address 0x1957, cause 'memory not mapped'
Error during wrapup: promise already under evaluation: recursive default argument reference or earlier problems?
Error: no more error handlers available (recursive errors?); invoking 'abort' restart
Error: R_Reprotect: only 37 protected items, can't reprotect index 37
Traceback (most recent call last):
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 240, in _denoise_single
    run_commands([cmd])
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 37, in run_commands
    subprocess.run(cmd, check=True)
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['run_dada.R', '--input_directory', '/tmp/qiime2/yangtr/data/adb69828-bac4-4b3d-98df-25413e5686af/data', '--output_path', '/tmp/tmp3ytxlxso/output.tsv.biom', '--output_track', '/tmp/tmp3ytxlxso/track.tsv', '--filtered_directory', '/tmp/tmp3ytxlxso', '--truncation_length', '0', '--trim_left', '0', '--max_expected_errors', '2.0', '--truncation_quality_score', '2', '--max_length', 'Inf', '--pooling_method', 'independent', '--chimera_method', 'consensus', '--min_parental_fold', '1.0', '--allow_one_off', 'False', '--num_threads', '0', '--learn_min_reads', '1000000', '--homopolymer_gap_penalty', 'NULL', '--band_size', '16']' died with <Signals.SIGSEGV: 11>.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/q2cli/commands.py", line 520, in __call__
    results = self._execute_action(
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/q2cli/commands.py", line 581, in _execute_action
    results = action(**arguments)
  File "<decorator-gen-70>", line 2, in denoise_single
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/qiime2/sdk/action.py", line 342, in bound_callable
    outputs = self._callable_executor_(
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/qiime2/sdk/action.py", line 566, in _callable_executor_
    output_views = self._callable(**view_args)
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 266, in denoise_single
    return _denoise_single(
  File "/mnt/data/software/miniconda3/envs/qiime2-amplicon/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 249, in _denoise_single
    raise Exception("An error was encountered while running DADA2"
Exception: An error was encountered while running DADA2 in R (return code -11), please inspect stdout and stderr to learn more.

Any help will be much appreciated.
Thank you in advance,

Alena

Hello @Alena,

My first guess would be that you ran out of memory. Try lowering the number passed to --p-n-threads (0 requests as many as possible, so try about half of whatever that number is).

1 Like

Thank you, colinvwood for the fast and kind reply. I will lower the parameter, and let you know if I have any further questions.
Best wishes,
Alena

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