/// <summary> /// The slices. /// </summary> public MitochondrialAssemblyPlotMaker(MitochondrialAssembly assembly) { this.Assembly = assembly; slices = new List <GenomeSlice>(assembly.AllNodesInGraph.Select(x => new GenomeSlice(x))); if (this.Assembly.SuccessfulAssembly) { foreach (var s in slices) { if (Assembly.NodesInCompleteAssembly.Contains(s.Node)) { s.InMainAssembly = true; } } if (Assembly.GreedyPathAssembly.Sequence.Count > StaticResources.CRS_LENGTH) { assemblyAligner = new NucMerQueryable(Assembly.GreedyPathAssembly.Sequence); } else { assemblyAligner = new NucMerQueryable(ReferenceGenome.ReferenceSequence); } assignLeftRightPositionsToSlices(); assignHeightPositionsToSlices(); arrows = Assembly.AllNodesInGraph.SelectMany(x => x.GetAllEdges()).Where(z => !z.IsInferiorEdge).Select(x => new Arrow(x)).ToList(); } }
static ReferenceGenome() { ReferenceSequence = new Sequence(NoGapDnaAlphabet.Instance, rCRS, false); nucmer = new NucMerQueryable(ReferenceSequence); }