public PeptideModificationState GetFreshCopy(int len) { PeptideModificationState result = new PeptideModificationState(); result.SetNTermModification(ushort.MaxValue); result.SetCTermModification(ushort.MaxValue); result.modifications = new ushort[len]; for (int i = 0; i < len; i++) { result.modifications[i] = ushort.MaxValue; } return(result); }
public PeptideModificationState GetTrueModifications(HashSet <string> labelModificationSet) { PeptideModificationState result = GetFreshCopy(Length); result.SetNTermModification(GetNTermModification()); result.SetCTermModification(GetCTermModification()); for (int i = 0; i < Length; i++) { ushort m = GetModificationAt(i); if (m == ushort.MaxValue || labelModificationSet.Contains(Tables.modificationList[m].Title)) { result.SetModificationAt(i, ushort.MaxValue); } else { result.SetModificationAt(i, GetModificationAt(i)); } } return(result); }