source: orange-bioinformatics/Orange/bioinformatics/widgets/prototypes/OWNormalization.py @ 1633:b8852fdd1a0f

Revision 1633:b8852fdd1a0f, 2.1 KB checked in by mitar, 2 years ago (diff)

Fixing imports.

Line 
1"""
2<name>Normalization</name>
3<description>Gene Expression data normalization</description>
4"""
5
6from __future__ import absolute_import
7
8import os, sys
9
10import Orange
11from Orange.OrangeWidgets import OWGUI
12from Orange.OrangeWidgets.OWWidget import *
13
14from ... import obiDifscale
15
16class OWNormalization(OWWidget):
17    settingsList = []
18   
19    METHODS = ["Median", "Quantile"]
20    def __init__(self, parent=None, signalManager=None, title="Differentiation Scale"):
21        OWWidget.__init__(self, parent, signalManager, title, wantMainArea=False)
22       
23        self.inputs = [("Data 1", Orange.data.Table, self.set_data1), ("Data 2", Orange.data.Table, self.set_data2)]
24        self.outputs = [("Normalized Data 1", Orange.data.Table), ("Normalized Data 2", Orange.data.Table)]
25       
26        self.selected_method = "Median"
27       
28        #####
29        # GUI
30        #####
31       
32        OWGUI.comboBox(self.controlArea, self, "selected_method",
33                       box="Method",
34                       tooltip="Normalization type",
35                       items=self.METHODS,
36                       sendSelectedValue=True,
37                       callback=self.on_method_changed)
38       
39        self.data1 = None
40        self.data2 = None
41       
42        self.resize(200, 50)
43       
44    def set_data1(self, data=None):
45        self.data1 = data
46   
47    def set_data2(self, data=None):
48        self.data2 = data
49       
50    def handleNewSignals(self):
51        self.run_normalization()
52   
53    def on_method_changed(self):
54        self.run_normalization()
55       
56    def run_normalization(self):
57        if self.data1 is not None:
58            norm1, norm2 = obiDifscale.normalize(self.data1, self.data2, type=self.selected_method.lower())
59            self.send("Normalized Data 1", norm1)
60            self.send("Normalized Data 2", norm2)
61        else:
62            self.send("Normalized Data 1", None)
63            self.send("Normalized Data 2", None)
64           
65if __name__ == "__main__":
66    app = QApplication([])
67    w = OWNormalization()
68    data = Orange.data.Table("GDS")
69    w.show()
70    app.exec_()
Note: See TracBrowser for help on using the repository browser.