private void AddIonSeries(GraphPane peakPane, GraphPane ppmPane, PeakList <MatchedPeak> mgf, double mzTolerance, double minIntensity, IPeptideFragmentationBuilder <MatchedPeak> builder, string sequence, Color tagColor) { MatchedPeakUtils.Match(mgf, builder.Build(sequence), mzTolerance, minIntensity); var ionType = builder.SeriesType.ToString(); var matchedIons = (from m in mgf where m.Matched && m.PeakType == builder.SeriesType select m).ToList(); var ppl = new PointPairList(); foreach (var m in matchedIons) { ppl.Add(new PointPair(m.Mz, m.Intensity, m.Information)); } peakPane.AddIndividualLine("", ppl, Color.Black, tagColor); if (ppmPane != null) { var diff = new PointPairList(); foreach (var m in matchedIons) { if (isPPM) { diff.Add(new PointPair(m.Mz, PrecursorUtils.mz2ppm(m.Mz, m.Mz - m.MatchedMZ))); } else { diff.Add(new PointPair(m.Mz, m.Mz - m.MatchedMZ)); } } ppmPane.AddPoints(diff, tagColor); } }