Error with DADA2 running Qiime2 on a mock community

Dear all,

I am facing a trouble with a command in Qiime2. I am working with Qiime2 from a singularity container, retrieved from the official website.

I am trying to use Q2 on some mock communities, in detail I am testing it on Mockrobiota community 2 (found on @gregcaporaso GitHub page).

The trouble I am facing appears when I run this command:
singularity run --env MPLCONFIGDIR=$HOME/R_MYPACKAGES singularity_containers/qiime2_2023.2 qiime dada2 denoise-paired --i-demultiplexed-seqs Analysis/file_filtered.qza --p-trim-left-f 0 --p-trim-left-r 0 --p-trunc-len-f 0 --p-trunc-len-r 0 --o-table Analysis/file_table.qza --o-representative-sequences Analysis/file_rep-seqs.qza --o-denoising-stats Analysis/file-stats.qza --p-n-threads 24 --verbose

Verbose print out is the following:

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.R --input_directory /tmp/tmput697ye9/forward --input_directory_reverse /tmp/tmput697ye9/reverse --output_path /tmp/tmput697ye9/output.tsv.biom --output_track /tmp/tmput697ye9/track.tsv --filtered_directory /tmp/tmput697ye9/filt_f --filtered_directory_reverse /tmp/tmput697ye9/filt_r --truncation_length 0 --truncation_length_reverse 0 --trim_left 0 --trim_left_reverse 0 --max_expected_errors 2.0 --max_expected_errors_reverse 2.0 --truncation_quality_score 2 --min_overlap 12 --pooling_method independent --chimera_method consensus --min_parental_fold 1.0 --allow_one_off False --num_threads 24 --learn_min_reads 1000000

*R version 4.2.2 (2022-10-31) *
Loading required package: Rcpp
*DADA2: 1.26.0 / Rcpp: 1.0.10 / RcppParallel: 5.1.6 *
2) Filtering .
3) Learning Error Rates
51445 total bases in 527 reads from 1 samples will be used for learning the error rates.
14954 total bases in 527 reads from 1 samples will be used for learning the error rates.
3) Denoise samples .
5) Remove chimeras (method = consensus)
*Error in isBimeraDenovoTable(unqs[[i]], ..., verbose = verbose) : *

  • Input must be a valid sequence table.*
    Calls: removeBimeraDenovo -> isBimeraDenovoTable
    3: stop("Input must be a valid sequence table.")
    2: isBimeraDenovoTable(unqs[[i]], ..., verbose = verbose)
    *1: removeBimeraDenovo(seqtab, method = chimeraMethod, minFoldParentOverAbundance = minParentFold, *
  •   allowOneOff = allowOneOff, multithread = multithread)*

Traceback (most recent call last):

  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/site-packages/q2_dada2/", line 326, in denoise_paired*
  • run_commands([cmd])*
  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/site-packages/q2_dada2/", line 36, in run_commands*
  •, check=True)*
  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/", line 516, in run*
  • raise CalledProcessError(retcode, process.args,*
    subprocess.CalledProcessError: Command '['run_dada.R', '--input_directory', '/tmp/tmput697ye9/forward', '--input_directory_reverse', '/tmp/tmput697ye9/reverse', '--output_path', '/tmp/tmput697ye9/output.tsv.biom', '--output_track', '/tmp/tmput697ye9/track.tsv', '--filtered_directory', '/tmp/tmput697ye9/filt_f', '--filtered_directory_reverse', '/tmp/tmput697ye9/filt_r', '--truncation_length', '0', '--truncation_length_reverse', '0', '--trim_left', '0', '--trim_left_reverse', '0', '--max_expected_errors', '2.0', '--max_expected_errors_reverse', '2.0', '--truncation_quality_score', '2', '--min_overlap', '12', '--pooling_method', 'independent', '--chimera_method', 'consensus', '--min_parental_fold', '1.0', '--allow_one_off', 'False', '--num_threads', '24', '--learn_min_reads', '1000000']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/site-packages/q2cli/", line 352, in call*
  • results = action(*arguments)
  • File "", line 2, in denoise_paired*
  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/sdk/", line 234, in bound_callable*
  • outputs = self.callable_executor(scope, callable_args,*
  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/site-packages/qiime2/sdk/", line 381, in callable_executor*
  • output_views = self._callable(*view_args)
  • File "/opt/conda/envs/qiime2-2023.2/lib/python3.8/site-packages/q2_dada2/", line 339, in denoise_paired*
  • raise Exception("An error was encountered while running DADA2"*
    Exception: An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.

Plugin error from dada2:

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

See above for debug info.

I have done a research inside the Forum and looks like the error is given because forward and reverse sequences are identical, which to me makes sense as they are mock.

However, I am not sure I can skip this passage, because the following steps requires special outputs from this command, and I am not sure I can just rename the file and make it work.

Any suggestion?
Thanks in advance,


PS I tested the same command(s) on other mock communities and this issue never showed up so I'm quite :face_with_spiral_eyes:

EDIT1: while waiting for your kind response, I tried to use file_filtered.qza in feature-classifier: of course the results was
(1/1) Invalid value for '--i-reads': Expected an artifact of at least type
FeatureData[Sequence]. An artifact of type
SampleData[PairedEndSequencesWithQuality] was provided.

So I wait for your help :slight_smile:

1 Like

Hello @AstroBioJack,

There seems to be something weird going on with your input data--it only has 500 some reads. Would you mind sharing your file_filtered.qza?


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