#include <PSampMethods.h>
Static Public Member Functions | |
static IKSolution | RandAndIKClose (PProtein *loop, bool clash_free) |
static IKSolution | RandAndIKClose (PProtein *loop, const string &pdbFileName, bool clash_free) |
static IKSolutions | PermuteIK (PProtein *loop, int num_wanted) |
static vector< PProtein * > | DeformSampleBackbone (PProtein *orig_protein, int loopSid, int loopEid, int num_wanted, double deform_mag) |
static vector< PProtein * > | SeedSampleBackbone (PProtein *protein, int loopSid, int loopEid, int num_wanted=1) |
static vector< PProtein * > | SeedSampleBackbone (PProtein *protein, int loopSid, int loopEid, map< string, PPhiPsiDistribution > &distri_map, int num_wanted=1) |
static PProtein * | MergeProtein (PProtein *loop, PProtein *original_protein, int startRid) |
static void | addSidechain (string loopFile, string boundaryFile, string scwrl3_path, string outLoopFile) |
IKSolution PSampMethods::RandAndIKClose | ( | PProtein * | loop, | |
bool | clash_free | |||
) | [static] |
Randomizes the loop
and then closes it using Exact IK method Coutsias et al. Sampled conformation is collision free or not depending on clash_free
.
IKSolution PSampMethods::RandAndIKClose | ( | PProtein * | loop, | |
const string & | pdbFileName, | |||
bool | clash_free | |||
) | [static] |
Randomizes the loop
and then closes it using Exact IK method Coutsias et al. Sampled conformation is collision free or not depending on clash_free
. The conformation is output to pdbFileName
.
IKSolutions PSampMethods::PermuteIK | ( | PProtein * | loop, | |
int | num_wanted | |||
) | [static] |
Generates num_wanted
(number of) closed conformations starting from a closed conformation of a loop loop
, by using various permutations of 6DOFs as needed by ExactIK solution method developed by Coutsias et al.
vector< PProtein * > PSampMethods::DeformSampleBackbone | ( | PProtein * | orig_protein, | |
int | loopSid, | |||
int | loopEid, | |||
int | num_wanted, | |||
double | deform_mag | |||
) | [static] |
Generates num_wanted
(number of) closed clash-free,backbone conformations by deforming a loop specified by residue indices loopSid
and loopEid
of protein chain specified by orig_protein
. The loop is deformed in a random direction in its null/tangent space and the magnitude of deformation is specified by deform_mag
. orig_protein
stays unchanged. Side chains act like rigid bodies attached to the backbone. New side chains can be placed using addSideChain method defined in this class.
vector< PProtein * > PSampMethods::SeedSampleBackbone | ( | PProtein * | protein, | |
int | loopSid, | |||
int | loopEid, | |||
int | num_wanted = 1 | |||
) | [static] |
Generates num_wanted
(number of)closed, clash-free backbone conformations of a loop specified by residue indices loopSid
and loopEid
of protein chain specified by orig_protein
. Note that, the residue index starts from 0.If num_wanted
is not specified, the default is 1. The protein original_protein
is not changed at all in the function. The output is a vector of pointers to proteins containing the desired loop conformation. The resulting closed, collsion-free loop backbones will only consist of N, C_alpha, C_beta, C and O atoms. There will be no collision between any atom on the loop backbone with any other atom on the loop backbone or with any atom on the rest of the protein.The phi and psi angles in the loop are sampled uniformly between 0 and 2 pi.
vector< PProtein * > PSampMethods::SeedSampleBackbone | ( | PProtein * | protein, | |
int | loopSid, | |||
int | loopEid, | |||
map< string, PPhiPsiDistribution > & | distri_map, | |||
int | num_wanted = 1 | |||
) | [static] |
Same as the other SeedSampleBackbone method, but the phi and psi angles are sampled according a distribution. If the distribution map distri_map
only has one element, then this distribution will be applied on all amino acids. Otherwise, there should be 20 distributions in the map. Each distribution corresponds to one amino acid, and the corresponding name of a distribution should be the 3-letter amino acid name in all capital letters.
PProtein * PSampMethods::MergeProtein | ( | PProtein * | loop, | |
PProtein * | original_protein, | |||
int | startRid | |||
) | [static] |
Merges the loop
with the original_protein
. The 0-th residue in the loop becomes the startRid
-th residue in the resulting protein. Neither loop
or original_protein
is changed in the function. Users are responsible to delete the returned protein if they don't need it any more.
void PSampMethods::addSidechain | ( | string | loopFile, | |
string | boundaryFile, | |||
string | scwrl3_path, | |||
string | outLoopFile | |||
) | [static] |
Add side chains to a loop using SCWRL3 with option -i, -o and -f. For the details of SCWRL3 and its usage, please go to http://dunbrack.fccc.edu/SCWRL3.php. The loop is specified in a pdb file loopFile
(option -i). A boundary is specified in a pdb file boundaryFile
(option -f). Please specify the FULL path of your scwrl3 program at scwrl3_path
. The loop with side chain will be written into a pdb format file outLoopFile
. Note that, in the output loop file outLoopFile
, columns after the 3D coordinates are not meaningful.