Пример #1
0
        private void makeSlidingWindowOccurencePlot()
        {
            MitoPaintedAssembler.RaiseStatusEvent("\tStarting sliding window plot");
            var list = GetAverageInSlidingCoverageWindows().ToList();

            double[] xvals   = list.Select(x => (double)x.Key).ToArray();
            double[] yvals   = list.Select(x => x.Value).ToArray();
            var      scutoff = PoissonCoverageCutoffCount.ToString();
            string   line    = "lines(c(0,16569),c(" + scutoff + "," + scutoff + "),col=\"red\",lwd=3)";

            rInt.PlotPDF(xvals, yvals, OutputFilePrefix + "Windowed" + this.ScanningWindowSize.ToString() + ".pdf", "Windowed occurence", "Insert Size", "Window Average", new List <string>()
            {
                line
            });
            MitoPaintedAssembler.RaiseStatusEvent("\tFinished sliding window plot");
        }
Пример #2
0
        /// <summary>
        /// Plot the intervals and densities as we move along.
        /// </summary>
        private void makeTotalCoveragePlotOverSearchRange()
        {
            var counts = GetRangeToEvaluate();
            var engine = rInt.CurrentEngine;

            lock (engine)
            {
                var    yvals   = engine.CreateNumericVector(counts);
                var    xvals   = engine.CreateNumericVector(Enumerable.Range(LowEndOfSearchRange.Value, counts.Count).Select(x => (double)x));
                string fname   = OutputFilePrefix + "SearchRange.pdf";
                var    scutoff = PoissonCoverageCutoffCount.ToString();
                string line    = "lines(c(0,16569),c(" + scutoff + "," + scutoff + "),col=\"red\",lwd=3)";
                rInt.PlotPDF(xvals, yvals, fname, "Template Length Distribution", "Length", "Counts", new List <string>()
                {
                    line
                });
            }
        }
Пример #3
0
        private void makeTotalCoveragePlot()
        {
            var lowVal  = LowEndOfSearchRange.Value;
            var highVal = HighEndOfSearchRange.Value;
            var y_high  = (countsOfSize.Max() * 5).ToString();
            var engine  = rInt.CurrentEngine;

            lock (engine)
            {
                var           xvals   = engine.CreateNumericVector(Enumerable.Range(1, countsOfSize.Length).Select(x => (double)x));
                var           yvals   = engine.CreateNumericVector(countsOfSize);
                string        fname   = OutputFilePrefix + "FullRange.pdf";
                var           scutoff = PoissonCoverageCutoffCount.ToString();
                List <string> addCmds = new List <string> (3);
                string        line    = "lines(c(0,16569),c(" + scutoff + "," + scutoff + "),col=\"red\",lwd=3)";
                addCmds.Add(line);
                line = "lines(rep(" + lowVal.ToString() + ",2),c(0, " + y_high + "),col=\"red\",lwd=3)";
                addCmds.Add(line);
                line = "lines(rep(" + highVal.ToString() + ",2),c(0, " + y_high + "),col=\"red\",lwd=3)";
                addCmds.Add(line);
                rInt.PlotPDF(xvals, yvals, fname, "Template Length Distribution", "Template Length", "Counts of Reads", addCmds);
            }
        }