public SearchModification(Modification mod, char targetResidue, SequenceLocation loc, bool isFixedModification) { Modification = mod; TargetResidue = targetResidue; Location = loc; IsFixedModification = isFixedModification; }
/// <summary> /// Storing all possible combinations of modifications up to MaxNumDynModsPerSequence /// </summary> /// <param name="modifications">array of modifications</param> /// <param name="maxNumDynModsPerSequence">number of maximum modifications</param> public ModificationParams(Modification[] modifications, int maxNumDynModsPerSequence) { _modifications = modifications; _maxNumDynModsPerSequence = maxNumDynModsPerSequence; CataloguePossibleModificationCombinations(); GenerateModCombMap(); }
// Generate an amino acid map with Cys static modification public AminoAcidSet(Modification cysMod): this() { foreach (var loc in AllSequenceLocations) { var residueMap = _locationSpecificResidueMap[loc]; residueMap['C'] = new ModifiedAminoAcid(residueMap['C'], cysMod); } }
public ModifiedAminoAcid(AminoAcid aa, Modification modification) : base(aa.Residue, aa.Name+"+"+modification.Name, aa.Composition+modification.Composition) { var modAa = aa as ModifiedAminoAcid; if(modAa == null) _modification = modification; // aa is not modified else // aa is already modified { _modification = Modification.RegisterAndGetModification(modAa.Modification.Name+"+"+modification.Name, Composition); } }
public static void Register(Modification modification) { NameToModMap.Add(modification.Name, modification); var massStr = string.Format("{0:N3}", modification.Composition.Mass); IList<Modification> modList; if (!MassToModMap.TryGetValue(massStr, out modList)) { modList = new List<Modification> { modification }; MassToModMap[massStr] = modList; } modList.Add(modification); }
// Added by Chris /// <summary> /// Unregister a modification by name. /// Added by Chris. /// </summary> /// <param name="modification">The modification to remove.</param> public static void UnregisterModification(Modification modification) { if (NameToModMap.ContainsKey(modification.Name)) NameToModMap.Remove(modification.Name); var massStr = string.Format("{0:N3}", modification.Mass); if (MassToModMap.ContainsKey(massStr)) MassToModMap.Remove(massStr); }
// Added by Chris /// <summary> /// Register a new modification or update an existing modification. /// </summary> /// <param name="name">The name of the modification.</param> /// <param name="mass">The mass of the modification.</param> /// <returns>Registered modification.</returns> public static Modification UpdateAndGetModification(string name, double mass) { if (NameToModMap.ContainsKey(name)) NameToModMap.Remove(name); var massStr = string.Format("{0:N3}", mass); if (MassToModMap.ContainsKey(massStr)) MassToModMap.Remove(massStr); var modification = new Modification(-1, mass, name); Register(modification); return modification; }
public static Modification RegisterAndGetModification(string name, double mass) { var modList = GetFromMass(mass); if (modList != null && modList.Any()) return modList[0]; var mod = Get(name); if (mod != null) return mod; mod = new Modification(-1, mass, name); Register(mod); return mod; }
public static Modification RegisterAndGetModification(string name, Composition.Composition composition) { var mod = Get(name); if (mod != null) return mod; mod = new Modification(-1, composition, name); Register(mod); return mod; }