# get formula dictionary
dd = {}
clazz = ccp.api.molecule.ChemComp.ChemAtom
for mr in self.residues:
for ss in (ca.elementSymbol for ca in mr.chemCompVar.chemAtoms if isinstance(ca, clazz)):
ii = dd.get(ss)
if ii is None:
dd[ss] = 1
else:
dd[ss] = ii + 1
# calculate mass
xx = self.root.currentChemElementStore
result = sum(ii * xx.findFirstChemElement(symbol=ss).mass for (ss, ii) in dd.items())