Data Model version 2.1.2

Method: getFormula


    getter for derived attribute formula

guid: www.ccpn.ac.uk_Fogh_2006-08-16-18:23:23_00048
OpType: get
OpSubType: None
isQuery: True
isAbstract: False
Scope: instance_level
Code: # get formula dictionary
dd = {}
for ca in self.chemAtoms:
  if isinstance(ca, ChemAtom):
    ss = ca.elementSymbol
    ii = dd.get(ss)
    if ii is None:
      dd[ss] = 1
    else:
      dd[ss] = ii + 1

# generate formula
ll = [None] * (len(dd)*2)
next = 0
for ss in ('C', 'H'):
  ii = dd.get(ss)
  if ii is not None:
    ll[next] = ss
    ll[next+1] = str(ii)
    del dd[ss]
    next = next + 2

items = dd.items()
items.sort()
for ss, ii in items:
  ll[next] = ss
  ll[next+1] = str(ii)
  next = next + 2
#
result = ''.join(ll)
  Data Model Version 2.1.2
Go to Top  
  Autogenerated by  PyApiDocGen  revision 1.3   on  Fri Mar 28 11:18:04 2014    from data model package  ccp.api.molecule.ChemComp.ChemCompVar   revision ?  
  Work done by the CCPN team.
www.ccpn.ac.uk