Not sure how to interpret this q2-itsxpress plugin error

Hi there! I am trying to trim my paired-end 300-bp ITS2 reads with itsxpress before I chuck them through DADA2. Here is my input:

qiime itsxpress trim-pair-output-unmerged --i-per-sample-sequences $ITS2path/rawFASTQs/$ITS2sample-demux-paired-end.qza --p-region 'ITS2' --p-threads 4 --p-cluster-id 1.0 --o-trimmed $TS2path/trimmedFASTQs/$ITS2sample-trimmed-ITSx.qza --verbose

This is what I get back:

ERROR:root:Could not perform dereplication with Vsearch. Error from Vsearch was:
 WARNING: The derep_fulllength command does not support multithreading.
Only 1 thread used.
vsearch v2.22.1_linux_x86_64, 187.6GB RAM, 40 cores
https://github.com/torognes/vsearch



Fatal error: FASTQ input is only allowed with the fastx_uniques command
Traceback (most recent call last):
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/itsxpress/main.py", line 512, in deduplicate
    p2.check_returncode()
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/subprocess.py", line 448, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['vsearch', '--derep_fulllength', '/tmp/itsxpress_e8t5phk8/seq.fq.gz', '--output', '/tmp/itsxpress_e8t5phk8/rep.fa', '--uc', '/tmp/itsxpress_e8t5phk8/uc.txt', '--strand', 'both', '--threads', '4']' returned non-zero exit s
tatus 1.
Traceback (most recent call last):
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/q2cli/commands.py", line 468, in __call__
    results = action(**arguments)
  File "<decorator-gen-445>", line 2, in trim_pair_output_unmerged
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/qiime2/sdk/action.py", line 274, in bound_callable
    outputs = self._callable_executor_(
  File "/home/username/anaconda3/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 "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_itsxpress/_itsxpress.py", line 151, in trim_pair_output_unmerged
    results = main(per_sample_sequences=per_sample_sequences,
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/q2_itsxpress/_itsxpress.py", line 206, in main
    sobj.deduplicate(threads=threads)
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/itsxpress/main.py", line 515, in deduplicate
    raise e
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/itsxpress/main.py", line 512, in deduplicate
    p2.check_returncode()
  File "/home/username/anaconda3/envs/qiime2-2023.5/lib/python3.8/subprocess.py", line 448, in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['vsearch', '--derep_fulllength', '/tmp/itsxpress_e8t5phk8/seq.fq.gz', '--output', '/tmp/itsxpress_e8t5phk8/rep.fa', '--uc', '/tmp/itsxpress_e8t5phk8/uc.txt', '--strand', 'both', '--threads', '4']' returned non-zero exit s
tatus 1.

Plugin error from itsxpress:

  Command '['vsearch', '--derep_fulllength', '/tmp/itsxpress_e8t5phk8/seq.fq.gz', '--output', '/tmp/itsxpress_e8t5phk8/rep.fa', '--uc', '/tmp/itsxpress_e8t5phk8/uc.txt', '--strand', 'both', '--threads', '4']' returned non-zero exit status 1.

See above for debug info.
ERROR:root:Could not perform dereplication with Vsearch. Error from Vsearch was:
 WARNING: The derep_fulllength command does not support multithreading.
Only 1 thread used.
vsearch v2.22.1_linux_x86_64, 187.6GB RAM, 40 cores
https://github.com/torognes/vsearch

I'm not sure how to make sense of this. I doubt the attempt to multithread had much impact here, but that's the only thing I can think of; otherwise, I've got nothing.

I checked the ITSexpress tutorial and --p-threads is shown in the example for qiime itsxpress trim-pair-output-unmerged.

I wonder if an older version of vsearch is needed :thinking:
vsearch v2.22.1_linux_x86_64

I'll run it without multithreading (slow as it may be) and see what I get, then report back.

Same error returned, without the multithreading error message. How would you suggest I handle trimming my reads to the ITS2 when I have more than one forward primer? Alternatively, how do I downgrade to an older version of vsearch that's compatible with ITSxpress?

This error message is a bit misleading, the warning for the multi-threading isn't the fatal error it is the: "
FASTQ input is only allowed with the fastx_uniques". This is due to a recent change in Vsearch but ITSxpress should be patched now.

There is a newer version of ITSxpress that we've been pushing to Pip/bioconda recently and you may have an older version of the q2 plugin or ITSxpress. Can you try reinstalling both? That should take care of the error.

conda install -c bioconda itsxpress=1.8.1
pip uninstall q2-itsxpress
pip install q2-itsxpress
2 Likes

Looks like there's a package conflict, unfortunately...

(qiime2-2023.5) user@user-ThinkPad-E15-Gen-2:~/$ conda install -c bioconda itsxpress=1.8.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: | 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                                                                                                          

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.31=0
  - feature:|@/linux-64::__glibc==2.31=0

Your installed version is: 2.31
1 Like

I installed qiime and itsxpress/q2-itsxpress on my end and it works okay. I think that is conda's way of reporting a dependency version conflict, which may be due to the fact we removed/reinstalled some packages.

Can you try reinstalling everything from the start into a fresh conda environment? I'm using micromamba for this, but it can be replaced with conda or mamba.

wget https://data.qiime2.org/distro/core/qiime2-2023.5-py38-linux-conda.yml
micromamba env create -n Qiime2_itsxpressplugin --file qiime2-2023.5-py38-linux-conda.yml
micromamba activate Qiime2_itsxpressplugin
micromamba install -c bioconda itsxpress=1.8.1
pip install q2-itsxpress
2 Likes