private void CreateProliferation(DGraph graph, DCluster proliferation) { var inNode = graph.AddNode("Proliferation_in"); inNode.DrawingNode.Attr.Shape = MsaglShape.Circle; inNode.DrawingNode.Attr.FillColor = MsaglColor.Red; graph.AddNodeToCluster(proliferation, inNode); var splitter = graph.AddNode("Proliferation_Splitter"); splitter.DrawingNode.Attr.Shape = MsaglShape.Circle; splitter.DrawingNode.Attr.FillColor = MsaglColor.Blue; graph.AddNodeToCluster(proliferation, splitter); var mitosis = graph.AddCluster(proliferation, "Mitosis"); Clustering_ApplyNodeAttributes(mitosis); CreateMitosis(graph, mitosis); var meiosis = graph.AddCluster(proliferation, "Meiosis"); Clustering_ApplyNodeAttributes(meiosis); CreateMeiosis(graph, meiosis); Clustering_Cell_AddEdge(graph, inNode, mitosis, null); Clustering_Cell_AddEdge(graph, mitosis, splitter, "Early Meiosis"); Clustering_Cell_AddEdge(graph, splitter, graph.NodeMap["G0"], null); Clustering_Cell_AddEdge(graph, splitter, graph.NodeMap["Inter"], null);//*/ }
private void CreateMitosis(DGraph graph, DCluster mitosis) { var inNode = graph.AddNode("Mitosis_In"); graph.AddNodeToCluster(mitosis, inNode); inNode.DrawingNode.Attr.Shape = MsaglShape.Circle; inNode.DrawingNode.Attr.FillColor = MsaglColor.Red; var g0 = Clustering_Cell_AddNode(graph, mitosis, "G0", "G0"); var mitosis_cycle = graph.AddCluster(mitosis, "Mitosis_Cycle"); Clustering_ApplyNodeAttributes(mitosis_cycle); var g1 = Clustering_Cell_AddNode(graph, mitosis_cycle, "G1", "G1"); var s = Clustering_Cell_AddNode(graph, mitosis_cycle, "S", "S"); var g2 = Clustering_Cell_AddNode(graph, mitosis_cycle, "G2", "G2"); var m = Clustering_Cell_AddNode(graph, mitosis_cycle, "M", "M"); Clustering_Cell_AddEdge(graph, inNode, g0, null); Clustering_Cell_AddEdge(graph, g0, g1, null); Clustering_Cell_AddEdge(graph, g1, s, null); Clustering_Cell_AddEdge(graph, s, g2, null); Clustering_Cell_AddEdge(graph, g2, m, null); Clustering_Cell_AddEdge(graph, mitosis_cycle, g0, "exit cell\ncycle");//*/ }
private void CreateMeiosis(DGraph graph, DCluster meiosis) { var inter = Clustering_Cell_AddNode(graph, meiosis, "Inter", "Inter"); var rest = Clustering_Cell_AddNode(graph, meiosis, "Rest", "Rest"); var meiosis_cycle = graph.AddCluster(meiosis, "Meiosis_Cycle"); Clustering_ApplyNodeAttributes(meiosis_cycle); var pro = Clustering_Cell_AddNode(graph, meiosis_cycle, "Pro", "Pro"); var meta = Clustering_Cell_AddNode(graph, meiosis_cycle, "Meta", "Meta"); var ana = Clustering_Cell_AddNode(graph, meiosis_cycle, "Ana", "Ana"); var telo = Clustering_Cell_AddNode(graph, meiosis_cycle, "Telo", "Telo"); Clustering_Cell_AddEdge(graph, inter, pro, null); Clustering_Cell_AddEdge(graph, pro, meta, null); Clustering_Cell_AddEdge(graph, meta, ana, null); Clustering_Cell_AddEdge(graph, ana, telo, null); Clustering_Cell_AddEdge(graph, meiosis_cycle, inter, "exit cell\ncycle"); Clustering_Cell_AddEdge(graph, meiosis_cycle, rest, null);//*/ }
private void CreateDifferentiation(DGraph graph, DCluster differentiation) { var inNode = graph.AddNode("Differentiation_in"); inNode.DrawingNode.Attr.Shape = MsaglShape.Circle; inNode.DrawingNode.Attr.FillColor = MsaglColor.Red; graph.AddNodeToCluster(differentiation, inNode); var precursor = Clustering_Cell_AddNode(graph, differentiation, "Precursor", "Precursor"); var earlyMeiosis = Clustering_Cell_AddNode(graph, differentiation, "EarlyMeiosis", "Early Meiosis"); var meiosis = Clustering_Cell_AddNode(graph, differentiation, "Diff_Meiosis", "Meiosis"); var gamete = graph.AddCluster(differentiation, "Gamete"); Clustering_ApplyNodeAttributes(gamete); CreateGamete(graph, gamete); Clustering_Cell_AddEdge(graph, inNode, precursor, null); Clustering_Cell_AddEdge(graph, precursor, earlyMeiosis, "GLD-1_Act\nOR\nGLD-2_Act"); Clustering_Cell_AddEdge(graph, earlyMeiosis, meiosis, "Pachytene"); Clustering_Cell_AddEdge(graph, meiosis, gamete, "MEK-2_Act\nAND\nMPK-1_Act");//*/ }