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); } }
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); }
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); } }
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); } }