Vsearch dereplication plugin error

Hi there, I'm trying to use the vsearch dereplication plugin: dereplicate-sequences: Dereplicate sequences. — QIIME 2 2024.2.0 documentation

My lab has decided not to use the DADA2 filter/deblur steps in Qiime2 since it seems to throw up most of our sequencing reads from Illumina MiSeq paired-end sequences.

I used Trim Galore for pre-processing, then AMPtk for quality filtering and to merge my ITS1 Illumina Miseq R1 and R2 files. I am now trying to use the vsearch plugin to dereplicate my sequences and create a .qza table that I could then use for taxonomy assignment.

This is what I used to import my data into qiime (please keep in mind these are already merged R1 & R2 sequences from the MiSeq):

qiime tools import
--type 'SampleData[SequencesWithQuality]'
--input-path manifest.csv
--output-path single-end-demux.qza
--input-format SingleEndFastqManifestPhred33V2

And then for the vsearch dereplication plugin:

qiime vsearch dereplicate-sequences
--i-sequences single-end-demux.qza
--p-min-unique-size 10
--o-dereplicated-table table.qza
--o-dereplicated-sequences rep-seqs.qza

This is the error I am encountering:

Plugin error from vsearch:

Mapping not provided for observation identifier: sample-58_100035. If this identifier should not be updated, pass strict=False.

Debug info has been saved to /var/folders/m4/sjv1hpgd4hnft76_h_q1bgtr0000gn/T/qiime2-q2cli-err-tgjtn573.log

Here is the log file:

File "/Users/amathewson/miniconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/commands.py", line 520, in call
results = self._execute_action(
File "/Users/amathewson/miniconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/commands.py", line 581, in _execute_action
results = action(**arguments)
File "", line 2, in dereplicate_sequences
File "/Users/amathewson/miniconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/qiime2/sdk/action.py", line 342, in bound_callable
outputs = self.callable_executor(
File "/Users/amathewson/miniconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/qiime2/sdk/action.py", line 566, in callable_executor
output_views = self._callable(**view_args)
File "/Users/amathewson/miniconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2_vsearch/_cluster_sequences.py", line 45, in dereplicate_sequences
table.update_ids(id_map=id_map, axis='observation')
File "/Users/amathewson/miniconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/biom/table.py", line 1410, in update_ids
raise TableException(
biom.exception.TableException: Mapping not provided for observation identifier: sample-58_100035. If this identifier should not be updated, pass strict=False.

(END)

Is there any way to get around this or fix this issue? Could it be my manifest file or the way I imported my files into qiime?
Thanks for any input!

Hello @lucky_endophyte,

This seems to be a bug that hasn't been addressed yet, discussed here. I'll open an issue for this and we'll look into it. In the meantime I think you can achieve the same output with the following steps:

  • remove the --p-min-unique-size 10 parameter from the dereplicate-sequences call (it should then work)
  • filter the resulting feature table with feature-table filter-features using --p-min-frequency 10
  • filter the resulting representative sequences with feature-table filter-seqs using --i-table <your feature table>

Thank you for your response!

The first part worked, I did this:

qiime feature-table filter-features
--i-table table-trim-97-seeds.qza
--p-min-frequency 10
--o-filtered-table filtered_table.qza

But I'm a little confused on the second part, which results in an error (so I don't think I'm doing this right):

qiime feature-table filter-seqs
--i-data rep-seqs-trim-97-seeds.qza
--m-metadata-file filtered_table.qza
--o-filtered-data filtered-representative-sequences.qza

Plugin error from feature-table:

All features were filtered out of the data.

Debug info has been saved to /var/folders/m4/sjv1hpgd4hnft76_h_q1bgtr0000gn/T/qiime2-q2cli-err-58sk53v3.log

Hi @lucky_endophyte,

Sorry, I meant to say --i-table filtered_table.qza not --m-metadata-file filtered_table.qza.