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);
            }
        }
コード例 #2
0
        public void Match(IIdentifiedPeptideResult sr)
        {
            List <MatchedPeak> expPeaks = sr.ExperimentalPeakList;

            double minIntensity = sr.ExperimentalPeakList.FindMaxIntensityPeak().Intensity *minIntensityScale;

            MatchedPeakUtils.Match(expPeaks, sr.GetIonSeries()[ionType], mzTolerance, minIntensity);
        }
コード例 #3
0
        public override void Match(IIdentifiedPeptideResult sr)
        {
            PeakList <MatchedPeak> peaks = sr.ExperimentalPeakList;

            double minBYNeutralLossIntensity = peaks.FindMaxIntensityPeak().Intensity *minBYNeutralLossIntensityScale;

            NeutralLossCandidates candidates = new NeutralLossCandidates(sr.Peptide);

            List <MatchedPeak> byNeutralLossPeaks = GetNeutralLossPeaks(sr.GetIonSeries(), sr.ExperimentalPeakList.PrecursorCharge, candidates);

            MatchedPeakUtils.Match(peaks, byNeutralLossPeaks, PeakMzTolerance, minBYNeutralLossIntensity);
        }
        public override void Match(IIdentifiedPeptideResult sr)
        {
            PeakList <MatchedPeak> peaks = sr.ExperimentalPeakList;

            double minBYNeutralLossIntensity = peaks.FindMaxIntensityPeak().Intensity *minBYNeutralLossIntensityScale;

            NeutralLossCandidates candidates = new NeutralLossCandidates(sr.Peptide);

            List <MatchedPeak> byPhosphoNeutralLossPeaks = GetPhosphoNeutralLossPeaks(sr, candidates);

            //byPhosphoNeutralLossPeaks.ForEach(m => Console.WriteLine(m.DisplayName + "," + m.Mz));

            MatchedPeakUtils.Match(peaks, byPhosphoNeutralLossPeaks, PeakMzTolerance, minBYNeutralLossIntensity);
        }
コード例 #5
0
        public override void Match(IIdentifiedPeptideResult sr)
        {
            NeutralLossCandidates candidates = new NeutralLossCandidates(sr.Peptide);

            List <INeutralLossType> nlTypes = GetNeutralLossTypes(candidates.CanLossWater, candidates.CanLossAmmonia);

            PeakList <MatchedPeak> expPeaks = sr.ExperimentalPeakList;

            List <MatchedPeak> nlPeaks = GetNeutralLossPeaks(IonType.PRECURSOR_NEUTRAL_LOSS, new MatchedPeak(expPeaks.PrecursorMZ, 0.0, expPeaks.PrecursorCharge), nlTypes, (m => true));

            //nlPeaks.ForEach(m => Console.WriteLine(m.DisplayName + "," + m.Mz));

            double minNeutralLossIntensity = expPeaks.FindMaxIntensityPeak().Intensity *minPrecursorNeutralLossIntensityScale;

            MatchedPeakUtils.Match(expPeaks, nlPeaks, PeakMzTolerance, minNeutralLossIntensity);
        }