The way it works in dada2 is the forward reads are denoised and the reverse reads denoised separately (so the error model for each is consistent, e.g. its the forward-read error model across the full forward reads). Then reads are merged.
It's a solvable problem, but also not entirely trivial, and we just don't have the time to devote to it given how well the merge-later workflow works, including for ITS. If we get time (i.e. $upport) its something I'd like to revisit though because merge-first is more convenient for ITS in particular.
@Adam_Rivers, I think some of your questions for me were already answered in the discussion here, but I wanted to follow up to be sure that you're not waiting on input. Please let me know if I've missed anything.
I think this would be a very useful workflow to support.
Yes, just to clarify, if SampleData[PairedEndSequencesWithQuality] is provided to denoise-single, the reverse reads are just ignored. This is for convenience so the user can create one SampleData[PairedEndSequencesWithQuality] artifact, and use it with denoise methods that take single or paired end reads.
Pre-joined reads aren't accepted by DADA2 (I think that was already clear from some of the other discussion on this thread, but just wanted to reply to this question specifically).
Yes, that should be the only change that you need to make.
Does ITSxpress work on single-end reads? If so, why not use it to trim ITS in forward/reverse separately, and then denoise with dada2?
That could be done but it would more than double the running time and would not allow validation that the beginning and end are present for the selected ITS region. After thinking about it more I realised I could calculate the 5' trimming positions of the reads from the merged sequences. so I will do that instead.
@Adam_Rivers
Thank you for providing this plugin for ITS. I think it is worth including this step in the pre-processing of ITS.
I wonder whether by now it is possible to run itsxpress on forward and reverse reads, and not merged reads.
Could you please update us regarding this matter?
Yes, I added support for the output of unmerged reads last month. Update itsxpress and q2-itsxpress and you should be all set. The itsxpress tutorial has also been updated with instructions on outputting unmerged reads for Dada2.