private static double GetDeltaMass(Modification2 mod, string sequence, bool isNterm, bool isCterm) { ModificationPosition pos = mod.Position; double deltaMass = 0; for (int i = 0; i < mod.AaCount; i++) { for (int j = 0; j < sequence.Length; j++) { if ((pos == ModificationPosition.notNterm || pos == ModificationPosition.notTerm) && j == 0) { continue; } if ((pos == ModificationPosition.notCterm || pos == ModificationPosition.notTerm) && j == sequence.Length - 1) { continue; } if (sequence[j] == mod.GetAaAt(i)) { deltaMass += mod.DeltaMass; } } } if (pos == ModificationPosition.anyNterm) { deltaMass += mod.DeltaMass; } if (pos == ModificationPosition.anyCterm) { deltaMass += mod.DeltaMass; } if (pos == ModificationPosition.proteinNterm && isNterm) { deltaMass += mod.DeltaMass; } if (pos == ModificationPosition.proteinCterm && isCterm) { deltaMass += mod.DeltaMass; } return(deltaMass); }
public void SetPosition(ModificationPosition pos) { position = pos; }
private void Fill(Modification m) { DeltaMass = m.DeltaMass; Position = m.Position; IsProteinTerminal = m.IsProteinTerminal; IsInternal = m.IsInternal; IsNterminal = m.IsNterminal; IsCterminal = m.IsCterminal; IsIsotopicLabel = m.IsIsotopicLabel; IsIsotopicMod = m.IsIsotopicMod; ModificationType = m.ModificationType; HasNeutralLoss = m.HasNeutralLoss; aas = new char[m.AaCount]; for (int i = 0; i < aas.Length; i++){ aas[i] = m.GetAaAt(i); } Index = m.Index; Name = m.Name; }