def set_data(self, data): self.closeContext() self.clear() self.error([0, 1]) self.data = data if self.data is not None: self.initialize(data) if self.data is not None and not self.targets: # If both attr. labels and classes are missing, show an error self.error( 1, "Cannot compute gene scores! Differential expression " "widget requires a data-set with a discrete class " "variable(s) or column labels!") self.data = None if self.data is not None: # Initialize the selected groups/labels. # Default selected group key index = 0 rowshint = data_hints.get_hint(data, "genesinrows", False) if not rowshint: # Select the first row group split candidate (if available) indices = [ i for i, grp in enumerate(self.targets) if isinstance(grp, grouputils.RowGroup) ] if indices: index = indices[0] self.current_group_index = index # Restore target label selection from context settings items = {(grp.name, val) for grp in self.targets for val in grp.values} self.openContext(items) # Restore current group / selection model = self.label_selection_widget.model() selection = [ model.index(i, 0, model.index(keyind, 0)) for keyind, selection in enumerate(self.stored_selections) for i in selection ] selection = guiutils.itemselection(selection) self.label_selection_widget.setSelection(selection) self.label_selection_widget.setCurrentGroupIndex( self.current_group_index) self.commit()
def set_data(self, data=None): self.closeContext() self.clear() self.data = data self.error(0) self.warning([0, 1]) if data is not None: self.init_from_data() if not self.targets: self.error(0, "Data has no suitable defined groups/labels") genesinrows = data_hints.get_hint(data, "genesinrows", True) # Select the first RowGroup if genesinrows hint is False if not genesinrows: ind = [ i for i, grp in enumerate(self.targets) if isinstance(grp, grouputils.RowGroup) ] if ind: self.current_group_index = ind[0] else: self.current_group_index = 0 if self.targets else -1 else: self.current_group_index = 0 # TODO: Why does the current_group_index not get restored self.openContext([(grp.name, v) for grp in self.targets for v in grp.values]) model = self.target_widget.model() # FIX: This assumes fixed target key/values order. indices = [ model.index(i, 0, model.index( keyind, 0, )) for keyind, selected in enumerate(self.stored_selections) for i in selected ] selection = guiutils.itemselection(indices) self.target_widget.setCurrentGroupIndex(self.current_group_index) self.target_widget.setSelection(selection) self.plot() else: self.infoLabel.setText("No data on input.") self.unconditional_commit()
def set_data(self, data): self.closeContext() self.clear() self.error([0, 1]) self.data = data if self.data is not None: self.initialize(data) if self.data is not None and not self.targets: # If both attr. labels and classes are missing, show an error self.error( 1, "Cannot compute gene scores! Differential expression " "widget requires a data-set with a discrete class " "variable(s) or column labels!" ) self.data = None if self.data is not None: # Initialize the selected groups/labels. # Default selected group key index = 0 rowshint = data_hints.get_hint(data, "genesinrows", False) if not rowshint: # Select the first row group split candidate (if available) indices = [i for i, grp in enumerate(self.targets) if isinstance(grp, grouputils.RowGroup)] if indices: index = indices[0] self.current_group_index = index # Restore target label selection from context settings items = {(grp.name, val) for grp in self.targets for val in grp.values} self.openContext(items) # Restore current group / selection model = self.label_selection_widget.model() selection = [model.index(i, 0, model.index(keyind, 0)) for keyind, selection in enumerate(self.stored_selections) for i in selection] selection = guiutils.itemselection(selection) self.label_selection_widget.setSelection(selection) self.label_selection_widget.setCurrentGroupIndex( self.current_group_index) self.commit()
def set_data(self, data=None): self.closeContext() self.clear() self.data = data self.error(0) self.warning([0, 1]) if data is not None: self.init_from_data() if not self.targets: self.error(0, "Data has no suitable defined groups/labels") genesinrows = data_hints.get_hint(data, "genesinrows", True) # Select the first RowGroup if genesinrows hint is False if not genesinrows: ind = [i for i, grp in enumerate(self.targets) if isinstance(grp, grouputils.RowGroup)] if ind: self.current_group_index = ind[0] else: self.current_group_index = 0 if self.targets else -1 else: self.current_group_index = 0 # TODO: Why does the current_group_index not get restored self.openContext([(grp.name, v) for grp in self.targets for v in grp.values]) model = self.target_widget.model() # FIX: This assumes fixed target key/values order. indices = [model.index(i, 0, model.index(keyind, 0,)) for keyind, selected in enumerate(self.stored_selections) for i in selected] selection = guiutils.itemselection(indices) self.target_widget.setCurrentGroupIndex(self.current_group_index) self.target_widget.setSelection(selection) self.plot() else: self.infoLabel.setText("No data on input.") self.unconditional_commit()