Пример #1
0
 /// <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);
        }