public void Update(object sender, UpdateQuantificationItemEventArgs e)
    {
      var summary = e.Item as O18QuantificationSummaryItem;
      if (summary == null)
      {
        throw new ArgumentNullException("UpdateQuantificationItemEventArgs.Item cannot be null");
      }

      panel.ClearData();
      try
      {
        int firstScan = summary.ObservedEnvelopes.First().Scan;
        int lastScan = summary.ObservedEnvelopes.Last().Scan;

        var ppms = summary.GetPPMList();

        var O16PPMs = GetPoints(firstScan, lastScan, ppms, m => m.O16);
        var O181PPMs = GetPoints(firstScan, lastScan, ppms, m => m.O181);
        var O182PPMs = GetPoints(firstScan, lastScan, ppms, m => m.O182);

        panel.AddCurve("O16", O16PPMs, O18QuantificationConstants.COLOR_O16, SymbolType.None);
        panel.AddCurve("O18(1)", O181PPMs, O18QuantificationConstants.COLOR_O18_1, SymbolType.None);
        panel.AddCurve("O18(2)", O182PPMs, O18QuantificationConstants.COLOR_O18_2, SymbolType.None);
      }
      finally
      {
        ZedGraphicExtension.UpdateGraph(this.zgcGraph);
      }
    }
        public void Update(object sender, UpdateQuantificationItemEventArgs e)
        {
            panel.ClearData();
            var summary = e.Item as IsobaricItem;

            if (null != summary)
            {
                if (summary.PeakInIsolationWindow.Count > 0)
                {
                    var pplWinPrecursor = new PointPairList();
                    foreach (var peak in summary.PeakInIsolationWindow)
                    {
                        if (peak.Tag > 0)
                        {
                            pplWinPrecursor.Add(new PointPair(peak.Mz, peak.Intensity, string.Format("{0:0.00000}", peak.Mz)));
                        }
                        else
                        {
                            pplWinPrecursor.Add(new PointPair(peak.Mz, peak.Intensity));
                        }
                    }

                    panel.AddIndividualLine("", pplWinPrecursor, Color.Black, Color.Blue);

                    panel.Title.Text = string.Format("Isolation Window (Specifity = {0:0.00}%)", summary.PrecursorPercentage * 100);
                }
            }

            ZedGraphicExtension.UpdateGraph(zgcGraph);
        }
        public void Update(object sender, UpdateMRMPairedProductIonEventArgs e)
        {
            var summary = e.Item;

            if (summary == null)
            {
                throw new ArgumentNullException("UpdateMRMItemEventArgs.Item cannot be null");
            }

            panel.Tag = e.Item;

            panel.ClearData();
            try
            {
                if (summary.Heavy != null)
                {
                    var pplRed = new PointPairList();
                    var noise  = summary.DeductBaseLine ? summary.Light.Noise : 0.0;
                    for (int i = 0; i < summary.Light.Intensities.Count; i++)
                    {
                        if (summary.Light.Intensities[i].Enabled)
                        {
                            pplRed.Add(new PointPair(summary.Heavy.Intensities[i].Intensity - noise, summary.Light.Intensities[i].Intensity - noise, 0.0, i));
                        }
                    }
                    ;

                    if (pplRed.Count > 0)
                    {
                        panel.AddPoints(pplRed, Color.Red);
                        PointPairList line = ZedGraphicExtension.GetRegressionLine(pplRed, summary.Ratio, summary.Distance);
                        panel.AddCurve(null, line, Color.Green, SymbolType.None);
                        panel.Title.Text      = summary.GetFormula();
                        panel.Title.IsVisible = true;
                    }
                    else
                    {
                        panel.Title.IsVisible = false;
                    }
                }
            }
            finally
            {
                ZedGraphicExtension.UpdateGraph(this.zgcGraph);
            }
        }
        public void Update(object sender, UpdateSmallMoleculeFilePeakEventArgs e)
        {
            var peak = e.Peak;

            panel.ClearData();

            var pplReal     = new PointPairList();
            var pplSmoothed = new PointPairList();

            var map = data[peak];

            foreach (var scan in map)
            {
                pplReal.Add(scan.Scan, scan.Intensity);
                pplSmoothed.Add(scan.Scan, scan.SmoothedIntensity);
            }

            if (map.Last().Scan != LastScan)
            {
                pplReal.Add(LastScan, 0.0);
            }

            panel.YAxis.Scale.MaxAuto = true;

            bool bSmoothed = false;

            foreach (var m in map)
            {
                if (m.Intensity != m.SmoothedIntensity)
                {
                    bSmoothed = true;
                    break;
                }
            }

            if (bSmoothed)
            {
                var line = panel.AddCurve("", pplSmoothed, Color.Blue, SymbolType.None);
            }

            panel.AddCurve("", pplReal, this.color, SymbolType.None);

            ZedGraphicExtension.UpdateGraph(zgcGraph);
        }
        public void Update(object sender, UpdateQuantificationItemEventArgs e)
        {
            panel.ClearData();

            var summary = e.Item as IsobaricItem;

            if (null != summary)
            {
                var pplData = new PointPairList();
                if (summary.RawPeaks.Count > 0)
                {
                    foreach (var peak in summary.RawPeaks)
                    {
                        pplData.Add(new PointPair(peak.Mz, peak.Intensity));
                    }
                }
                else
                {
                    var definitions = summary.Definition.Items;
                    foreach (var def in definitions)
                    {
                        pplData.Add(new PointPair(def.Index, summary[def.Index]));
                    }
                }
                panel.AddIndividualLine("", pplData, Color.Black);

                panel.XAxis.Scale.Min = summary.Definition.MinIndex - 1;
                panel.XAxis.Scale.Max = summary.Definition.MaxIndex + 1;

                panel.Title.Text = string.Format("{0},{1}", summary.Experimental, summary.Scan);
            }

            if (updateGraph)
            {
                ZedGraphicExtension.UpdateGraph(zgcGraph);
            }
        }
        public void Update(object sender, UpdateQuantificationItemEventArgs e)
        {
            var summary = e.Item as SilacQuantificationSummaryItem;

            if (summary == null)
            {
                throw new ArgumentNullException("UpdateQuantificationItemEventArgs.Item cannot be null");
            }

            panel.ClearData();
            try
            {
                var lightCorrel = new PointPairList();
                foreach (var entry in summary.ObservedEnvelopes)
                {
                    lightCorrel.Add(new PointPair(entry.Scan, entry.LightCorrelation));
                }

                var heavyCorrel = new PointPairList();
                foreach (var entry in summary.ObservedEnvelopes)
                {
                    heavyCorrel.Add(new PointPair(entry.Scan, entry.HeavyCorrelation));
                }

                var sampleCorrel = summary.SampleIsLight ? lightCorrel : heavyCorrel;
                var refCorrel    = summary.SampleIsLight ? heavyCorrel : lightCorrel;
                panel.AddCurve("Sample", sampleCorrel, SilacQuantificationConstants.SAMPLE_COLOR, SymbolType.None);
                panel.AddCurve("Reference", refCorrel, SilacQuantificationConstants.REFERENCE_COLOR, SymbolType.None);
                panel.YAxis.Scale.Min = 0.0;
                panel.YAxis.Scale.Max = 1.2;
            }
            finally
            {
                ZedGraphicExtension.UpdateGraph(this.zgcGraph);
            }
        }
Beispiel #7
0
        public void Update(object sender, UpdateMRMPairedPeptideItemEventArgs e)
        {
            panel.ClearData();

            var peptide = e.Item;

            if (peptide == null || peptide.ProductIonPairs.Count == 0)
            {
                return;
            }

            var option = e.ViewOption;

            panel.Tag = peptide;

            panel.ClearData();
            try
            {
                foreach (var summary in peptide.ProductIonPairs)
                {
                    if (summary.Light != null && summary.Heavy != null && !option.ViewGreenLine)
                    {
                        AddAbsoluteCurve(summary.Light, "Light", Color.Blue, DashStyle.Solid);
                        AddAbsoluteCurve(summary.Heavy, "Heavy", Color.Red, DashStyle.Dot);
                    }
                }

                this.panel.Title.IsVisible = false;
                this.panel.YAxis.Scale.Min = 0;

                if (option.ViewType == DisplayType.PerfectSize || option.ViewType == DisplayType.FullHeight)
                {
                    var range = (from summary in peptide.ProductIonPairs
                                 from scan in summary.Light.Intensities
                                 where scan.Enabled
                                 orderby scan.RetentionTime
                                 select scan.RetentionTime).ToList();

                    if (range.Count > 0)
                    {
                        var minRt = range.First() - 1;
                        var maxRt = range.Last() + 1;

                        panel.XAxis.Scale.Min = minRt;
                        panel.XAxis.Scale.Max = maxRt;

                        if (option.ViewType == DisplayType.PerfectSize)
                        {
                            var maxIntensity = Math.Max((from summary in peptide.ProductIonPairs
                                                         from scan in summary.Light.Intensities
                                                         where scan.Enabled
                                                         select scan.Intensity).Max(),
                                                        (from summary in peptide.ProductIonPairs
                                                         from scan in summary.Heavy.Intensities
                                                         where scan.Enabled
                                                         select scan.Intensity).Max());
                            panel.YAxis.Scale.Max = maxIntensity * 1.2;
                        }
                    }
                }
            }
            finally
            {
                ZedGraphicExtension.UpdateGraph(this.zgcGraph);
            }
        }
        public void Update(object sender, UpdateQuantificationItemEventArgs e)
        {
            var summary = e.Item as SilacQuantificationSummaryItem;

            if (summary == null)
            {
                throw new ArgumentNullException("UpdateQuantificationItemEventArgs.Item cannot be null");
            }

            double sampleMz;
            double referenceMz;

            if (summary.SampleIsLight)
            {
                sampleMz    = summary.ObservedEnvelopes[0].Light[0].Mz;
                referenceMz = summary.ObservedEnvelopes[0].Heavy[0].Mz;
            }
            else
            {
                sampleMz    = summary.ObservedEnvelopes[0].Heavy[0].Mz;
                referenceMz = summary.ObservedEnvelopes[0].Light[0].Mz;
            }

            panel.ClearData();

            var pplSample    = new PointPairList();
            var pplReference = new PointPairList();

            var  pplSampleCurve    = new PointPairList();
            var  pplReferenceCurve = new PointPairList();
            bool bChecked          = false;

            for (int i = 0; i < summary.ObservedEnvelopes.Count; i++)
            {
                var envelope = summary.ObservedEnvelopes[i];
                if (envelope.Enabled != bChecked)
                {
                    if (pplSampleCurve.Count > 0)
                    {
                        if (bChecked)
                        {
                            panel.AddPoly("", pplSampleCurve, SilacQuantificationConstants.SAMPLE_COLOR, new[] { SilacQuantificationConstants.PLOY_COLOR });
                            panel.AddPoly("", pplReferenceCurve, SilacQuantificationConstants.REFERENCE_COLOR, new[] { SilacQuantificationConstants.PLOY_COLOR });
                        }
                    }
                    pplSampleCurve    = new PointPairList();
                    pplReferenceCurve = new PointPairList();
                    bChecked          = envelope.Enabled;
                }

                if (summary.SampleIsLight)
                {
                    pplSampleCurve.Add(envelope.Scan, envelope.LightIntensity);
                    pplReferenceCurve.Add(envelope.Scan, envelope.HeavyIntensity);
                    pplSample.Add(envelope.Scan, envelope.LightIntensity);
                    pplReference.Add(envelope.Scan, envelope.HeavyIntensity);
                }
                else
                {
                    pplSampleCurve.Add(envelope.Scan, envelope.LightIntensity);
                    pplReferenceCurve.Add(envelope.Scan, envelope.HeavyIntensity);
                    pplSample.Add(envelope.Scan, envelope.HeavyIntensity);
                    pplReference.Add(envelope.Scan, envelope.LightIntensity);
                }
            }

            if (pplSampleCurve.Count > 0)
            {
                if (bChecked)
                {
                    panel.AddPoly("", pplSampleCurve, SilacQuantificationConstants.SAMPLE_COLOR, new[] { SilacQuantificationConstants.PLOY_COLOR });
                    panel.AddPoly("", pplReferenceCurve, SilacQuantificationConstants.REFERENCE_COLOR, new[] { SilacQuantificationConstants.PLOY_COLOR });
                }
            }

            panel.AddCurve("Sample", pplSample, SilacQuantificationConstants.SAMPLE_COLOR, SymbolType.None);
            panel.AddCurve("Reference", pplReference, SilacQuantificationConstants.REFERENCE_COLOR, SymbolType.None);

            var identified = new PointPairList();

            summary.ObservedEnvelopes.FindAll(m => m.IsIdentified).ForEach(m =>
            {
                identified.Add(new PointPair(m.Scan, m.LightIntensity));
                identified.Add(new PointPair(m.Scan, m.HeavyIntensity));
            });
            panel.AddIndividualLine("Identified", identified, SilacQuantificationConstants.IDENTIFIED_COLOR);

            var currentScan = new PointPairList();

            summary.ObservedEnvelopes.FindAll(m => m.IsSelected).ForEach(m =>
            {
                currentScan.Add(new PointPair(m.Scan, Math.Max(m.LightIntensity, m.HeavyIntensity)));
            });
            if (currentScan.Count > 0)
            {
                panel.AddIndividualLine("CurrentScan", currentScan, Color.Black);
            }

            ZedGraphicExtension.UpdateGraph(zgcGraph);
        }
Beispiel #9
0
        public void Update(object sender, UpdateQuantificationItemEventArgs e)
        {
            var summary = e.Item as SilacQuantificationSummaryItem;

            if (summary == null)
            {
                throw new ArgumentNullException("UpdateQuantificationItemEventArgs.Item cannot be null");
            }

            panel.ClearData();
            try
            {
                int firstScan = summary.ObservedEnvelopes.First().Scan;
                int lastScan  = summary.ObservedEnvelopes.Last().Scan;

                var samplePPMList = summary.GetSamplePPMList();
                var refPPMList    = summary.GetReferencePPMList();

                var samplePPMs    = GetPoints(firstScan, lastScan, samplePPMList);
                var referencePPMs = GetPoints(firstScan, lastScan, refPPMList);

                panel.AddCurve("Sample", samplePPMs, SilacQuantificationConstants.SAMPLE_COLOR, SymbolType.None);
                panel.AddCurve("Reference", referencePPMs, SilacQuantificationConstants.REFERENCE_COLOR, SymbolType.None);

                var identified = new PointPairList();
                summary.ObservedEnvelopes.FindAll(m => m.IsIdentified).ForEach(m =>
                {
                    if (samplePPMList.ContainsKey(m))
                    {
                        identified.Add(new PointPair(m.Scan, samplePPMList[m]));
                    }
                    if (refPPMList.ContainsKey(m))
                    {
                        identified.Add(new PointPair(m.Scan, refPPMList[m]));
                    }
                });
                panel.AddIndividualLine("Identified", identified, SilacQuantificationConstants.IDENTIFIED_COLOR);

                var selected = new PointPairList();
                summary.ObservedEnvelopes.FindAll(m => m.IsSelected).ForEach(m =>
                {
                    if (samplePPMList.ContainsKey(m))
                    {
                        selected.Add(new PointPair(m.Scan, samplePPMList[m]));
                    }
                    if (refPPMList.ContainsKey(m))
                    {
                        selected.Add(new PointPair(m.Scan, refPPMList[m]));
                    }
                });

                if (selected.Count > 0)
                {
                    panel.AddIndividualLine("CurrentScan", selected, Color.Black);
                }

                panel.YAxis.Scale.Min = -10;
                panel.YAxis.Scale.Max = 10;
            }
            finally
            {
                ZedGraphicExtension.UpdateGraph(this.zgcGraph);
            }
        }
Beispiel #10
0
        public void Update(object sender, UpdateQuantificationItemEventArgs e)
        {
            var summary = e.Item as O18QuantificationSummaryItem;

            if (summary == null)
            {
                throw new ArgumentNullException("UpdateQuantificationItemEventArgs.Item cannot be null");
            }

            panel.ClearData();

            var pplO16   = new PointPairList();
            var pplO18_1 = new PointPairList();
            var pplO18_2 = new PointPairList();

            var pplO16Curve   = new PointPairList();
            var pplO18_1Curve = new PointPairList();
            var pplO18_2Curve = new PointPairList();

            var identified  = new PointPairList();
            var currentScan = new PointPairList();

            bool bChecked = false;

            for (int i = 0; i < summary.ObservedEnvelopes.Count; i++)
            {
                var envelope = summary.ObservedEnvelopes[i];
                if (envelope.Enabled != bChecked)
                {
                    if (pplO16Curve.Count > 0)
                    {
                        if (bChecked)
                        {
                            panel.AddPoly("", pplO16Curve, O18QuantificationConstants.COLOR_O16, new[] { O18QuantificationConstants.COLOR_PLOY });
                            panel.AddPoly("", pplO18_1Curve, O18QuantificationConstants.COLOR_O18_1, new[] { O18QuantificationConstants.COLOR_PLOY });
                            panel.AddPoly("", pplO18_2Curve, O18QuantificationConstants.COLOR_O18_2, new[] { O18QuantificationConstants.COLOR_PLOY });
                        }
                    }
                    pplO16Curve   = new PointPairList();
                    pplO18_1Curve = new PointPairList();
                    pplO18_2Curve = new PointPairList();
                    bChecked      = envelope.Enabled;
                }

                pplO16.Add(envelope.Scan, envelope[0].Intensity);
                pplO18_1.Add(envelope.Scan, envelope[2].Intensity);
                pplO18_2.Add(envelope.Scan, envelope[4].Intensity);

                pplO16Curve.Add(envelope.Scan, envelope[0].Intensity);
                pplO18_1Curve.Add(envelope.Scan, envelope[2].Intensity);
                pplO18_2Curve.Add(envelope.Scan, envelope[4].Intensity);

                if (envelope.IsIdentified)
                {
                    identified.Add(envelope.Scan, new double[] { envelope[0].Intensity, envelope[2].Intensity, envelope[4].Intensity }.Max());
                }

                if (envelope.IsSelected)
                {
                    currentScan.Add(envelope.Scan, new double[] { envelope[0].Intensity, envelope[2].Intensity, envelope[4].Intensity }.Max());
                }
            }

            if (pplO16Curve.Count > 0)
            {
                if (bChecked)
                {
                    panel.AddPoly("", pplO16Curve, O18QuantificationConstants.COLOR_O16, new[] { O18QuantificationConstants.COLOR_PLOY });
                    panel.AddPoly("", pplO18_1Curve, O18QuantificationConstants.COLOR_O18_1, new[] { O18QuantificationConstants.COLOR_PLOY });
                    panel.AddPoly("", pplO18_2Curve, O18QuantificationConstants.COLOR_O18_2, new[] { O18QuantificationConstants.COLOR_PLOY });
                }
            }

            panel.AddCurve("O16", pplO16, O18QuantificationConstants.COLOR_O16, SymbolType.None);
            panel.AddCurve("O18(1)", pplO18_1, O18QuantificationConstants.COLOR_O18_1, SymbolType.None);
            panel.AddCurve("O18(2)", pplO18_2, O18QuantificationConstants.COLOR_O18_2, SymbolType.None);

            panel.AddIndividualLine("Identified", identified, O18QuantificationConstants.COLOR_IDENTIFIED);
            panel.AddIndividualLine("CurrentScan", currentScan, Color.Black);

            ZedGraphicExtension.UpdateGraph(zgcGraph);
        }
        public void Update(object sender, UpdateMRMPairedProductIonEventArgs e)
        {
            panel.ClearData();

            var summary = e.Item;

            if (summary == null)
            {
                return;
            }

            var option = e.ViewOption;

            panel.Tag = summary;

            panel.ClearData();
            try
            {
                var    enabledCount = summary.EnabledScanCount;
                double maxLightIntensity, maxHeavyIntensity;
                if (enabledCount == 0)
                {
                    maxLightIntensity = summary.LightMaxIntensity;
                    maxHeavyIntensity = summary.HeavyMaxIntensity;
                }
                else
                {
                    maxLightIntensity = summary.LightMaxEnabledIntensity;
                    maxHeavyIntensity = summary.HeavyMaxEnabledIntensity;
                }
                var maxIntensity = Math.Max(maxLightIntensity, maxHeavyIntensity);

                if (summary.IsCurrent && option.ViewCurrentHighlight)
                {
                    panel.Chart.Fill = new Fill(Color.Cornsilk);
                }
                else
                {
                    panel.Chart.Fill = new Fill(Color.Transparent);
                }

                if (summary.Light != null && summary.Heavy != null && !option.ViewGreenLine)
                {
                    AddAbsoluteCurve(summary.Light, "Light", Color.Blue, DashStyle.Solid);
                    AddAbsoluteCurve(summary.Heavy, "Heavy", Color.Red, DashStyle.Dot);
                }
                else
                {
                    if (summary.Light != null)
                    {
                        AddAbsoluteCurve(summary.Light, "Light", Color.Blue, DashStyle.Solid);
                    }

                    if (summary.Heavy != null)
                    {
                        AddAbsoluteCurve(summary.Heavy, "Heavy", Color.Red, DashStyle.Solid);
                    }

                    if (option.ViewGreenLine)
                    {
                        if ((maxLightIntensity > maxHeavyIntensity) && (summary.Heavy != null))
                        {
                            AddAbsoluteCurve2(summary.Heavy, maxLightIntensity * 0.9 / maxHeavyIntensity, Color.Green);
                        }
                        else if (summary.Light != null)
                        {
                            AddAbsoluteCurve2(summary.Light, maxHeavyIntensity * 0.9 / maxLightIntensity, Color.Green);
                        }
                    }
                }

                var filename = string.IsNullOrEmpty(summary.FileName) ? "" : summary.FileName + "; ";
                if (summary.IsPaired)
                {
                    this.panel.Title.Text = filename + summary.GetFormula() + "\n" + summary.GetSignalToNoise();
                }
                else
                {
                    this.panel.Title.Text = filename + summary.GetSignalToNoise();
                }

                this.panel.Title.IsVisible = true;
                this.panel.YAxis.Scale.Min = 0;

                if (option.ViewType == DisplayType.PerfectSize || option.ViewType == DisplayType.FullHeight)
                {
                    var range = (from scan in summary.Light.Intensities
                                 where scan.Enabled
                                 orderby scan.RetentionTime
                                 select scan.RetentionTime).ToList();

                    if (range.Count > 0)
                    {
                        var minRt = range.First() - 1;
                        var maxRt = range.Last() + 1;

                        panel.XAxis.Scale.Min = minRt;
                        panel.XAxis.Scale.Max = maxRt;
                    }

                    if (option.ViewType == DisplayType.PerfectSize)
                    {
                        panel.YAxis.Scale.Max = maxIntensity * 1.2;
                    }
                }
            }
            finally
            {
                ZedGraphicExtension.UpdateGraph(this.zgcGraph);
            }
        }