#include <PTools.h>
Static Public Member Functions | |
| static void | GetGoals (PAtom *anchorPrior, PAtom *anchorEnd, PAtom *effectorPrior, PAtom *effectorEnd, Real len, Real angle1, Real angle2, Vector3 &goalPrior, Vector3 &goalEnd) |
| static void | GetGoals (PProtein *protein, ProteinSide side, Vector3 &goalPrior, Vector3 &goalEnd) |
| static ProteinSide | GetGoals (PProtein *protein, Vector3 &goalPrior, Vector3 &goalEnd) |
| static PProtein * | CreateSlimProtein (PProtein *protein) |
| static PProtein * | CreateSlimProtein (PProtein *protein, int startRes, int endRes) |
| static Real | EffectorAnchorDist (PProtein *loop, ProteinSide side) |
| static PChain * | LowestCommonChain (PChain *c1, PChain *c2) |
| static list< PCluster > | GetClusters (const PConformationSpace &space, ConformationDistFn distFn, Real threshold) |
| static int | getBackboneAtomIndex (int resIndex, const string &atomID) |
| static void | ComputeJacobian (PProtein *loop, vector< int > ind, double **Jac, Vector3 p, bool forward) |
| static void | ComputeJacobian (PProtein *loop, vector< int > ind, double **Jac, bool forward) |
| static void | ComputeJacobian (PProtein *loop, double **Jac) |
| static void | ComputePseudoInverse (double **A, int m, int n, double **Ainv) |
| static void | ComputeNullSpace (double **Jac, int dim, bool SixDimensional, NullSpaceRet *Ret) |
| static void | ProjectOnNullSpace (PProtein *loop, vector< int > ind, bool forward, double ToProject[], double AfterProject[]) |
| static vector< vector< CDof > > | GetBBDofs (vector< PProtein * > loops) |
| static double | RMSDBackbone (PProtein *protein0, PProtein *protein1, int loopstart, int loopend) |
| static double | RMSDAllAtom (PProtein *protein0, PProtein *protein1, int loopstart, int loopend) |
| static bool | CopyBackbone (PProtein *lpS, PProtein *lpD, int startS, int startD, int numRes) |
| static bool | CopyBackbone (PProtein *lpS, PProtein *lpD) |
| static void | RandomNullSpacePerturb (PProtein *lp, double pert_mag) |
| static void | RandomNullSpacePerturb (PProtein *lp, vector< vector< CDof > > Dofs, double pert_mag) |
| static IKSolution | CloseAlmostClosedLoop (PProtein *lp, Vector3 endPriorGoal, Vector3 endGoal, Vector3 endNextGoal) |
| static int | gsl_test () |
| void PTools::GetGoals | ( | PAtom * | anchorPrior, | |
| PAtom * | anchorEnd, | |||
| PAtom * | effectorPrior, | |||
| PAtom * | effectorEnd, | |||
| Real | len, | |||
| Real | angle1, | |||
| Real | angle2, | |||
| Vector3 & | goalPrior, | |||
| Vector3 & | goalEnd | |||
| ) | [static] |
Computes goal positions for chain loop closure. This version of the overloaded function GetGoals does not make the assumption that the chain in question represents a protein, and so requires information about the location of both anchors and end effectors.
| anchorPrior | The anchor closest to the disconencted chain loop. | |
| anchorEnd | The anchor farthest from the disconnected chain loop. | |
| effectorPrior | The end effector whose goal is farthest from anchorPrior. | |
| effectorEnd | The end effector whose goal is closest to anchorPrior. | |
| len | Distance between goalEnd and anchorPrior. | |
| angle1 | Angle formed by goalPrior-goalEnd-anchorPrior. | |
| angle2 | Angle formed by goalEnd-anchorPrior-anchorEnd. | |
| goalPrior | Reference to the Vector3 in which to store the goal for effectorPrior. | |
| goalEnd | Reference to the Vector3 in which to store the goal for effectorEnd. |
| void PTools::GetGoals | ( | PProtein * | protein, | |
| ProteinSide | side, | |||
| Vector3 & | goalPrior, | |||
| Vector3 & | goalEnd | |||
| ) | [static] |
Computes goal positions for the specified protein on the specified ProteinSide.
| ProteinSide PTools::GetGoals | ( | PProtein * | protein, | |
| Vector3 & | goalPrior, | |||
| Vector3 & | goalEnd | |||
| ) | [static] |
Computes goal positions for the specified protein. The ProteinSide direction is selected automatically based on distances between anchor and end effector atoms: whichever side (start/end) has the greater C-N anchor-effector distance is used.
Caller is responsible for deallocating return.
| Real PTools::EffectorAnchorDist | ( | PProtein * | loop, | |
| ProteinSide | side | |||
| ) | [static] |
Returns the distance between the closest anchor and end effector atoms on the specified side of loop.
Returns smallest shared chain or NULL if different top-level chains.
| list< PCluster > PTools::GetClusters | ( | const PConformationSpace & | space, | |
| ConformationDistFn | distFn, | |||
| Real | threshold | |||
| ) | [static] |
Performs conformation space clustering on the specified space. The user-provided function compFn is used to determine the distance between each pair of conformations.
| int PTools::getBackboneAtomIndex | ( | int | resIndex, | |
| const string & | atomID | |||
| ) | [static] |
Returns the index (of atoms in the backbone) for atom atomID in residue number resIndex.
| void PTools::ComputeJacobian | ( | PProtein * | loop, | |
| vector< int > | ind, | |||
| double ** | Jac, | |||
| Vector3 | p, | |||
| bool | forward | |||
| ) | [static] |
Computes Jacoboian of specified loop, using specified DOFs (ind), tool frame position(p) and direction (forward/backward).
| void PTools::ComputeJacobian | ( | PProtein * | loop, | |
| vector< int > | ind, | |||
| double ** | Jac, | |||
| bool | forward | |||
| ) | [static] |
Computes Jacoboian of specified loop, using specified DOFs and direction
| void PTools::ComputeJacobian | ( | PProtein * | loop, | |
| double ** | Jac | |||
| ) | [static] |
Computes Jacoboian of specified loop, using all backbone DOFs, C-anchor's position, and direction
| void PTools::ComputePseudoInverse | ( | double ** | A, | |
| int | m, | |||
| int | n, | |||
| double ** | Ainv | |||
| ) | [static] |
Computes Singularity Robust Inverse of m x n matrix A, The result is contained in Ainv.
| void PTools::ComputeNullSpace | ( | double ** | Jac, | |
| int | dim, | |||
| bool | SixDimensional, | |||
| NullSpaceRet * | Ret | |||
| ) | [static] |
Computes Null Space of the Jacobian Jac. The dimensions of Jac are 6 x dim or 3 x dim depending on SixDimensional
| void PTools::ProjectOnNullSpace | ( | PProtein * | loop, | |
| vector< int > | ind, | |||
| bool | forward, | |||
| double | ToProject[], | |||
| double | AfterProject[] | |||
| ) | [static] |
Projects Vector ToProject on the null space of Jacobian of the loop, given the DOFs of loop(ind) to consider, direction of computation of Jacobian (forward). The Projected vector is returned in AfterProject.
Returns all backbone DOFs of all loops
| double PTools::RMSDBackbone | ( | PProtein * | protein0, | |
| PProtein * | protein1, | |||
| int | loopstart, | |||
| int | loopend | |||
| ) | [static] |
Returns RMSD between backbones of two proteins protein0 and protein1 starting from residue loopstart and ending at residue loopend.
| double PTools::RMSDAllAtom | ( | PProtein * | protein0, | |
| PProtein * | protein1, | |||
| int | loopstart, | |||
| int | loopend | |||
| ) | [static] |
Returns RMSD between all the atoms of two proteins protein0 and protein1 starting from residue loopstart and ending at residue loopend.
| bool PTools::CopyBackbone | ( | PProtein * | lpS, | |
| PProtein * | lpD, | |||
| int | startS, | |||
| int | startD, | |||
| int | numRes | |||
| ) | [static] |
Modifies a protein loop/ fragment specified by lpD to overlap it with a specified loop/fragment specified by lpS. The loops start respectively at startS and startD and have numRes number of residues. The N-C-alpha atoms of the starting residues of the loops should have same coordinates.
Modifies a protein loop/ fragment specified by lpD to overlap it with a specified loop/fragment specified by lpS.
| void PTools::RandomNullSpacePerturb | ( | PProtein * | lp, | |
| double | pert_mag | |||
| ) | [static] |
Finds a new conformation of loop specified by lp after a random perturbation in its null space. The magnitude of perturbation is specified by pert_mag. All Backbone DOFs of the loop are perturbed.
| void PTools::RandomNullSpacePerturb | ( | PProtein * | lp, | |
| vector< vector< CDof > > | Dofs, | |||
| double | pert_mag | |||
| ) | [static] |
Finds a new conformation of loop specified by lp after a random perturbation in its null space. The magnitude of perturbation is specified by pert_mag. Only the DOFs specified by Dofs are perturbed.
| IKSolution PTools::CloseAlmostClosedLoop | ( | PProtein * | lp, | |
| Vector3 | endPriorGoal, | |||
| Vector3 | endGoal, | |||
| Vector3 | endNextGoal | |||
| ) | [static] |
In many applications one might want to relax the closure constraint by a little bit and in the end the loop specified by lp has to be closed. This method finds a closed conformation closest in terms of RMSD distance to the open conformation. The pose of the closed conformation is defined by the three atoms endPriorGoal, endGoal, and endNextGoal.
| int PTools::gsl_test | ( | ) | [static] |
1.5.1