biolab / orange3-bioinformatics

🍊🔬 Bioinformatics add-on for Orange3
GNU General Public License v3.0
20 stars 21 forks source link

Genialis Expressions widget does not work with the general descriptor schema #315

Closed AnzeLovse closed 1 year ago

AnzeLovse commented 2 years ago

Describe the bug Genialis Expressions fails to load metadata from the collections using the General descriptor schema. This schema introduced additional nesting of the groups, and the existing implementation does not support parsing those group labels.

To Reproduce Steps to reproduce the behavior:

  1. Go to Bioinformatics and select the Genialis Expressions widget
  2. Click on the widget and select a collection using the general descriptor schema
  3. See error

Expected behavior Genialis Expressions widget correctly parses descriptor schemas with additional nesting.

Desktop (please complete the following information):

Additional context Full traceback:

2022-09-28 12:44:04,717:ERROR:resdk:
Traceback (most recent call last):
  File "orange-3/lib/python3.8/site-packages/Orange/widgets/utils/concurrent.py", line 591, in _on_task_done
    super()._on_task_done(future)
  File "orange-3/lib/python3.8/site-packages/Orange/widgets/utils/concurrent.py", line 547, in _on_task_done
    self.on_exception(ex)
  File "orange-3/lib/python3.8/site-packages/orangecontrib/bioinformatics/widgets/OWGenialisExpressions.py", line 549, in on_exception
    raise ex
  File ".pyenv/versions/3.8.2/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "orange-3/lib/python3.8/site-packages/orangecontrib/bioinformatics/widgets/OWGenialisExpressions.py", line 627, in runner
    section_name, field_name = path.split('.')
ValueError: too many values to unpack (expected 2)
Traceback (most recent call last):
  File "orange-3/lib/python3.8/site-packages/Orange/widgets/utils/concurrent.py", line 591, in _on_task_done
    super()._on_task_done(future)
  File "orange-3/lib/python3.8/site-packages/Orange/widgets/utils/concurrent.py", line 547, in _on_task_done
    self.on_exception(ex)
  File "orange-3/lib/python3.8/site-packages/orangecontrib/bioinformatics/widgets/OWGenialisExpressions.py", line 549, in on_exception
    raise ex
  File ".pyenv/versions/3.8.2/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "orange-3/lib/python3.8/site-packages/orangecontrib/bioinformatics/widgets/OWGenialisExpressions.py", line 627, in runner
    section_name, field_name = path.split('.')
ValueError: too many values to unpack (expected 2)
AnzeLovse commented 1 year ago

Descriptor schema was changed to have only one level of nesting and should work with the existing implementation.