IMP Reference Guide  2.7.0 The Integrative Modeling Platform
IMP::misc::FreelyJointedChain Class Reference

Score on end-to-end distance of freely jointed chain. More...

#include <IMP/misc/FreelyJointedChain.h>

Inheritance diagram for IMP::misc::FreelyJointedChain:

## Detailed Description

Score on end-to-end distance of freely jointed chain.

A flexible linker can be represented by the freely jointed chain model as a polymer under a Gaussian random walk. The end-to-end distance $$z$$ then follows the distribution

$p(z | \beta) = 4 \pi z^2 (\frac{\beta}{\pi})^{3/2)} \exp{(-\beta z^2)},$

where $$\beta = \frac{3}{2 N b^2}$$, $$N$$ is the number of links, and $$b$$ is the average length of a single link. The score reaches its minimum value when $$z = \frac{1}{\sqrt{\beta}}$$.

See KA Dill, S Bromberg. Molecular Driving Forces. 2nd Edition. 2010. Eqs 33.26, 33.27.

Note
While the Gaussian approximation breaks down when $$z > N b$$, the score naturally increases as a harmonic restraint with force constant $$2 \beta$$.
The resulting score blows up as the $$z$$ approaches 0. Therefore, in this implementation, when $$z = .01 z_{min}$$, where $$z_{min}$$ is the value of $$z$$ where the score is minimized, then the score increases linearly as $$z$$ decreases.
See Also
WormLikeChain
core::Harmonic

Definition at line 41 of file FreelyJointedChain.h.

## Public Member Functions

FreelyJointedChain (int link_num, double link_length)

virtual double evaluate (double feature) const
Calculate score with respect to the given feature. More...

virtual DerivativePair evaluate_with_derivative (double feature) const
Calculate score and derivative with respect to the given feature. More...

double get_average_distance () const
Get the average distance from the surface. More...

double get_distance_at_minimum () const
Get the distance at which the score is at its minimum value. More...

double get_link_length () const
Get length of each chain link. More...

int get_link_number () const
Get number of links in chain. More...

virtual std::string get_type_name () const

virtual ::IMP::VersionInfo get_version_info () const
Get information about the module and version of the object. More...

void set_link_length (double b)
Set the length of each chain link. More...

void set_link_number (int N)
Set the number of links in chain. More...

Public Member Functions inherited from IMP::UnaryFunction
UnaryFunction (std::string name="UnaryFunction%1%")

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

Protected Member Functions inherited from IMP::Object
Object (std::string name)
Construct an object with the given name. More...

virtual void do_destroy ()

## Member Function Documentation

 virtual double IMP::misc::FreelyJointedChain::evaluate ( double feature ) const
virtual

Calculate score with respect to the given feature.

Parameters
 [in] feature Value of feature being tested.
Returns
Score

Reimplemented from IMP::UnaryFunction.

Definition at line 73 of file FreelyJointedChain.h.

 virtual DerivativePair IMP::misc::FreelyJointedChain::evaluate_with_derivative ( double feature ) const
virtual

Calculate score and derivative with respect to the given feature.

Parameters
 [in] feature Value of feature being tested.
Returns
a DerivativePair containing the score and its partial derivative with respect to the given feature.

Reimplemented from IMP::UnaryFunction.

Definition at line 60 of file FreelyJointedChain.h.

 double IMP::misc::FreelyJointedChain::get_average_distance ( ) const

Get the average distance from the surface.

Definition at line 105 of file FreelyJointedChain.h.

 double IMP::misc::FreelyJointedChain::get_distance_at_minimum ( ) const

Get the distance at which the score is at its minimum value.

Definition at line 100 of file FreelyJointedChain.h.

 double IMP::misc::FreelyJointedChain::get_link_length ( ) const

Get length of each chain link.

Definition at line 83 of file FreelyJointedChain.h.

 int IMP::misc::FreelyJointedChain::get_link_number ( ) const

Get number of links in chain.

Definition at line 80 of file FreelyJointedChain.h.

 virtual ::IMP::VersionInfo IMP::misc::FreelyJointedChain::get_version_info ( ) const
virtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 77 of file FreelyJointedChain.h.

 void IMP::misc::FreelyJointedChain::set_link_length ( double b )

Set the length of each chain link.

Definition at line 93 of file FreelyJointedChain.h.

 void IMP::misc::FreelyJointedChain::set_link_number ( int N )

Set the number of links in chain.

Definition at line 86 of file FreelyJointedChain.h.

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