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.