IMP logo
IMP Reference Guide  develop.e004443c3b,2024/04/25
The Integrative Modeling Platform
IMP::npctransport::AnchorToCylidnricalPorePairScore Class Reference

#include <IMP/npctransport/AnchorToCylindricalPorePairScore.h>

+ Inheritance diagram for IMP::npctransport::AnchorToCylidnricalPorePairScore:

Detailed Description

a score for anchoring a bead to a reference point defined relatively to the surface of a cylindrical pore. The reference point is at a fixed angle about the pore central axis, radial distance from the pore edge, and z coordinate.

Definition at line 24 of file AnchorToCylindricalPorePairScore.h.

Public Member Functions

 AnchorToCylidnricalPorePairScore (Float rot_angle, Float pore_radial_d, Float z, Float k)
 
 AnchorToCylidnricalPorePairScore (SlabWithCylindricalPore scp, algebra::Vector3D initial_anchor_point, Float k)
 
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
 Evaluate score for particle pair pip in model m. 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...
 
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::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

IMP::npctransport::AnchorToCylidnricalPorePairScore::AnchorToCylidnricalPorePairScore ( Float  rot_angle,
Float  pore_radial_d,
Float  z,
Float  k 
)

Initialize a harmonic distance score between an anchor bead and an equilibrium reference point that is evaluated according to the specified equilibrium values, relative to the cylindrical pore at the time of score evaluation.

Parameters
rot_angleequilibrium counter-clockwise angle of the anchor bead in the x,y plane relative to the x axis, in Radians
radial_dequilibrium radial distance from the pore surface (positive = inside pore; negative = outside)
zequilibrium z coordinate
kthe harmonic force coefficient between the bead and the equilibrium reference point
IMP::npctransport::AnchorToCylidnricalPorePairScore::AnchorToCylidnricalPorePairScore ( SlabWithCylindricalPore  scp,
algebra::Vector3D  initial_anchor_point,
Float  k 
)

initialized the score using current anchor_bead orientation relative to scp for initializing the values of the equilibrium rotation angle of the anchor about the pore central axis, its radial distance from the pore surface, and its z coordinate

Parameters
scpThe porus slab
initial_anchor_pointThe coordinates that are used as reference for initializing the anchor equilibrium values relative to the slab
kThe harmonic force coefficient between the bead and the equilibrium reference point

Member Function Documentation

virtual ModelObjectsTemp IMP::npctransport::AnchorToCylidnricalPorePairScore::do_get_inputs ( Model m,
const ParticleIndexes pis 
) const
overridevirtual

Overload this method to specify the inputs.

Implements IMP::ParticleInputs.

double IMP::npctransport::AnchorToCylidnricalPorePairScore::evaluate_if_good_indexes ( Model m,
const ParticleIndexPairs o,
DerivativeAccumulator da,
double  max,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
overridevirtual

Compute the score and the derivative if needed over a set, only if "good". This functions similarly to evaluate_indexes(), 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.
Note
An implementation for this is provided by the IMP_PAIR_SCORE_METHODS() macro.

Reimplemented from IMP::PairScore.

Definition at line 86 of file AnchorToCylindricalPorePairScore.h.

double IMP::npctransport::AnchorToCylidnricalPorePairScore::evaluate_index ( Model m,
const ParticleIndexPair pip,
DerivativeAccumulator da 
) const
overridevirtual

Evaluate score for particle pair pip in model m.

Evaluate score for particle pair pip in model m, where pip[0] is a SlabWithCylindricalPore and pip[1] is the anchored bead. The score is a harmonic distance restraint between the anchored bead and the equilibrium reference point relative to the porous slab (see constructors for details).

If da is not null, use it to accumulate derivatives in model.

Implements IMP::PairScore.

Definition at line 112 of file AnchorToCylindricalPorePairScore.h.

+ Here is the call graph for this function:

double IMP::npctransport::AnchorToCylidnricalPorePairScore::evaluate_indexes ( Model m,
const ParticleIndexPairs o,
DerivativeAccumulator da,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
finaloverridevirtual

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

Parameters
mthe model of o
oobjects of type ParticlePair, specified by index
daa derivative accumulator that weights computed derivatives. If nullptr, derivatives will not be computed.
lower_boundindex of first item in o to evaluate
upper_boundindex one past last item in o to evaluate
Note
An implementation for this is provided by the IMP_PAIR_SCORE_METHODS() macro.

Reimplemented from IMP::PairScore.

Definition at line 86 of file AnchorToCylindricalPorePairScore.h.

double IMP::npctransport::AnchorToCylidnricalPorePairScore::evaluate_indexes_delta ( Model m,
const ParticleIndexPairs o,
DerivativeAccumulator da,
const std::vector< unsigned > &  indexes,
std::vector< double > &  score 
) const
finaloverridevirtual

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

The score for each o[indexes[x]] is updated in score[indexes[x]] and the total difference between the old and new score values (over the set) is returned.

Note
An implementation for this is provided by the IMP_PAIR_SCORE_METHODS() macro.

Reimplemented from IMP::PairScore.

Definition at line 86 of file AnchorToCylindricalPorePairScore.h.

double IMP::npctransport::AnchorToCylidnricalPorePairScore::evaluate_indexes_scores ( Model m,
const ParticleIndexPairs o,
DerivativeAccumulator da,
unsigned int  lower_bound,
unsigned int  upper_bound,
std::vector< double > &  score 
) const
finaloverridevirtual

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

Like regular evaluate_indexes(), but the score for each o[x] is also returned as score[x].

Note
An implementation for this is provided by the IMP_PAIR_SCORE_METHODS() macro.

Reimplemented from IMP::PairScore.

Definition at line 86 of file AnchorToCylindricalPorePairScore.h.

virtual ::IMP::VersionInfo IMP::npctransport::AnchorToCylidnricalPorePairScore::get_version_info ( ) const
overridevirtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 87 of file AnchorToCylindricalPorePairScore.h.


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