I ran into an odd issue when running QIIME2 through Docker using the latest release (2023.9). I should note this was pulled down using singularity, so it may have something to do with this though I haven't had issues in the past:
singularity pull docker://quay.io/qiime2/amplicon:2023.9
This pulled down the amplicon
version as a .sif
file. amplicon_2023.9.sif
. So far, anything under qiime tools
works fine, including importing sequence data and custom taxonomy, e.g.,
$ singularity exec $SINGULARITY_CACHEDIR/amplicon_2023.9.sif qiime tools import \
--input-path asvs.md5.nochim.merged.fna \
--output-path asvs.qza \
--type 'FeatureData[Sequence]'
Imported asvs.md5.nochim.merged.fna as DNASequencesDirectoryFormat to asvs.qza
However it fails when I try to use the feature classifier, in this case BLAST:
singularity exec $SINGULARITY_CACHEDIR/amplicon_2023.9.sif qiime feature-classifier classify-consensus-blast \
--i-query asvs.qza \
--i-reference-taxonomy COI-5P.full.taxonomy.qza \
--i-reference-reads COI-5P.full.sequence.qza \
--o-classification asvs.classification.qza \
--o-search-result asvs.blast6.qza
This results in the following error:
Traceback (most recent call last):
File "/opt/conda/envs/qiime2-amplicon-2023.9/bin/qiime", line 11, in <module>
sys.exit(qiime())
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1682, in invoke
cmd_name, cmd, args = self.resolve_command(ctx, args)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/click/core.py", line 1729, in resolve_command
cmd = self.get_command(ctx, cmd_name)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/commands.py", line 100, in get_command
plugin = self._plugin_lookup[name]
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/commands.py", line 76, in _plugin_lookup
import q2cli.core.cache
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 285, in <module>
CACHE = DeploymentCache()
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 58, in __init__
self._cache_dir = self._get_cache_dir()
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/site-packages/q2cli/core/cache.py", line 85, in _get_cache_dir
os.makedirs(cache_dir, exist_ok=True)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/os.py", line 213, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/os.py", line 213, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/opt/conda/envs/qiime2-amplicon-2023.9/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/home/qiime2'
It turns out, when I simply call qiime
, this also fails with the same error. I can try downgrading to an older version, but I wanted to ask whether others are seeing this using Docker directly?