public List <double> ComputeComplex(IGlycan glycan) { List <double> massList = new List <double>(); ITableNGlycan nglycan = glycan as ITableNGlycan; int[] table = nglycan.GetNGlycanTable(); double mass = table[4] * HexNAc + table[8] * Hex + table[12] * Fuc + table[16] * NeuAc + table[20] * NeuGc; massList.Add(mass); massList.Add(mass + Hex); massList.Add(mass + Hex * 2); massList.Add(mass + Hex * 2 + HexNAc); massList.Add(mass + Hex * 2 + HexNAc * 2); return(massList); }
protected bool IsGlycanMatch(ITableNGlycan glycan, ITableNGlycan parent) { if (glycan.GetNGlycanType() != parent.GetNGlycanType()) { return(false); } int[] s1 = glycan.GetNGlycanTable(); int[] s2 = parent.GetNGlycanTable(); for (int i = 0; i < s1.Length; i++) { if (s1[i] > s2[i]) { return(false); } } return(true); }
public int[] GetNGlycanTable() { return(glycan.GetNGlycanTable()); }