public List <ITableNGlycan> Growth(MonosaccharideType suger)
        {
            List <ITableNGlycan> glycans = new List <ITableNGlycan>();

            switch (suger)
            {
            case MonosaccharideType.GlcNAc:
                if (ValidAddGlcNAc())
                {
                    glycans.Add(CreateByAddGlcNAc());
                }
                break;

            case MonosaccharideType.Man:
                if (ValidAddManCore())
                {
                    glycans.Add(CreateByAddManCore());
                }
                else if (ValidAddManBranch())
                {
                    glycans.AddRange(CreateByAddManBranch());
                }
                break;

            case MonosaccharideType.Fuc:
                if (ValidAddFucCore())
                {
                    glycans.Add(CreateByAddFucCore());
                }
                break;

            default:
                break;
            }
            return(glycans);
        }
示例#2
0
        public List <ITableNGlycan> Growth(MonosaccharideType suger)
        {
            List <ITableNGlycan> glycans = new List <ITableNGlycan>();

            switch (suger)
            {
            case MonosaccharideType.GlcNAc:
                if (ValidAddGlcNAcCore())
                {
                    glycans.Add(CreateByAddGlcNAcCore());
                }
                else
                {
                    if (ValidAddGlcNAcBisect())
                    {
                        glycans.Add(CreateByAddGlcNAcBisect());
                    }
                    if (ValidAddGlcNAcBranch())
                    {
                        glycans.AddRange(CreateByAddGlcNAcBranch());
                    }
                }
                break;

            case MonosaccharideType.Man:
                if (ValidAddMan())
                {
                    glycans.Add(CreateByAddMan());
                }
                break;

            case MonosaccharideType.Gal:
                if (ValidAddGal())
                {
                    glycans.AddRange(CreateByAddGal());
                }
                break;

            case MonosaccharideType.Fuc:
                if (ValidAddFucCore())
                {
                    glycans.Add(CreateByAddFucCore());
                }
                else if (ValidAddFucTerminal())
                {
                    glycans.AddRange(CreateByAddFucTerminal());
                }

                break;

            case MonosaccharideType.NeuAc:
                if (ValidAddNeuAc())
                {
                    glycans.AddRange(CreateByAddNeuAc());
                }
                break;

            case MonosaccharideType.NeuGc:
                if (ValidAddNeuGc())
                {
                    glycans.AddRange(CreateByAddNeuGc());
                }
                break;

            default:
                break;
            }
            return(glycans);
        }
示例#3
0
 public abstract List <ITableNGlycan> Growth(MonosaccharideType suger);
 public List <ITableNGlycan> Growth(MonosaccharideType suger)
 {
     return(glycan.Growth(suger));
 }