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