IMP  2.3.1
The Integrative Modeling Platform
IMP::atom::DihedralSingletonScore Class Reference

Score the dihedral angle. More...

#include <IMP/atom/DihedralSingletonScore.h>

+ Inheritance diagram for IMP::atom::DihedralSingletonScore:

Detailed Description

Score the dihedral angle.

This scores the dihedral using information stored in its Dihedral decorator. The form of the score is

\[ \frac{1}{2} s|s| (1.0 + \cos(\chi m - \chi_i)) \]

where \(s\) is the stiffness, \(m\) the multiplicity, \(\chi_i\) the ideal value of the dihedral, and \(\chi\) the actual value.

Note
This score matches the CHARMM definition, but may not match other forcefields. The stiffness can be negative, which corresponds to CHARMM forcefield entries with negative force constants.
See Also
CHARMMParameters::create_dihedrals(), Dihedral.

Definition at line 30 of file DihedralSingletonScore.h.

Public Member Functions

virtual kernel::ModelObjectsTemp do_get_inputs (kernel::Model *m, const kernel::ParticleIndexes &pis) const
 
double evaluate_if_good_indexes (kernel::Model *m, const kernel::ParticleIndexes &p, DerivativeAccumulator *da, double max, unsigned int lower_bound, unsigned int upper_bound) const
 
virtual double evaluate_index (kernel::Model *m, kernel::ParticleIndex p, DerivativeAccumulator *da) const
 Compute the score and the derivative if needed. More...
 
double evaluate_indexes (kernel::Model *m, const kernel::ParticleIndexes &p, DerivativeAccumulator *da, unsigned int lower_bound, unsigned int upper_bound) const
 Compute the score and the derivative if needed over a set. More...
 
virtual std::string get_type_name () const
 
virtual ::IMP::base::VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
 
- Public Member Functions inherited from IMP::kernel::SingletonScore
 SingletonScore (std::string name="SingletonScore %1%")
 
Restraints create_current_decomposition (kernel::Model *m, kernel::ParticleIndex vt) const
 
virtual double evaluate (kernel::Particle *vt, DerivativeAccumulator *da) const
 Compute the score and the derivative if needed. More...
 
virtual double evaluate_if_good_index (kernel::Model *m, kernel::ParticleIndex vt, DerivativeAccumulator *da, double max) const
 Compute the score and the derivative if needed. More...
 
- Public Member Functions inherited from IMP::kernel::ParticleInputs
virtual ContainersTemp get_input_containers (Particle *p) const
 
virtual ParticlesTemp get_input_particles (Particle *p) const
 
ModelObjectsTemp get_inputs (kernel::Model *m, const ParticleIndexes &pis) const
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Additional Inherited Members

- Public Types inherited from IMP::kernel::SingletonScore
typedef kernel::ParticleArgument
 
typedef kernel::ParticleIndex IndexArgument
 
typedef SingletonModifier Modifier
 
typedef kernel::ParticlePassArgument
 
typedef kernel::ParticleIndex PassIndexArgument
 
- Protected Member Functions inherited from IMP::kernel::SingletonScore
virtual Restraints do_create_current_decomposition (kernel::Model *m, kernel::ParticleIndex vt) const
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Member Function Documentation

virtual kernel::ModelObjectsTemp IMP::atom::DihedralSingletonScore::do_get_inputs ( kernel::Model m,
const kernel::ParticleIndexes pis 
) const
virtual

Overload this method to specify the inputs.

Reimplemented from IMP::kernel::ParticleInputs.

double IMP::atom::DihedralSingletonScore::evaluate_if_good_indexes ( kernel::Model m,
const kernel::ParticleIndexes o,
DerivativeAccumulator da,
double  max,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
virtual

Compute the score and the derivative if needed as in evaluate_index(). but may terminate the computation early if the total score is higher than max.

Returns
the score if score<= max or some arbitrary value > max otherwise.

Implementations for these are provided by the IMP_SINGLETON_SCORE() macro.

Reimplemented from IMP::kernel::SingletonScore.

Definition at line 37 of file DihedralSingletonScore.h.

virtual double IMP::atom::DihedralSingletonScore::evaluate_index ( kernel::Model m,
kernel::ParticleIndex  vt,
DerivativeAccumulator da 
) const
virtual

Compute the score and the derivative if needed.

evaluate the score and the derivative if needed over vt

Parameters
mthe model of vt
vtthe index in m of an object of type Particle
daa derivative accumulator that reweighting computed derivatives. If nullptr, derivatives will not be computed

Reimplemented from IMP::kernel::SingletonScore.

double IMP::atom::DihedralSingletonScore::evaluate_indexes ( kernel::Model m,
const kernel::ParticleIndexes o,
DerivativeAccumulator da,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
virtual

Compute the score and the derivative if needed over a set.

evaluate the score and the derivative if needed over a set of objects in o

Parameters
mthe model of o
oobjects of type Particle, specified by index
daa derivative accumulator that reweighting computed derivatives. If nullptr, derivatives will not be computed
lower_boundindex of first item in o to evaluate
upper_boundindex of last item in o to evaluate
Note
Implementations for these are provided by the IMP_SINGLETON_SCORE() macro.

Reimplemented from IMP::kernel::SingletonScore.

Definition at line 37 of file DihedralSingletonScore.h.

virtual ::IMP::base::VersionInfo IMP::atom::DihedralSingletonScore::get_version_info ( ) const
virtual

Get information about the module and version of the object.

Reimplemented from IMP::base::Object.

Definition at line 38 of file DihedralSingletonScore.h.


The documentation for this class was generated from the following file: