PSampMethods Class Reference

#include <PSampMethods.h>

List of all members.


Detailed Description

This contains methods for generating samples using various strategies


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 * > SeedSampleBackboneWithSidechain (PProtein *protein, int loopSid, int loopEid, string scwrl3_path, int num_wanted=1)
static vector< PProtein * > SeedSampleBackboneWithSidechainLoopOnly (PProtein *original_protein, int loopSid, int loopEid, string scwrl3_path, int num_wanted=1)
static vector< PProtein * > SeedSampleBackbone (PProtein *protein, int loopSid, int loopEid, map< string, PPhiPsiDistribution > &distri_map, int num_wanted=1)
static vector< PProtein * > SeedSampleBackboneWithSidechain (PProtein *protein, int loopSid, int loopEid, map< string, PPhiPsiDistribution > &distri_map, string scwrl3_path, int num_wanted)
static vector< PProtein * > SeedSampleBackboneWithSidechainLoopOnly (PProtein *original_protein, int loopSid, int loopEid, map< string, PPhiPsiDistribution > &distri_map, string scwrl3_path, int num_wanted)
static PProteinMergeProtein (PProtein *loop, PProtein *original_protein, int startRid)
static PProteinMergeProteinByPdbId (PProtein *loop, PProtein *original_protein, int startPdbId)
static void addSidechain (string loopFile, string boundaryFile, string scwrl3_path, string outLoopFile)
static void AddSidechain (string protein_input, int addStart, int addEnd, string scwrl3_path, string protein_output)
static vector< PProtein * > SeedSampleBackboneLoopOnly (PProtein *original_protein, int loopSid, int loopEid, int num_wanted=1)
static vector< PProtein * > SeedSampleBackboneLoopOnly (PProtein *original_protein, int loopSid, int loopEid, map< string, PPhiPsiDistribution > &distri_map, int num_wanted=1)
static PProteinFillMissingLoop (PProtein *original_p, int start_pdb_id, int end_pdb_id, vector< string > loop_seq)


Member Function Documentation

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 protein. Note that, the residue index starts from 0. If num_wanted is not specified, the default is 1. The 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::SeedSampleBackboneWithSidechain ( PProtein protein,
int  loopSid,
int  loopEid,
string  scwrl3_path,
int  num_wanted = 1 
) [static]

Similar to the above function. In addition, the loops are with side chains, which are also not in collision. Side-chains are added using SCWRL3. User needs to provide the path of the executable of SCWRL3 as scwrl3_path.

vector< PProtein * > PSampMethods::SeedSampleBackboneWithSidechainLoopOnly ( PProtein original_protein,
int  loopSid,
int  loopEid,
string  scwrl3_path,
int  num_wanted = 1 
) [static]

Similar to the above function. However, rather than returning the entire protein, only the loop portion is returned.

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.

vector< PProtein * > PSampMethods::SeedSampleBackboneWithSidechain ( PProtein protein,
int  loopSid,
int  loopEid,
map< string, PPhiPsiDistribution > &  distri_map,
string  scwrl3_path,
int  num_wanted 
) [static]

Similar to the above function. In addition, the loops are with side chains, which are also not in collision. Side-chains are added using SCWRL3. User needs to provide the path of the executable of SCWRL3 as scwrl3_path.

vector< PProtein * > PSampMethods::SeedSampleBackboneWithSidechainLoopOnly ( PProtein original_protein,
int  loopSid,
int  loopEid,
map< string, PPhiPsiDistribution > &  distri_map,
string  scwrl3_path,
int  num_wanted 
) [static]

Similar to the above function. However, rather than returning the entire protein, only the loop portion is returned.

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.

PProtein * PSampMethods::MergeProteinByPdbId ( PProtein loop,
PProtein original_protein,
int  startPdbId 
) [static]

Similar to the above function. However, the 0-th residue in the loop becomes the residue with PDB ID startPdbId in the protein.

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.

void PSampMethods::AddSidechain ( string  protein_input,
int  addStart,
int  addEnd,
string  scwrl3_path,
string  protein_output 
) [static]

Add side chains to a portion of a protein using SCWRL3 with option -i, -o and -s. For the details of SCWRL3 and its usage, please go to http://dunbrack.fccc.edu/SCWRL3.php. The protein is specified in PDB format in file protein_input. The protion of the protein from the residue addStart (as in the PDB file) to the residue addEnd is to be placed side chains, while the rest is to serve as the boundary. Please specify the FULL path of your scwrl3 program at scwrl3_path. The entire protein with side-chain-placement in the portion will be written into the file protein_output. Note that, in the output loop file outLoopFile, columns after the 3D coordinates are not meaningful.

vector< PProtein * > PSampMethods::SeedSampleBackboneLoopOnly ( PProtein original_protein,
int  loopSid,
int  loopEid,
int  num_wanted = 1 
) [static]

vector< PProtein * > PSampMethods::SeedSampleBackboneLoopOnly ( PProtein original_protein,
int  loopSid,
int  loopEid,
map< string, PPhiPsiDistribution > &  distri_map,
int  num_wanted = 1 
) [static]

PProtein * PSampMethods::FillMissingLoop ( PProtein original_p,
int  start_pdb_id,
int  end_pdb_id,
vector< string >  loop_seq 
) [static]

Fill in a missing loop in protein original_p from residue ID as in the PDB file start_pdb_id to end_pdb_id with a randomly generated and closed conformation. This conformation is not guaranteed to be collision-free. The original_p is not modified. This function is useful when you want to do seed sampling on a missing loop. Invoke this function first, and then invoke one of the seed sampling functions.


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