Dada2 denoise error: [Parent][DispatchAsyncMessage] Error:

Hi!
I would like to run qiime2 on some data I found online :

got the data from MG-Rast

It looks to me that they did PE250 MiSeq, but when I download, I get either alreayd joined reads, or just forward reads. The explanation in the article is not too clear as well : "We then combined the file with merged reads and only the read 1 file; we chose to use just the “not combined” read 1 file because read 1 tends to be of higher quality than read 2 and by not using both “not combined” files we minimize inaccurately estimating abundance."

So I make the manifest file, mark all files as "forward" (I rename the sampleid's, not keeping the file names, this was ok for some other datasets...), import
qiime tools import
--type SampleData[SequencesWithQuality]
--input-format SingleEndFastqManifestPhred33
--input-path ../CG_manifest.csv
--output-path ../seq_CG.qza

Then cut away the primers with cutadapt
qiime cutadapt trim-single
--i-demultiplexed-sequences seq_CG.qza
--p-front GTGCCAGCMGCCGCGGTAA
--p-adapter ATTAGAWACCCBDGTAGTCC
--o-trimmed-sequences cut_seq_CG.qza
--p-cores 60
--verbose

And then denoise with dada2 - but this comes with several errors messages of :
[Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

qiime dada2 denoise-single \

--i-demultiplexed-seqs cut_seq_CG.qza
--p-trunc-len 250
--p-trim-left 3
--p-n-threads 40
--verbose
--output-dir dada2out_cut_CG
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_single.R /tmp/qiime2-archive-ocn_lshq/e874d691-ca35-45f6-98f5-4963426bdca9/data /tmp/tmp4wlrjxgm/output.tsv.biom /tmp/tmp4wlrjxgm/track.tsv /tmp/tmp4wlrjxgm 250 3 2.0 2 Inf consensus 1.0 40 1000000 NULL 16

R version 3.4.1 (2017-06-30)
Loading required package: Rcpp
DADA2 R package version: 1.6.0

  1. Filtering ....................
  2. Learning Error Rates
    Initializing error rates to maximum possible estimate.
    Sample 1 - 194076 reads in 97220 unique sequences.
    Sample 2 - 122022 reads in 87339 unique sequences.
    Sample 3 - 126001 reads in 79465 unique sequences.

###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

Sample 4 - 76273 reads in 54062 unique sequences.
Sample 5 - 113627 reads in 88027 unique sequences.
Sample 6 - 25210 reads in 21905 unique sequences.
Sample 7 - 314921 reads in 172930 unique sequences.

###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

Sample 8 - 114129 reads in 85025 unique sequences.
selfConsist step 2
selfConsist step 3

This process seems to go on (already for quite long), but even if it finishes, I am not too sure if I understand what happened and why and if I can trust the resulting file.
Couldn't find this error related to qiime / dada2 when googleing.

Thank you in advance!

1 Like

Good morning,

Thank you for posting that detailed error message. This is very helpful.

Looks like this is a DispatchAsyncMessage error message, which is not part of qiime or dada2. I'm not sure what's causing this error or if would cause a problem with you analysis.

If you want to make sure the pipeline works, I would suggest running through one of the tutorials, then make sure your results match the posted results. Have you tried some of the tutorials?
https://docs.qiime2.org/2018.11/tutorials/fmt/

If these work, then dada2 on this data set should work too. And if the tutorials cause a DispatchAsyncMessage error, we can gather more clues to solve this problem!

Colin

Hey there @rahel_park!

I am not going to focus on the data or even the commands run at the moment, I strongly suspect they have nothing to do with the warning/error messages.

Can you tell us a bit more about your computation environment? Laptop? Cluster? Remote client? If so, how do you connect? What version of QIIME 2?

Hi,

I connect with ssh via mobaxterm to a linux server. I use qiime2-2018.11.
I have run successfully qiime pipeline on my own samples with this setup earlier, as well yesterday at the same time on some other data I downloaded from ncbi - example below

qiime dada2 denoise-paired
--o-representative-sequences rep-seqs_HG.qza
--o-denoising-stats denoising-stats_HG.qza

--verbose
--i-demultiplexed-seqs seq_HG.qza
--p-trim-left-f 3
--p-trim-left-r 3
--p-trunc-len-f 210
--p-trunc-len-r 160
--p-n-threads 60
--o-table table_HG.qza
--o-representative-sequences rep-seqs_HG.qza
--o-denoising-stats denoising-stats_HG.qza
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/tmpfr35wf8l/forward /tmp/tmpfr35wf8l/reverse /tmp/tmpfr35wf8l/output.tsv.biom /tmp/tmpfr35wf8l/track.tsv /tmp/tmpfr35wf8l/filt_f /tmp/tmpfr35wf8l/filt_r 210 160 3 3 2.0 2 consensus 1.0 60 1000000

R version 3.4.1 (2017-06-30)
Loading required package: Rcpp
DADA2 R package version: 1.6.0

  1. Filtering .......................................................................................................................................

  2. Learning Error Rates
    2a) Forward Reads
    Initializing error rates to maximum possible estimate.
    Sample 1 - 45219 reads in 16711 unique sequences.
    Sample 2 - 48490 reads in 11449 unique sequences.
    Sample 3 - 49686 reads in 17880 unique sequences.
    Sample 4 - 55381 reads in 25912 unique sequences.
    Sample 5 - 26191 reads in 11255 unique sequences.
    Sample 6 - 38754 reads in 12882 unique sequences.
    Sample 7 - 37711 reads in 15012 unique sequences.
    Sample 8 - 34216 reads in 16161 unique sequences.
    Sample 9 - 23526 reads in 9086 unique sequences.
    Sample 10 - 40165 reads in 13798 unique sequences.
    Sample 11 - 75706 reads in 22401 unique sequences.
    Sample 12 - 36267 reads in 16426 unique sequences.
    Sample 13 - 20657 reads in 13382 unique sequences.
    Sample 14 - 36402 reads in 17039 unique sequences.
    Sample 15 - 29888 reads in 12976 unique sequences.
    Sample 16 - 53188 reads in 20498 unique sequences.
    Sample 17 - 34750 reads in 14908 unique sequences.
    Sample 18 - 70239 reads in 31012 unique sequences.
    Sample 19 - 50994 reads in 21515 unique sequences.
    Sample 20 - 30165 reads in 14249 unique sequences.
    Sample 21 - 42625 reads in 16386 unique sequences.
    Sample 22 - 31539 reads in 12763 unique sequences.
    Sample 23 - 64887 reads in 26062 unique sequences.
    Sample 24 - 54382 reads in 25273 unique sequences.
    selfConsist step 2
    selfConsist step 3
    selfConsist step 4
    selfConsist step 5
    selfConsist step 6
    Convergence after 6 rounds.
    2b) Reverse Reads
    Initializing error rates to maximum possible estimate.
    Sample 1 - 45219 reads in 7300 unique sequences.
    Sample 2 - 48490 reads in 5745 unique sequences.
    Sample 3 - 49686 reads in 20176 unique sequences.
    Sample 4 - 55381 reads in 29627 unique sequences.
    Sample 5 - 26191 reads in 16304 unique sequences.
    Sample 6 - 38754 reads in 21539 unique sequences.
    Sample 7 - 37711 reads in 20695 unique sequences.
    Sample 8 - 34216 reads in 22074 unique sequences.
    Sample 9 - 23526 reads in 14978 unique sequences.
    Sample 10 - 40165 reads in 18429 unique sequences.
    Sample 11 - 75706 reads in 37763 unique sequences.
    Sample 12 - 36267 reads in 24616 unique sequences.
    Sample 13 - 20657 reads in 4503 unique sequences.
    Sample 14 - 36402 reads in 24316 unique sequences.
    Sample 15 - 29888 reads in 18630 unique sequences.
    Sample 16 - 53188 reads in 30879 unique sequences.
    Sample 17 - 34750 reads in 23216 unique sequences.
    Sample 18 - 70239 reads in 45398 unique sequences.
    Sample 19 - 50994 reads in 27427 unique sequences.
    Sample 20 - 30165 reads in 20260 unique sequences.
    Sample 21 - 42625 reads in 24401 unique sequences.
    Sample 22 - 31539 reads in 18932 unique sequences.
    Sample 23 - 64887 reads in 42198 unique sequences.
    Sample 24 - 54382 reads in 11419 unique sequences.
    selfConsist step 2
    selfConsist step 3
    selfConsist step 4
    selfConsist step 5
    selfConsist step 6
    Convergence after 6 rounds.

  3. Denoise remaining samples ...............................................................................................................
    The sequences being tabled vary in length.

  4. Remove chimeras (method = consensus)

  5. Write output
    Saved FeatureTable[Frequency] to: table_HG.qza
    Saved FeatureData[Sequence] to: rep-seqs_HG.qza
    Saved SampleData[DADA2Stats] to: denoising-stats_HG.qza

Finally as well the data with issues finished overnight -

qiime dada2 denoise-single \

--i-demultiplexed-seqs cut_seq_CG.qza
--p-trunc-len 250
--p-trim-left 3
--p-n-threads 40
--verbose
--output-dir dada2out_cut_CG
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_single.R /tmp/qiime2-archive-ocn_lshq/e874d691-ca35-45f6-98f5-4963426bdca9/data /tmp/tmp4wlrjxgm/output.tsv.biom /tmp/tmp4wlrjxgm/track.tsv /tmp/tmp4wlrjxgm 250 3 2.0 2 Inf consensus 1.0 40 1000000 NULL 16

R version 3.4.1 (2017-06-30)
Loading required package: Rcpp
DADA2 R package version: 1.6.0

  1. Filtering ....................
  2. Learning Error Rates
    Initializing error rates to maximum possible estimate.
    Sample 1 - 194076 reads in 97220 unique sequences.
    Sample 2 - 122022 reads in 87339 unique sequences.
    Sample 3 - 126001 reads in 79465 unique sequences.

###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

Sample 4 - 76273 reads in 54062 unique sequences.
Sample 5 - 113627 reads in 88027 unique sequences.
Sample 6 - 25210 reads in 21905 unique sequences.
Sample 7 - 314921 reads in 172930 unique sequences.

###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

Sample 8 - 114129 reads in 85025 unique sequences.
selfConsist step 2
selfConsist step 3
selfConsist step 4
selfConsist step 5
selfConsist step 6
selfConsist step 7
selfConsist step 8
selfConsist step 9
selfConsist step 10
Self-consistency loop terminated before convergence.

  1. Denoise remaining samples ............
  2. Remove chimeras (method = consensus)
  3. Report read numbers through the pipeline
  4. Write output
    Saved FeatureTable[Frequency] to: dada2out_cut_CG/table.qza
    Saved FeatureData[Sequence] to: dada2out_cut_CG/representative_sequences.qza
    Saved SampleData[DADA2Stats] to: dada2out_cut_CG/denoising_stats.qza

According to the denoising_stats, there is nothing seemingly wrong - 50-70% of sequences passed for all samples.

So I am currently unsure if I should just ignore these errors and just continue or there's something actually wrong with the data...

Thank you in advance!!

Similar error now appeared on my mobaxtream screen, not related to dada2, without any command being run. Somehow the firefox when viewing the qzv files seemed to have been linked to the error. I was now wondering that maybe the error appeared in the middle of my denoising process - but indeed was not related to that - and maybe then there was nothing wrong with the sample processing.
It hasn't happened before though (run quite a few times this analysis process).
Bizarre.. I assume I can just ignore this issue then?

(qiime2-2018.11) rahel@labserver-PowerEdge-T630:~/MiSeqRWBE/gut_skin$
###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost

###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost

(etc)

[Parent 73315, Gecko_IOThread] WARNING: pipe error: Broken pipe: file /build/firefox-h0evE3/firefox-64.0+build3/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 736
[Parent 73315, Gecko_IOThread] WARNING: pipe error (154): Connection reset by peer: file /build/firefox-h0evE3/firefox-64.0+build3/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 363

###!!! [Parent][DispatchAsyncMessage] Error: PClientHandle::Msg_PClientHandleOpConstructor Route error: message sent to unknown actor ID

^C

1 Like

This is exactly what my research found, too --- this warning is coming from a running Firefox process, just happened to be showing up in your QIIME 2 logs.

That is what I would do... :see_no_evil:

2 Likes