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)
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 ()

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.

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

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 Wed May 16 20:22:14 2007 for LoopTK: Protein Loop Kinematic Toolkit by  doxygen 1.5.1