I am having issues with deblur denoise-other for assembling ITS. I used the UNITE database--specifically the "Includes singletons set as RefS (in dynamic files)" one, and only used the dynamic file (not 99 or 97) for the reference sequences. I've gotten different error messages by adjusting the trim length to 175, 250, 300, 350--either "no sequences passed the filter" or "max() is an empty argument." Does anyone have ideas of what might be wrong? Specific error message below.
What is the exact error message?
/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/bin/deblur:534: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
logger.warn('deblur version %s workflow started on %s' %
/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/bin/deblur:536: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
logger.warn('parameters: %s' % locals())
Traceback (most recent call last):
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2cli/commands.py", line 468, in call
results = action(**arguments)
File "", line 2, in denoise_other
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/qiime2/sdk/action.py", line 274, in bound_callable
outputs = self.callable_executor(
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/qiime2/sdk/action.py", line 509, in callable_executor
output_views = self._callable(**view_args)
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_deblur/_denoise.py", line 118, in denoise_other
return _denoise_helper(
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_deblur/_denoise.py", line 187, in _denoise_helper
raise ValueError("No sequences passed the filter. It is possible "
ValueError: No sequences passed the filter. It is possible the trim_length (500) may exceed the longest sequence, that all of the sequences are artifacts like PhiX or adapter, or that the positive reference used is not representative of the data being denoised.
Plugin error from deblur:
No sequences passed the filter. It is possible the trim_length (500) may exceed the longest sequence, that all of the sequences are artifacts like PhiX or adapter, or that the positive reference used is not representative of the data being denoised.
as error says, no sequences passed the filter. You'll need to check if sequences in fill-demux-joined.qza (open it with archiver software, go to folder ./data) are longer than your trim length.
I tried lowering my trim length, but now I'm getting this error:
/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/bin/deblur:534: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
logger.warn('deblur version %s workflow started on %s' %
/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/bin/deblur:536: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
logger.warn('parameters: %s' % locals())
/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/deblur/workflow.py:92: UserWarning: input file /gpfs/scratch/opt/tmp/tmp5v37v_3v/all.seqs.fa.no_artifacts does not appear to be FASTA or FASTQ
warnings.warn(msg, UserWarning)
Traceback (most recent call last):
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2cli/commands.py", line 468, in call
results = action(**arguments)
File "", line 2, in denoise_other
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/qiime2/sdk/action.py", line 274, in bound_callable
outputs = self.callable_executor(
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/qiime2/sdk/action.py", line 509, in callable_executor
output_views = self._callable(**view_args)
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_deblur/_denoise.py", line 118, in denoise_other
return _denoise_helper(
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_deblur/_denoise.py", line 194, in _denoise_helper
table = _load_table(tmp)
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_deblur/_denoise.py", line 61, in _load_table
table.update_ids(sid_map, axis='sample', inplace=True)
File "/gpfs/shared/apps_local/python/3.7-1.20/envs/qiime2-2023.5/lib/python3.8/site-packages/biom/table.py", line 1405, in update_ids
str_dtype = 'U%d' % max([len(v) for v in id_map.values()])
ValueError: max() arg is an empty sequence
Here is the link to most of the data. I couldn't upload the paired-end-filtered-demux.qza, as it is too large. Also, the original sequencing data files are too large to include, so I just included one. They have been trimmed and filtered a little using CLC Genomics Workbench (base calling error probability of 0.05, maximum of 2 ambiguities per read, trimmed any adaptor sequences present).
Here are the sizes of each of the files, if that helps.
Thank you so much for your help, I appreciate it greatly! I'm a junior in college, so I'm very new to bioinformatics
The sequencing data has both ITS and 16S, each with different primers... I'm running deblur denoise-16S using the same pipeline (except for different primer removal and not needing a reference sequences file) and the denoise-16S has worked on my data (or at least didn't give me any errors like the denoise-other for ITS did).
I've also tried dada2 denoise-paired but lost all my data.
@Rachel_Burke, have you run qiime demux summarize on that file? That will give you a summary of the demultiplexed sequences that may provide some clues here. Could you generate that, poke around to see if you can identify what's going wrong, and then share that file with us if you need more assistance?
visualization.qzv (315.5 KB)
Here's what I've got for the demux summarize after merging with vsearch/before denoising with deblur. From what I found googling, it doesn't look too bad.
This means that the problem must be happening in the deblur denoise step, right? I tried running deblur denoise-16S on those reads (with different cutadapt primer removal), which worked but once I got to the OTU table, I only had 1 read left. I tried dada2 again but increased the expected error of the reverse reads to 5 (the reverse reads are lower quality), but also ended with 1 read in my OTU table.
@Rachel_Burke, that looks like the summary prior to merging with vsearch. Could you share this same visualization generated on the output of the merging step?
Another thought: have you tried comparing sequences in your reference data with your sequence reads, for example using command line BLAST? I am wondering if the sequences are in the same orientation (I'm not sure if deblur adjusts for orientation).