So far development in IMP proper has mostly focused on expanding the capabilities and flexibility of IMP. The result is a set of functionalities which can be (and has to be) combined to get what you want done. At this point we should be starting to have a good idea what common usage patterns are and think about adding higher level functions which make implementing the usage patterns easier. These higher level functions should help narrow the gap between experimental data and IMP.
Currently implemented examples of such things include: - copying a molecular hierarchy
- setting up a rigid body defined by a set of particles
- setting up a particle as a centroid or cover of a set of particles
Future examples might include: - creating a molecular hierarchy for a representation of a protein with a given number of particles based on the number of amino acids in the protein
- creating a rigid representation of a protein with a given number of spheres from a molecular hierarchy loaded from the pdb
- building a hierarchical representation of a protein from a molecular hierarchy loaded from the pdb
- setting up efficient volume exclusion restraints for an arbitrary collection of particles, rigid bodies and hierarchies.
Anyway, I set up a wiki page for people and refine ideas and requests: https://salilab.org/imp/wiki/high_level_operations