Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
self.progressBarFinished()
self.lastNameComponentAttribute = None
if self.optimization is None or self.optimization.graph is None or self.optimization.graph.items is None:
return
vars = [x.name for x in self.optimization.getVars()]
if not self.nameComponentCombo.currentText() in vars:
return
self.progressBarInit()
components = [c for c in self.optimization.graph.getConnectedComponents() if len(c) > 1]
if 'component name' in self.optimization.graph.items.domain:
keyword_table = self.optimization.graph.items
else:
keyword_table = orange.ExampleTable(orange.Domain(orange.StringVariable('component name')), [[''] for i in range(len(self.optimization.graph.items))])
import obiGO
ontology = obiGO.Ontology.Load(progressCallback=self.progressBarSet)
annotations = obiGO.Annotations.Load(self.organism, ontology=ontology, progressCallback=self.progressBarSet)
allGenes = set([e[str(self.nameComponentCombo.currentText())].value for e in self.optimization.graph.items])
foundGenesets = False
if len(annotations.geneNames & allGenes) < 1:
allGenes = set(reduce(operator.add, [e[str(self.nameComponentCombo.currentText())].value.split(', ') for e in self.optimization.graph.items]))
if len(annotations.geneNames & allGenes) < 1:
self.warning('no genes found')
return
else:
foundGenesets = True
def rank(a, j, reverse=False):
fle = fn
else:
fle = open(fn)
while 1:
lne = fle.readline().strip()
if lne:
break
spl = lne.split()
try:
dim = int(spl[0])
except IndexError:
raise ValueError("Matrix dimension expected in the first line.")
#print dim
labeled = len(spl) > 1 and spl[1] in ["labelled", "labeled"]
matrix = orange.SymMatrix(dim)
data = None
milestones = orngMisc.progressBarMilestones(dim, 100)
if labeled:
labels = []
else:
labels = [""] * dim
for li, lne in enumerate(fle):
if li > dim:
if not li.strip():
continue
raise ValueError("File to long")
spl = lne.split("\t")
if labeled:
labels.append(spl[0].strip())
pkl_file.close()
else:
fle = open(fn)
while 1:
lne = fle.readline().strip()
if lne:
break
spl = lne.split()
try:
dim = int(spl[0])
except:
msg = "Matrix dimension expected in the first line"
raise exceptions.Exception
labeled = len(spl) > 1 and spl[1] in ["labelled", "labeled"]
self.matrix = matrix = orange.SymMatrix(dim)
if labeled:
self.labels = []
else:
self.labels = [""] * dim
for li, lne in enumerate(fle):
if li > dim:
if not li.strip():
continue
msg = "File too long"
raise exceptions.IndexError
spl = lne.split("\t")
if labeled:
self.labels.append(spl[0].strip())
spl = spl[1:]
if len(spl) > dim:
msg = "Line %i too long" % li+2
discType = self.classDiscretization
classVar = self.originalData.domain.classVar
if discType == 2:
try:
content = str(self.classCustomLineEdit.text()).replace(":", " ").replace(",", " ").replace("-", " ").split()
customs = dict.fromkeys([float(x) for x in content]).keys() # remove duplicates (except 8.0, 8.000 ...)
customs.sort()
except:
customs = []
if not customs:
discType = 0
if discType == 0:
discretizer = orange.EquiNDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
elif discType == 1:
discretizer = orange.EquiDistDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
else:
discretizer = orange.IntervalDiscretizer(points = customs).constructVariable(classVar)
self.data = orange.ExampleTable(orange.Domain(self.originalData.domain.attributes, discretizer), self.originalData)
self.classIntervalsLabel.setText("Current splits: " + ", ".join([str(classVar(x)) for x in discretizer.getValueFrom.transformer.points]))
classVar = self.originalData.domain.classVar
if discType == 2:
try:
content = self.customClassSplits.replace(":", " ").replace(",", " ").replace("-", " ").split()
customs = dict.fromkeys([float(x) for x in content]).keys() # remove duplicates (except 8.0, 8.000 ...)
customs.sort()
except:
customs = []
if not customs:
discType = 0
try:
if discType == 0:
discretizer = orange.EquiNDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
elif discType == 1:
discretizer = orange.EquiDistDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
else:
discretizer = orange.IntervalDiscretizer(points = customs).constructVariable(classVar)
self.discClassData = orange.ExampleTable(orange.Domain(self.originalData.domain.attributes, discretizer), self.originalData)
if self.data:
self.data = self.discClassData
# else, the data has no continuous attributes other then the class
self.classIntervalsLabel.setText("Current splits: " + ", ".join([str(classVar(x)) for x in discretizer.getValueFrom.transformer.points]))
self.error(0)
self.warning(0)
return True
except:
if self.data:
classVar = self.originalData.domain.classVar
if discType == 2:
try:
content = self.customClassSplits.replace(":", " ").replace(",", " ").replace("-", " ").split()
customs = dict.fromkeys([float(x) for x in content]).keys() # remove duplicates (except 8.0, 8.000 ...)
customs.sort()
except:
customs = []
if not customs:
discType = 0
try:
if discType == 0:
discretizer = orange.EquiNDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
elif discType == 1:
discretizer = orange.EquiDistDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
else:
discretizer = orange.IntervalDiscretizer(points = customs).constructVariable(classVar)
self.discClassData = orange.ExampleTable(orange.Domain(self.originalData.domain.attributes, discretizer), self.originalData)
if self.data:
self.data = self.discClassData
# else, the data has no continuous attributes other then the class
self.classIntervalsLabel.setText("Current splits: " + ", ".join([str(classVar(x)) for x in discretizer.getValueFrom.transformer.points]))
self.error(0)
self.warning(0)
return True
except:
if self.data:
classVar = self.originalData.domain.classVar
if discType == 2:
try:
content = self.customClassSplits.replace(":", " ").replace(",", " ").replace("-", " ").split()
customs = dict.fromkeys([float(x) for x in content]).keys() # remove duplicates (except 8.0, 8.000 ...)
customs.sort()
except:
customs = []
if not customs:
discType = 0
try:
if discType == 0:
discretizer = orange.EquiNDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
elif discType == 1:
discretizer = orange.EquiDistDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
else:
discretizer = orange.IntervalDiscretizer(points = customs).constructVariable(classVar)
self.discClassData = orange.ExampleTable(orange.Domain(self.originalData.domain.attributes, discretizer), self.originalData)
if self.data:
self.data = self.discClassData
# else, the data has no continuous attributes other then the class
self.classIntervalsLabel.setText("Current splits: " + ", ".join([str(classVar(x)) for x in discretizer.getValueFrom.transformer.points]))
self.error(0)
self.warning(0)
return True
except:
if self.data:
content = self.customClassSplits.replace(":", " ").replace(",", " ").replace("-", " ").split()
customs = dict.fromkeys([float(x) for x in content]).keys() # remove duplicates (except 8.0, 8.000 ...)
customs.sort()
except:
customs = []
if not customs:
discType = 0
try:
if discType == 0:
discretizer = orange.EquiNDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
elif discType == 1:
discretizer = orange.EquiDistDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
else:
discretizer = orange.IntervalDiscretizer(points = customs).constructVariable(classVar)
self.discClassData = orange.ExampleTable(orange.Domain(self.originalData.domain.attributes, discretizer), self.originalData)
if self.data:
self.data = self.discClassData
# else, the data has no continuous attributes other then the class
self.classIntervalsLabel.setText("Current splits: " + ", ".join([str(classVar(x)) for x in discretizer.getValueFrom.transformer.points]))
self.error(0)
self.warning(0)
return True
except:
if self.data:
self.warning(0, "Cannot discretize the class; using previous class")
else:
self.error(0, "Cannot discretize the class")
self.classIntervalsLabel.setText("")
content = self.customClassSplits.replace(":", " ").replace(",", " ").replace("-", " ").split()
customs = dict.fromkeys([float(x) for x in content]).keys() # remove duplicates (except 8.0, 8.000 ...)
customs.sort()
except:
customs = []
if not customs:
discType = 0
try:
if discType == 0:
discretizer = orange.EquiNDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
elif discType == 1:
discretizer = orange.EquiDistDiscretization(classVar, self.originalData, numberOfIntervals = self.classIntervals)
else:
discretizer = orange.IntervalDiscretizer(points = customs).constructVariable(classVar)
self.discClassData = orange.ExampleTable(orange.Domain(self.originalData.domain.attributes, discretizer), self.originalData)
if self.data:
self.data = self.discClassData
# else, the data has no continuous attributes other then the class
self.classIntervalsLabel.setText("Current splits: " + ", ".join([str(classVar(x)) for x in discretizer.getValueFrom.transformer.points]))
self.error(0)
self.warning(0)
return True
except:
if self.data:
self.warning(0, "Cannot discretize the class; using previous class")
else:
self.error(0, "Cannot discretize the class")
self.classIntervalsLabel.setText("")
# Description: Ranking and selection of best N attributes
# Category: preprocessing
# Uses: voting
# Referenced: orngFSS.htm
# Classes: orngFSS.attMeasure, orngFSS.bestNAtts
import orange, orngFSS
data = orange.ExampleTable("voting")
print 'Attribute scores for best three attributes:'
ma = orngFSS.attMeasure(data)
for m in ma[:3]:
print "%5.3f %s" % (m[1], m[0])
n = 3
best = orngFSS.bestNAtts(ma, n)
print '\nBest %d attributes:' % n
for s in best:
print s