[Bio] / ModelEditor / EnzymeWindow.py Repository:
ViewVC logotype

Annotation of /ModelEditor/EnzymeWindow.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download) (as text)

1 : efrank 1.1 from wxPython.wx import *
2 :     from wxPython.grid import *
3 :     from KahOM.RecoElem import RecoElem
4 : efrank 1.2 from ModelEditor.RecoElempanel import RecoElempanel
5 :     from ModelEditor.MainLayout import MainLayout
6 :     from ModelEditor.DoubleTextEntryDialog import DoubleTextEntryDialog
7 : efrank 1.1
8 :     class EnzymeWindow:
9 :     # def __init__(self, parent):
10 :     # def initEvents(self ):
11 :    
12 :    
13 :     #------------------------------------------------------------------------
14 :     def __init__(self, parent):
15 :     #------------------------------------------------------------------------
16 :     self.parent = parent
17 :     self.initEvents()
18 :    
19 :     self.__searchGrid = self.parent.enzymesSearchResultsGrid
20 :     self.__selectedGrid = self.parent.enzymesSelectedResultsGrid
21 :    
22 :     self.parent.addEnzymesBtn.Enable(false)
23 :     self.parent.enzymesListFunctionBtn.Enable(false)
24 :    
25 :     return
26 :    
27 :     #------------------------------------------------------------------------
28 :     def enzymeSearchText(self):
29 :     #------------------------------------------------------------------------
30 :     return self.parent.enzymesSearchText.GetValue()
31 :    
32 :     #------------------------------------------------------------------------
33 :     def queryType(self):
34 :     #
35 :     # What to search on. Can be EC, Name, Substrate, Product
36 :     #------------------------------------------------------------------------
37 :     return self.parent.choicesEnzymesComboBox.GetValue()
38 :    
39 :     #------------------------------------------------------------------------
40 :     def matchType(self):
41 :     #
42 :     # Type of match: Can be Equals, Contains, Like,
43 :     #------------------------------------------------------------------------
44 :     return self.parent.optionsEnzymesComboBox.GetValue()
45 :    
46 :    
47 :     #------------------------------------------------------------------------
48 :     def initEvents(self ):
49 :     #------------------------------------------------------------------------
50 :    
51 :     comboValue = self.parent.foundryComboBox
52 :     EVT_COMBOBOX(comboValue, comboValue.GetId(), self.onFoundryComboBox)
53 :    
54 :    
55 :     searchEnzymesBtn = self.parent.searchEnzymesBtn
56 :     EVT_BUTTON(self.parent, searchEnzymesBtn.GetId(), self.onSearchEnzymes)
57 :    
58 :     addEnzymesBtn = self.parent.addEnzymesBtn
59 :     EVT_BUTTON(self.parent, addEnzymesBtn.GetId(),
60 :     self.onAddEnzymes)
61 :    
62 :     enzymesSearchSelectBtn = self.parent.enzymesSearchSelectBtn
63 :     EVT_BUTTON(self.parent, enzymesSearchSelectBtn.GetId(),
64 :     self.onSelectSearchResults)
65 :    
66 :     enzymesListFunctionBtn = self.parent.enzymesListFunctionBtn
67 :     EVT_BUTTON(self.parent, enzymesListFunctionBtn.GetId(),
68 :     self.onEnzymesListFunctions)
69 :    
70 :     enzymesSearchClearBtn = self.parent.enzymesSearchClearBtn
71 :     EVT_BUTTON(self.parent, enzymesSearchClearBtn.GetId(),
72 :     self.onClearSearchResults)
73 :    
74 :     clearSelectedEnzymesBtn = self.parent.clearSelectedEnzymesBtn
75 :     EVT_BUTTON(self.parent, clearSelectedEnzymesBtn.GetId(),
76 :     self.onClearSelectedEnzymes)
77 :    
78 :    
79 :     return
80 :    
81 :     #------------------------------------------------------------------------
82 :     def onSearchEnzymes(self, evt):
83 :     #------------------------------------------------------------------------
84 :     wxBeginBusyCursor()
85 :    
86 :     factory = self.parent.getCurrentDataFactory()
87 :     if (factory.getFoundryType() == "Wit"):
88 :     self.parent.error( "Search Enzymes not supported in Wit" )
89 :     return
90 :     foundryName = factory.getFoundryName()
91 :    
92 :     target = self.enzymeSearchText()
93 :     likeOpt = self.matchType()
94 :     queryType = self.queryType()
95 :    
96 :     if (queryType == "EC"):
97 :     results = factory.enzymeECSearch( target, likeOpt )
98 :     elif (queryType == "Name"):
99 :     results = factory.enzymeNameSearch( target, likeOpt )
100 :     elif (queryType == "Substrate"):
101 :     results = factory.enzymeBySubstrateSearch( target, likeOpt )
102 :     elif (queryType == "Product"):
103 :     results = factory.enzymeByProductSearch( target, likeOpt )
104 :     else:
105 :     self.parent.error( "searchSeedEnzymes: code logic error")
106 :     wxEndBusyCursor()
107 :     return
108 :     self.updateSearchResultsGrid(foundryName, results)
109 :     wxEndBusyCursor()
110 :     return
111 :    
112 :     #------------------------------------------------------------------------
113 :     def onAddEnzymes(self, evt):
114 :     #------------------------------------------------------------------------
115 :     self.parent.error( "Adding enzymes is not supported yet")
116 :     return
117 :    
118 :    
119 :     #------------------------------------------------------------------------
120 :     def updateSearchResultsGrid(self, factoryName, results):
121 :     #------------------------------------------------------------------------
122 :     theGrid = self.__searchGrid
123 :     n = theGrid.GetNumberRows()
124 :     for r in results:
125 :     if (None == r[1]): r[1]=""
126 :     theGrid.AppendRows(numRows=1)
127 :     theGrid.SetCellValue(n, 0 , factoryName)
128 :     theGrid.SetCellValue(n, 1, r[0] )
129 :     theGrid.SetCellValue(n, 2, r[1] )
130 :     theGrid.SetReadOnly(n, 0)
131 :     theGrid.SetReadOnly(n, 1)
132 :     theGrid.SetReadOnly(n, 2)
133 :     n += 1
134 :     theGrid.AutoSizeColumn(1)
135 :     theGrid.AutoSizeColumn(2)
136 :     theGrid.FitInside()
137 :    
138 :     return
139 :    
140 :     #------------------------------------------------------------------------
141 :     def onClearSearchResults(self, event):
142 :     #------------------------------------------------------------------------
143 :    
144 :     if (self.__searchGrid.GetNumberRows() == 0 ):
145 :     return
146 :    
147 :     self.__searchGrid.DeleteRows(0, self.__searchGrid.GetNumberRows())
148 :     self.__searchGrid.ClearGrid()
149 :     return
150 :    
151 :     #------------------------------------------------------------------------
152 :     def onClearSelectedEnzymes(self, event):
153 :     #------------------------------------------------------------------------
154 :    
155 :     nRows = self.__selectedGrid.GetNumberRows()
156 :     if (0 != nRows):
157 :     self.__selectedGrid.DeleteRows(0, nRows)
158 :     self.__selectedGrid.ClearGrid()
159 :    
160 :     return
161 :    
162 :     #------------------------------------------------------------------------
163 :     def onEnzymesListFunctions(self, event):
164 :     #
165 :     # Lists the enzymatic functions for the selected EC/enzyme
166 :     #------------------------------------------------------------------------
167 :     self.parent.error( "onEnzymesListFunctions")
168 :     return
169 :    
170 :     #------------------------------------------------------------------------
171 :     def onSelectSearchResults(self, event):
172 :     #------------------------------------------------------------------------
173 :    
174 :     onSelectRows = self.__searchGrid.GetSelectedRows()
175 :    
176 :     bottomGrid = self.__selectedGrid
177 :     bottomGridNumber = self.__selectedGrid.GetNumberRows()
178 :    
179 :     for s in onSelectRows:
180 :     bottomFoundryValue = self.__searchGrid.GetCellValue(s, 0)
181 :     bottomECValue = self.__searchGrid.GetCellValue(s, 1)
182 :     bottomNameValue = self.__searchGrid.GetCellValue(s, 2)
183 :    
184 :     bottomGrid.AppendRows(numRows=1)
185 :     bottomGrid.SetCellValue(bottomGridNumber, 0, bottomFoundryValue)
186 :     bottomGrid.SetCellValue(bottomGridNumber, 1, bottomECValue)
187 :     bottomGrid.AutoSizeColumn(1)
188 :     bottomGrid.SetCellValue(bottomGridNumber, 2, bottomNameValue)
189 :     bottomGrid.AutoSizeColumn(2)
190 :     bottomGridNumber += 1
191 :    
192 :     bottomGrid.FitInside()
193 :    
194 :     return
195 :    
196 :     #------------------------------------------------------------------------
197 :     def onFoundryComboBox(self, evt):
198 :     #------------------------------------------------------------------------
199 :    
200 :     cb = evt.GetEventObject()
201 :     choice = evt.GetString()
202 :    
203 :     return

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3