#include <PChain.h>
Inheritance diagram for PChain:

Usage of a PChain must follow the following sequence of steps:
Public Member Functions | |
| PChain () | |
| PChain (const string &firstResidueName) | |
| PChain (const string &firstResidueName, PResidueSpec &firstResidueSpec) | |
| PChain (PChain *protein, int resStartIndex, int resEndIndex) | |
| ~PChain () | |
| void | Obliterate () |
| PResidue * | AddResidue (const string &resName) |
| PResidue * | AddResidue (const string &resName, PResidueSpec &resSpec) |
| bool | IsSubChainOf (const PChain *other) const |
| PChain * | getParent () const |
| PChain * | getTopLevelChain () |
| PBond * | getBond (int res_index, const string &id1, const string &id2) |
| PBond * | getBond (int res_index1, const string &id1, int res_index2, const string &id2) |
| int | size () const |
| PResidue * | getResidue (int localIndex) |
| int | getResidueIndex (const PAtom *atom) |
| PAtom * | getAtomAtRes (const string &atomID, int resNum) |
| void | setAtomColorAtRes (const string &atomID, int resNum, GLColor setColor) |
| void | revertAtomColorAtRes (const string &atomID, int resNum) |
| PAtom * | getAtom (const string &blockType, int index) |
| Vector3 | getAtomPos (const string &blockType, int index) |
| int | NumAtoms (const string &blockType) const |
| bool | InStaticCollision () |
| bool | InStaticCollision (int resIndex1, int resIndex2) |
| bool | InSelfCollision () |
| bool | InSelfCollision (int resIndex1, int resIndex2) |
| bool | InAnyCollision () |
| bool | InAnyCollision (int resIndex1, int resIndex2) |
| pair< PAtom *, PAtom * > | FindStaticCollision () |
| pair< PAtom *, PAtom * > | FindStaticCollision (int resIndex1, int resIndex2) |
| pair< PAtom *, PAtom * > | FindSelfCollision () |
| pair< PAtom *, PAtom * > | FindSelfCollision (int resIndex1, int resIndex2) |
| pair< PAtom *, PAtom * > | FindAnyCollision () |
| pair< PAtom *, PAtom * > | FindAnyCollision (int resIndex1, int resIndex2) |
| AtomCollisions * | getAllCollidingStatic () |
| AtomCollisions * | getAllCollidingStatic (int resIndex1, int resIndex2) |
| AtomCollisions * | getAllCollidingSelf () |
| AtomCollisions * | getAllCollidingSelf (int resIndex1, int resIndex2) |
| AtomCollisions * | getAllCollidingEither () |
| AtomCollisions * | getAllCollidingEither (int resIndex1, int resIndex2) |
| vector< PBond * > & | GetDOFs (const string &blockType) |
| int | NumDOF (const string &blockType) const |
| void | RotateChain (const string &blockType, int DOFindex, BondDirection dir, float degrees) |
| void | RotateChain (const ChainMove &move) |
| void | MultiRotate (vector< ChainMove > &moves) |
| void | AntiMultiRotate (vector< ChainMove > &moves) |
| vector< string > | GetBlockTypes () const |
| void | DetachBlocks (const string &blockType, const string &blockTypeToDetachFrom) |
| void | DetachBlocks (const string &blockType, const string &blockTypeToDetachFrom, int resStartIndex, int resEndIndex) |
| void | ReattachBlocks (const string &blockType) |
| void | ReattachBlocks (const string &blockType, int resStartIndex, int resEndIndex) |
| void | ReattachAllBlocks () |
| void | ReattachAllBlocks (int resStartIndex, int resEndIndex) |
| void | RandomizeDOFs (BondDirection dir) |
| void | finalize () |
| void | AddRotateEventHandler (PRotateEventHandler *handler) |
| void | RemoveRotateEventHandler (PRotateEventHandler *handler) |
| void | traverseFromStart (AtomFunctor *atomFn) |
| void | traverseFromStart (BondFunctor *bondFn) |
| void | traverseFromStart (AtomFunctor *atomFn, BondFunctor *bondFn) |
| pair< int, int > | getTopLevelIndices () const |
| const PSpaceManager * | getSpaceManager () |
| PChain * | Clone () |
| int | getResidueLocalIndex (PResidue *res) |
| int | getResidueGlobalIndex (PResidue *res) |
| vector< const PAtom * > | getShortestPath (const PAtom *a1, ConstAtomSet a2Set, int maxLength) |
| vector< const PAtom * > | getShortestPath (const PAtom *a1, const PAtom *a2, int maxLength) |
| vector< const PAtom * > | getShortestPath (const PAtom *a1, ConstAtomSet a2Set, int maxLength, int extendNum) |
| void | inactivateResidue (int Rid1, int Rid2) |
| void | activateResidue (int Rid1, int Rid2) |
Protected Member Functions | |
| void | CloneResiduesIntoChain (PChain *other) |
| virtual PResidue * | CreateResidue (const string &name) |
| virtual PResidue * | CreateResidue (const string &name, PResidueSpec &spec) |
| virtual PResidue * | CreateResidue (const string &name, PResidue *res) |
| virtual PResidue * | CreateResidue (const string &name, PResidueSpec &spec, PResidue *res) |
Friends | |
| class | PAtom |
| PChain::PChain | ( | ) |
Constructs a new PChain with no residues.
| PChain::PChain | ( | const string & | firstResidueName | ) |
Constructs a new PChain with one residue, using the default positions for its atoms.
| PChain::PChain | ( | const string & | firstResidueName, | |
| PResidueSpec & | firstResidueSpec | |||
| ) |
Constructs a new PChain with one residue (firstResidueName), using the positions specified by firstResidueSpec for its atoms.
| PChain::PChain | ( | PChain * | protein, | |
| int | resStartIndex, | |||
| int | resEndIndex | |||
| ) |
Constructs a new PChain as a subchain of protein, from residue resStartIndex to residue resEndIndex.
| PChain::~PChain | ( | ) |
Destroys this PChain and its subchains, freeing any memory associated with them.
| void PChain::Obliterate | ( | ) |
Obliterates this chain and all parents, brethren, and children, freeing all memory associated with them.
| PResidue * PChain::AddResidue | ( | const string & | resName | ) |
Adds the residue resName to the end of the chain, using its default atom positions. Returns the created residue.
| PResidue * PChain::AddResidue | ( | const string & | resName, | |
| PResidueSpec & | resSpec | |||
| ) |
Adds the specified residue to the end of the chain, using the specified atom positions. Returns the created residue.
| bool PChain::IsSubChainOf | ( | const PChain * | other | ) | const |
Returns true if this PChain is a subchain of other, false otherwise.
| PChain * PChain::getParent | ( | ) | const |
Gets parent chain. Returns NULL if this is the top level chain.
| PChain * PChain::getTopLevelChain | ( | ) |
Gets top level chain (the one for which parent == NULL).
| PBond * PChain::getBond | ( | int | res_index, | |
| const string & | id1, | |||
| const string & | id2 | |||
| ) |
Returns the bond between atoms id1 and id2, assuming both are in residue res_index.
Returns NULL if the bond cannot be found.
| PBond * PChain::getBond | ( | int | res_index1, | |
| const string & | id1, | |||
| int | res_index2, | |||
| const string & | id2 | |||
| ) |
Returns the bond between two atoms in different residues: the first has ID id1 in residue res_index1, the second has ID id2 in residue res_index2.
Returns NULL if the bond cannot be found.
| int PChain::size | ( | ) | const [virtual] |
Returns the number of residues in this PChain.
Implements PLightChain.
| PResidue * PChain::getResidue | ( | int | localIndex | ) | [virtual] |
Returns the residue at the specified index. The index is "local" to this PChain; for example, if this chain is a subchain of some other chain, accessing residue 0 in this chain might return the 20th residue in the parent chain.
Implements PLightChain.
Reimplemented in PProtein.
| int PChain::getResidueIndex | ( | const PAtom * | atom | ) |
Returns the residue index of the specified atom.
| PAtom * PChain::getAtomAtRes | ( | const string & | atomID, | |
| int | resNum | |||
| ) | [virtual] |
Convenience method: returns the atom with the specified ID in the specified residue, or NULL if such an atom does not exist.
Implements PLightChain.
| void PChain::setAtomColorAtRes | ( | const string & | atomID, | |
| int | resNum, | |||
| GLColor | setColor | |||
| ) | [inline, virtual] |
Sets color of the atom (displayed by PChainNavigator) whose ID is atomID in residue resNum.
Implements PLightChain.
| void PChain::revertAtomColorAtRes | ( | const string & | atomID, | |
| int | resNum | |||
| ) | [inline, virtual] |
Reverts the color of the atom whose ID is atomID, in residue resNum, to its default value.
Implements PLightChain.
| PAtom * PChain::getAtom | ( | const string & | blockType, | |
| int | index | |||
| ) |
Retrieves the atom at the given index for the block type (indices are in order of how the chain would be traversed from beginning to end).
| Vector3 PChain::getAtomPos | ( | const string & | blockType, | |
| int | index | |||
| ) |
Gets the atom position at the given index (see PChain::getAtom).
| int PChain::NumAtoms | ( | const string & | blockType | ) | const |
Returns the number of atoms in this chain of the given blockType.
| bool PChain::InStaticCollision | ( | ) |
Returns true if any atom in this PChain is in static collision, false otherwise.
| bool PChain::InStaticCollision | ( | int | resIndex1, | |
| int | resIndex2 | |||
| ) |
Returns true if any atom in this PChain between the specified residue indices is in static collision, false otherwise.
| bool PChain::InSelfCollision | ( | ) | [virtual] |
Returns true if any atom in this PChain is in self collision, false otherwise.
Implements PLightChain.
| bool PChain::InSelfCollision | ( | int | resIndex1, | |
| int | resIndex2 | |||
| ) | [virtual] |
Returns true if any atom in this PChain between the specified residue indices is in self collision, false otherwise.
Implements PLightChain.
| bool PChain::InAnyCollision | ( | ) |
Returns true if any atom in this PChain is in static or self collision, false otherwise.
| bool PChain::InAnyCollision | ( | int | resIndex1, | |
| int | resIndex2 | |||
| ) |
Returns true if any atom in this PChain between the specified residue indices is in static or self collision, false otherwise.
Returns a pair of atoms in static collision within the chain, or (NULL, NULL) if no such atoms exist.
Returns a pair of atoms in static collision between the specified residue indices, or (NULL, NULL) if no such atoms exist.
Returns a pair of atoms in self collision within the chain, or (NULL, NULL) if no such atoms exist.
Implements PLightChain.
Returns a pair of atoms in self collision between the specified residue indices, or (NULL, NULL) if no such atoms exist.
Implements PLightChain.
Returns a pair of atoms in either static or self collision in the chain, or (NULL, NULL) if no such atoms exist.
Returns a pair of atoms in either static or self collision between the specified residue indices, or (NULL, NULL) if no such atoms exist.
| AtomCollisions * PChain::getAllCollidingStatic | ( | ) |
Returns a set of all atoms in the chain in static collision.
| AtomCollisions * PChain::getAllCollidingStatic | ( | int | resIndex1, | |
| int | resIndex2 | |||
| ) |
Returns a set of all atoms between the specified residue indices in static collision.
| AtomCollisions * PChain::getAllCollidingSelf | ( | ) | [virtual] |
Returns a set of all atoms in the chain in self collision.
Implements PLightChain.
| AtomCollisions * PChain::getAllCollidingSelf | ( | int | resIndex1, | |
| int | resIndex2 | |||
| ) | [virtual] |
Returns a set of all atoms between the specified residue indices in self collision.
Implements PLightChain.
| AtomCollisions * PChain::getAllCollidingEither | ( | ) |
Returns a set of all atoms in the chain in either static or self collision.
| AtomCollisions * PChain::getAllCollidingEither | ( | int | resIndex1, | |
| int | resIndex2 | |||
| ) |
Returns a set of all atoms between the specified residue indices in either static or self collision.
| vector< PBond * > & PChain::GetDOFs | ( | const string & | blockType | ) |
Returns all the degrees of freedom for the specified type of block (such as backbone or sidechain) in the PChain.
| int PChain::NumDOF | ( | const string & | blockType | ) | const |
Returns the number of degrees of freedom (DOF) of the specified block type within this chain.
| void PChain::RotateChain | ( | const string & | blockType, | |
| int | DOFindex, | |||
| BondDirection | dir, | |||
| float | degrees | |||
| ) |
Rotates the chain for a given blocktype, degrees of freedom (DOF), direction, and angle in degrees.
| void PChain::MultiRotate | ( | vector< ChainMove > & | moves | ) |
MultiRotates the chain given a vector of ChainMove.
| void PChain::AntiMultiRotate | ( | vector< ChainMove > & | moves | ) |
Does the opposite rotations in the opposite order as MultiRotate() would do.
| vector< string > PChain::GetBlockTypes | ( | ) | const |
Returns all the block types in this PChain.
| void PChain::DetachBlocks | ( | const string & | blockType, | |
| const string & | blockTypeToDetachFrom | |||
| ) |
Detaches all blockType blocks attached to blockTypeToDetachFrom.
| void PChain::DetachBlocks | ( | const string & | blockType, | |
| const string & | blockTypeToDetachFrom, | |||
| int | resStartIndex, | |||
| int | resEndIndex | |||
| ) |
Detaches blockType blocks attached to blockTypeToDetachFrom from resStartIndex to resEndIndex.
| void PChain::ReattachBlocks | ( | const string & | blockType | ) |
Reattaches blocks of type blockType to the original position.
| void PChain::ReattachBlocks | ( | const string & | blockType, | |
| int | resStartIndex, | |||
| int | resEndIndex | |||
| ) |
Returns blocks of type blockType and within the range of resStartIndex to resEndIndex to their original positions.
| void PChain::ReattachAllBlocks | ( | ) |
Reattaches all detached blocks regardless of block type.
| void PChain::ReattachAllBlocks | ( | int | resStartIndex, | |
| int | resEndIndex | |||
| ) |
Reattaches all detached blocks regardless of blocktype from resStartIndex to resEndIndex.
| void PChain::RandomizeDOFs | ( | BondDirection | dir | ) |
Applies a random rotation in the given direction to all degrees of freedom in the chain (or subchain).
| void PChain::finalize | ( | ) |
Finalizes the chain and makes it ready for manipulation. Must be called as soon as the chain is finished being constructed or it will be unstable.
| void PChain::AddRotateEventHandler | ( | PRotateEventHandler * | handler | ) |
Adds the object to the event list for rotations (HandleRotation function invoked whenever there is a rotation)
| void PChain::RemoveRotateEventHandler | ( | PRotateEventHandler * | handler | ) |
Removes the given event handler from the rotation list. Aborts program if it's not in the list
| void PChain::traverseFromStart | ( | AtomFunctor * | atomFn | ) | [inline] |
Traverses the chain from the start atom of residue 0, calling the specified AtomFunctor at each atom.
| void PChain::traverseFromStart | ( | BondFunctor * | bondFn | ) | [inline] |
Traverses the chain from the start atom of residue 0, calling the specified BondFunctor at each bond.
| void PChain::traverseFromStart | ( | AtomFunctor * | atomFn, | |
| BondFunctor * | bondFn | |||
| ) |
Traverses the chain from the start atom of residue 0, calling the specified AtomFunctor at each atom and the specified BondFunctor at each bond.
| pair< int, int > PChain::getTopLevelIndices | ( | ) | const |
Returns a pair of integers indicating the residues in the top-level chain represented by this PChain. The first element of the pair is the start residue index; the second element of the pair is the end index.
| const PSpaceManager* PChain::getSpaceManager | ( | ) | [inline, virtual] |
Returns the space manager of this PChain.
Implements PLightChain.
| PChain * PChain::Clone | ( | ) |
Creates an exact copy of this PChain. If a subchain is cloned, all its parents will be replicated as well; thus, to fully deallocate the newly-cloned chain's memory, invoke Obliterate() when it is no longer needed.
Reimplemented in PProtein.
| int PChain::getResidueLocalIndex | ( | PResidue * | res | ) |
Return the local index of a residue in the chain. Return -1 if there is no such residue in the chain.
| int PChain::getResidueGlobalIndex | ( | PResidue * | res | ) |
Return the global index of a residue in the top level chain. Return -1 if there is no such residue.
| vector< const PAtom * > PChain::getShortestPath | ( | const PAtom * | a1, | |
| ConstAtomSet | a2Set, | |||
| int | maxLength | |||
| ) |
Returns a AtomPath which is a vector going through a set of atoms. This path is generated from an atom to a set of atoms and the returning path will be the shortest one.
| vector< const PAtom * > PChain::getShortestPath | ( | const PAtom * | a1, | |
| const PAtom * | a2, | |||
| int | maxLength | |||
| ) |
Returns a AtomPath which is a vector going through a set of atoms. This path is generated from an atom to another atom.
| vector< const PAtom * > PChain::getShortestPath | ( | const PAtom * | a1, | |
| ConstAtomSet | a2Set, | |||
| int | maxLength, | |||
| int | extendNum | |||
| ) |
Returns a AtomPath which is a vector going through a set of atoms. This path is generated from an atom to another atom with some additional atoms in two end.
| void PChain::inactivateResidue | ( | int | Rid1, | |
| int | Rid2 | |||
| ) |
Inactivates the residues from index Rid1 to Rid2 so that these residues are not considered in collision detection.
| void PChain::activateResidue | ( | int | Rid1, | |
| int | Rid2 | |||
| ) |
Activates the residues from index Rid1 to Rid2 so that these residues are considered inc collision
| void PChain::CloneResiduesIntoChain | ( | PChain * | other | ) | [protected] |
| virtual PResidue* PChain::CreateResidue | ( | const string & | name | ) | [inline, protected, virtual] |
Reimplemented in PProtein.
| virtual PResidue* PChain::CreateResidue | ( | const string & | name, | |
| PResidueSpec & | spec | |||
| ) | [inline, protected, virtual] |
Reimplemented in PProtein.
| virtual PResidue* PChain::CreateResidue | ( | const string & | name, | |
| PResidue * | res | |||
| ) | [inline, protected, virtual] |
Reimplemented in PProtein.
| virtual PResidue* PChain::CreateResidue | ( | const string & | name, | |
| PResidueSpec & | spec, | |||
| PResidue * | res | |||
| ) | [inline, protected, virtual] |
Reimplemented in PProtein.
friend class PAtom [friend] |
1.5.1