public void ApplyFixedModifications(Modification[] modifications, IProteinSet proteinSet, string sequence) { PeptideModificationCounts modCounts; monoisotopicMass += ApplyFixedModifications(modifications, sequence, IsNterm(), IsCterm(proteinSet), length, out modCounts); fixedModifications = modCounts; }
private static ModifiedPeptide[] FilterEqualMods(IEnumerable <ModifiedPeptide> peptides) { Dictionary <PeptideModificationCounts, ModifiedPeptide> x = new Dictionary <PeptideModificationCounts, ModifiedPeptide>(); foreach (ModifiedPeptide p in peptides) { PeptideModificationCounts mod = p.modifications.ProjectToCounts(); if (!x.ContainsKey(mod)) { x.Add(mod, p); } } return(DataUtil.GetValues(x)); }
public static double ApplyFixedModifications(Modification[] mods, string sequence, bool isNterm, bool isCterm, int len, out PeptideModificationCounts modCounts) { ushort[] modifications = new ushort[len]; for (int i = 0; i < len; i++) { modifications[i] = ushort.MaxValue; } ushort nTermModification = ushort.MaxValue; ushort cTermModification = ushort.MaxValue; double deltaMass = 0; foreach (Modification mod in mods) { deltaMass += ApplyFixedModification(mod, sequence, isNterm, isCterm, modifications, ref nTermModification, ref cTermModification); } modCounts = PeptideModificationState.ProjectToCounts(modifications, nTermModification, cTermModification); return(deltaMass); }