2. Molecular properties. This is an arbitrary collection of Property objects, indexed by user-supplied keys, which can be attached to either the whole molecule, or to subsets of the molecule (e.g. atoms, residues, bonds, angles, chains etc.). Example properties include AtomCoords, stored at key "coordinates" to hold atomic coordinates, AtomElements stored at key "element" to hold chemical elements, BondOrder stored at key "order" for bond orders, Connectivity stored at key "connectivity" for molecular connectivity etc.