IMP logo
IMP Reference Guide  develop.e004443c3b,2024/04/25
The Integrative Modeling Platform
IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE > Class Template Reference

#include <IMP/core/StatisticalPairScore.h>

+ Inheritance diagram for IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE >:

Detailed Description

template<class Key, bool BIPARTITE, bool INTERPOLATE, bool SPARSE = false>
class IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE >

Create a pairwise statistical potential from a file. The Keys passed as a template argument are used to determine how to map the names of the types as described in the loaded file to indexes. That is, if atom::ResidueKey is passed as the Keys, the potential will expect a file which has one line for each pair of residue names.

The expected file format is:

    bin_width number_a number_b [offset]
    key_0a key_0b bin0 bin1 bin2...
    key_1a key_1b bin0 bin1 bin2...
The order of the lines (after the first one) does not matter.
The bin_width is how much distance is allocated per bin (the distance used
is that between the points). number_a and number_b are the numbers of
particle types (number_b should only be specified if BIPARTITE is set).

\note The values read in the file are for bins. That is, the first bin
is from offset to offset+width. The second is offset+width to offset+
2width.
As a result, when interpolation is used, the function achieves the
bin value at the center of the bin.

\param[in] Key is an IMP::Key which maps between names and indices
\param[in] BIPARTITE If true, the two sets of particles being stored are
different (e.g. a protein atom and a ligand atom), otherwise they are
assumed to both be the same. Appropriate values must be provided
in the file.
\param[in] INTERPOLATE If true, even the scores without derivatives are
spline interpolated. If false, only the evaluation of derivatives is
interpolated with a spline.

Definition at line 59 of file StatisticalPairScore.h.

Public Member Functions

 StatisticalPairScore (IntKey k, double threshold, TextInput data_file)
 
 StatisticalPairScore (IntKey k, double threshold, TextInput data_file, unsigned int shift)
 
- Public Member Functions inherited from IMP::score_functor::DistancePairScore< score_functor::Statistical< Key, BIPARTITE, INTERPOLATE, SPARSE > >
 DistancePairScore (const DistanceScore &t0, std::string name="FunctorDistancePairScore %1%")
 
virtual ModelObjectsTemp do_get_inputs (Model *m, const ParticleIndexes &pis) const override
 Overload this method to specify the inputs. More...
 
double evaluate_if_good_indexes (Model *m, const ParticleIndexPairs &p, DerivativeAccumulator *da, double max, unsigned int lower_bound, unsigned int upper_bound) const override
 
virtual double evaluate_index (Model *m, const ParticleIndexPair &pip, DerivativeAccumulator *da) const override
 Compute the score and the derivative if needed. More...
 
double evaluate_indexes (Model *m, const ParticleIndexPairs &p, DerivativeAccumulator *da, unsigned int lower_bound, unsigned int upper_bound) const overridefinal
 Compute the score and the derivative if needed over a set. More...
 
double evaluate_indexes_delta (Model *m, const ParticleIndexPairs &p, DerivativeAccumulator *da, const std::vector< unsigned > &indexes, std::vector< double > &score) const overridefinal
 Compute the change in score and the derivative if needed over a set. More...
 
double evaluate_indexes_scores (Model *m, const ParticleIndexPairs &p, DerivativeAccumulator *da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double > &score) const overridefinal
 Compute the score and the derivative if needed over a set. More...
 
score_functor::Statistical
< Key, BIPARTITE, INTERPOLATE,
SPARSE > & 
get_score_functor ()
 
virtual std::string get_type_name () const override
 
virtual ::IMP::VersionInfo get_version_info () const override
 Get information about the module and version of the object. More...
 
- Public Member Functions inherited from IMP::PairScore
 PairScore (std::string name="PairScore %1%")
 
Restraints create_current_decomposition (Model *m, const ParticleIndexPair &vt) const
 
virtual double evaluate_if_good_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da, double max) const
 Compute the score and the derivative if needed, only if "good". More...
 
- Public Member Functions inherited from IMP::ParticleInputs
ModelObjectsTemp get_inputs (Model *m, const ParticleIndexes &pis) const
 Get the ModelObjects read when the given list of particles is used. More...
 
- Public Member Functions inherited from IMP::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::score_functor::DistancePairScore< score_functor::Statistical< Key, BIPARTITE, INTERPOLATE, SPARSE > >
typedef
score_functor::Statistical
< Key, BIPARTITE, INTERPOLATE,
SPARSE > 
DistanceScore
 
- Public Types inherited from IMP::PairScore
typedef ParticlePair Argument
 
typedef ParticleIndexPair IndexArgument
 
typedef PairModifier Modifier
 
typedef const ParticlePairPassArgument
 
typedef const ParticleIndexPairPassIndexArgument
 
- Protected Member Functions inherited from IMP::PairScore
virtual Restraints do_create_current_decomposition (Model *m, const ParticleIndexPair &vt) const
 Override this to return your own decomposition. More...
 
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Constructor & Destructor Documentation

template<class Key, bool BIPARTITE, bool INTERPOLATE, bool SPARSE = false>
IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE >::StatisticalPairScore ( IntKey  k,
double  threshold,
TextInput  data_file 
)
Parameters
[in]kThe attribute to use for determining the particle types
[in]thresholdThe maximum distance to score
[in]data_fileWhere to load the file from.

Definition at line 70 of file StatisticalPairScore.h.

template<class Key, bool BIPARTITE, bool INTERPOLATE, bool SPARSE = false>
IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE >::StatisticalPairScore ( IntKey  k,
double  threshold,
TextInput  data_file,
unsigned int  shift 
)
Parameters
[in]kThe attribute to use for determining the particle types
[in]thresholdThe maximum distance to score
[in]data_fileWhere to load the file from.
[in]shiftThe offset for the types of the second set of types. eg, if the score is on protein and ligand atoms, the ligand atom types start with the value shift.

Definition at line 79 of file StatisticalPairScore.h.


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