def __init__(self, parent=None, signalManager=None): OWWidget.__init__(self, parent, signalManager, "&Display Motifs", 0) # set default settings self.colorBy = None self.pvalThresholdIndex = None self.pvalThreshold = None #load settings self.loadSettings() # GUI self.graph = OWGraph(self.mainArea) self.graph.setYRlabels(None) self.graph.enableGridXB(0) self.graph.enableGridYL(1) self.graph.setAxisMaxMinor(QwtPlot.xBottom, 10) self.graph.setAxisMaxMajor(QwtPlot.xBottom, 10) self.graph.setAxisAutoScale(QwtPlot.xBottom) self.graph.setAxisScale(QwtPlot.xBottom, -1020, 0, 0) self.mainArea.layout().addWidget(self.graph) # inputs # data and graph temp variables self.inputs = [("Examples", ExampleTable, self.cdata, Default), ("Genes", list, self.newGeneList, Default), ("Motifs", list, self.newMotifList, Default)] self.data = None self.motifLines = [] self.visibleValues = [] self.valueToCurve = {} self.allGenes = [] ## genes displayed always in same order self.geneList = [] ## selected genes self.motifList = [] ## selected motifs self.valuesPresentInData = [] self.clusterPostProbThreshold = 0 # GUI self.selValues = OWGUI.widgetBox(self.controlArea, "Values") self.selcolorBy = OWGUI.widgetBox(self.controlArea, "Color By") self.colorByCombo = OWGUI.comboBox(self.selcolorBy, self, "colorBy", items=[], callback=self.colorByChanged) self.pvalThresholdCombo = OWGUI.comboBox( self.selValues, self, "pvalThresholdIndex", items=[], callback=self.pvalThresholdChanged) self.valuesQLB = QListWidget(self.selValues) self.valuesQLB.setSelectionMode(QListWidget.MultiSelection) self.connect(self.valuesQLB, SIGNAL("itemSelectionChanged()"), self.valuesSelectionChange) self.selValues.layout().addWidget(self.valuesQLB) self.unselectAllQLB = OWGUI.button(self.selValues, self, "Unselect all", callback=self.unselAll)
def __init__(self, parent=None, signalManager=None, name="Normalize Expression Array"): OWWidget.__init__(self, parent, signalManager, name, wantGraph=True) self.inputs = [("Expression array", ExampleTable, self.setData)] self.outputs = [("Normalized expression array", ExampleTable, Default), ("Filtered expression array", ExampleTable)] self.selectedGroup = 0 self.selectedCenterMethod = 0 self.selectedMergeMethod = 0 self.zCutoff = 1.96 self.appendZScore = False self.appendRIValues = False self.autoCommit = False self.loadSettings() ## GUI self.infoBox = OWGUI.widgetLabel( OWGUI.widgetBox(self.controlArea, "Info", addSpace=True), "No data on input.") box = OWGUI.widgetBox(self.controlArea, "Split by", addSpace=True) self.groupCombo = OWGUI.comboBox(box, self, "selectedGroup", callback=self.onGroupSelection) self.centerCombo = OWGUI.comboBox( self.controlArea, self, "selectedCenterMethod", box="Center Fold-change Using", items=[name for name, _ in self.CENTER_METHODS], callback=self.onCenterMethodChange, addSpace=True) self.mergeCombo = OWGUI.comboBox( self.controlArea, self, "selectedMergeMethod", box="Merge Replicates", items=[name for name, _ in self.MERGE_METHODS], tooltip="Select the method for replicate merging", callback=self.onMergeMethodChange, addSpace=True) box = OWGUI.doubleSpin(self.controlArea, self, "zCutoff", 0.0, 3.0, 0.01, box="Z-Score Cutoff", callback=[self.replotMA, self.commitIf]) OWGUI.separator(self.controlArea) box = OWGUI.widgetBox(self.controlArea, "Ouput") OWGUI.checkBox(box, self, "appendZScore", "Append Z-Scores", tooltip="Append calculated Z-Scores to output", callback=self.commitIf) OWGUI.checkBox( box, self, "appendRIValues", "Append Log Ratio and Intensity values", tooltip= "Append calculated Log Ratio and Intensity values to output data", callback=self.commitIf) cb = OWGUI.checkBox(box, self, "autoCommit", "Commit on change", tooltip="Commit data on any change", callback=self.commitIf) b = OWGUI.button(box, self, "Commit", callback=self.commit) OWGUI.setStopper(self, b, cb, "changedFlag", callback=self.commit) self.connect(self.graphButton, SIGNAL("clicked()"), self.saveGraph) OWGUI.rubber(self.controlArea) self.graph = OWGraph(self.mainArea) self.graph.setAxisTitle(QwtPlot.xBottom, "Intensity: log<sub>10</sub>(R*G)") self.graph.setAxisTitle(QwtPlot.yLeft, "Log ratio: log<sub>2</sub>(R/G)") self.graph.showFilledSymbols = True self.mainArea.layout().addWidget(self.graph) self.groups = [] self.split_data = None, None self.merged_splits = None, None self.centered = None, None self.changedFlag = False self.data = None self.resize(800, 600)