Error while running feature-table heatmap in 2019.1 version

Hi!

I received an error when I used feature-table heatmap:

Plugin error from feature-table:

negative dimensions are not allowed

Log information:

qiime2-2019.1) med243121:Eksaserbasjonssekvenseringdata ele010$ cd
/Users/ele010
(qiime2-2019.1) med243121:~ ele010$ cd
/var/folders/kv/41fj60dn3t573519yfv3vkw4bch5t4/T/qiime2-q2cli-err-u66qan3q.lo
-bash: cd:
/var/folders/kv/41fj60dn3t573519yfv3vkw4bch5t4/T/qiime2-q2cli-err-u66qan3q.lo:
No such file or directory
(qiime2-2019.1) med243121:~ ele010$ cd
/var/folders/kv/41fj60dn3t573519yfv3vkw4bch5t4/T
(qiime2-2019.1) med243121:T ele010$ tail qiime2-q2cli-err-u66qan3q.log
File
“/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/image.py”,

line 141, in _draw_list_compositing_images
a.draw(renderer)
File
“/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/artist.py”,

line 60, in draw_wrapper
renderer.stop_rasterizing()
File
“/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backends/backend_mixed.py”,

line 130, in stop_rasterizing
buffer, bounds = self._raster_renderer.tostring_rgba_minimized()
File
“/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backends/backend_agg.py”,

line 144, in tostring_rgba_minimized
return np.array(region), extents
ValueError: negative dimensions are not allowed

I have no negative values in my data, and I kept receiving the same error with all the different command options, and it didn’t change depending on which data I put in, if I provided metadata or not.

I asked a colleague who has previously made some heatmaps, but the error was not something she had seen before. So I decided to try it in the 2018.11 version of QIIME2 before I asked the forum. And in 2018.11 it worked! :smiley:

Bug? :microbe:

Hey there @Elise! Looks like you forgot to include the command you ran --- can you please provide that? Thanks! :qiime2:

I guess I tried so many different variations of the command that I figured it didn’t make sense to add it. Sorry for that!

Here is an example, but I also tried without metadata (and without column), with and without specification of both p-normalize/p-no-normalize, and with all the different method-options and all the different cluster-options.

qiime feature-table heatmap
–i-table collapsed_table_level6.qza
–m-metadata-file metadata.tsv
–m-metadata-column kategori
–p-normalize
–p-cluster features
–o-visualization heatmap-genus.qzv

1 Like

Thanks @Elise! The error above is related to numpy/matplotlib, some of the tools being used behind-the-scenes in this visualizer. A quick google search indicates that this exception might happen when you have an ID mismatch — we can verify by running the following commands:

qiime tools inspect-metadata collapsed_table_level6.qza
qiime tools inspect-metadata metadata.tsv

As well, are there any missing values in the kategori column of your metadata file?

Thank you!

Well, the metadata I’m using has more IDs than the sample I use to make the heatmap. This is what I usually do for other analyses in QIIME2, and it always works fine. Yes, there are missing values in this column of the metadata. You think the error has got to do with the metadata? Why doesn’t it work without metadata, then? (Metadata is optional?) and why does it work in the 2018.11 version?

Call it a "hunch."

:man_shrugging: Do you get the exact same error when you run it without metadata?

The versions of matplotlib and numpy were updated to the latest releases in 2019.1.

Would you be able to share these files with me? Feel free to send links in a DM if that is preferable. Thanks!

Hi again!

Sorry for the very late response.
Thank you - this clarifies the difference between the qiime2 versions.
About the metadata: Yes, the error (and log) is the exact same.

I will send the files in a DM.
Thank you!

1 Like

Hmm, I just ran the following command on the files you sent me:

qiime feature-table heatmap \
  --i-table collapsed_table_level6.qza \
  --m-metadata-file metadata_forum.tsv \
  --m-metadata-column exacerb_kategori \
  --p-normalize \
  --p-cluster features \
  --o-visualization heatmap-genus.qzv \
  --verbose

I tried in 2019.1 and the development version of 2019.4 and it ran successfully to completion.

I wonder if your environment has had some modifications, specifically around some of the dependencies… Can you run conda list and paste the results here?

OK!

# Name                    Version                   Build  Channel
_r-mutex                  1.0.0               anacondar_1  
appnope                   0.1.0                 py36_1000    conda-forge
arb-bio-tools             6.0.6                         4    bioconda
asn1crypto                0.24.0                py36_1003    conda-forge
atomicwrites              1.2.1                      py_0    conda-forge
attrs                     18.2.0                     py_0    conda-forge
backcall                  0.1.0                      py_0    conda-forge
bibtexparser              1.1.0                      py_0    conda-forge
bioconductor-biobase      2.38.0           r341h219a75b_1    bioconda
bioconductor-biocgenerics 0.24.0                   r341_1    bioconda
bioconductor-biocparallel 1.12.0           r341h219a75b_1    bioconda
bioconductor-biostrings   2.46.0                 r3.4.1_0    bioconda
bioconductor-dada2        1.6.0                  r3.4.1_0    bioconda
bioconductor-delayedarray 0.4.1                  r3.4.1_0    bioconda
bioconductor-genomeinfodb 1.14.0                 r3.4.1_0    bioconda
bioconductor-genomeinfodbdata 1.0.0                  r3.4.1_1    bioconda
bioconductor-genomicalignments 1.14.1                 r3.4.1_0    bioconda
bioconductor-genomicranges 1.30.3                 r3.4.1_0    bioconda
bioconductor-iranges      2.12.0                 r3.4.1_0    bioconda
bioconductor-rsamtools    1.30.0                 r3.4.1_0    bioconda
bioconductor-s4vectors    0.16.0                 r3.4.1_0    bioconda
bioconductor-shortread    1.36.0                 r3.4.1_0    bioconda
bioconductor-summarizedexperiment 1.8.0                  r3.4.1_0    bioconda
bioconductor-xvector      0.18.0                 r3.4.1_0    bioconda
bioconductor-zlibbioc     1.24.0                 r3.4.1_0    bioconda
biom-format               2.1.7           py36h917ab60_1002    conda-forge
blas                      1.0                         mkl    conda-forge
blast                     2.6.0               boost1.64_2    bioconda
bleach                    3.1.0                      py_0    conda-forge
bokeh                     1.0.4                 py36_1000    conda-forge
boost                     1.67.0           py36h3e44d54_0    conda-forge
boost-cpp                 1.67.0               h3a22d5f_0    conda-forge
bz2file                   0.98                       py_0    conda-forge
bzip2                     1.0.6             h1de35cc_1002    conda-forge
ca-certificates           2018.11.29           ha4d7672_0    conda-forge
cachecontrol              0.12.5                     py_0    conda-forge
cairo                     1.14.12              he6fea26_5    conda-forge
certifi                   2018.11.29            py36_1000    conda-forge
cffi                      1.11.5          py36h342bebf_1001    conda-forge
chardet                   3.0.4                 py36_1003    conda-forge
click                     7.0                        py_0    conda-forge
cryptography              2.3.1           py36hdbc3d79_1000    conda-forge
curl                      7.63.0            heae2a1f_1000    conda-forge
cutadapt                  1.18             py36h1de35cc_1    bioconda
cycler                    0.10.0                     py_1    conda-forge
deblur                    1.1.0                    py36_0    bioconda
decorator                 4.3.2                      py_0    conda-forge
emperor                   1.0.0beta18           py36_1001    conda-forge
entrypoints               0.3                   py36_1000    conda-forge
fastcluster               1.1.25          py36h1702cab_1000    conda-forge
fasttree                  2.1.10                        0    bioconda
fontconfig                2.13.1            h1e4e890_1000    conda-forge
freetype                  2.9.1             h5a5313f_1004    conda-forge
future                    0.17.1                py36_1000    conda-forge
gettext                   0.19.8.1          hcca000d_1001    conda-forge
glib                      2.55.0               h464dc38_2    conda-forge
gneiss                    0.4.4                      py_0    bioconda
graphite2                 1.3.13            h2098e52_1000    conda-forge
gsl                       2.1                           2    conda-forge
h5py                      2.9.0           nompi_py36h35dc34b_1102    conda-forge
harfbuzz                  1.9.0                h08d66d9_0    conda-forge
hdf5                      1.10.4          nompi_h646315f_1105    conda-forge
hdmedians                 0.13            py36h917ab60_1000    conda-forge
icu                       58.2              h0a44026_1000    conda-forge
idna                      2.8                   py36_1000    conda-forge
ijson                     2.3                        py_1    conda-forge
intel-openmp              2019.1                      144  
ipykernel                 5.1.0           py36h24bf2e0_1002    conda-forge
ipython                   7.2.0           py36h24bf2e0_1000    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
ipywidgets                7.4.2                      py_0    conda-forge
iqtree                    1.6.9                he941832_0    bioconda
jedi                      0.13.2                py36_1000    conda-forge
jinja2                    2.10                       py_1    conda-forge
jpeg                      9c                h1de35cc_1001    conda-forge
jsonschema                3.0.0a3               py36_1000    conda-forge
jupyter_client            5.2.4                      py_1    conda-forge
jupyter_core              4.4.0                      py_0    conda-forge
kiwisolver                1.0.1           py36h04f5b5a_1002    conda-forge
krb5                      1.16.3            h24a3359_1000    conda-forge
libarbdb                  6.0.6                         4    bioconda
libcurl                   7.63.0            h76de61e_1000    conda-forge
libcxx                    7.0.0                h2d50403_2    conda-forge
libedit                   3.1.20170329                  0    conda-forge
libffi                    3.2.1             h0a44026_1005    conda-forge
libgcc                    4.8.5               hdbeacc1_10    conda-forge
libgfortran               3.0.1                h93005f0_2  
libiconv                  1.15              h1de35cc_1004    conda-forge
libpng                    1.6.34               ha92aebf_2    conda-forge
libsodium                 1.0.16            h1de35cc_1001    conda-forge
libssh2                   1.8.0             hf30b1f0_1003    conda-forge
libtiff                   4.0.9             h79f4b77_1002    conda-forge
libxml2                   2.9.8             hf14e9c8_1005    conda-forge
llvm-meta                 7.0.0                         0    conda-forge
lockfile                  0.12.2                     py_1    conda-forge
mafft                     7.310                         1    bioconda
markupsafe                1.1.0           py36h1de35cc_1000    conda-forge
matplotlib                2.2.3            py36h0e0179f_0    conda-forge
mistune                   0.8.4           py36h1de35cc_1000    conda-forge
mkl                       2019.1                      144  
mkl_fft                   1.0.10           py36h1de35cc_1    conda-forge
mkl_random                1.0.2            py36h1702cab_2    conda-forge
more-itertools            4.3.0                 py36_1000    conda-forge
msgpack-python            0.6.1            py36h04f5b5a_0    conda-forge
natsort                   5.5.0                      py_0    conda-forge
nbconvert                 5.3.1                      py_1    conda-forge
nbformat                  4.4.0                      py_1    conda-forge
ncurses                   5.9                          10    conda-forge
nose                      1.3.7                 py36_1002    conda-forge
notebook                  5.7.4                 py36_1000    conda-forge
numpy                     1.15.4           py36hacdab7b_0  
numpy-base                1.15.4           py36h6575580_0  
olefile                   0.46                       py_0    conda-forge
openjdk                   11.0.1            h1de35cc_1014    conda-forge
openmp                    7.0.0                h2d50403_0    conda-forge
openssl                   1.0.2p            h1de35cc_1002    conda-forge
packaging                 19.0                       py_0    conda-forge
pandas                    0.23.4          py36h1702cab_1000    conda-forge
pandoc                    2.5                           1    conda-forge
pandocfilters             1.4.2                      py_1    conda-forge
pango                     1.40.14           h1401c9d_1002    conda-forge
parso                     0.3.2                      py_0    conda-forge
patsy                     0.5.1                      py_0    conda-forge
pcre                      8.39                          0    conda-forge
pexpect                   4.6.0                 py36_1000    conda-forge
pickleshare               0.7.5                 py36_1000    conda-forge
pigz                      2.3.4                         0    conda-forge
pillow                    5.4.1           py36hbddbef0_1000    conda-forge
pip                       19.0.1                   py36_0    conda-forge
pixman                    0.34.0            h1de35cc_1003    conda-forge
pluggy                    0.8.1                      py_0    conda-forge
prometheus_client         0.5.0                      py_0    conda-forge
prompt_toolkit            2.0.8                      py_0    conda-forge
psutil                    5.4.8           py36h1de35cc_1000    conda-forge
ptyprocess                0.6.0                 py36_1000    conda-forge
py                        1.7.0                      py_0    conda-forge
pycparser                 2.19                       py_0    conda-forge
pygments                  2.3.1                      py_0    conda-forge
pyopenssl                 18.0.0                py36_1000    conda-forge
pyparsing                 2.3.0                      py_0    conda-forge
pyrsistent                0.14.9          py36h1de35cc_1000    conda-forge
pysocks                   1.6.8                 py36_1002    conda-forge
pytest                    4.1.1                 py36_1000    conda-forge
python                    3.6.5                         1    conda-forge
python-dateutil           2.7.5                      py_0    conda-forge
pytz                      2018.9                     py_0    conda-forge
pyyaml                    3.13            py36h1de35cc_1001    conda-forge
pyzmq                     17.1.2          py36h111632d_1001    conda-forge
q2-alignment              2019.1.0                 py36_0    qiime2/label/r2019.1
q2-composition            2019.1.0                 py36_0    qiime2/label/r2019.1
q2-cutadapt               2019.1.0                 py36_0    qiime2/label/r2019.1
q2-dada2                  2019.1.0                 py36_0    qiime2/label/r2019.1
q2-deblur                 2019.1.0                 py36_0    qiime2/label/r2019.1
q2-demux                  2019.1.0                 py36_0    qiime2/label/r2019.1
q2-diversity              2019.1.0                 py36_0    qiime2/label/r2019.1
q2-emperor                2019.1.0                 py36_0    qiime2/label/r2019.1
q2-feature-classifier     2019.1.0                 py36_0    qiime2/label/r2019.1
q2-feature-table          2019.1.0                 py36_0    qiime2/label/r2019.1
q2-fragment-insertion     2019.1.0                 py36_0    qiime2/label/r2019.1
q2-gneiss                 2019.1.0                 py36_0    qiime2/label/r2019.1
q2-longitudinal           2019.1.0                 py36_0    qiime2/label/r2019.1
q2-metadata               2019.1.0                 py36_0    qiime2/label/r2019.1
q2-phylogeny              2019.1.0                 py36_0    qiime2/label/r2019.1
q2-quality-control        2019.1.0                 py36_0    qiime2/label/r2019.1
q2-quality-filter         2019.1.0                 py36_0    qiime2/label/r2019.1
q2-sample-classifier      2019.1.0                 py36_0    qiime2/label/r2019.1
q2-taxa                   2019.1.0                 py36_0    qiime2/label/r2019.1
q2-types                  2019.1.0                 py36_0    qiime2/label/r2019.1
q2-vsearch                2019.1.0                 py36_0    qiime2/label/r2019.1
q2cli                     2019.1.0                 py36_0    qiime2/label/r2019.1
q2templates               2019.1.0                 py36_0    qiime2/label/r2019.1
qiime2                    2019.1.0                 py36_0    qiime2/label/r2019.1
r-assertthat              0.2.0            r341h6115d3f_1    conda-forge
r-base                    3.4.1                         4    conda-forge
r-bh                      1.66.0_1              r341_1001    conda-forge
r-bitops                  1.0_6            r341hc070d10_2    conda-forge
r-cli                     1.0.0            r341h6115d3f_1    conda-forge
r-cluster                 2.0.7_1          r341h364d78e_0    conda-forge
r-colorspace              1.3_2            r341hc070d10_2    conda-forge
r-crayon                  1.3.4            r341h6115d3f_1    conda-forge
r-data.table              1.11.4           r341hc070d10_2    conda-forge
r-digest                  0.6.18           r341hc070d10_0    conda-forge
r-fansi                   0.3.0            r341hc070d10_0    conda-forge
r-formatr                 1.5              r341h6115d3f_1    conda-forge
r-futile.logger           1.4.3            r341h6115d3f_1    conda-forge
r-futile.options          1.0.1            r341h6115d3f_0    conda-forge
r-ggplot2                 3.1.0            r341h6115d3f_0    conda-forge
r-glue                    1.3.0            r341h470a237_2    conda-forge
r-gtable                  0.2.0            r341h6115d3f_1    conda-forge
r-hwriter                 1.3.2            r341h6115d3f_1    conda-forge
r-labeling                0.3              r341h6115d3f_1    conda-forge
r-lambda.r                1.2.3            r341h6115d3f_0    conda-forge
r-lattice                 0.20_35          r341hc070d10_0    conda-forge
r-latticeextra            0.6_28           r341h6115d3f_1    conda-forge
r-lazyeval                0.2.1            r341hc070d10_2    conda-forge
r-magrittr                1.5              r341h6115d3f_1    conda-forge
r-mass                    7.3_50           r341hc070d10_2    conda-forge
r-matrix                  1.2_14           r341hc070d10_2    conda-forge
r-matrixstats             0.54.0           r341hc070d10_0    conda-forge
r-mgcv                    1.8_24           r341hc070d10_2    conda-forge
r-munsell                 0.5.0            r341h6115d3f_1    conda-forge
r-nlme                    3.1_137          r341h364d78e_0    conda-forge
r-permute                 0.9_4                 r341_1002    conda-forge
r-pillar                  1.3.0            r341h6115d3f_0    conda-forge
r-plyr                    1.8.4            r341h9d2a408_2    conda-forge
r-r6                      2.2.2            r341h6115d3f_1    conda-forge
r-rcolorbrewer            1.1_2            r341h6115d3f_1    conda-forge
r-rcpp                    1.0.0            r341h9d2a408_0    conda-forge
r-rcppparallel            4.4.1            r341h9d2a408_0    conda-forge
r-rcurl                   1.95_4.11        r341hc070d10_3    conda-forge
r-reshape2                1.4.3            r341h9d2a408_2    conda-forge
r-rlang                   0.3.0.1          r341h470a237_0    conda-forge
r-scales                  1.0.0            r341h9d2a408_1    conda-forge
r-snow                    0.4_3            r341h6115d3f_0    conda-forge
r-stringi                 1.2.4            r341h9d2a408_1    conda-forge
r-stringr                 1.3.1            r341h6115d3f_1    conda-forge
r-tibble                  1.4.2            r341hc070d10_2    conda-forge
r-utf8                    1.1.4            r341hc070d10_0    conda-forge
r-vegan                   2.5_3            r341h364d78e_0    conda-forge
r-viridislite             0.3.0            r341h6115d3f_1    conda-forge
r-withr                   2.1.2            r341h6115d3f_0    conda-forge
raxml                     8.2.12               h470a237_0    bioconda
readline                  7.0                           0    conda-forge
requests                  2.21.0                py36_1000    conda-forge
scikit-bio                0.5.5           py36h917ab60_1000    conda-forge
scikit-learn              0.20.2           py36h27c97d8_0  
scipy                     1.2.0            py36h1410ff5_0  
seaborn                   0.9.0                      py_0    conda-forge
send2trash                1.5.0                      py_0    conda-forge
setuptools                40.7.1                   py36_0    conda-forge
sina                      1.4.0                h4ef8376_0    bioconda
six                       1.12.0                py36_1000    conda-forge
sortmerna                 2.0                  he941832_3    bioconda
sqlite                    3.20.1                        2    conda-forge
statsmodels               0.9.0           py36h917ab60_1000    conda-forge
tbb                       2019.3            h04f5b5a_1000    conda-forge
terminado                 0.8.1                 py36_1001    conda-forge
testpath                  0.4.2                 py36_1000    conda-forge
tk                        8.6.9             ha441bb4_1000    conda-forge
tornado                   5.1.1           py36h1de35cc_1000    conda-forge
traitlets                 4.3.2                 py36_1000    conda-forge
tzlocal                   1.5.1                      py_0    conda-forge
unifrac                   0.9.3            py36h284470d_0    bioconda
urllib3                   1.24.1                py36_1000    conda-forge
vsearch                   2.7.0                         1    bioconda
wcwidth                   0.1.7                      py_1    conda-forge
webencodings              0.5.1                      py_1    conda-forge
wget                      1.19.5               hf30b1f0_0  
wheel                     0.32.3                   py36_0    conda-forge
widgetsnbextension        3.4.2                 py36_1000    conda-forge
xopen                     0.4.1                      py_0    bioconda
xz                        5.2.4             h1de35cc_1001    conda-forge
yaml                      0.1.7             h1de35cc_1001    conda-forge
zeromq                    4.2.5             h0a44026_1006    conda-forge
zlib                      1.2.11            h1de35cc_1004    conda-forge

Thanks, dependencies all look fine to me.

Can you please run the command I provided above on the files you shared with me? This is to ensure that you are still seeing the problem on your end, and that it isn’t a data-specific issue (I noticed some filenames changed between your original error and what you sent me).

Hi. I changed the names on purpose, so that was intended. This is what I ran and got:

(qiime2-2019.1) XXXXX:Heatmaps_problems ele010$ qiime feature-table heatmap \
>   --i-table collapsed_table_level6.qza \
>   --m-metadata-file metadata_forum.tsv  \
>   --m-metadata-column exacerb_kategori \
>   --p-normalize \
>   --p-cluster features \
>   --o-visualization heatmap-genus.qzv \
>   --verbose
Traceback (most recent call last):
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/q2cli/commands.py", line 274, in __call__
    results = action(**arguments)
  File "</Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/decorator.py:decorator-gen-333>", line 2, in heatmap
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/qiime2/sdk/action.py", line 231, in bound_callable
    output_types, provenance)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/qiime2/sdk/action.py", line 427, in _callable_executor_
    ret_val = self._callable(output_dir=temp_dir, **view_args)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/q2_feature_table/_heatmap/_visualizer.py", line 149, in heatmap
    heatmap_plot.savefig(img_fp)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/seaborn/matrix.py", line 1013, in savefig
    self.fig.savefig(*args, **kwargs)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/figure.py", line 2062, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 2212, in print_figure
    **kwargs)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backends/backend_svg.py", line 1210, in print_svg
    result = self._print_svg(filename, fh, **kwargs)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backends/backend_svg.py", line 1240, in _print_svg
    self.figure.draw(renderer)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/figure.py", line 1493, in draw
    renderer, self, artists, self.suppressComposite)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/image.py", line 141, in _draw_list_compositing_images
    a.draw(renderer)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/axes/_base.py", line 2635, in draw
    mimage._draw_list_compositing_images(renderer, self, artists)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/image.py", line 141, in _draw_list_compositing_images
    a.draw(renderer)
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/artist.py", line 60, in draw_wrapper
    renderer.stop_rasterizing()
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backends/backend_mixed.py", line 130, in stop_rasterizing
    buffer, bounds = self._raster_renderer.tostring_rgba_minimized()
  File "/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/matplotlib/backends/backend_agg.py", line 144, in tostring_rgba_minimized
    return np.array(region), extents
ValueError: negative dimensions are not allowed

Plugin error from feature-table:

  negative dimensions are not allowed

See above for debug info.

(sorry for not formatting posts!!!)

Yep - I understood that --- my concern was that maybe you copied the wrong files while doing that --- making it so that I wasn't testing the exact same data as you.

A quick google search indicates that this might be a problem with matplotlib with certain rendering backends. Can you run the two commands to follow and paste the results here? Please paste in a code fence, like this:

```
my pasted results
```

that way the forum formats it for us. Thanks!

env
python -c 'import matplotlib; print(matplotlib.get_backend())' 
(qiime2-2019.1) XXXXX:Heatmaps_problems ele010$ env
JAVA_LD_LIBRARY_PATH=/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/server
TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
PYTHONNOUSERSITE=/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/python*/site-packages/
TMPDIR=/var/folders/kv/41fj60dn3t573519yfv3vkw4bch5t4/T/
CONDA_SHLVL=1
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.YaSZmtkZsc/Render
CONDA_PROMPT_MODIFIER=(qiime2-2019.1) 
TERM_PROGRAM_VERSION=421.1
OLDPWD=/var/folders/kv/41fj60dn3t573519yfv3vkw4bch5t4/T
TERM_SESSION_ID=F2B0E401-6D8C-4AE5-A2AE-99126A6641D4
ARBHOME=/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/arb
USER=ele010
CONDA_EXE=/Users/ele010/miniconda3/bin/conda
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.00nMBCVxqH/Listeners
ARBHOME_BACKUP=
PATH=/Users/ele010/miniconda3/envs/qiime2-2019.1/bin:/Users/ele010/miniconda3/condabin:/Users/ele010/miniconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/puppetlabs/bin:/usr/local/munki
CONDA_PREFIX=/Users/ele010/miniconda3/envs/qiime2-2019.1
PWD=/Users/ele010/Dropbox/Heatmaps_problems
JAVA_HOME=/Users/ele010/miniconda3/envs/qiime2-2019.1
MPLBACKEND=Agg
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
SHLVL=1
HOME=/Users/ele010
CONDA_PYTHON_EXE=/Users/ele010/miniconda3/bin/python
LOGNAME=ele010
LC_CTYPE=UTF-8
JAVA_HOME_CONDA_BACKUP=
CONDA_DEFAULT_ENV=qiime2-2019.1
JAVA_LD_LIBRARY_PATH_BACKUP=
R_LIBS_USER=/Users/ele010/miniconda3/envs/qiime2-2019.1/lib/R/library/
_=/usr/bin/env
(qiime2-2019.1) XXXXX:Heatmaps_problems ele010$ python -c 'import matplotlib; print(matplotlib.get_backend())' 
agg

Does it make sense? :slight_smile:

2 Likes

I just realized - it looks like you posted dependencies from the 2018.11 environment, but, my understanding is you weren’t having this problem in 2018.11, but rather, 2019.1. Based on a few quick searches, this issue is almost certainly related to the 3.x release cycle of matplotlib. It is also apparently a host-specific issue (I think) — I can’t reproduce on this end. My guess is the next release of matplotlib will sort this out. You can continue to run 2018.11 for this command if that makes sense.

1 Like

OK, that is odd - I checked my log, and I did run the command in 2019.1.:thinking:

Thanks for your help and time! It works fine in the 2018.11 version, so I can run there - I just assumed it was something in the 2019.1 version :slight_smile:

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