IMP logo
Public Member Functions | Static Public Member Functions
IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE > Class Template Reference

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.
+ Inheritance diagram for IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE >:

List of all members.

Public Member Functions

 StatisticalPairScore (IntKey k, double threshold, base::TextInput data_file)
 StatisticalPairScore (IntKey k, double threshold, base::TextInput data_file, unsigned int shift)
double get_maximum_distance () const
- Public Member Functions inherited from IMP::PairScore
 PairScore (std::string name="PairScore %1%")
Restraints create_current_decomposition (const ParticlePair &vt) const
virtual double evaluate (const ParticlePair &vt, DerivativeAccumulator *da) const =0
 Compute the score and the derivative if needed.
virtual double evaluate (const ParticlePairsTemp &o, DerivativeAccumulator *da) 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.
virtual double evaluate_if_good_indexes (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da, double max) const
virtual double evaluate_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da) const
 Compute the score and the derivative if needed.
virtual double evaluate_indexes (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da) const
virtual ContainersTemp get_input_containers (Particle *p) const =0
virtual ParticlesTemp get_input_particles (Particle *p) const =0
- Public Member Functions inherited from IMP::base::Object
std::size_t __hash__ () const
virtual std::string get_type_name () const =0
 Return a string identifying the type of the object.
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
void set_check_level (CheckLevel l)
void set_log_level (LogLevel l)
 Set the logging level used in this object.
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)

Static Public Member Functions

static StatisticalPairScoreget_from (IMP::base::Object *o)

Additional Inherited Members

- Public Types inherited from IMP::PairScore
typedef ParticlePair Argument
typedef ParticleIndexPair IndexArgument

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,
base::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.
template<class Key, bool BIPARTITE, bool INTERPOLATE, bool SPARSE = false>
IMP::core::StatisticalPairScore< Key, BIPARTITE, INTERPOLATE, SPARSE >::StatisticalPairScore ( IntKey  k,
double  threshold,
base::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.

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

Generated on Tue May 22 2012 23:33:31 for IMP by doxygen 1.8.1