Пример #1
0
        private void DisplayScan()
        {
            if (this.reader == null)
            {
                return;
            }

            try
            {
                this.scan.ValidateComponent();
                this.minPeakIntensity.ValidateComponent();

                double rt = retentionTimes[this.scan.Value - 1];

                PeakList <Peak> pkl = reader.GetPeakList(rt, this.minPeakIntensity.Value, topPeak.Value);

                try
                {
                    ZedGraphicExtension.ClearData(this.zgcScan, false);

                    var pplLight = new PointPairList();
                    pkl.ForEach(p => pplLight.Add(p.Mz, p.Intensity));

                    ZedGraphicExtension.AddIndividualLine(this.zgcScan, MyConvert.Format("Scan {0}", this.scan.Value), pplLight, Color.Blue, false);

                    if (reader.GetMsLevel(rt) == 2)
                    {
                        this.zgcScan.GraphPane.Title.Text = MyConvert.Format("Precursor MZ = {0:0.0000}", pkl.PrecursorMZ);
                    }
                    else
                    {
                        this.zgcScan.GraphPane.Title.Text = string.Empty;
                    }
                }
                finally
                {
                    ZedGraphicExtension.UpdateGraph(this.zgcScan);
                }

                StringBuilder sb = new StringBuilder();
                pkl.ForEach(m => sb.AppendLine(MyConvert.Format("{0:0.0000}\t{1:0.00}", m.Mz, m.Intensity)));
                txtPeaks.Text = sb.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }