Пример #1
0
        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();
        }