Displaying ensembles of structures
It is hard, especially when restricted to static pictures, to display an ensemble of structures that captures the range of structures in the ensemble and the similarities between the various structures. We have various approaches available each with advantages and disadvantages.
As a few general rules:
- the variation in the ensemble should be smaller than the space between the various graphics elements. That means that if you ensemble varies by 5A, you should have at least 10A between the things you are drawing so that everything doesn't become one big blur
Desirable properties
- intelligibity: it would be nice if the viewer could figure out what individual structures look like from the picture
- correlations: the individual parts of the structure probably have correlations within the structure (eg if protein 1 is oriented a certain way, then protein 2 is more likely to be oriented differently), it is good if these are visible
- focus: certain parts of the structure are more interesting (or more conserved) than others, it is good if the display mechanism allows one to naturally focus on these areas
Density based
As in the NPC paper, one can show an isosurface eg bounding the volume which is occupied the the given structure at least 50% of the time.
Advantages:
- simple visually as it is just and isosurface
- the more varied the ensemble, the smoother the resulting isosurface
Disadvantages:
- it is not a structure
- orientation information is lost
- any similarity is local structure is lost
Structure superposition
One can simply drop all the structures in the ensemble into a molecular viewer and show that. This can work quite well when the ensemble is very tight, that is when variation is smaller than the spacing between nearby pieces of the backbone (if only the backbone is drawn) or between each atom (if all atoms are drawn).
Advantages:
- trivial to implement
- familiar
Disadvantages
- only intelligible for very narrow ensembles
Rigid body frames
When the structures in your ensemble are composed of rigid components, one can capture the full information about a part simply by showing a coordinate axis. The details of the pieces can be captured by also showing a single conformation of the whole, superimposed.
Advantages:
- can clearly show orientation and location over a very wide range of structures
- very sparse visually but captures the full conformational information
- some amount of correlation can be shown by coloring the markers
Disadvantages:
- only makes sense for rigid bodies
- unfamiliar
Markers
One can pick some key points on the model and show where these key points fall for the whole ensemble (superimposed on some other sparse representation of the whole ensemble). For example, one could add a ball at the binding site for every member to show how that varies over the whole set.
Advantages:
- very precise control
Disadvantages:
- requires some thought
Skeletons
When orientation information is not relevant and all you care about is adjacency and location, one can draw a skeleton of the structure by connecting the centers of each interacting pair of proteins.
Advantages:
- very sparse visually so a broad ensemble can be shown
- correlations can be show by coloring skeletons
Disadvantages:
- no orientation or local information
Example script
There is an example script in IMP.display which experiments with some of these methods.