Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0

Changes to DAG plot.

This commit is contained in:
Einar Ryeng 2009-02-06 22:21:51 +00:00
parent 5cfa505ae2
commit f07ce85e46
2 changed files with 14 additions and 9 deletions

View File

@ -483,8 +483,9 @@ class SetICFunction(workflow.Function):
return return
class PlotDagFunction(workflow.Function): class PlotDagFunction(workflow.Function):
def __init__(self): def __init__(self, subtree="bp"):
workflow.Function.__init__(self, 'go-dag', 'Build DAG') workflow.Function.__init__(self, 'go-dag', 'Build DAG')
self.subtree = subtree
def run(self, selection): def run(self, selection):
g = self.get_network(list(selection['go-terms'])) g = self.get_network(list(selection['go-terms']))
@ -493,7 +494,7 @@ class PlotDagFunction(workflow.Function):
name="DAG") name="DAG")
return [ThresholdDagPlot(g)] return [ThresholdDagPlot(g)]
def get_network(self, terms, subtree='bp'): def get_network(self, terms):
"""Returns a DAG connecting the given terms by including their parents """Returns a DAG connecting the given terms by including their parents
up to the level needed to connect them. The subtree parameter is one of up to the level needed to connect them. The subtree parameter is one of
mf - molecular function mf - molecular function
@ -502,6 +503,7 @@ class PlotDagFunction(workflow.Function):
rpy.r.library("GOstats") rpy.r.library("GOstats")
subtree = self.subtree
if subtree == 'mf': if subtree == 'mf':
subtree_r = rpy.r.GOMFPARENTS subtree_r = rpy.r.GOMFPARENTS
elif subtree == 'bp': elif subtree == 'bp':
@ -573,6 +575,7 @@ class DagPlot(plots.Plot):
self._nodecolor = nodecolor self._nodecolor = nodecolor
self._with_labels = with_labels self._with_labels = with_labels
self.visible = set() self.visible = set()
self.labels = {}
self.current_dim = dim self.current_dim = dim
@ -753,15 +756,15 @@ class ThresholdDagPlot(DagPlot, plots.PlotThresholder):
with_labels=False, name='DAG Plot'): with_labels=False, name='DAG Plot'):
DagPlot.__init__(self, graph, dim='go-terms', pos=None, DagPlot.__init__(self, graph, dim='go-terms', pos=None,
nodecolor='b', nodesize=40, nodecolor='b', nodesize=40,
with_labels=False, name='DAG Plot') with_labels=True, name='DAG Plot')
plots.PlotThresholder.__init__(self, "IC") plots.PlotThresholder.__init__(self, "IC")
def rectangle_select_callback(self, x1, y1, x2, y2, key): # def rectangle_select_callback(self, x1, y1, x2, y2, key):
ids = self.points_in_rect(x1, y1, x2, y2, key) # ids = self.points_in_rect(x1, y1, x2, y2, key)
ids = self.visible.intersection(ids) # ids = self.visible.intersection(ids)
ids = self.update_selection(ids, key) # ids = self.update_selection(ids, key)
#
self.selection_listener(self.current_dim, ids) # self.selection_listener(self.current_dim, ids)
def _update_color_from_dataset(self, ds): def _update_color_from_dataset(self, ds):
DagPlot._update_color_from_dataset(self, ds) DagPlot._update_color_from_dataset(self, ds)

View File

@ -66,6 +66,8 @@ class SmallTestWorkflow(workflow.Workflow):
# go.add_function(gobrowser.DistanceToSelectionFunction()) # go.add_function(gobrowser.DistanceToSelectionFunction())
# go.add_function(gobrowser.TTestFunction()) # go.add_function(gobrowser.TTestFunction())
go.add_function(gobrowser.PlotDagFunction()) go.add_function(gobrowser.PlotDagFunction())
go.add_function(gobrowser.PlotDagFunction("cc"))
go.add_function(gobrowser.PlotDagFunction("mf"))
go.add_function(GoEnrichment()) go.add_function(GoEnrichment())
go.add_function(GoEnrichmentCond()) go.add_function(GoEnrichmentCond())
go.add_function(MapGO2Gene()) go.add_function(MapGO2Gene())