Ticket #1208 (closed bug: fixed)

Opened 22 months ago

Last modified 22 months ago

Gene Selection widget bug

Reported by: lanz Owned by: ales
Milestone: Component: addon/bioinformatics
Severity: major Keywords:
Cc: Blocking:
Blocked By:

Description

Ales, can you check the Gene Selection widget. Currently it produces errors every time one changes the input data (or removes it).

To reproduce: Load a data set with GEO Data Sets (e.g. GDS2666), connect to Gene Selection. Change data set and commit or remove connection.

I added this to OWFeatureSelection.py (line 622)

if values is None:
    return

which stops the errors, but maybe there is a better fix.

Change History

comment:1 Changed 22 months ago by Ales Erjavec <ales.erjavec@…>

  • Status changed from new to closed
  • Resolution set to fixed

In [f3edbd78dbfde3a4d5be5addecdc28cb7e615e64/orange-bioinformatics]:

Check the target selection for a case where there are no labels/values.

Fixes #1208.

comment:2 Changed 22 months ago by lanz

  • Status changed from closed to reopened
  • Resolution fixed deleted

That fix still results in an error if a non two-sample test is selected (e.g. anova, AREA, FC). This time because label is None...

comment:3 Changed 22 months ago by ales

I can't duplicate this. Can you provide more details?

comment:4 Changed 22 months ago by lanz

I used the same procedure as above: add GEO Data Sets (GDS2666), connect to Gene Selection (anova), change data set to GDS2667. And I get the following error:

Unhandled exception of type KeyError occured at 15:26:50:
Traceback:
  File: orngSignalManager.py, line 152 in __call__
  Code: self.method(*k)
    File: OWFeatureSelection.py, line 641 in on_target_changed
    Code: self.set_targets(targets)
      File: OWFeatureSelection.py, line 340 in set_targets
      Code: self.update_scores()
        File: OWFeatureSelection.py, line 79 in f
        Code: return method(self, *args, **kwargs)
          File: OWFeatureSelection.py, line 377 in update_scores
          Code: target = dict(self.data_labels)[label]
            KeyError: None

comment:5 Changed 22 months ago by ales

It works for me.

comment:6 Changed 22 months ago by Lan Zagar <lan.zagar@…>

  • Status changed from reopened to closed
  • Resolution set to fixed

comment:7 Changed 22 months ago by lanz

Maybe the events are handled in a different order in the newer version of PyQt or it is something else. The above fix makes sure label is not used if it is None.

Note: See TracTickets for help on using tickets.