GenerateNewGlycoPeptide(IPeptide peptide, IGlycan glycan) { List <IAccumulatedGlycoPeptideMassProxy> glycos = new List <IAccumulatedGlycoPeptideMassProxy>(); foreach (int pos in FindPTMPosition.FindNGlycanSite(peptide.GetSequence())) { SpecialGlycoPeptide <IAccumulatedGlycanMassProxy> g = new SpecialGlycoPeptide <IAccumulatedGlycanMassProxy>(peptide, glycan as IAccumulatedGlycanMassProxy, pos); glycos.Add(new GeneralAccumulatedGlycoPeptideMassProxy(g)); } return(glycos); }
public GeneralAccumulatedGlycoPeptideMassProxy( SpecialGlycoPeptide <IAccumulatedGlycanMassProxy> glycoPeptide) { calculator = UtilMass.Instance; option = UtilMassOption.Instance; mass = new HashSet <double>(); this.glycoPeptide = glycoPeptide; foreach (double glycanMass in (glycoPeptide.GetGlycan() as IAccumulatedGlycanMassProxy).GetMass()) { foreach (double peptideMass in CalcPTMPeptideMass.GetNGlycanPeptideMass( GetPeptide().GetSequence(), GetPosition())) { mass.Add(glycanMass + peptideMass); } mass.Add(glycanMass + calculator.CalcPeptideMass(glycoPeptide.GetPeptide(), option)); } mass.UnionWith(CalcPTMPeptideMass.GetNonGlycanPeptideMass(GetPeptide().GetSequence(), GetPosition())); massList = mass.ToList(); massList.Sort(); }