Problem ussing gneiss

I'm trying to build a heatmap, but in the final step a error prompts me to use a list instead of a set as an indexer. I don't know how to change that in the metadata file or if theres an extra step I have to take.

The full error log is as follows

/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/qiime2/sdk/actio
n.py:285: FutureWarning: This Visualizer is deprecated and will be removed in a fut
ure version of this plugin.
Traceback (most recent call last):
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/q2cli/co
mmands.py", line 530, in __call__
    results = self._execute_action(
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/q2cli/co
mmands.py", line 602, in _execute_action
    results = action(**arguments)
  File "<decorator-gen-1068>", line 2, in dendrogram_heatmap
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/qiime2/s
dk/action.py", line 299, in bound_callable
    outputs = self._callable_executor_(
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/qiime2/s
dk/action.py", line 619, in _callable_executor_
    ret_val = self._callable(output_dir=temp_dir, **view_args)
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/q2_gneis
s-2023.9.0.dev0-py3.10.egg/q2_gneiss/plot/_plot.py", line 70, in dendrogram_heatmap
    table, c = match(table, c)
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/gneiss/u
til.py", line 120, in match
    return _dense_match(table, metadata)
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/gneiss/u
til.py", line 140, in _dense_match
    subtable = table.loc[idx]
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/pandas/c
ore/indexing.py", line 1178, in __getitem__
    check_dict_or_set_indexers(key)
  File "/home/ice/miniconda3/envs/qiime2-meta/lib/python3.10/site-packages/pandas/c
ore/indexing.py", line 2774, in check_dict_or_set_indexers
    raise TypeError(
TypeError: Passing a set as an indexer is not supported. Use a list instead.

Hi @kamenriderice,

Welcome to the :qiime2: forum!

Just for your awareness, q2-gneiss is no longer maintained and has been deprecated as of our 2023.9 release. If you're looking for heatmap functionality, I'd recommend checking out q2-vizard, which contains a new suite of visualizations (including a heatmap) and is available within our 2024.10 amplicon distribution (install instructions here).

Hope this helps! Cheers :lizard:

2 Likes