QIIME2 - ITSx docker container or CyVerse App


We are interested in running fungal analysis using qiime2 & extracting ITS using ITSx
We have used the QIIME2 app on Cyverse, but need to add ITSx - how?
Alternatively, should we be building a docker container w/ qiime2 & itsx?

We are at undergrad institution, this is primarily for undergrad research projects


Hi @Charles_Hauser, I’m not familiar with Cyverse, and the QIIME 2 team isn’t involved with their QIIME 2 app - have you reached out to the Cyverse folks to see what they recommend doing?

Sure! Check out this community tutorial:


Hope that helps :qiime2:

Hi @Charles_Hauser,
This doesn’t answer your installation question, but just to make sure you know it exists, the q2-itsxpress plugin offers a way to integrate ITS extraction into a QIIME 2 workflow:

You could install that in a docker container following the tutorial that @thermokarst shared.

Good luck!

1 Like

Thanks to you both for suggestions.
I can successfully implement adding the plugin q2_perc_norm to the qiime2/core:2018.11 docker container as described here:

However, when I attempt to follow the same steps but add itsxpress
conda install -c bioconda itsxpress
pip install q2-itsxpress

itsxpress installs w/o error, but when I run:

docker run --rm -it
-u (id -u):(id -g)
-v $(pwd):/data
qiime itsxpress

I get the error:

(base) [email protected]~/qiime2_docker => ./runit_qiime_itsx_docker

Usage: qiime [OPTIONS] COMMAND [ARGS]…

Try “qiime --help” for help.

Error: No such command “itsxpress”.

I did run ‘qiime dev refresh-cache’ after installing itsxpress.

This is my first foray into docker containers, so I suspect it is something on my end.
However, I’m not sure why I can get perc_norm to run, but not itsxpress



1 Like

Great news!

I think I know what the problem is - you built this using an extremely old version of QIIME 2 (2018.11). On versions that old, you need to run qiime dev refresh-cache before finalizing the docker container. If you re-run the docker steps using the latest version of QIIME 2, you would be able to skip that qiime dev refresh-cache step, which should work just fine.

Give that a shot and let us know how it goes!

A post was split to a new topic: q2-itsxpress “Fatal error: File too small”

Hi Matt

FYI, their app ii just a docker container running qiime2 & itsxpress (itsxpress: 1.8.0).
Running stadalone itsxpress on a fastq file works, it’s just an issue with single-end reads runn with qiime itsxpress


I’m sorry @Charles_Hauser - I don’t follow, can you please elaborate?

Apologies for lack of clarity

re: itsxpress
if I demultiplex single-end sequences in qiime (qiime demux emp-single), and then run itsxpress (qiime itsxpress trim-single) I get the following error:

Plugin error from itsxpress:

Command ‘[‘vsearch’, ‘–cluster_size’, ‘/tmp/itsxpress_fp0p5hbq/seq.fq.gz’, ‘–centroids’, ‘/tmp/itsxpress_fp0p5hbq/rep.fa’, ‘–uc’, ‘/tmp/itsxpress_fp0p5hbq/uc.txt’, ‘–strand’, ‘both’, ‘–id’, ‘0.995’, ‘–threads’, ‘1’]’ returned non-zero exit status 1.

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

Looking in the log file, the error arises from vsearch :slight_smile:

vsearch v2.7.0_linux_x86_64, 251.8GB RAM, 32 cores

Fatal error: File too small
subprocess.CalledProcessError: Command ‘[‘vsearch’, ‘–cluster_size’, ‘/tmp/itsxpress_fp0p5hbq/seq.fq.gz’, ‘–centroids’, ‘/tmp/itsxpress_fp0p5hbq/rep.fa’, ‘–uc’, ‘/tmp/itsxpress_fp0p5hbq/uc.txt’, ‘–strand’, ‘both’, ‘–id’, ‘0.995’, ‘–threads’, ‘1’]’ returned non-zero exit status 1.

Checking the dir w/ tmp filles:
ls -l /tmp/itsxpress_fp0p5hbq/
total 6872
-rw-r–r-- 1 qiime2 qiime2 0 Mar 19 16:18 rep.fa
-rw-r–r-- 1 qiime2 qiime2 20 Mar 19 16:18 seq.fq.gz
-rw-r–r-- 1 qiime2 qiime2 3524967 Mar 19 16:18 seq_r1.fq.gz
-rw-r–r-- 1 qiime2 qiime2 3502500 Mar 19 16:18 seq_r2.fq.gz
-rw-r–r-- 1 qiime2 qiime2 0 Mar 19 16:18 uc.txt

I’m not sure why htere is a .r2 seq file for silngle-end method, is this the basis for the vsearch error?

Hope htat helps


Hi @Charles_Hauser - I will repeat my request from earlier today

Please do not cross-post - this is a violation of the QIIME 2 Forum Code of Conduct. Administration of these kinds of issues takes away moderator time from being able to help you and others with their actual questions - we appreciate your cooperation on this matter.

You first posted this question to:

Please keep the discussion to one topic at a time. Thanks!

Sorry - understood