QIIME Dada2 Denoise Single-Ended Plug-In Error

Hello everyone,

I am using Qiime2: qiime2-2021.4 with conda.

For multiple datasets, I've successfully imported the FASTQ files as demultiplexed artifact files (QZA files). However, I am consistently running into an error when running the following dada2 denoising step:

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

The error is shown below:

Plugin error from dada2:

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

Here is the associated log file contents:

2) Learning Error Rates
2583111215 total bases in 16945415 reads from 1 samples will be used for learning the error rates.
Error rates could not be estimated (this is usually because of very few reads).
Error in getErrors(err, enforce = TRUE) : Error matrix is NULL.
Execution halted

For this command, I've tried increasing the p-n-threads parameter from 0 to 16. I have also removed truncation. Has anyone encountered this error? If so, how did you approach this?

Please advise.

Welcome to the forums! :qiime2:

This error can be caused by binned quality scores. See here. Is this iSeq or NovaSeq data?

I also noticed you had 1 samples. Is that correct?

1 Like

Hello, thank you for your response.

I believe this is MiSeq data. According to the QZV file associated with the input QZA file, there were 47 samples. I haven't considered using the deblur technique, so I'll look into that. Can this technique be used for Paired-End sequences?

Hello @datascischolar,

Would you mind attaching your demux visualization?

Paired end reads do not work with deblur.

1 Like

Hi! Sure, attached is the demux visualization file.
demux-single-end.qzv (290.0 KB)

Hopefully this helps.

Hello @datascischolar,

Your data will work with deblur because it's single end, my mistake.

As to why you're getting this NULL error matrix error, I'm not sure, though it seems to be somewhat common for binned quality scores as you have. It's also strange that dada2 is only recognizing one sample. You could try opening an issue on dada2's GitHub, or reading through similar errors there.

Thank you for your response. I ran the following deblur command on my dataset:

qiime deblur denoise-16S \
      --i-demultiplexed-seqs demux-single-end.qza \
      --p-trim-length -1 \
      --p-sample-stats \
      --p-jobs-to-start 32 \
      --o-stats deblur-stats.qza \
      --o-representative-sequences rep-seqs-deblur.qza \
      --o-table table-deblur.qza

After running this, I get the following error:

Plugin error from deblur:

  Command '['deblur', 'workflow', '--seqs-fp', '/tmp/qiime2-archive-134qoq97/57512f33-5646-4a18-b52b-0fd8a77c8ef1/data', '--output-dir', '/tmp/tmpxll1hw9w', '--mean-error', '0.005', '--indel-prob', '0.01', '--indel-max', '3', '--trim-length', '0', '--min-reads', '10', '--min-size', '2', '--jobs-to-start', '32', '-w', '--keep-tmp-files']' returned non-zero exit status 1.

Based on the qzv I sent earlier, should I change my parameters when running this command?

Hello @datascischolar,

Please use the --verbose flag and post the entire error output.

1 Like

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