Now that there is the the hdf5 based I/O support in IMP, I would propose moving towards getting rid of the old I/O functions IMP::read_particles IMP::write_particles, IMP::read_particles_binary, IMP::write_particles_binary as I think they are little used, complicated and the last two require NetCDF to work.
The new format is a very different IO model than the kernel function in that it creates new particles upon read rather than loading the data into an ordered list of existing particles. I …
[View More]think this makes for more resilient code as adding a new particle doesn't make you unable to load your old data.
The advantages of the new format include:
- the ability to create molecular hierarchies and particles upon reading (similar to what happens with read_pdb)
- better control for loading and saving multiple conformations of the same set of particles
- the ability to write and read display::Geometry objects
- the ability to go directly from atom::Hierarchies in a file to things that can be displayed in Chimera/Pymol via the command line
- the ability to print out molecular hierarchies in the file directly from the command line
In doing this, one would, at least for the moment, loose the ability to read and write ConfigurationSets in one go, but that could be easily added if desired. However, I'm not sure that writing things in such a raw way is really that desirable.
Thoughts?
Anyway, I encourage people to try out the module.
[View Less]
Given a PDB file, I am interested in getting the list of (pairs of) chains that do interact. Is there already something in IMP to do such things ?
--Ben.S
- There now is a common base class IMP::atom::Simulation for IMP::atom::BrownianDynamics and IMP::atom::MolecularDynamics. In merging them there were several minor changes made to both. The most noticeable may be that the function for setting the maximum time step length is now IMP::atom::Simulation::set_maximum_time_step(). The last time step length can be extracted by IMP::atom::Simulation::get_last_time_step()
- IMP::core::MonteCarlo::set_temperature() was renamed to IMP::core::MonteCarlo::…
[View More]set_kt() as that is what it is doing.
- A new module IMP.hdf5 has been added to provide more general support for saving and loading IMP::atom::Hierarchy structures to files. Multiple conformations of each hierarchy can be saved as well as information about geometry and restraints (although these can't be read at the moment, so they are not so useful).
- IMP::algebra::grids::GridD now supports dense grids in arbitrary dimension through use of IMP::algebra::grids::DenseGridStorageD.
- IMP::Optimizer now can use a list of restraint sets to compute the score rather than the complete Model score.
- each IMP::Restraint now has its own weight. This is lightly tested.
[View Less]
Added densityMapVolumetrics{.cpp/.h} files to the IMP::em module
They provide
- functions to compute mass/volume of a densityMap at a given threshold
- functions to compute the threshold one needs to apply in an EM map to attain a given mass/volume
In addition, one can use different protein density values in these computations.
The default density being used remains 1/1.21 Da/A^3, the value that was used since then.
A small duplication issue remains to leverage :
DensityMap::…
[View More]approximate_molecular_mass() should probably disappear or be remapped on compute_molecular_mass_at_threshold( DensityMap* m, Float threshold);
Shall I do it ?
--Ben(S)
[View Less]