Changeset 416:f2c8a4a5906f in orange-bioinformatics


Ignore:
Timestamp:
07/09/08 15:45:47 (6 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
deadd2c03764677f0c8befce5d8c4653caa8adf8
Message:

-fixed Enrichment column

File:
1 edited

Legend:

Unmodified
Added
Removed
  • widgets/OWGOEnrichmentAnalysis.py

    r396 r416  
    2020        self.tuple = tuple 
    2121        self.children = children 
    22  
    23 def paintSection(self, painter, index, fr): 
    24     print self 
    25     if index!=5: 
    26         QHeader.paintSection(self, painter, index, fr) 
    27     else: 
    28         pass 
    29  
    30 class MyTreeWidget(QTreeWidget): 
    31     def __init__(self, parent): 
    32         apply(QTreeWidget.__init__,(self, parent)) 
    33  
    34     #def paintEvent(self, event): 
    3522     
    3623class OWGOEnrichmentAnalysis(OWWidget): 
     
    3825                    "filterByNumOfInstances", "minNumOfInstances", "filterByPValue", "maxPValue", "selectionDirectAnnotation", "selectionDisjoint", 
    3926                    "selectionAddTermAsClass", "useAttrNames"] 
     27    contextHandlers = {"": DomainContextHandler("", ["geneAttrIndex", "useAttrNames", "annotationIndex"], matchValues=1)} 
    4028    def __init__(self, parent=None, signalManager=None, name="GO Enrichment Analysis"): 
    4129        OWWidget.__init__(self, parent, signalManager, name) 
     
    126114 
    127115        # list view 
    128         self.listView = MyTreeWidget(self.splitter) 
     116        self.listView = QTreeWidget(self.splitter) 
    129117        self.listView.setSelectionMode(QAbstractItemView.MultiSelection) 
    130118        self.listView.setAllColumnsShowFocus(1) 
     
    135123        self.listView.header().setSortIndicatorShown(True) 
    136124        self.listView.setSortingEnabled(True) 
     125        self.listView.setItemDelegateForColumn(5, EnrichmentColumnItemDelegate(self)) 
    137126         
    138127        #self.listView.setColumnWidth(0, 300) 
     
    289278     
    290279    def SetClusterDataset(self, data=None): 
     280        self.closeContext() 
    291281        self.clusterDataset = data 
    292282        if data: 
    293283            self.SetGenesComboBox() 
     284            self.FindBestGeneAttrAndOrganism() 
     285            self.openContext("", data) 
    294286            if not go.loadedGO: 
    295287                self.LoadGO() 
    296288            if not go.loadedAnnotation: 
    297289                self.LoadAnnotation() 
    298             self.FindBestGeneAttrAndOrganism() 
     290             
    299291            #if not go.loadedAnnotation: 
    300292            self.FilterUnknownGenes() 
     
    303295            self.SetGraph(graph) 
    304296        else: 
     297            self.openContext("", None) 
    305298            self.ClearGraph() 
    306299            self.send("Selected Examples", None) 
     
    496489                return 
    497490            if term in self.graph: 
    498                 displayNode = MyTreeWidgetItem(parentDisplayNode) 
     491                displayNode = QTreeWidgetItem(parentDisplayNode) 
    499492                displayNode.setText(0, go.loadedGO.termDict[term].name) 
    500493                displayNode.setText(1, str(len(self.graph[term][0]))) 
     
    614607            self.send("Unselected Examples", unselectedExamples and orange.ExampleTable(unselectedExamples) or None) 
    615608             
    616 class MyTreeWidgetItem(QTreeWidgetItem): 
    617     enrichmentColumn = 5 
    618     def paintCell(self, painter, colorgroup, column, width, align): 
    619         if column!=self.enrichmentColumn: 
    620             QListViewItem.paintCell(self, painter, colorgroup, column, width, align) 
    621         else: 
    622             f = float(str(self.text(self.enrichmentColumn))) 
    623             painter.setBrush(QBrush(Qt.white, QBrush.SolidPattern)) 
    624             painter.drawRect(0, 0, width-1, self.height()-1) 
    625             painter.setBrush(QBrush(Qt.blue, QBrush.SolidPattern)) 
    626 ##            painter.drawRect((1-f)*(width-1), 0, width-1, self.height()-1) 
    627             painter.drawRect(0, 0, f*(width-1), self.height()-1) 
    628  
    629     def width(self): 
    630         return 100 
    631      
     609 
     610class EnrichmentColumnItemDelegate(QItemDelegate): 
     611    def paint(self, painter, option, index): 
     612        self.drawBackground(painter, option, index) 
     613        value, ok = index.data(Qt.DisplayRole).toDouble() 
     614        if ok: 
     615            painter.save() 
     616            painter.setBrush(QBrush(Qt.white, Qt.SolidPattern)) 
     617            painter.drawRect(option.rect) 
     618            painter.setBrush(QBrush(Qt.blue, Qt.SolidPattern)) 
     619            painter.drawRect(option.rect.x(), option.rect.y(), value*(option.rect.width()-1), option.rect.height()-1) 
     620            painter.restore() 
     621        else: 
     622            QItemDelegate.paint(self, painter, option, index) 
     623         
     624         
    632625if __name__=="__main__": 
    633626    import sys 
    634627    app = QApplication(sys.argv) 
    635628    w=OWGOEnrichmentAnalysis() 
    636     data = orange.ExampleTable("../../doc/datasets/brown-selected.tab") 
     629    data = orange.ExampleTable("../../orange/doc/datasets/brown-selected.tab") 
     630    w.show() 
    637631    w.SetClusterDataset(data) 
    638     app.setMainWidget(w) 
    639     w.show() 
    640     app.exec_loop() 
     632    app.exec_() 
    641633    w.saveSettings() 
    642634         
Note: See TracChangeset for help on using the changeset viewer.