IMP  2.3.1
The Integrative Modeling Platform
IMP::kernel::PairScore Class Reference

Abstract class for scoring object(s) of type ParticlePair. More...

#include <IMP/kernel/PairScore.h>

+ Inheritance diagram for IMP::kernel::PairScore:

Detailed Description

Abstract class for scoring object(s) of type ParticlePair.

PairScore will evaluate the score and derivatives for passed object(s) of type ParticlePair.

Use in conjunction with various restraints such as IMP::core::PairsRestraint or IMP::core::PairRestraint. The restraints couple the score functions with appropariate lists of object(s) of type ParticlePair.

Implementers should check out IMP_PAIR_SCORE().

See Also
PredicatePairRestraint

Definition at line 38 of file kernel/PairScore.h.

Public Types

typedef kernel::ParticlePair Argument
 
typedef kernel::ParticleIndexPair IndexArgument
 
typedef PairModifier Modifier
 
typedef const
kernel::ParticlePair
PassArgument
 
typedef const
kernel::ParticleIndexPair
PassIndexArgument
 

Public Member Functions

 PairScore (std::string name="PairScore %1%")
 
Restraints create_current_decomposition (kernel::Model *m, const kernel::ParticleIndexPair &vt) const
 
virtual double evaluate (const kernel::ParticlePair &vt, DerivativeAccumulator *da) const
 Compute the score and the derivative if needed. More...
 
virtual double evaluate_if_good_index (kernel::Model *m, const kernel::ParticleIndexPair &vt, DerivativeAccumulator *da, double max) const
 Compute the score and the derivative if needed. More...
 
virtual double evaluate_if_good_indexes (kernel::Model *m, const kernel::ParticleIndexPairs &o, DerivativeAccumulator *da, double max, unsigned int lower_bound, unsigned int upper_bound) const
 
virtual double evaluate_index (kernel::Model *m, const kernel::ParticleIndexPair &vt, DerivativeAccumulator *da) const
 Compute the score and the derivative if needed. More...
 
virtual double evaluate_indexes (kernel::Model *m, const kernel::ParticleIndexPairs &o, DerivativeAccumulator *da, unsigned int lower_bound, unsigned int upper_bound) const
 Compute the score and the derivative if needed over a set. 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
 
virtual VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
 
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)
 
virtual std::string get_type_name () const
 

Protected Member Functions

virtual Restraints do_create_current_decomposition (kernel::Model *m, const kernel::ParticleIndexPair &vt) const
 
- Protected Member Functions inherited from IMP::kernel::ParticleInputs
virtual ModelObjectsTemp do_get_inputs (kernel::Model *m, const ParticleIndexes &pis) 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

Restraints IMP::kernel::PairScore::create_current_decomposition ( kernel::Model m,
const kernel::ParticleIndexPair vt 
) const

Decompose this pair score acting on the pair into a set of restraints. The scoring function and derivatives should be equal to the current score. The defualt implementation just returns this object bound to the pair.

virtual Restraints IMP::kernel::PairScore::do_create_current_decomposition ( kernel::Model m,
const kernel::ParticleIndexPair vt 
) const
protectedvirtual

Overide this to return your own decomposition.

Reimplemented in IMP::container::MinimumPairScore.

virtual double IMP::kernel::PairScore::evaluate ( const kernel::ParticlePair vt,
DerivativeAccumulator da 
) const
virtual

Compute the score and the derivative if needed.

Deprecated:
As of IMP release 2.1. See the IMP Deprecation Policy for more information about deprecation in IMP. Use the index-based evaluate instead.
virtual double IMP::kernel::PairScore::evaluate_if_good_index ( kernel::Model m,
const kernel::ParticleIndexPair vt,
DerivativeAccumulator da,
double  max 
) const
virtual

Compute the score and the derivative if needed.

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

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

Reimplemented in IMP::core::ClosePairsPairScore, and IMP::core::KClosePairsPairScore.

virtual double IMP::kernel::PairScore::evaluate_if_good_indexes ( kernel::Model m,
const kernel::ParticleIndexPairs o,
DerivativeAccumulator da,
double  max,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
virtual
virtual double IMP::kernel::PairScore::evaluate_index ( kernel::Model m,
const kernel::ParticleIndexPair 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 ParticlePair
daa derivative accumulator that reweighting computed derivatives. If nullptr, derivatives will not be computed

Reimplemented in IMP::core::SoftSpherePairScore, IMP::core::WeightedSphereDistancePairScore, IMP::core::NormalizedSphereDistancePairScore, IMP::core::ClosePairsPairScore, IMP::core::HarmonicSphereDistancePairScore, IMP::atom::LennardJonesPairScore, IMP::core::HarmonicUpperBoundSphereDiameterPairScore, IMP::core::TypedPairScore, IMP::core::KClosePairsPairScore, IMP::core::HarmonicUpperBoundSphereDistancePairScore, IMP::atom::CoulombPairScore, IMP::core::TransformedDistancePairScore, IMP::score_functor::DistancePairScore< DistanceScoreT >, IMP::score_functor::DistancePairScore< score_functor::OrientedSoap >, IMP::score_functor::DistancePairScore< score_functor::Statistical< Key, BIPARTITE, INTERPOLATE, SPARSE > >, IMP::score_functor::DistancePairScore< score_functor::Statistical< ProteinLigandType, BIPARTITE, INTERPOLATE, false > >, IMP::score_functor::DistancePairScore< score_functor::Dope >, IMP::core::SphereDistancePairScore, IMP::core::HarmonicDistancePairScore, IMP::isd::RepulsiveDistancePairScore, IMP::core::RefinedPairsPairScore, IMP::misc::LowestRefinedPairScore, IMP::container::MinimumPairScore, IMP::example::ExamplePairScore, IMP::misc::SoftCylinderPairScore, IMP::misc::LogPairScore, and IMP::core::DistancePairScore.

virtual double IMP::kernel::PairScore::evaluate_indexes ( kernel::Model m,
const kernel::ParticleIndexPairs o,
DerivativeAccumulator da,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
virtual

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