SLIKMC  1.0
 All Classes Functions Variables Pages
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Rotamer Class Reference

The class Rotamer is used to initialize side-chain database by parsing Dunbrack's Backbone Dependent Rotamer Library, sample one side-chain conformation for a given residue, evaluate the probability given one side-chain conformation. More...

#include <Rotamer.h>

Public Member Functions

 Rotamer (PProtein *protein)
 
void sample (const string &residue_name, const double &phi, const double &psi, int &rotamer_grid, vector< double > &dAngles)
 Randomly sample side-chain chi angles given residue name and backbone dihedral angle pair. More...
 
void sample_common (const string &residue_name, const int &phi, const int &psi, int &rotamer_grid, vector< double > &dAngles)
 Randomly sample side-chain chi angles given rotameric residue name and backbone dihedral angle pair. More...
 
void sample_Special (const string &residue_name, const int &phi, const int &psi, int &rotamer_grid, vector< double > &dAngles)
 Randomly sample side-chain chi angles given non-rotameric residue name and backbone dihedral angle pair. More...
 
void output (char *filename)
 Output the database to a file. More...
 
double evalSidechain_log (PChain *chain, const int s, const int e)
 Evaluate side-chain structures given one protein chain. More...
 
void initSidechainDatabase (PProtein *protein)
 Initialize sidechain database according to residues the protein contains. More...
 

Private Member Functions

void init ()
 
void read (const string &res_name)
 Read sidechain library given residue name and construct corresponding database. More...
 
void read_common (const string &res_name)
 Read sidechain library given the name of a rotameric residue and construct corresponding database. More...
 
void read_special (const string &res_name)
 Read sidechain library given the name of a non-rotameric residue and construct corresponding database. More...
 
int type (const string &res_name)
 Return the type of residue given residue name. More...
 
bool isSpecial (const string &res_name)
 Check if the residue is rotameric or not. More...
 

Private Attributes

GridMap gridMap
 
GridMapSpecial gridMapSpecial
 
vector< int > degree_start
 
vector< int > degree_end
 
vector< int > stepLength
 
map< string, int > typeMap
 

Static Private Attributes

static const int ASN = 0
 
static const int ASP = 1
 
static const int PHE = 2
 
static const int TRP = 3
 
static const int HIS = 4
 
static const int TYR = 5
 
static const int GLN = 6
 
static const int GLU = 7
 

Detailed Description

The class Rotamer is used to initialize side-chain database by parsing Dunbrack's Backbone Dependent Rotamer Library, sample one side-chain conformation for a given residue, evaluate the probability given one side-chain conformation.

Constructor & Destructor Documentation

Rotamer::Rotamer ( PProtein *  protein)
Parameters
proteinprotein chain to be sampled

Member Function Documentation

double Rotamer::evalSidechain_log ( PChain *  chain,
const int  s,
const int  e 
)

Evaluate side-chain structures given one protein chain.

Parameters
chainprotein chain to be evaluated
sindex of starting residue in protein chain
eindex of ending residue in protein chain
Returns
probability density in logarithm
void Rotamer::initSidechainDatabase ( PProtein *  protein)

Initialize sidechain database according to residues the protein contains.

Parameters
proteinprotein chain to be sampled
bool Rotamer::isSpecial ( const string &  res_name)
private

Check if the residue is rotameric or not.

Parameters
res_nameresidue name
Returns
true, rotemeric; false, non-rotameric
void Rotamer::output ( char *  filename)

Output the database to a file.

Parameters
filenameoutput filename
void Rotamer::read ( const string &  res_name)
private

Read sidechain library given residue name and construct corresponding database.

Parameters
res_nameresidue name
void Rotamer::read_common ( const string &  res_name)
private

Read sidechain library given the name of a rotameric residue and construct corresponding database.

Parameters
res_nameresidue name
void Rotamer::read_special ( const string &  res_name)
private

Read sidechain library given the name of a non-rotameric residue and construct corresponding database.

Parameters
res_nameresidue name
void Rotamer::sample ( const string &  residue_name,
const double &  phi,
const double &  psi,
int &  rotamer_grid,
vector< double > &  dAngles 
)

Randomly sample side-chain chi angles given residue name and backbone dihedral angle pair.

Parameters
residue_namename of the residue
phibackbone phi angle
psibackbone psi angle
rotamer_gridstores the grid index of rotamer in the rotamer database (for evaluation purpose)
dAnglesstores the side-chain chi angles
void Rotamer::sample_common ( const string &  residue_name,
const int &  phi,
const int &  psi,
int &  rotamer_grid,
vector< double > &  dAngles 
)

Randomly sample side-chain chi angles given rotameric residue name and backbone dihedral angle pair.

Parameters
residue_namename of the residue
phibackbone phi angle
psibackbone psi angle
rotamer_gridstores the grid index of rotamer in the rotamer database (for evaluation purpose)
dAnglesstores the side-chain chi angles
void Rotamer::sample_Special ( const string &  residue_name,
const int &  phi,
const int &  psi,
int &  rotamer_grid,
vector< double > &  dAngles 
)

Randomly sample side-chain chi angles given non-rotameric residue name and backbone dihedral angle pair.

Parameters
residue_namename of the residue
phibackbone phi angle
psibackbone psi angle
rotamer_gridstores the grid index of rotamer in the rotamer database (for evaluation purpose)
dAnglesstores the side-chain chi angles
int Rotamer::type ( const string &  res_name)
private

Return the type of residue given residue name.

Returns
-1: rotameric residue; 0-7: ASN-GLU

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