DADA2 with non-oriented library

I'm putting together a pipeline (qiime2-2017.10) to process our V4 MiSeq data that was prepped using a non-oriented library. Here's what I've got so far:

  1. orient all reads in the same direction (using in-house script) and remove any primers found for the R1 file.
  2. orient all reads in the same direction (using in-house script) and remove any primers found for the R2 file.
  3. import oriented/trimmed R1 & R2 files into an EMPPairedEndSequences qiime artifact
  4. demultiplex qiime demux emp-paired --i-seqs seqs.qza --m-barcodes-file mapping.txt --m-barcodes-category BarcodeSequence --o-per-sample-sequences demux.qza --p-rev-comp-mapping-barcodes
  5. run DADA2: qiime dada2 denoise-paired --i-demultiplexed-seqs demux.qza --p-trunc-len-f 220 --p-trunc-len-r 220 --output-dir dada2 --p-n-threads 0

However DADA2 keeps exiting with an error (log attached as well as my demulitplexed visual file).

seqMAT56_demux.qzv (305.6 KB)
qiime2-q2cli-err-04ctds97.txt (9.1 KB)

Hi @Constantino_Schilleb,

It’s likely that your input demux file is somehow corrupted, but it’s difficult to assess only on the basis of the qzv visualization that you attached. Do you also encounter errors while running qiime deblur on your sequences?

Tomasz

Hi @schillebeeckx

I am using PGM ion torrent instead Miseq but I have he same problem about the orientation of my sequences in single end. I have in each fastq/sample both orientations. Could you help me with the reorientation? I am not sure about how to do it.

regarding your imported sequences, do you have one file per sample or one for all samples? I have one file per sample and to import like demultiplexed file I used one manifest file. Dada and deblur run without errors, but in my case with wrong results due to my mixed orientations.

Thanks for your help

I'm not familiar with PGM ion torrent but I've provided the script I'm using to orient & trim. Note that it checks for primers on both ends of joined reads. You mention single-ended reads, so the script may have to be modified to handle that case. Also, you'll probably have to update it with your own primers.V4V5_orient_and_trim_primers_fuzzy.py (8.2 KB)

In my orient & trim step, the resulting R1 & R2 reads won't necessarily be the same length (either within a file or between the two files). Is that the issue? Is there any other way I can validate my demux file?

I ran the following with no issues:
qiime deblur denoise-16S --i-demultiplexed-seqs seqMAT56_demux.qza --p-trim-length 220 --p-sample-stats --output-dir deblur --p-jobs-to-start 10
and have attached the output visualizations.

stats.qzv (233.4 KB)

Thank you very much @schillebeeckx for sharing the script! I will to modify for my conditions (primers, sequences single end, etc.). Thanks again!
MMC

I do not know why you had problems in Dada, but in Deblur the results seem normal. Except for the two first samples, which have low sequnces, the rest lose arond 25-36% of sequences because the size of the fragment. Maybe you can try lower trimming, 200, 180, for example, in order to check how many sequences you recover after denoised filter if you use lower size.

Hey @schillebeeckx,

A shot in the dark, is it possible that your forward and reverse reads are the same for one (or more) of your samples? Your problem sounds similar to this thread:

I was able to isolate the issue to my trimming and orienting step. In the rare case of a primer being present in only on read direction (either R1 or R2), that read half will get oriented (and potentially reversed complimented) whereas its pair will not. I’ve since updated my orient script to handle said case.

I’m not sure if this is moot, or if either the QIIME2 or DADA2 developers want to update their error reporting for this. If required I can provide example data to re-create this issue.

1 Like

Thanks @schillebeeckx. I agree that improving error message will be great to avoid other people wondering about this. Could you open an issue? I think here is the right repository.

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