Plugin error from diversity: got an unexpected keyword argument 'procrustes'

When running the command:

qiime diversity core-metrics-phylogenetic --i-phylogeny /Users/Becca/Box\ Sync/RAPID/biom/rooted-tree.qza --i-table /Users/Becca/Box\ Sync/RAPID/biom/otu-table-no-mitochondria-no-chloroplast-min2-names.qza --m-metadata-file /Users/Becca/Box\ Sync/RAPID/RAPID-analysis/data/map.txt --output-dir /Users/Becca/Box\ Sync/RAPID/rarefied-table-results/core-metrics-results --p-sampling-depth 1001

I get the error:

Plugin error from diversity:

init() got an unexpected keyword argument 'procrustes'

The full Debug info:

/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/skbio/div
ersity/alpha/_base.py:793: RuntimeWarning: invalid value encountered in double_s
calars
return shannon(counts, base=np.e) / np.log(observed_otus(counts))
/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/sklearn/u
tils/validation.py:475: DataConversionWarning: Data with input dtype float64 was
converted to bool by check_pairwise_arrays.
warnings.warn(msg, DataConversionWarning)
/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/skbio/stats/ordination/_principal_coordinate_analysis.py:152: RuntimeWarning: The result contains negative eigenvalues. Please compare their magnitude with the magnitude of some of the largest positive eigenvalues. If the negative ones are smaller, it's probably safe to ignore them, but if they are large in magnitude, the results won't be useful. See the Notes section for more details. The smallest eigenvalue is -0.44991660503480524 and the largest is 10.340186068286494.
RuntimeWarning
Traceback (most recent call last):
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/q2cli/commands.py", line 274, in call
results = action(**arguments)
File "", line 2, in core_metrics_phylogenetic
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/qiime2/sdk/action.py", line 231, in bound_callable
output_types, provenance)
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/qiime2/sdk/action.py", line 455, in callable_executor
outputs = self._callable(scope.ctx, **view_args)
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/q2_diversity/_core_metrics.py", line 51, in core_metrics_phylogenetic
metadata=metadata, n_jobs=n_jobs)
File "", line 2, in core_metrics
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/qiime2/sdk/action.py", line 231, in bound_callable
output_types, provenance)
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/qiime2/sdk/action.py", line 455, in callable_executor
outputs = self._callable(scope.ctx, **view_args)
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/q2_diversity/_core_metrics.py", line 37, in core_metrics
results += emperor_plot(pcoa=pcoa, metadata=metadata)
File "", line 2, in plot
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/qiime2/sdk/action.py", line 231, in bound_callable
output_types, provenance)
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/qiime2/sdk/action.py", line 424, in callable_executor
ret_val = self._callable(output_dir=temp_dir, **view_args)
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/q2_emperor/_plot.py", line 58, in plot
custom_axes=custom_axes, plot_name='plot')
File "/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python3.5/site-packages/q2_emperor/_plot.py", line 38, in _generic_plot
procrustes=procrustes, remote='.')
TypeError: init() got an unexpected keyword argument 'procrustes'

Any suggestions on what could be going wrong?

Blockquote

Maybe try clearing your cache:

qiime dev refresh-cache

Then, run again. :qiime2: :t_rex:

Thanks for the quick response! Unfortunately, that doesn’t seem to get rid of the error.

Hey there @rlm - what version of QIIME 2 do you have installed? Your env says 2018.8, but it looks like the version installed might be older. Please run the following and copy-and-paste the complete results:

qiime info

:qiime2: :t_rex:

(qiime2-2018.8) bash-3.2$ qiime info

System versions

Python version: 3.5.5

QIIME 2 release: 2018.8

QIIME 2 version: 2018.8.0

q2cli version: 2018.8.0

Installed plugins

alignment: 2018.8.0

composition: 2018.8.0

cutadapt: 2018.8.0

dada2: 2018.8.0

deblur: 2018.8.0

demux: 2018.8.0

diversity: 2018.8.0

emperor: 2018.8.0

feature-classifier: 2018.8.0

feature-table: 2018.8.0

gneiss: 2018.8.0

longitudinal: 2018.8.0

metadata: 2018.8.0

phylogeny: 2018.8.0

quality-control: 2018.8.0

quality-filter: 2018.8.0

sample-classifier: 2018.8.0

taxa: 2018.8.0

types: 2018.8.0

vsearch: 2018.8.0

Application config directory

/Users/Becca/Library/Application Support/q2cli

Getting help

To get help with QIIME 2, visit https://qiime2.org

Thanks, now can you do the same for:

conda list emperor

(qiime2-2018.8) bash-3.2$ conda list emperor

packages in environment at /Users/Becca/miniconda2/envs/qiime2-2018.8:

Name Version Build Channel

emperor 1.0.0beta17 py35_1 conda-forge
q2-emperor 2018.8.0 py35_0 qiime2/label/r2018.8

Bummer, your env appears to be messed up, but nothing is immediately jumping out!

Last one:

env

If nothing turns up there, I am going to recommend that you remove your conda env and reinstall. This doesn’t appear to be a bug in q2-diversity or q2-emperor, which suggests env-related…

JAVA_LD_LIBRARY_PATH=/Users/Becca/miniconda2/envs/qiime2-2018.8/jre/lib/server

TERM_PROGRAM=Apple_Terminal

TERM=xterm-256color

SHELL=/bin/bash

PYTHONNOUSERSITE=/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/python*/site-packages/

TMPDIR=/var/folders/zj/4b_990l14h1gy2vl132n7jl00000gn/T/

CONDA_SHLVL=1

Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.vOMe9zArTy/Render

CONDA_PROMPT_MODIFIER=(qiime2-2018.8)

TERM_PROGRAM_VERSION=361.1

TERM_SESSION_ID=6381DBD3-B487-4FED-9142-B712BB0EB641

USER=Becca

CONDA_EXE=/Users/Becca/miniconda2/bin/conda

SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.EV4qeIs7fI/Listeners

__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0

PATH=/Users/Becca/miniconda2/envs/qiime2-2018.8/bin:/Users/Becca/emperor_bin/:/Users/Becca/miniconda2/bin:/Users/Becca/emperor_bin/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin

CONDA_PREFIX=/Users/Becca/miniconda2/envs/qiime2-2018.8

PWD=/Users/Becca/Box Sync/RAPID/RAPID-analysis

JAVA_HOME=/Users/Becca/miniconda2/envs/qiime2-2018.8

MPLBACKEND=Agg

LANG=en_US.UTF-8

XPC_FLAGS=0x0

XPC_SERVICE_NAME=0

HOME=/Users/Becca

SHLVL=2

CONDA_PYTHON_EXE=/Users/Becca/miniconda2/bin/python

LOGNAME=Becca

PYTHONPATH=/Users/Becca/emperor_lib/:/Users/Becca/emperor_lib/:

JAVA_HOME_CONDA_BACKUP=

CONDA_DEFAULT_ENV=qiime2-2018.8

DISPLAY=/private/tmp/com.apple.launchd.qZ2R8M7g2X/org.macosforge.xquartz:0

JAVA_LD_LIBRARY_PATH_BACKUP=

R_LIBS_USER=/Users/Becca/miniconda2/envs/qiime2-2018.8/lib/R/library/

_=/usr/bin/env

OLDPWD=/Users/Becca/Box Sync/RAPID

1 Like

Ah ha!!!! :champagne: :tada: :fireworks:

This is the problem - this PYTHONPATH env var is causing your QIIME 2 deployment to load an older version of emperor. Please unset that env var, then proceed! You might need to update your .bashrc to stop exporting that var in every session. Otherwise, you can run the following:

unset PYTHONPATH

Keep us posted! :t_rex:

Great that worked! Thanks!!

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.