conceptual justification of dada2 truncation prior to merging

I can't be sure without seeing some data and getting some specifics on what you did, but it sounds like the issue here is probably related to trimming low-quality bases from the 3' ends of the reads, causing the reads to fail merging. Not because dada2 is dropping all reads due to the presence of errors (but it could be that too, I need to see the specifics). If you want to get our help troubleshooting that issue, please open a new topic and provide the usual info about what you ran, the quality score plots, and the dada2 stats output (as a QZV).

Paired-end reads in QIIME 1 would have been joined (e.g., with fastq-join) prior to quality filtering. To achieve a similar workflow in QIIME 2, and perhaps more to your liking, I recommend using q2-vsearch to join your paired-end reads, then use q2-deblur to denoise (or q2-vsearch to cluster otus). This is definitely an issue when comparing qiime1 vs. qiime2; the qiime1-style protocol is somewhat more permissive and joining prior to QC will save more paired-end reads that just barely join — but whether doing so leads to more errors is still a possibility (which deblur should sort out for you).

dada2 does not really discard everything that is suspicious — just anything that is so suspicious that it seems unlikely that dada2 can repair it! Otherwise that is the goal of dada2 — to identify likely errors and attempt to correct those errors to recover the true signal that is present. As a rule of thumb, I think this is a good way to interpret the outputs of dada2:

% reads discarded Interpretation
0-10% Extraordinarily good luck!
10-25% Typical output from dada2
25-50% Noisy data but adjusting parameter settings could improve your yields
50-75% Low-quality data but possibly sub-optimal parameter settings, check your stats output!
75-100% Something is wrong, see the stats output to diagnose: either the data are exceptionally poor quality, or truncation needs to be adjusted to (a) truncate more to prevent abnormal read filtering due to low-quality reads or (b) truncate less to permit paired-end read joining.
6 Likes