PPhiPsiDistribution Class Reference

#include <PPhiPsiDistribution.h>

List of all members.


Detailed Description

The PPhiPsiDistribution class is for sampling backbone conformations according to a certain distribution. Currenlty, the seed sampling methods can take in only 1 distribution (for all amino acids) or 20 distributions (one for each amino acid, such as a Ramachandran distribution). In the later case, the name of the distribution must be 3-letter amino acid name in all capital letters. In the previous case, name doesn't matter, and set to "anything" by default.


Public Member Functions

 PPhiPsiDistribution ()
 PPhiPsiDistribution (const vector< vector< double > > &v, const string &name="anything")
void print (ostream &out) const
double getProbPhiPsi (double phi, double psi) const
vector< double > getPhiDistribution (double psiValue) const
vector< double > getPsiDistribution (double phiValue) const
vector< double > getPhiDistribution () const
vector< double > getPsiDistribution () const
bool isEmpty () const
int numPhiIntervals () const
int numPsiIntervals () const

Static Public Member Functions

static map< string, PPhiPsiDistributiongenerateRamachandran ()


Constructor & Destructor Documentation

PPhiPsiDistribution::PPhiPsiDistribution (  )  [inline]

PPhiPsiDistribution::PPhiPsiDistribution ( const vector< vector< double > > &  v,
const string &  name = "anything" 
)

Construct a PPhiPsiDistribution object by providing the distribution v and a corresponding name. In v, the 1st dimension is about Phi and the 2nd dimension is about Psi i.e., v[i][j] is the probability of taking the Phi in the ith interval and Psi in the jth interval. Important: 1. All inner vectors must have the same size. 2. All entries should sum up to 1. 3. v[i][0] to v[i][n-1] store the probability of Psi in 360/n degree intervals from -180 to +179. v[0][j] to v[n-1][j] store the probability of Phi in 360/n degree intervals from -180 to +179. For example: vector<double> row1, row2; row1.push_back(0.1); row1.push_back(0.2); row1.push_back(0.3); row2.push_back(0.2); row2.push_back(0.1); row2.push_back(0.1); vector< vector<double> > phipsi; phipsi.push_back(row1); phipsi.push_back(row2); This means: the phi angle has two intervals: [-180,0) and [0,+179], and psi angle has three intervals: [-180,-60), [-60,+60) and [+60,179]. The probabilty of a residue taking phi angle in [-180,0) and psi angle in [+60,+179] is 0.3.


Member Function Documentation

void PPhiPsiDistribution::print ( ostream &  out  )  const

double PPhiPsiDistribution::getProbPhiPsi ( double  phi,
double  psi 
) const

vector< double > PPhiPsiDistribution::getPhiDistribution ( double  psiValue  )  const

vector< double > PPhiPsiDistribution::getPsiDistribution ( double  phiValue  )  const

vector<double> PPhiPsiDistribution::getPhiDistribution (  )  const [inline]

vector<double> PPhiPsiDistribution::getPsiDistribution (  )  const [inline]

bool PPhiPsiDistribution::isEmpty (  )  const [inline]

int PPhiPsiDistribution::numPhiIntervals (  )  const [inline]

Returns the number of phi intervals in this distribution.

int PPhiPsiDistribution::numPsiIntervals (  )  const [inline]

Returns the number of psi intervals in this distribution.

map< string, PPhiPsiDistribution > PPhiPsiDistribution::generateRamachandran (  )  [static]


The documentation for this class was generated from the following files:
Generated on Wed May 16 20:22:14 2007 for LoopTK: Protein Loop Kinematic Toolkit by  doxygen 1.5.1