steps after importing data into qiime2

I imported my manifest file and a paired end demux file was created on the deskstop.

Then I ran the following commands: and i got the output(photo attached)
image

I then pulled the dada2 stats file in QIIME2 View.
But the issue is the data that was displayed on it was not mine. it was that of Tutorial data (FMT).

I do realise when I the gave the following command I nowhere speciified the path of my imported data i.e my paired end demux file.

How do I now proceed from this step:(I have my pairedend demux.zip file ready)

(qiime2-2023.7) temp@temp-B365M-DS3H:~ qiime dada2 denoise-paired \ --i-demultiplexed-seqs demultiplexed-sequences.qza \ --p-trunc-len-f 200 \ --p-trim-left-r 10 \ --p-trunc-len-r 150 \ --o-representative-sequences asv-sequences-0.qza \ --o-table feature-table-0.qza \ --o-denoising-stats dada2-stats.qza Saved FeatureTable[Frequency] to: feature-table-0.qza Saved FeatureData[Sequence] to: asv-sequences-0.qza Saved SampleData[DADA2Stats] to: dada2-stats.qza (qiime2-2023.7) temp@temp-B365M-DS3H:~ qiime metadata tabulate
--m-input-file dada2-stats.qza
--o-visualization dada2-stats-summ.qzv
Saved Visualization to: dada2-stats-summ.qzv
(qiime2-2023.7) temp@temp-B365M-DS3H:~$

kindly help. Thank you

Hi @komal,
It looks like you accidentally used the Tutorial data (FMT) instead of your data.
Make sure that the demux file that is going into dada2 is the one you created with your manifest and not the one that is downloadable from the tutorial.

Hello..
I got you point . I deleted the tutorial data. and gave the following command

qiime dada2 denoise-paired
--i- demultiplexed-seqs demultiplexed-sequences.qza
--p-trunc-len-f 260
--p-trim-left-r 10
--p-trunc-len-r 150
--o-representative-sequences asv-sequences-0.qza
--o-table feature-table-0.qza
--o-denoising-stats dada2-stats.qza

Got the following error

This method denoises paired-end sequences, dereplicates them, and filters
chimeras.

Inputs:
--i-demultiplexed-seqs ARTIFACT SampleData[PairedEndSequencesWithQuality]
The paired-end demultiplexed sequences to be
denoised. [required]
Parameters:
--p-trunc-len-f INTEGER
Position at which forward read sequences should be
truncated due to decrease in quality. This truncates
the 3' end of the of the input sequences, which will
be the bases that were sequenced in the last cycles.
Reads that are shorter than this value will be
discarded. After this parameter is applied there must
still be at least a 12 nucleotide overlap between the
forward and reverse reads. If 0 is provided, no
truncation or length filtering will be performed
[required]
--p-trunc-len-r INTEGER
Position at which reverse read sequences should be
truncated due to decrease in quality. This truncates
the 3' end of the of the input sequences, which will
be the bases that were sequenced in the last cycles.
Reads that are shorter than this value will be
discarded. After this parameter is applied there must
still be at least a 12 nucleotide overlap between the
forward and reverse reads. If 0 is provided, no
truncation or length filtering will be performed
[required]
--p-trim-left-f INTEGER
Position at which forward read sequences should be
trimmed due to low quality. This trims the 5' end of
the input sequences, which will be the bases that
were sequenced in the first cycles. [default: 0]
--p-trim-left-r INTEGER
Position at which reverse read sequences should be
trimmed due to low quality. This trims the 5' end of
the input sequences, which will be the bases that
were sequenced in the first cycles. [default: 0]
--p-max-ee-f NUMBER Forward reads with number of expected errors higher
than this value will be discarded. [default: 2.0]
--p-max-ee-r NUMBER Reverse reads with number of expected errors higher
than this value will be discarded. [default: 2.0]
--p-trunc-q INTEGER Reads are truncated at the first instance of a
quality score less than or equal to this value. If
the resulting read is then shorter than trunc-len-f
or trunc-len-r (depending on the direction of the
read) it is discarded. [default: 2]
--p-min-overlap INTEGER
Range(4, None) The minimum length of the overlap required for
merging the forward and reverse reads. [default: 12]
--p-pooling-method TEXT Choices('independent', 'pseudo')
The method used to pool samples for denoising.
"independent": Samples are denoised indpendently.
"pseudo": The pseudo-pooling method is used to
approximate pooling of samples. In short, samples are
denoised independently once, ASVs detected in at
least 2 samples are recorded, and samples are
denoised independently a second time, but this time
with prior knowledge of the recorded ASVs and thus
higher sensitivity to those ASVs.
[default: 'independent']
--p-chimera-method TEXT Choices('consensus', 'none', 'pooled')
The method used to remove chimeras. "none": No
chimera removal is performed. "pooled": All reads are
pooled prior to chimera detection. "consensus":
Chimeras are detected in samples individually, and
sequences found chimeric in a sufficient fraction of
samples are removed. [default: 'consensus']
--p-min-fold-parent-over-abundance NUMBER
The minimum abundance of potential parents of a
sequence being tested as chimeric, expressed as a
fold-change versus the abundance of the sequence
being tested. Values should be greater than or equal
to 1 (i.e. parents should be more abundant than the
sequence being tested). This parameter has no effect
if chimera-method is "none". [default: 1.0]
--p-allow-one-off / --p-no-allow-one-off
Bimeras that are one-off from exact are also
identified if the allow-one-off argument is TrueIf
True, a sequence will be identified as bimera if it
is one mismatch or indel away from an exact bimera.
[default: False]
--p-n-threads INTEGER The number of threads to use for multithreaded
processing. If 0 is provided, all available cores
will be used. [default: 1]
--p-n-reads-learn INTEGER
The number of reads to use when training the error
model. Smaller numbers will result in a shorter run
time but a less reliable error model.
[default: 1000000]
--p-hashed-feature-ids / --p-no-hashed-feature-ids
If true, the feature ids in the resulting table will
be presented as hashes of the sequences defining each
feature. The hash will always be the same for the
same sequence so this allows feature tables to be
merged across runs of this method. You should only
merge tables if the exact same parameters are used
for each run. [default: True]
Outputs:
--o-table ARTIFACT FeatureTable[Frequency]
The resulting feature table. [required]
--o-representative-sequences ARTIFACT FeatureData[Sequence]
The resulting feature sequences. Each feature in the
feature table will be represented by exactly one
sequence, and these sequences will be the joined
paired-end sequences. [required]
--o-denoising-stats ARTIFACT SampleData[DADA2Stats]
[required]
Miscellaneous:
--output-dir PATH Output unspecified results to a directory
--verbose / --quiet Display verbose output to stdout and/or stderr
during execution of this action. Or silence output if
execution is successful (silence is golden).
--example-data PATH Write example data and exit.
--citations Show citations and exit.
--help Show this message and exit.

Examples:

### example: denoise paired

qiime dada2 denoise-paired
--i-demultiplexed-seqs demux-paired.qza
--p-trunc-len-f 150
--p-trunc-len-r 140
--o-representative-sequences representative-sequences.qza
--o-table table.qza
--o-denoising-stats denoising-stats.qza

or another error as follow

               There was a problem with the command:                     

(1/1) Invalid value for '--i-demultiplexed-seqs': demux-paired.qza does not
exist.

I am confused where is name and path of the input file is mentioned in the commands. My input file is labelled as paired-end-demux.qza and saved on deskstop.
(p.s I am running the commands using backslash as to run code in single run.

Hi @komal

This error says that your file that you put into the command doesn't exist.

It seems like you named your demux file paired-end-demux.qza. So your command should look like this:
qiime dada2 denoise-paired
--i- demultiplexed-seqs paired-end-demux.qza
--p-trunc-len-f 260
--p-trim-left-r 10
--p-trunc-len-r 150
--o-representative-sequences asv-sequences-0.qza
--o-table feature-table-0.qza
--o-denoising-stats dada2-stats.qza

hello thank you for reply
I pasted your command, got following error

There were some problems with the command:
(1/6) Missing option '--i-demultiplexed-seqs'.
(2/6) Missing option '--p-trunc-len-f'.
(3/6) Missing option '--p-trunc-len-r'.
(4/6) Missing option '--o-table'. ("--output-dir" may also be used)
(5/6) Missing option '--o-representative-sequences'. ("--output-dir" may also
be used)
(6/6) Missing option '--o-denoising-stats'. ("--output-dir" may also be used)
--i-: command not found
--p-trunc-len-f: command not found
--p-trim-left-r: command not found
--p-trunc-len-r: command not found
--o-representative-sequences: command not found
--o-table: command not found
--o-denoising-stats: command not found

Hi @komal,

I accidentally put a space in the input parameter name. Make sure the command says
--i-demultiplexed-seqs and not --i- demultiplexed-seqs. Also make sure to but the '' at the end of the command.

Hello @cherman2 Thank you for your reply

I did what you suggested
Got following error
(qiime2-2023.7) temp@temp-B365M-DS3H:~$ qiime dada2 denoise-paired
--i-demultiplexed-seqs paired-end-demux.qza
--p-trim-left-f 15
--p-trim-left-r 15
--p-trunc-len-f 260
--p-trunc-len-r 150
--o-representative-sequences rep-seqs.qza
--o-table table.qza
--o-denoising-stats denoising-stats.qza
Plugin error from dada2:

An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.

Debug info has been saved to /tmp/qiime2-q2cli-err-60wshi7g.log

PS(how do I find this debug file. searched the name in serach bar, no results)

Can you run this with the verbose flag and copy and pasted the error message you get from that?

Hi. I gave the followin command with verbose flag.

qiime dada2 denoise-paired
--i-demultiplexed-seqs paired-end-demux.qza
--p-trim-left-f 15
--p-trim-left-r 15
--p-trunc-len-f 260
--p-trunc-len-r 150
--o-representative-sequences rep-seqs.qza
--o-table table.qza
--o-denoising-stats denoising-stats.qza
--verbose
Running external command line application(s). This may print messages to stdout and/or stderr.
The command(s) being run are below. These commands cannot be manually re-run as they will depend on temporary files that no longer exist.

Command: run_dada.R --input_directory /tmp/tmpqeg4et7z/forward --input_directory_reverse /tmp/tmpqeg4et7z/reverse --output_path /tmp/tmpqeg4et7z/output.tsv.biom --output_track /tmp/tmpqeg4et7z/track.tsv --filtered_directory /tmp/tmpqeg4et7z/filt_f --filtered_directory_reverse /tmp/tmpqeg4et7z/filt_r --truncation_length 260 --truncation_length_reverse 150 --trim_left 15 --trim_left_reverse 15 --max_expected_errors 2.0 --max_expected_errors_reverse 2.0 --truncation_quality_score 2 --min_overlap 12 --pooling_method independent --chimera_method consensus --min_parental_fold 1.0 --allow_one_off False --num_threads 1 --learn_min_reads 1000000

Warning message:
package ‘optparse’ was built under R version 4.2.3
R version 4.2.2 (2022-10-31)
Loading required package: Rcpp
DADA2: 1.26.0 / Rcpp: 1.0.11 / RcppParallel: 5.1.6
2) Filtering Error in add(raw()) : record does not start with '@'
16: .Call(.streamer_add, sampler, bin, c(skips[ith], adds[ith]))
15: add(raw())
14: x$yield(...)
13: yield(fF, qualityType = qualityType)
12: yield(fF, qualityType = qualityType)
11: withCallingHandlers(expr, warning = function(w) if (inherits(w,
classes)) tryInvokeRestart("muffleWarning"))
10: suppressWarnings(fqF <- yield(fF, qualityType = qualityType))
9: (function (fn, fout, maxN = c(0, 0), truncQ = c(2, 2), truncLen = c(0,
0), maxLen = c(Inf, Inf), minLen = c(20, 20), trimLeft = c(0,
0), trimRight = c(0, 0), minQ = c(0, 0), maxEE = c(Inf, Inf),
rm.phix = c(TRUE, TRUE), rm.lowcomplex = c(0, 0), matchIDs = FALSE,
orient.fwd = NULL, id.sep = "\s", id.field = NULL, n = 1e+06,
OMP = TRUE, qualityType = "Auto", compress = TRUE, verbose = FALSE,
...)
{
if (!OMP) {
ompthreads <- .Call(ShortRead:::.set_omp_threads, 1L)
on.exit(.Call(ShortRead:::.set_omp_threads, ompthreads))
}
if (!is.character(fn) || length(fn) != 2)
stop("Two paired input file names required.")
if (!is.character(fout) || length(fout) != 2)
stop("Two paired output file names required.")
if (any(duplicated(c(fn, fout)))) {
stop("The output and input file names must be different.")
}
for (var in c("maxN", "truncQ", "truncLen", "maxLen", "minLen",
"trimLeft", "trimRight", "minQ", "maxEE", "rm.phix",
"rm.lowcomplex")) {
if (length(get(var)) == 1) {
assign(var, c(get(var), get(var)))
}
if (length(get(var)) != 2) {
stop(paste("Input variable", var, "must be length 1 or 2 (Forward, Reverse)."))
}
}
startF <- max(1, trimLeft[[1]] + 1, na.rm = TRUE)
startR <- max(1, trimLeft[[2]] + 1, na.rm = TRUE)
endF <- truncLen[[1]]
if (endF < startF) {
endF = NA
}
endF <- endF - startF + 1
endR <- truncLen[[2]]
if (endR < startR) {
endR = NA
}
endR <- endR - startR + 1
fF <- FastqStreamer(fn[[1]], n = n)
on.exit(close(fF))
fR <- FastqStreamer(fn[[2]], n = n)
on.exit(close(fR), add = TRUE)
if (file.exists(fout[[1]])) {
if (file.remove(fout[[1]])) {
if (verbose)
message("Overwriting file:", fout[[1]])
}
else {
stop("Failed to overwrite file:", fout[[1]])
}
}
if (file.exists(fout[[2]])) {
if (file.remove(fout[[2]])) {
if (verbose)
message("Overwriting file:", fout[[2]])
}
else {
stop("Failed to overwrite file:", fout[[2]])
}
}
first = TRUE
remainderF <- ShortReadQ()
remainderR <- ShortReadQ()
casava <- "Undetermined"
inseqs = 0
outseqs = 0
while (TRUE) {
suppressWarnings(fqF <- yield(fF, qualityType = qualityType))
suppressWarnings(fqR <- yield(fR, qualityType = qualityType))
if (length(fqF) == 0 && length(fqR) == 0) {
break
}
inseqs <- inseqs + length(fqF)
if (matchIDs) {
if (first) {
if (is.null(id.field)) {
id1 <- as.character(id(fqF)[[1]])
id.fields <- strsplit(id1, id.sep)[[1]]
ncolon <- sapply(gregexpr(":", id.fields),
length)
ncoltab <- table(ncolon)
if (max(ncolon) == 6 && ncoltab["6"] == 1) {
casava <- "Current"
id.field <- which(ncolon == 6)
}
else if (max(ncolon) == 4 && ncoltab["4"] ==
1) {
casava <- "Old"
id.field <- which(ncolon == 4)
}
else {
stop("Couldn't automatically detect the sequence identifier field in the fastq id string.")
}
}
}
else {
fqF <- append(remainderF, fqF)
fqR <- append(remainderR, fqR)
}
}
else {
if (length(fqF) != length(fqR))
stop("Mismatched forward and reverse sequence files: ",
length(fqF), ", ", length(fqR), ".")
}
if (matchIDs) {
idsF <- sapply(strsplit(as.character(id(fqF)), id.sep),
[, id.field)
idsR <- sapply(strsplit(as.character(id(fqR)), id.sep),
[, id.field)
if (casava == "Old") {
idsF <- sapply(strsplit(idsF, "#"), [, 1)
}
lastF <- max(c(0, which(idsF %in% idsR)))
lastR <- max(c(0, which(idsR %in% idsF)))
if (lastF < length(fqF)) {
remainderF <- fqF[(lastF + 1):length(fqF)]
}
else {
remainderF <- ShortReadQ()
}
if (lastR < length(fqR)) {
remainderR <- fqR[(lastR + 1):length(fqR)]
}
else {
remainderR <- ShortReadQ()
}
fqF <- fqF[idsF %in% idsR]
fqR <- fqR[idsR %in% idsF]
}
if (!is.null(orient.fwd)) {
if (!C_isACGT(orient.fwd))
stop("Non-ACGT characters detected in orient.fwd")
barlen <- nchar(orient.fwd)
keepF <- narrow(sread(fqF), 1, barlen) == orient.fwd
keepR <- (narrow(sread(fqR), 1, barlen) == orient.fwd) &
!keepF
fq <- ShortReadQ(sread = c(sread(fqF[keepF]), sread(fqR[keepR])),
quality = c(quality(quality(fqF[keepF])), quality(quality(fqR[keepR]))),
id = c(id(fqF[keepF]), id(fqR[keepR])))
fqR <- ShortReadQ(sread = c(sread(fqR[keepF]), sread(fqF[keepR])),
quality = c(quality(quality(fqR[keepF])), quality(quality(fqF[keepR]))),
id = c(id(fqR[keepF]), id(fqF[keepR])))
fqF <- fq
rm(fq)
}
if (is.finite(maxLen[[1]]) || is.finite(maxLen[[2]])) {
keep <- width(fqF) <= maxLen[[1]] & width(fqR) <=
maxLen[[2]]
fqF <- fqF[keep]
fqR <- fqR[keep]
}
keep <- (width(fqF) >= startF & width(fqR) >= startR)
fqF <- fqF[keep]
fqF <- narrow(fqF, start = startF, end = NA)
fqR <- fqR[keep]
fqR <- narrow(fqR, start = startR, end = NA)
if (trimRight[[1]] > 0) {
keep <- width(fqF) > trimRight[[1]]
fqF <- fqF[keep]
fqR <- fqR[keep]
fqF <- narrow(fqF, start = NA, end = width(fqF) -
trimRight[[1]])
}
if (trimRight[[2]] > 0) {
keep <- width(fqR) > trimRight[[2]]
fqF <- fqF[keep]
fqR <- fqR[keep]
fqR <- narrow(fqR, start = NA, end = width(fqR) -
trimRight[[2]])
}
encF <- encoding(quality(fqF))
encR <- encoding(quality(fqR))
if (is.numeric(truncQ)) {
indF <- which(encF == truncQ[[1]])
indR <- which(encR == truncQ[[2]])
if (!(length(indF) == 1 && length(indR) == 1))
stop("Encoding for this truncQ value not found.")
truncQ <- c(names(encF)[[indF]], names(encR)[[indR]])
}
if (length(fqF) > 0) {
rngF <- trimTails(fqF, 1, truncQ[[1]], ranges = TRUE)
fqF <- narrow(fqF, 1, end(rngF))
}
if (length(fqR) > 0) {
rngR <- trimTails(fqR, 1, truncQ[[2]], ranges = TRUE)
fqR <- narrow(fqR, 1, end(rngR))
}
truncQ <- c(encF[truncQ[1]], encR[truncQ[2]])
keep <- (width(fqF) > 0 & width(fqR) > 0)
fqF <- fqF[keep]
fqR <- fqR[keep]
keep <- rep(TRUE, length(fqF))
if (!is.na(endF)) {
keep <- keep & (width(fqF) >= endF)
}
if (!is.na(endR)) {
keep <- keep & (width(fqR) >= endR)
}
fqF <- fqF[keep]
fqR <- fqR[keep]
fqF <- narrow(fqF, start = 1, end = endF)
fqR <- narrow(fqR, start = 1, end = endR)
keep <- width(fqF) >= minLen[[1]] & width(fqR) >= minLen[[2]]
fqF <- fqF[keep]
fqR <- fqR[keep]
keep <- .nFilter(fqF, maxN[[1]]) & .nFilter(fqR, maxN[[2]])
fqF <- fqF[keep]
fqR <- fqR[keep]
keep <- rep(TRUE, length(fqF))
qmat <- as(quality(fqF), "matrix")
if (minQ[[1]] > truncQ[[1]])
suppressWarnings(keep <- keep & (apply(qmat, 1, min,
na.rm = TRUE) > minQ[[1]]))
if (maxEE[[1]] < Inf)
keep <- keep & C_matrixEE(qmat) <= maxEE[[1]]
qmat <- as(quality(fqR), "matrix")
if (minQ[[2]] > truncQ[[2]])
suppressWarnings(keep <- keep & (apply(qmat, 1, min,
na.rm = TRUE) > minQ[[2]]))
if (maxEE[[2]] < Inf)
keep <- keep & C_matrixEE(qmat) <= maxEE[[2]]
fqF <- fqF[keep]
fqR <- fqR[keep]
rm(qmat)
if (length(fqF) != length(fqR))
stop("Filtering caused mismatch between forward and reverse sequence lists: ",
length(fqF), ", ", length(fqR), ".")
if (rm.phix[[1]] && rm.phix[[2]]) {
is.phi <- isPhiX(as(sread(fqF), "character"), ...)
is.phi <- is.phi | isPhiX(as(sread(fqR), "character"),
...)
}
else if (rm.phix[[1]] && !rm.phix[[2]]) {
is.phi <- isPhiX(as(sread(fqF), "character"), ...)
}
else if (!rm.phix[[1]] && rm.phix[[2]]) {
is.phi <- isPhiX(as(sread(fqR), "character"), ...)
}
if (any(rm.phix)) {
fqF <- fqF[!is.phi]
fqR <- fqR[!is.phi]
}
if (rm.lowcomplex[[1]] > 0 && rm.lowcomplex[[2]] > 0) {
is.lowc <- (seqComplexity(sread(fqF), ...) < rm.lowcomplex[[1]])
is.lowc <- is.lowc | (seqComplexity(sread(fqF), ...) <
rm.lowcomplex[[2]])
}
else if (rm.lowcomplex[[1]] && !rm.lowcomplex[[2]]) {
is.lowc <- (seqComplexity(sread(fqF), ...) < rm.lowcomplex[[1]])
}
else if (!rm.lowcomplex[[1]] && rm.lowcomplex[[2]]) {
is.lowc <- (seqComplexity(sread(fqR), ...) < rm.lowcomplex[[2]])
}
if (rm.lowcomplex[[1]] > 0 && rm.lowcomplex[[2]] > 0) {
fqF <- fqF[!is.lowc]
fqR <- fqR[!is.lowc]
}
outseqs <- outseqs + length(fqF)
if (first) {
writeFastq(fqF, fout[[1]], "w", compress = compress)
writeFastq(fqR, fout[[2]], "w", compress = compress)
first = FALSE
}
else {
writeFastq(fqF, fout[[1]], "a", compress = compress)
writeFastq(fqR, fout[[2]], "a", compress = compress)
}
}
if (outseqs == 0) {
}
if (verbose) {
outperc <- round(outseqs * 100/inseqs, 1)
outperc <- paste(" (", outperc, "%)", sep = "")
message("Read in ", inseqs, " paired-sequences, output ",
outseqs, outperc, " filtered paired-sequences.",
sep = "")
}
if (outseqs == 0) {
message(paste("The filter removed all reads:", fout[[1]],
"and", fout[[2]], "not written."))
file.remove(fout[[1]])
file.remove(fout[[2]])
}
return(invisible(c(reads.in = inseqs, reads.out = outseqs)))
})(dots[[1L]][[1L]], dots[[2L]][[1L]], truncQ = 2L, truncLen = c(260L,
150L), trimLeft = c(15L, 15L), trimRight = 0, maxLen = Inf, minLen = 20,
maxN = 0, minQ = 0, maxEE = c(2, 2), rm.phix = TRUE, rm.lowcomplex = 0,
orient.fwd = NULL, matchIDs = FALSE, id.sep = "\s", id.field = NULL,
n = 1e+05, OMP = TRUE, qualityType = "Auto", compress = TRUE,
verbose = FALSE)
8: .mapply(FUN, dots, MoreArgs)
7: FUN(X[[i]], ...)
6: lapply(X = X, FUN = FUN, ...)
5: mclapply(seq_len(n), do_one, mc.preschedule = mc.preschedule,
mc.set.seed = mc.set.seed, mc.silent = mc.silent, mc.cores = mc.cores,
mc.cleanup = mc.cleanup, affinity.list = affinity.list)
4: mcmapply(fastqPairedFilter, mapply(c, fwd, rev, SIMPLIFY = FALSE),
mapply(c, filt, filt.rev, SIMPLIFY = FALSE), MoreArgs = list(truncQ = truncQ,
truncLen = truncLen, trimLeft = trimLeft, trimRight = trimRight,
maxLen = maxLen, minLen = minLen, maxN = maxN, minQ = minQ,
maxEE = maxEE, rm.phix = rm.phix, rm.lowcomplex = rm.lowcomplex,
orient.fwd = orient.fwd, matchIDs = matchIDs, id.sep = id.sep,
id.field = id.field, n = n, OMP = OMP, qualityType = qualityType,
compress = compress, verbose = verbose), mc.cores = ncores,
mc.silent = TRUE)
3: filterAndTrim(unfilts, filts, unfiltsR, filtsR, truncLen = c(truncLen,
truncLenR), trimLeft = c(trimLeft, trimLeftR), maxEE = c(maxEE,
maxEER), truncQ = truncQ, rm.phix = TRUE, multithread = multithread)
2: withCallingHandlers(expr, warning = function(w) if (inherits(w,
classes)) tryInvokeRestart("muffleWarning"))
1: suppressWarnings(filterAndTrim(unfilts, filts, unfiltsR, filtsR,
truncLen = c(truncLen, truncLenR), trimLeft = c(trimLeft,
trimLeftR), maxEE = c(maxEE, maxEER), truncQ = truncQ,
rm.phix = TRUE, multithread = multithread))
Traceback (most recent call last):
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 326, in denoise_paired
run_commands([cmd])
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 36, in run_commands
subprocess.run(cmd, check=True)
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['run_dada.R', '--input_directory', '/tmp/tmpw3tiq6ya/forward', '--input_directory_reverse', '/tmp/tmpw3tiq6ya/reverse', '--output_path', '/tmp/tmpw3tiq6ya/output.tsv.biom', '--output_track', '/tmp/tmpw3tiq6ya/track.tsv', '--filtered_directory', '/tmp/tmpw3tiq6ya/filt_f', '--filtered_directory_reverse', '/tmp/tmpw3tiq6ya/filt_r', '--truncation_length', '260', '--truncation_length_reverse', '150', '--trim_left', '15', '--trim_left_reverse', '15', '--max_expected_errors', '2.0', '--max_expected_errors_reverse', '2.0', '--truncation_quality_score', '2', '--min_overlap', '12', '--pooling_method', 'independent', '--chimera_method', 'consensus', '--min_parental_fold', '1.0', '--allow_one_off', 'False', '--num_threads', '1', '--learn_min_reads', '1000000']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/q2cli/commands.py", line 478, in call
results = self._execute_action(
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/q2cli/commands.py", line 539, in _execute_action
results = action(**arguments)
File "", line 2, in denoise_paired
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/qiime2/sdk/action.py", line 342, in bound_callable
outputs = self.callable_executor(
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/qiime2/sdk/action.py", line 566, in callable_executor
output_views = self._callable(**view_args)
File "/home/temp/miniconda3/envs/qiime2-2023.7/lib/python3.8/site-packages/q2_dada2/_denoise.py", line 339, in denoise_paired
raise Exception("An error was encountered while running DADA2"
Exception: An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.

Plugin error from dada2:

An error was encountered while running DADA2 in R (return code 1), please inspect stdout and stderr to learn more.

I am unable to figure the error from the above message. Kindly help

Hi @komal
According to your error, it looks like your rep-seqs are not formated correctly? It is expecting the record to start with an @ sign but your data doesn't.

Could you tell me what commands you used to get to dada2?
Thanks!

Hello @cherman2
After I imported the data using maisfest file, a paired-end-demux.qza zip file was created .I then directly gave following command for trimming as I knew where to truncate my reads as a I used DADA2 in R studio to create quality plots for random reads in samples.

qiime dada2 denoise-paired
--i-demultiplexed-seqs paired-end-demux.qza
--p-trim-left-f 15
--p-trim-left-r 15
--p-trunc-len-f 260
--p-trunc-len-r 150
--o-representative-sequences rep-seqs.qza
--o-table table.qza
--o-denoising-stats denoising-stats.qza

As mentioned before the command worked and gave the denoised files but for tutorial data saved somewhere in system, but when i put my demux file name its gives me all above error.

Thank you for time and paitence.

Hi @komal,
Could you attach your manifest file and one of your fastq files? Thanks!

Hello, I am unable to do so. Recently I divided my samples in 50-50 batch and imported both batches(batch1-50) and batch(51-100). I then proceeded to visualize demux file, which was was sucessful for only first batch and i am able to procced with this batch. Now to narrow down which fastq file ig giving me above error when I try to proceed with all 100 samples together, I then divided batch(51-100) into smaller batches of 10. With these batches of 10 samples i am able make demu.qzv file, denoising and further steps which was notv possible when in batch of 50-100 samples together. Does this make sense???

Kindly Help.

Hello @komal,

I found this error here--see if it applies to your situation.

1 Like

hello..thanks for ur help.
For some reason after running the same command for 30th-40th time , it worked...no error or anything.

Thank you

1 Like

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