trimming joined reads with cutadapt

Hello! My name is Lucia and I’m currently working with already joined reads (qiime2019.1) that I’ve imported as `‘SampleData[JoinedSequencesWithQuality]’ . I’ve checked it and the data still have the primer sequences that should be removed. I’ve tried to use cutadapt using both trim-possible versions (single and paired), but in both cases I obtain the same error regarding the type of argument:

qiime cutadapt trim-single --i-demultiplexed-sequences qscore_joinedF-end-demux.qza --p-front TCGTCGGCAGCGTCAGATGTGTATAAGAGACAGCCTACGGGNBGCASCAG --p-adapter GTCTCGTGGGCTCGGAGATGTGTATAAGAGACAGGACTACNVGGGTATCTAATC --o-trimmed-sequences noprimer_qscore_joinedF-end-demux.qza

Plugin error from cutadapt:

Parameter ‘demultiplexed_sequences’ received an argument of type SampleData[JoinedSequencesWithQuality]. An argument of subtype SampleData[SequencesWithQuality] is required.

Is there any option for trimming joined sequences with cutadapt? If not, should I import the sequences as SequencesWithQuality? How does the importation as JoinedSequencesWithQuality or SequencesWithQuality could affect the data? (sorry if this questions does not belong to this chat).

Thank you very much,


Hi Lucia and welcome in the forum!

Did you join the sequences or did you get them already joined?
I am asking because having the not-joined sequences would give you more flexibility (but if you are here probably you haven’t got them …)

In your place I probably would trim the sequences before importing them into qiime, so you can keep as “JoinedSequencesWithQuality”, hence if you look at the data days/weeks/years later you are not confused by this. You can do this using cutadapt within the qiime2 environment if you like (using something like -g and -G options in cutadapt to remove adapters respectively at front of R1 and R2, but please refer to cutadapt documents for more info on this )

As alternative you could, as you said, import your sequences as “SequencesWithQuality” instead, and trim with q2-cutadapt using --p-front and --p-anywhere for trimming the forward and reverse primer respectively. I never tried that and in theory I think it should work. That ultimately should work because for the denoising stage you have to use deblur (dada2 does not work for joined sequence, so in any case you could not use it!) and it does not consider the quality values (from the documentation, deblur works with JoinedSequencesWithQuality as well as SequencesWithQuality).

Still, my preferred options would be to (a) get the un-joined reads, or (b) trim the sequences outside qiime, for keeping things as clear as possible for late ruse. The third way,© trimming sequences as SequencesWithQuality would be quite experimental in my view, and it is possible I missing a piece on this … let see what other think about!

Hope it helps


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