qiime2 / q2-dada2

QIIME 2 plugin wrapping DADA2
BSD 3-Clause "New" or "Revised" License
19 stars 36 forks source link

Expectations for primer removal in Q2? #32

Closed benjjneb closed 6 years ago

benjjneb commented 7 years ago

DADA2's chimera removal step requires primers to have been removed, as otherwise the ambiguous nucleotides in most primer sets cause large numbers of false-positive chimeras to be identified.

We expect the user to remove primers (if they are in their reads) prior to starting the R DADA2 workflows, and try to make that as clear as possible in our documentation. To what extent is primer removal to be expected in Q2 prior to the "denoise" step? Should a check-and-warn step for potential untrimmed primers be added to the q2-dada2 workflows?

gregcaporaso commented 7 years ago

This plugin should assume that this has already happened. As it stands now, with the EMP protocol we already know that primers are not present. We'll add a warning to the documentation for now so that users are aware of this, and in the future we may add a semantic property to indicate that primers are remove (or more generally that the sequence is sequencing artifact free).

gregcaporaso commented 7 years ago

I think we should keep this one open for now, until we figure out the exact plan for how to handle this and until we add a note to the docs about it.

ebolyen commented 7 years ago

We are going to need something to trim reverse primers. Perhaps a plugin for trimmomatic could be used. (Although we've never tried using Java in conda).

benjjneb commented 7 years ago

You might want to look at cutadapt too, as it is python and pip installable already.

ConstantinoSchillebeeckx commented 6 years ago

Hi everyone, I've stumbled upon this thread after having run DADA2 with primers still present in my reads. 😓

I'm looking at how to incorporate said trim step with cutadapt and am looking at doing the following:

  1. qiime demux emp-paired
  2. qiime tools export demux.qza
  3. cutadapt on exported demuxed reads
  4. qiime tools import trimmed reads
  5. qiime dada2 denoise-paired

Is there a more qiime2-like way of doing this without having to do the import-trim-export steps? Ideally I'd like to run cutadapt directly on demuz.qza


Edit: looks like this is on your radar already? If so, consider this a +1

jairideout commented 6 years ago

@ConstantinoSchillebeeckx we have plans to add a cutadapt plugin in the 2017.12 release cycle (this month) so it might be easiest to wait for that. In the meantime, if you'd like help with the workflow you posted, can you please post your question on the QIIME 2 Forum? Thanks!

thermokarst commented 6 years ago

The upcoming 2017.12 release includes q2-cutadapt, which supports removing adapters from reads.

https://github.com/qiime2/q2-cutadapt/pull/2 https://github.com/qiime2/q2-cutadapt/pull/4 https://github.com/qiime2/q2-cutadapt/pull/6