PROFASI
Version 1.5
|
Secondary structure analyzer. More...
#include <SecStruct.hh>
Public Member Functions | |
double | evaluate () |
Actual calculation of the value of the observable. | |
int | init_obs () |
All observables must implement one initialize routine. | |
void | rangeEstimate (double &x0, double &x1) |
Estimate a range in which values of this observable are expected. | |
![]() | |
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. | |
![]() | |
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. | |
This is a simple but extremely versatile class to analyze secondary structure based on Ramachandran angles. Essentially, it has a list of residues whose behaviour it tracks, and during a refresh, it checks which of the residues are in a certain box (phimin to phimax, psimin to psimax) in the Ramachandran plot. The boundaries of the box can be set by the user. One can choose "default_limits helix" or "default_limits strand" to choose the PROFASI defaults to regard a residue as a helix or a strand. One can pass any set of residues to track in a file. The file should contain the amino acid indices of the relevant residues relative to the entire population. One can instruct the Observable to use the residues of one chain. If the user makes no choices about the residues, the entire population is chosen. But, in these last two cases, the amino acids at the ends of each chain are omitted.
This single class can be used to construct Observables to measure helix content, beta strand content, native helix content, native strand content, and even something to monitor a totally new area of the Ramachandran plot for the frequency of visits by different residues.
For every one of the uses mentioned above, the class also creates a "profile" curve, where residue-wise average properties are saved as a function of temperature index in a file with the suffix ".profile".
|
virtual |
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.
|
virtual |
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.