PProtein Class Reference

#include <PProtein.h>

Inheritance diagram for PProtein:

PChain PLightChain List of all members.

Detailed Description

A subclass of PChain which makes strong assumptions about the properties the loop should have. Specifically, convenience methods are provided to selectively manipulate the backbone and sidechain or to retrieve anchor/end effector atoms at the amino or carboxy terminus. This class should be used when using the builtin resources with LoopTK.

Usage of a PProtein must follow the following sequence of steps:

  1. Construction - all residues are added to chain. Use the PProtein::AddResidue() methods to do this.
  2. Finalization - finishes construction of the protein and prepares it for manipulation. Use PProtein::finalize() to do this.
  3. Analysis - the full range of functionality of PProtein can be used at this point. However, no more residues can be added.

Creating a PProtein using PDBIO automatically completes the first two steps.


Public Member Functions

 PProtein ()
 PProtein (const string &firstResidueName)
 PProtein (const string &firstResidueName, PResidueSpec &firstResidueSpec)
 PProtein (PProtein *protein, int resStartIndex, int resEndIndex)
 PProtein (int numResidues)
PProteingetParent ()
PProteingetTopLevelProtein ()
PProteinResiduegetResidue (int localIndex)
int pdbIndexToLocalIndex (int pdb_index)
PProteinResiduegetResidueByPdbIndex (int pdbIndex)
PProteingetSubchainByPdbIndices (int startPdbIndex, int endPdbIndex)
int NumBackboneDOFs () const
int NumSidechainDOFs () const
void RandomizeSidechainAtRes (int resIndex)
void RandomizeAllSidechains ()
void GetEndEffectors (ProteinSide side, PAtom *&endAtom, PAtom *&endPriorAtom)
void GetAnchors (ProteinSide side, PAtom *&endAnchor, PAtom *&endPriorAnchor)
void DisableSidechains ()
void DisableSidechains (int resIndex1, int resIndex2)
void EnableSidechains ()
void EnableSidechains (int resIndex1, int resIndex2)
void RotateBackbone (int DOF_index, BondDirection dir, Real numDegrees)
void RotateSidechain (int DOF_index, float numDegrees)
PProteinClone ()
void RandomizeBackbone ()
PProteingetChildProtein (unsigned int index)
void printCollision ()

Protected Member Functions

virtual PResidueCreateResidue (const string &name)
virtual PResidueCreateResidue (const string &name, PResidueSpec &spec)
virtual PResidueCreateResidue (const string &name, PResidue *res)
virtual PResidueCreateResidue (const string &name, PResidueSpec &spec, PResidue *res)


Constructor & Destructor Documentation

PProtein::PProtein (  ) 

Constructs a new PProtein with no residues.

PProtein::PProtein ( const string &  firstResidueName  ) 

Constructs a new PProtein with one residue, using the default positions for its atoms.

PProtein::PProtein ( const string &  firstResidueName,
PResidueSpec firstResidueSpec 
)

Constructs a new PProtein with one residue, using the specified positions for its atoms.

PProtein::PProtein ( PProtein protein,
int  resStartIndex,
int  resEndIndex 
)

Constructs a new PProtein as a subchain of protein, from residue resStartIndex to residue resEndIndex.

PProtein::PProtein ( int  numResidues  ) 

Constructs a new PProtein with numResidues random residues.


Member Function Documentation

PProtein* PProtein::getParent (  )  [inline]

Returns the parent PProtein of this PProtein, or NULL if this is the top level protein.

PProtein * PProtein::getTopLevelProtein (  ) 

Returns the top level protein in the hierarchy this protein belongs to.

PProteinResidue* PProtein::getResidue ( int  localIndex  )  [inline, virtual]

Returns the residue at the given index. Residues are indexed from 0 to size()-1 inclusive.

Reimplemented from PChain.

int PProtein::pdbIndexToLocalIndex ( int  pdb_index  ) 

Returns the local index of the residue with PDB index pdb_index.

PProteinResidue * PProtein::getResidueByPdbIndex ( int  pdbIndex  ) 

Returns the residue with the specified PDB index, or NULL if no such residue exists in the PProtein.

PProtein * PProtein::getSubchainByPdbIndices ( int  startPdbIndex,
int  endPdbIndex 
)

Returns a subchain of this PProtein in which the first residue has PDB index startPdbIndex, the second residue has PDB index startPdbIndex + 1, ..., and the last residue has PDB index endPdbIndex.

int PProtein::NumBackboneDOFs (  )  const

Returns the number of degrees of freedom in this PProtein's backbone.

int PProtein::NumSidechainDOFs (  )  const

Returns the number of degrees of freedom in this PProtein's side chains.

void PProtein::RandomizeSidechainAtRes ( int  resIndex  ) 

Randomizes the DOFs of the side-chain at the given residue index.

void PProtein::RandomizeAllSidechains (  ) 

Randomizes all side-chains in this protein.

void PProtein::GetEndEffectors ( ProteinSide  side,
PAtom *&  endAtom,
PAtom *&  endPriorAtom 
)

Returns the loop closure end effectors on the specified side of this PProtein (front or back).

void PProtein::GetAnchors ( ProteinSide  side,
PAtom *&  endAnchor,
PAtom *&  endPriorAnchor 
)

Returns the loop closure anchors on the specified side of the protein (front or back).

void PProtein::DisableSidechains (  ) 

Disables all side chain blocks in the protein.

void PProtein::DisableSidechains ( int  resIndex1,
int  resIndex2 
)

Disables all side chain blocks between the specified start and end residues.

void PProtein::EnableSidechains (  ) 

Enables all side chain blocks in the protein.

void PProtein::EnableSidechains ( int  resIndex1,
int  resIndex2 
)

Enables all side chain blocks between the specified start and end residues.

void PProtein::RotateBackbone ( int  DOF_index,
BondDirection  dir,
Real  numDegrees 
)

Rotates the backbone numDegrees degrees, starting from the degree of freedom DOF_index in the direction dir.

void PProtein::RotateSidechain ( int  DOF_index,
float  numDegrees 
)

Rotates the sidechain at index DOF_index by numDegrees degrees.

PProtein * PProtein::Clone (  ) 

Creates an exact copy of the protein. If a sub-chain is being copied, it creates a top-level protein as well. So, to free the memory of the sub-chain, Obliterate() must be called.

Reimplemented from PChain.

void PProtein::RandomizeBackbone (  ) 

Randomize backbone DOFs, but does not check collision

PProtein* PProtein::getChildProtein ( unsigned int  index  )  [inline]

Returns the child PProtein to this PProtein at the given index. Use NumChildren() to get the number of child PProtein's.

void PProtein::printCollision (  ) 

Print all the atom pairs that are in collision.

virtual PResidue* PProtein::CreateResidue ( const string &  name  )  [inline, protected, virtual]

Reimplemented from PChain.

virtual PResidue* PProtein::CreateResidue ( const string &  name,
PResidueSpec spec 
) [inline, protected, virtual]

Reimplemented from PChain.

virtual PResidue* PProtein::CreateResidue ( const string &  name,
PResidue res 
) [inline, protected, virtual]

Reimplemented from PChain.

virtual PResidue* PProtein::CreateResidue ( const string &  name,
PResidueSpec spec,
PResidue res 
) [inline, protected, virtual]

Reimplemented from PChain.


The documentation for this class was generated from the following files:
Generated on Tue Aug 26 16:06:14 2008 for LoopTK: Protein Loop Kinematic Toolkit by  doxygen 1.5.1