The helper module contains various atom.Hierarchy-specific code (get_bounding_box, clone, destroy, and the functions for creating simplified versions). Externally, this doesn't make much sense, but code is there since some of it internally uses em for computations. In addition, Elina's new code for simplified restraint management forms a nice, coherent set of functionality which could take over the helper module by itself. As a result, I propose
- helper.get_bound_box, helper.clone and helper.destroy be moved to atom.
- the helper.create_simplified function be renamed em.create_simplified_from_density putting it in the em module and making it more clear why it is there (there current name is too vague anyway). It should also create the rigid bodies it needs internally.
- helper.create_simplified_by_residue needs to be thought about since its current method of asigning radii doesn't make sense for anything other than density based restraints (so it may make sense to move it to em).
I don't think any of the code is too widely used, so changing things now should be minimally disruptive. Thoughts?