Пример #1
0
        public void TestConstruction()
        {
            NeutralLossCandidates candidates = new NeutralLossCandidates("R.FAS*K.F");

            Assert.IsTrue(candidates.CanLossWater);
            Assert.IsTrue(candidates.CanLossAmmonia);

            Assert.IsFalse(candidates.BLossWater[0]);
            Assert.IsFalse(candidates.BLossWater[1]);
            Assert.IsTrue(candidates.BLossWater[2]);
            Assert.IsTrue(candidates.BLossWater[3]);

            Assert.IsFalse(candidates.YLossWater[0]);
            Assert.IsTrue(candidates.YLossWater[1]);
            Assert.IsTrue(candidates.YLossWater[2]);
            Assert.IsTrue(candidates.YLossWater[3]);

            Assert.IsFalse(candidates.BLossAmmonia[0]);
            Assert.IsFalse(candidates.BLossAmmonia[1]);
            Assert.IsFalse(candidates.BLossAmmonia[2]);
            Assert.IsTrue(candidates.BLossAmmonia[3]);

            Assert.IsTrue(candidates.YLossAmmonia[0]);
            Assert.IsTrue(candidates.YLossAmmonia[1]);
            Assert.IsTrue(candidates.YLossAmmonia[2]);
            Assert.IsTrue(candidates.YLossAmmonia[3]);
        }
Пример #2
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);
        }
Пример #4
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);
        }
        public List <MatchedPeak> GetPhosphoNeutralLossPeaks(IIdentifiedPeptideResult sr, NeutralLossCandidates candidates)
        {
            List <MatchedPeak> result = new List <MatchedPeak>();

            Dictionary <int, string> bModifiedPosition = GetPhosphoModificationPositionMapB(sr.Peptide);
            Dictionary <int, string> yModifiedPosition = GetPhosphoModificationPositionMapY(sr.Peptide);

            result.AddRange(GetPhosphoNeutralLossPeaks(sr.GetIonSeries()[IonType.B], IonType.B_NEUTRAL_LOSS_PHOSPHO, 1, bModifiedPosition, candidates.BLossWater, candidates.BLossAmmonia));
            result.AddRange(GetPhosphoNeutralLossPeaks(sr.GetIonSeries()[IonType.Y], IonType.B_NEUTRAL_LOSS_PHOSPHO, 1, yModifiedPosition, candidates.YLossWater, candidates.YLossAmmonia));

            if (sr.ExperimentalPeakList.PrecursorCharge > 1)
            {
                result.AddRange(GetPhosphoNeutralLossPeaks(sr.GetIonSeries()[IonType.B2], IonType.B_NEUTRAL_LOSS_PHOSPHO, 2, bModifiedPosition, candidates.BLossWater, candidates.BLossAmmonia));
                result.AddRange(GetPhosphoNeutralLossPeaks(sr.GetIonSeries()[IonType.Y2], IonType.B_NEUTRAL_LOSS_PHOSPHO, 2, yModifiedPosition, candidates.YLossWater, candidates.YLossAmmonia));
            }

            return(result);
        }