PROFASI  Version 1.5
Public Member Functions | List of all members
prf::Pivot Class Reference

Pivot move twists the protein about one backbone degree of freedom. More...

#include <Pivot.hh>

Inheritance diagram for prf::Pivot:
Inheritance graph

Public Member Functions

int revert ()
 Reverts the proposed update.
- Public Member Functions inherited from prf::Update
void set_RandomNumberGenerator (RandomNumberBase *rn)
 An update needs a random number generator.
void set_sequencial_sweep (bool sw=true)
 Sweep through the DOFs sequencially rather than randomly.
void connect (Population *pl)
 An update must be connected with a population.
virtual void init ()
 Initialize update for use.
int perform (int itm)
 Make a move in the conformation space.
virtual int accept ()
 Finalizes a proposed update.
virtual void print_setup (std::string &st)
 Print info about any departure from default behaviour.
size_t n_relevant_dof () const
 The number of DOF in the system which may be touched by the update.
double get_weight_of_dof (int idof)
 Weight of a particular DOF.
void set_weight_of_dof (int idof, double vl)
 Set weight of a DOF.
virtual void configure (prf_xml::XML_Node *nd)
 Configure update using options provided in an XML node.
size_t get_site_of_dof (DOF_Info &dof)
 get site index of a given DOF
bool sidechain_update () const
bool rigid_chain_update () const
bool backbone_update () const
bool multichain_update () const
bool local_update () const
unsigned num_changes ()
dof_change_typechange (unsigned i)
void current_atoms (int &istr, int &iend)
 The first and last atoms affected by the update.
int begin_atom ()
 First affected atom.
int end_atom ()
 One past the last atom, like the end() in standard containers.
int begin_flexible_part ()
 Start of the flexible part of the update.
int end_flexible_part ()
 End of the flexible part, once again, one past the last ...
virtual double intrinsic_weight () const
 Additional weight for Metropolis-Hastings updates.
int n_residue_rigid_ranges () const
 Makes list of ranges of changed residues.
void residue_rigid_range (int i, int &r1, int &r2)
 i'th rigid range returned as ligand indices in r1 and r2
std::vector< std::pair< int,
int > > * 
residue_rigid_ranges ()
 Pointer to the vector of rigid ranges.
int n_atom_rigid_ranges () const
void atom_rigid_range (int i, int &r1, int &r2)
std::vector< std::pair< int,
int > > * 
atom_rigid_ranges ()
- Public Member Functions inherited from prf::Named
 Named ()
 Create an object with name "unnamed".
 Named (const char *st)
 Create an object with name st given as a C string.
 Named (std::string st)
 Create an object with a name given as a string.
std::string Name () const
 Retrive the name of an object.
void Name (std::string gnm)
 Assign a new name to an object.

Detailed Description

Only one Ramachandran phi or psi angle is chosen and changed. This is equivalent to a rigid body rotation to a part of the system. Implementation in this way is much faster than reconstructing the whole chain from the internal coordinates after changing one.

Pivot divides the system into two parts that rotate rigidly relative to each other.

When a backbone angle is changed, either the part of the molecule from the that point towards the C-terminus or from that point to the N-terminus could be rotated with respect to the rest. This defines a "direction" for the update. The first of the above mentioned direction is defined to have value 0 the second 1. The direction is chosen so that the shorter chain segment is rotated with greater probability.

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

PROFASI: Protein Folding and Aggregation Simulator, Version 1.5
© (2005-2016) Anders Irbäck and Sandipan Mohanty
Documentation generated on Mon Jul 18 2016 using Doxygen version 1.8.2