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

Number of pairs of parallelly oriented peptides in oligomers. More...

#include <OligoOrient.hh>

Inheritance diagram for prf::OligoOrient:
Inheritance graph

Public Member Functions

double evaluate ()
 Actual calculation of the value of the observable.
int init_obs ()
 All observables must implement one initialize routine.
void setAngleCut (double x)
 Angle cut-off below which to strands should be regarded as parallel.
void minHB (double mbnd)
 Minimum energy of backbone-backbone hydrogen bonds.
void minBeta (double mbt)
 Minimum beta strand content for each peptide.
void rangeEstimate (double &x1, double &x2)
 Estimate a range in which values of this observable are expected.
- Public Member Functions inherited from prf::Observable
void set (std::string cmd)
 Give the object an instruction to process during initialization.
virtual void refresh ()
 Necessary before an observable value is used.
virtual double delta (Update *u)
 Quick estimate of the change in an Observable due to an update.
double operator() ()
 Retrieve the value of the observable.
double Value ()
 Retrieve the value of the observable.
void disable_stats ()
 Stop collecting statistical data like averages and histograms.
void enable_stats ()
 Start collecting statistical data like averages and histograms.
- 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

This Observable counts the number of pairs of peptides in the system with at least 3 inter-chain backbone-backbone hydrogen bonds and xx% (adjustible) beta strand content in both, which are oriented parallel to each other. Parallel, here, means that the end-to-end vectors of the peptides have an angle less than dd (adjustible) degrees.

The Observable makes no sense for single peptide runs, and it may not make sense to use it for every oligomerisation simulation. It was originally made for the study of the 7 residue peptide Abeta(16-22), but for longer systems, the alignment or otherwise of end-to-end vectors might mean much less.

Normally one is interested in the content of both parallel and anti-parallel pairs. So, this class actually finds both. But as an observable it only returns the number of parallel pairs in the function Value(). But value2() returns the anti-parallel pair content. To create an Observable object out of the number of anti-parallel pairs, a dummy class OligoNminus is provided below, which depends on this class to get its value.

Member Function Documentation

int OligoOrient::init_obs ( )

Even if it seems that one particular observable might need additional arguments during initialization, it is advantageous to have a uniform syntax for all of them. So, when additional arguments are needed, one should provide them in a separate function called before initialization, and then call init_obs without arguments. The name init_obs instead of a more natural "init" or "initialize" is because an Observable often inherits from other classes which represent its character more fundamentally. So, the names such as "init" are kept free for such base classes.

Reimplemented from prf::Observable.

void prf::OligoOrient::minBeta ( double  mbt)

Peptides with less beta strand content than what is provided here will not be considered in the calculations. If nothing is provided, the default value is 0.5.

void prf::OligoOrient::minHB ( double  mbnd)

Minimum energy of inter-chain backbone-backbone hydrogen bonds for a pair to be considered bonded in a dimer, or as a part of a larger oligomer. The default is 4.6, corresponding to 2-3 hydrogen bonds.

void OligoOrient::rangeEstimate ( double &  x1,
double &  x2 

The default is between 0 and 1. So, for observables with values always between 0 and 1, you need not over-write this virtual function. Sometimes the observable will have a different fixed range, determined by its definition. Sometimes the range can not be determined perfectly. In such a case, let this function just return something reasonable.

Reimplemented from prf::Observable.

void prf::OligoOrient::setAngleCut ( double  x)

Should be liberal. The default is 30 degrees. Values are to be passed in radians, not degrees.

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