public PFindModification ParseModification(Dictionary <string, string> parameters) { var result = new PFindModification(); result.StaticModification.Modification = parameters["Fixed_modifications"]; result.DynamicModification.Modification = parameters["Variable_modifications"]; return(result); }
protected void ModifySequence(IdentifiedPeptide mp, Dictionary <int, string> modifications, PFindModification mm) { var positions = (from m in modifications where !mm.StaticModification.ModificationMap.ContainsValue(m.Value) orderby m.Key descending select m.Key).ToList(); foreach (var pos in positions) { string mod = modifications[pos]; if (this.ModificationCharMap.ContainsKey(mod)) { if (pos == mp.Sequence.Length) { mp.Sequence = mp.Sequence + this.ModificationCharMap[mod].ToString(); } else { mp.Sequence = mp.Sequence.Insert(pos + 1, this.ModificationCharMap[mod].ToString()); } } else { throw new Exception(MyConvert.Format("Cannot find dynamic modification {0} definition", mod)); } } }
protected void AssignModification(IIdentifiedSpectrum mph, Dictionary <int, string> modifications, PFindModification mm) { var mods = (from m in modifications select m.Value).Distinct().ToArray(); mph.Modifications = string.Join("; ", mods); }