private void OutEdge(MetaNode n1, MetaNode n2, bool DifferentOrientation, int Right, uint weight) { SW.Write(@"<edge source='n" + n1.NodeNumber.ToString() + "' target='n" + n2.NodeNumber.ToString() + @"'> <data key='E-DifferentOrientation'>" + DifferentOrientation.ToString() + @"</data> <data key='E-Weight'>" + weight.ToString() + @"</data> <data key='E-GoingRight'>" + Right.ToString() + @"</data> </edge> "); }
private void OutNode(MetaNode node) { SW.Write(@"<node id='n" + node.NodeNumber.ToString() + @"'> <data key='V-AvgKmerCoverage'>" + node.AvgKmerCoverage.ToString() + @"</data> <data key='V-NodeCount'> " + node.ConstituentNodes.Count.ToString() + @"</data> <data key='V-Sequence'>" + node.Sequence + @"</data> <data key='V-LowRefPos'>" + node.Lowest_Reference_Position.ToString() + @"</data> <data key='V-HighRefPos'>" + node.Highest_Reference_Position.ToString() + @"</data> </node> "); }
/// <summary> /// Condense redundant paths down to simple paths /// </summary> /// <returns>List of simple paths.</returns> private void CreateMetaNodes() { _graph.SetNodeVisitState(false); //First step now, condense all nodes into "MetaNodes" that are linearly connected. //Note: Loop avoids stack overflow. foreach (DeBruijnNode node in _graph.GetNodes()) { if (node.IsVisited) { continue; } else { var metaNode = new MetaNode(node, _graph); MetaNodes.Add(metaNode); } } }
/// <summary> /// Initializes a new instance of the <see cref="PieSlice"/> class. /// </summary> /// <param name="label"> /// The label. /// </param> /// <param name="value"> /// The value. /// </param> /// <param name="fill"> /// The fill. /// </param> public GenomeSlice(MetaNode node) { this.Label = "N-" + node.NodeNumber.ToString(); this.pnode = node; node.parentSlice = this; }