Set the coordinates and radius of the passed particle to cover the particles listed by the particle refiner. An example showing a how to use such a score state to maintain a cover of the atoms of a protein by a sphere per residue. import IMP import IMP.core import IMP.atom import IMP.atom import IMP.helper m= IMP.Model() prot= IMP.atom.read_pdb(IMP.core.get_example_path('example_protein.pdb'), m) res= IMP.atom.get_by_type(prot, IMP.atom.RESIDUE_TYPE) for p in res: IMP.core.XYZR.setup_particle(p.get_particle()) mtr=IMP.atom.Hierarchy.get_traits() pr= IMP.core.ChildrenRefiner(mtr) for r in res: IMP.core.Cover.setup_particle(r.get_particle(), pr) m.evaluate(False)
This used the set_enclosing_sphere function and so produces better results if the CGAL library is found.

Public Member Functions | |
| void | apply (const ParticlesTemp &ps, DerivativeAccumulator &) const |
| void | apply (const ParticlesTemp &ps) const |
| void | apply (Particle *a, DerivativeAccumulator &) const |
| void | apply (Particle *a) const |
| CoverRefined (Refiner *ref, FloatKey rk=XYZR::get_default_radius_key(), Float slack=0) | |
| Create with the given refiner and radius key. | |
| ContainersTemp | get_input_containers (Particle *) const |
| ParticlesTemp | get_input_particles (Particle *) const |
| ParticlesList | get_interacting_particles (Particle *) const |
| ContainersTemp | get_output_containers (Particle *) const |
| ParticlesTemp | get_output_particles (Particle *) const |
| virtual std::string | get_type_name () const |
| virtual ::IMP::VersionInfo | get_version_info () const |
| void | set_slack (Float slack) |
| Set how nmuch extra to add to the radius. | |
Friends | |
| template<class T > | |
| void | IMP::internal::unref (T *) |
| IMP::core::CoverRefined::CoverRefined | ( | Refiner * | ref, | |
| FloatKey | rk = XYZR::get_default_radius_key(), |
|||
| Float | slack = 0 | |||
| ) |
Create with the given refiner and radius key.
Slack is the amount added to the radius.