/// <summary>
        /// Draws a sequence statistic chart for the FastqComponent_Details handle within this class
        /// </summary>
        public void DrawSequenceStatistics()
        {
            Console.WriteLine("Drawing new sequence length distribution!");
            FqPerBaseSatistics[] perBaseStatistics = componentDetails.perBaseStatistics;
            double[]             x = new double[perBaseStatistics.Length];

            PointPairList boxList      = new PointPairList();
            PointPairList lowerWhisker = new PointPairList();
            PointPairList upperWhisker = new PointPairList();
            PointPairList medians      = new PointPairList();

            int count = 1;

            for (int i = 0; i < x.Length; i++)
            {
                x[i] = count;
                boxList.Add((double)x[i], (double)perBaseStatistics[i].ThirdQuartile, (double)perBaseStatistics[i].FirstQuartile);
                medians.Add((double)x[i], (double)perBaseStatistics[i].Median);
                upperWhisker.Add((double)x[i], (double)perBaseStatistics[i].UpperThreshold);
                lowerWhisker.Add((double)x[i], (double)perBaseStatistics[i].LowerThreshold);
                count++;
            }

            Size      size = graphControl.ClientSize;
            Rectangle rect = new Rectangle();

            rect.Size = size;

            graphControl.GraphPane = new GraphPane();
            graphControl.GraphPane.CurveList.Clear();
            graphControl.GraphPane.Rect = rect;

            GraphPane myPane = graphControl.GraphPane;

            myPane.Title.Text = "Per Base Statistics " + componentDetails.getGraphName();

            // set X and Y axis titles
            myPane.XAxis.Title.Text = "Base Position";
            myPane.YAxis.Title.Text = "Qualities";

            CurveItem median = myPane.AddCurve("Median", medians, Color.Green, SymbolType.None);
            LineItem  myLine = (LineItem)median;

            myLine.Line.IsVisible   = true;
            myLine.Line.IsAntiAlias = true;
            myLine.Symbol.Fill.Type = FillType.Solid;
            myLine.Symbol.Size      = 1;

            HiLowBarItem myCurve = myPane.AddHiLowBar("Quartiles", boxList, Color.Black);

            myCurve.Bar.Fill.Type    = FillType.Solid;
            myCurve.Bar.Fill.Color   = Color.Yellow;
            myCurve.Bar.Border.Color = Color.Yellow;

            CurveItem lthresholds = myPane.AddCurve("Lower Threshold", lowerWhisker, Color.Red, SymbolType.HDash);
            LineItem  lthreshline = (LineItem)lthresholds;

            lthreshline.Line.IsVisible    = false;
            lthreshline.Symbol.Fill.Type  = FillType.Solid;
            lthreshline.Symbol.Size       = 1;
            lthreshline.Symbol.Fill.Color = Color.Red;

            CurveItem uppthesh    = myPane.AddCurve("Upper Threshold", upperWhisker, Color.Red, SymbolType.HDash);
            LineItem  uthreshline = (LineItem)uppthesh;

            uthreshline.Line.IsVisible    = false;
            uthreshline.Symbol.Fill.Type  = FillType.Solid;
            uthreshline.Symbol.Size       = 1;
            uthreshline.Symbol.Fill.Color = Color.Red;

            graphControl.Focus();
            graphControl.AxisChange();
            graphControl.Invalidate();
            graphControl.Refresh();
        }