private void UpdateProteinEntry(ListViewItem item, IIdentifiedProteinGroup mpg, int index) { item.ImageIndex = index; IIdentifiedProtein mp = mpg[index]; var parts = new List <string>(this.format.ProteinFormat.GetString(mp).Split(new[] { '\t' })); if (item.SubItems.Count != this.proteinColumnIndecies.Count) { item.SubItems.Clear(); item.Text = MyConvert.Format("${0}-{1}", mpg.Index, index + 1); for (int i = 0; i < proteinColumnIndecies.Count; i++) { item.SubItems.Add(parts[proteinColumnIndecies[i]]); } } else { for (int i = 0; i < proteinColumnIndecies.Count; i++) { item.SubItems[i].Text = parts[proteinColumnIndecies[i]]; } } item.Checked = option.IsProteinRatioValid(mpg[0]) && !option.IsProteinOutlier(mpg[0]); item.Tag = mpg; UpdateProteinColor(mpg[index], item); }
public override void Update(object sender, UpdateQuantificationItemEventArgs e) { IQuantificationSummaryOption option = e.Option as IQuantificationSummaryOption; IIdentifiedResult mr = e.Item as IIdentifiedResult; string xTitle = MyConvert.Format("(Log({0}) + Log({1})) / 2", option.Func.ReferenceKey, option.Func.SampleKey); string yTitle = MyConvert.Format("Log(Ratio)"); panel.InitGraphPane(title, xTitle, yTitle, true, 0.0); try { HashSet <IIdentifiedSpectrum> spectra = new HashSet <IIdentifiedSpectrum>(); var groups = from g in mr where g[0].IsEnabled(true) && option.IsProteinRatioValid(g[0]) select g; foreach (var mpg in groups) { var peptides = from p in mpg.GetPeptides() where p.IsEnabled(true) && option.IsPeptideRatioValid(p) select p; spectra.UnionWith(peptides); } List <LSPADItem> items = new List <LSPADItem>(); foreach (var pep in spectra) { double refIntensity = Math.Log(option.Func.GetReferenceIntensity(pep)); double sampleIntensity = Math.Log(option.Func.GetSampleIntensity(pep)); double A = (refIntensity + sampleIntensity) / 2; double ratio = Math.Log(option.GetPeptideRatio(pep)); items.Add(new LSPADItem() { LogRatio = ratio, Intensity = A, Tag = pep }); } LSPADItem.CalculatePValue(items); //this.panel.DrawProbabilityRange(maxX, ratios); //this.panel.AddPoints(pplSelected, SelectedColor, "Current Peptide"); //this.panel.AddPoints(pplGroup, GroupColor, "Current Protein"); //this.panel.AddPoints(pplOutlier, OutlierColor, "Outlier"); //this.panel.AddPoints(pplNormal, NormalColor, "Other"); } finally { ZedGraphicExtension.UpdateGraph(this.zgcGraph); } }
public override void Update(object sender, UpdateQuantificationItemEventArgs e) { IQuantificationSummaryOption option = e.Option as IQuantificationSummaryOption; IIdentifiedResult mr = e.Item as IIdentifiedResult; panel.InitGraphPane(title, option.Func.ReferenceKey, option.Func.SampleKey, true, 0.0); try { var pplNormal = new PointPairList(); var pplSelected = new PointPairList(); var pplOutlier = new PointPairList(); var groups = (from g in mr where option.IsProteinRatioValid(g[0]) select g).ToList(); foreach (var group in groups) { PointPairList ppl; if (group.Selected) { ppl = pplSelected; } else if (option.IsProteinOutlier(group[0])) { ppl = pplOutlier; } else { ppl = pplNormal; } double sampleIntensity = option.Func.GetSampleIntensity(group[0]); double refIntensity = option.Func.GetReferenceIntensity(group[0]); ppl.Add(refIntensity, sampleIntensity); ppl[ppl.Count - 1].Tag = group; Debug.Assert(ppl[ppl.Count - 1].Tag == group); } this.panel.ClearData(); this.panel.AddPoints(pplOutlier, OutlierColor, "Outlier"); this.panel.AddPoints(pplSelected, GroupColor, "Current Protein"); this.panel.AddPoints(pplNormal, NormalColor, "Other"); var pplTotal = new PointPairList(); pplTotal.AddRange(pplSelected); pplTotal.AddRange(pplNormal); pplTotal.AddRange(pplOutlier); if (pplTotal.Count > 0) { var maxValue = (from p in pplTotal select Math.Max(p.X, p.Y)).Max() * 1.1; this.panel.XAxis.Scale.Max = maxValue; this.panel.YAxis.Scale.Max = maxValue; var lrrr = pplTotal.GetRegression(); PointPairList line = pplTotal.GetRegressionLine(lrrr.Ratio); var lineItem = this.panel.AddCurve(MyConvert.Format("Ratio={0:0.0000}", lrrr.Ratio), line, Color.Red, SymbolType.None); } } finally { ZedGraphicExtension.UpdateGraph(this.zgcGraph); } }
public override void Update(object sender, UpdateQuantificationItemEventArgs e) { IQuantificationSummaryOption option = e.Option as IQuantificationSummaryOption; IIdentifiedResult mr = e.Item as IIdentifiedResult; panel.InitGraphPane(title, option.Func.ReferenceKey, option.Func.SampleKey, true, 0.0); try { var pplNormal = new PointPairList(); var pplSelected = new PointPairList(); var pplOutlier = new PointPairList(); var pplGroup = new PointPairList(); var groups = from g in mr where option.IsProteinRatioValid(g[0]) select g; HashSet <IIdentifiedSpectrum> spectra = new HashSet <IIdentifiedSpectrum>(); double maxX = 0.0; PointPairList ppl; foreach (var mpg in groups) { var peptides = from p in mpg.GetPeptides() where option.IsPeptideRatioValid(p) select p; spectra.UnionWith(peptides); foreach (var pep in peptides) { if (pep.Selected) { ppl = pplSelected; } else if (mpg.Selected) { ppl = pplGroup; } else if (option.IsPeptideOutlier(pep)) { ppl = pplOutlier; } else { ppl = pplNormal; } double refIntensity = option.Func.GetReferenceIntensity(pep); double samIntensity = option.Func.GetSampleIntensity(pep); ppl.Add(refIntensity, samIntensity); ppl[ppl.Count - 1].Tag = new Pair <IIdentifiedProteinGroup, IIdentifiedSpectrum>(mpg, pep); maxX = Math.Max(refIntensity, maxX); } } this.panel.ClearData(); this.panel.AddPoints(pplSelected, SelectedColor, "Current Peptide"); this.panel.AddPoints(pplGroup, GroupColor, "Current Protein"); this.panel.AddPoints(pplOutlier, OutlierColor, "Outlier"); this.panel.AddPoints(pplNormal, NormalColor, "Other"); var pplTotal = new PointPairList(); pplTotal.AddRange(pplSelected); pplTotal.AddRange(pplNormal); pplTotal.AddRange(pplOutlier); if (pplTotal.Count > 0) { var maxValue = (from p in pplTotal select Math.Max(p.X, p.Y)).Max() * 1.1; this.panel.XAxis.Scale.Max = maxValue; this.panel.YAxis.Scale.Max = maxValue; var lrrr = pplTotal.GetRegression(); PointPairList line = pplTotal.GetRegressionLine(lrrr.Ratio); var lineItem = this.panel.AddCurve(MyConvert.Format("Ratio={0:0.0000}, R2={1:0.0000}", lrrr.Ratio, lrrr.RSquare), line, Color.Red, SymbolType.None); } } finally { ZedGraphicExtension.UpdateGraph(this.zgcGraph); } }
public override void Update(object sender, UpdateQuantificationItemEventArgs e) { IIdentifiedResult mr = e.Item as IIdentifiedResult; IQuantificationSummaryOption option = e.Option as IQuantificationSummaryOption; string xTitle = MyConvert.Format("(Log({0}) + Log({1})) / 2", option.Func.ReferenceKey, option.Func.SampleKey); string yTitle = MyConvert.Format("Log(Ratio)"); panel.InitGraphPane(title, xTitle, yTitle, true, 0.0); var groups = from g in mr where option.IsProteinRatioValid(g[0]) select g; try { var pplNormal = new PointPairList(); var pplSelected = new PointPairList(); var pplOutlier = new PointPairList(); double maxX = 0.0; foreach (var group in groups) { PointPairList ppl; if (group.Selected) { ppl = pplSelected; } else if (option.IsProteinOutlier(group[0])) { ppl = pplOutlier; } else { ppl = pplNormal; } double int1 = Math.Log(option.Func.GetReferenceIntensity(group[0])); double int2 = Math.Log(option.Func.GetSampleIntensity(group[0])); double A = (int1 + int2) / 2; double ratio = Math.Log(option.GetProteinRatio(group[0])); ppl.Add(A, ratio); ppl[ppl.Count - 1].Tag = group; Debug.Assert(ppl[ppl.Count - 1].Tag == group); maxX = Math.Max(A, maxX); } this.panel.ClearData(); var ratios = (from mpg in groups let ratio = Math.Log(option.GetProteinRatio(mpg[0])) orderby ratio select ratio).ToList(); panel.DrawProbabilityRange(maxX, ratios); this.panel.AddPoints(pplOutlier, OutlierColor, "Outlier"); this.panel.AddPoints(pplSelected, GroupColor, "Current Protein"); this.panel.AddPoints(pplNormal, NormalColor, "Other"); } finally { ZedGraphicExtension.UpdateGraph(this.zgcGraph); } }
public override void Update(object sender, UpdateQuantificationItemEventArgs e) { IQuantificationSummaryOption option = e.Option as IQuantificationSummaryOption; IIdentifiedResult mr = e.Item as IIdentifiedResult; string xTitle = MyConvert.Format("(Log({0}) + Log({1})) / 2", option.Func.ReferenceKey, option.Func.SampleKey); string yTitle = MyConvert.Format("Log(Ratio)"); panel.InitGraphPane(title, xTitle, yTitle, true, 0.0); try { var pplNormal = new PointPairList(); var pplSelected = new PointPairList(); var pplOutlier = new PointPairList(); var pplGroup = new PointPairList(); var groups = from g in mr where g[0].IsEnabled(true) && option.IsProteinRatioValid(g[0]) select g; HashSet <IIdentifiedSpectrum> spectra = new HashSet <IIdentifiedSpectrum>(); double maxX = 0.0; PointPairList ppl; foreach (var mpg in groups) { var peptides = from p in mpg.GetPeptides() where p.IsEnabled(true) && option.IsPeptideRatioValid(p) select p; spectra.UnionWith(peptides); foreach (var pep in peptides) { if (pep.Selected) { ppl = pplSelected; } else if (mpg.Selected) { ppl = pplGroup; } else if (option.IsPeptideOutlier(pep)) { ppl = pplOutlier; } else { ppl = pplNormal; } double refIntensity = Math.Log(option.Func.GetReferenceIntensity(pep)); double sampleIntensity = Math.Log(option.Func.GetSampleIntensity(pep)); double A = (refIntensity + sampleIntensity) / 2; double ratio = Math.Log(option.GetPeptideRatio(pep)); ppl.Add(A, ratio); ppl[ppl.Count - 1].Tag = new Pair <IIdentifiedProteinGroup, IIdentifiedSpectrum>(mpg, pep); maxX = Math.Max(A, maxX); } } this.panel.ClearData(); var ratios = (from pep in spectra let ratio = Math.Log(option.GetPeptideRatio(pep)) orderby ratio select ratio).ToList(); this.panel.DrawProbabilityRange(maxX, ratios); this.panel.AddPoints(pplSelected, SelectedColor, "Current Peptide"); this.panel.AddPoints(pplGroup, GroupColor, "Current Protein"); this.panel.AddPoints(pplOutlier, OutlierColor, "Outlier"); this.panel.AddPoints(pplNormal, NormalColor, "Other"); } finally { ZedGraphicExtension.UpdateGraph(this.zgcGraph); } }