For larger ensembles it is not efficient to store them all in the text-based mmCIF format, but we can link out to an external file. For IMP models we have been storing the coordinates in DCD format, which ChimeraX also supports. We've used a collection of scripts that read PDB or RMF files and utilize the ancient MDTools package inside Chimera to dump out the DCD format. To make this easier to use for other systems (and non-IMP users) it would be helpful to have basic DCD write support in the python-ihm package. This would use a similar interface to Model, accepting generators of ihm.model.Atom and ihm.model.Sphere objects, and writing out coordinates in DCD format.
For larger ensembles it is not efficient to store them all in the text-based mmCIF format, but we can link out to an external file. For IMP models we have been storing the coordinates in DCD format, which ChimeraX also supports. We've used a collection of scripts that read PDB or RMF files and utilize the ancient MDTools package inside Chimera to dump out the DCD format. To make this easier to use for other systems (and non-IMP users) it would be helpful to have basic DCD write support in the python-ihm package. This would use a similar interface to
Model
, accepting generators ofihm.model.Atom
andihm.model.Sphere
objects, and writing out coordinates in DCD format.