IMP logo
IMP Reference Guide  2.6.1
The Integrative Modeling Platform
IMP::kinematics Namespace Reference

Functionality for dealing with kinematic mechanical structures. More...

Detailed Description

Functionality for dealing with kinematic mechanical structures.

Tools for handling the associated internal coordinates system are also provided.

Please note that this module is still at an experimental testing phase and should be used with caution.

Overview

This module provides a variety of functionality for defining and controlling kinematic structures (chains, trees and forests) over sets of rigid body particles. The IMP::kinematics::KinematicForest data structure provides the high-level interface to define the kinematic structure over a set of particles and to control their associated internal coordinates system. The basic building block of a kinematic structures is a kinematic joint (also known in the literature as a 'kinematic pair'), represented in the abstract class IMP::kinematics::Joint. A kinematic joint connects a pair of rigid bodies. See Wikipedia for some background theory about kinematic joints. The kinematics module supports differnt types of joints (prismatic / revolute / etc.) that differ in the constraints on the degrees of freedom of the joint. For instance, a prismatic joint or a slider (IMP::kinematics::PrismaticJoint) allows the two rigid bodies to slide along a shared axis among them (one degree of freedom), whereas a revolute joint (IMP::kinematics::RevoluteJoints) allows only rotation about the shared axis (one degree of freedom). The library also contains composite joints (IMP::kinematics::CompositeJoint) which allows composing several joints over the same pair of rigid bodies.

Conventions

The name "Joint" is used to refer to a kinematic pair between two rigid bodies.

rrt_sample

Sample protein conformations using rapidly exploring random tree (RRT).

rrt_ccd

Sample protein loop conformations using rapidly exploring random tree (RRT).

rmsd_cluster

RMSD based clustering of conformations

For an example of using the rrt_sample command line tool, see the manual.

Info

Author(s): Dina Schneidman, Barak Raveh, Yannick Spill

Maintainer: duhovka, barakr

License: LGPL. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Classes

class  BondAngleRevoluteJoint
 
class  CCDLoopClosure
 
class  CompositeJoint
 
class  DihedralAngleRevoluteJoint
 
class  DOF
 
class  DOFsSampler
 
class  Joint
 
class  KinematicForest
 
class  KinematicForestScoreState
 
class  KinematicNode
 
class  LocalPlanner
 
class  PathLocalPlanner
 
class  PrismaticJoint
 
class  ProteinKinematics
 
class  RevoluteJoint
 
class  RevoluteJointMover
 Modify a set of joints using a normal distribution with zero mean and. More...
 
class  RRT
 
class  TransformationJoint
 
class  UniformBackboneSampler
 

Typedefs

typedef IMP::Vector
< IMP::Pointer
< BondAngleRevoluteJoint > > 
BondAngleRevolteJoints
 
typedef IMP::Vector
< IMP::WeakPointer
< BondAngleRevoluteJoint > > 
BondAngleRevolteJointsTemp
 
typedef IMP::Vector
< IMP::Pointer< CompositeJoint > > 
CompositeJoints
 
typedef IMP::Vector
< IMP::WeakPointer
< CompositeJoint > > 
CompositeJointsTemp
 
typedef IMP::Vector
< IMP::Pointer
< DihedralAngleRevoluteJoint > > 
DihedralAngleRevoluteJoints
 
typedef IMP::Vector
< IMP::WeakPointer
< DihedralAngleRevoluteJoint > > 
DihedralAngleRevoluteJointsTemp
 
typedef IMP::Vector
< DirectionalDOF > 
DirectionalDOFs
 
typedef IMP::Vector
< IMP::Pointer< DOF > > 
DOFs
 
typedef IMP::Vector
< IMP::Pointer< DOFsSampler > > 
DOFsSamplers
 
typedef IMP::Vector
< IMP::WeakPointer
< DOFsSampler > > 
DOFsSamplersTemp
 
typedef IMP::Vector
< IMP::WeakPointer< DOF > > 
DOFsTemp
 
typedef IMP::Vector< DOFValues > DOFValuesList
 
typedef boost::adjacency_list
< boost::vecS, boost::vecS,
boost::undirectedS > 
Graph
 
typedef IMP::Vector
< IMP::Pointer< Joint > > 
Joints
 
typedef IMP::Vector
< IMP::WeakPointer< Joint > > 
JointsTemp
 
typedef IMP::Vector
< IMP::Pointer
< KinematicForest > > 
KinematicForests
 
typedef IMP::Vector
< IMP::WeakPointer
< KinematicForest > > 
KinematicForestsTemp
 
typedef IMP::Vector
< KinematicNode
KinematicNodes
 
typedef IMP::Vector
< IMP::Pointer< LocalPlanner > > 
LocalPlanners
 
typedef IMP::Vector
< IMP::WeakPointer
< LocalPlanner > > 
LocalPlannersTemp
 
typedef IMP::Vector
< IMP::Pointer
< PathLocalPlanner > > 
PathLocalPlanners
 
typedef IMP::Vector
< IMP::WeakPointer
< PathLocalPlanner > > 
PathLocalPlannersTemp
 
typedef IMP::Vector
< IMP::Pointer< PrismaticJoint > > 
PrismaticJoints
 
typedef IMP::Vector
< IMP::WeakPointer
< PrismaticJoint > > 
PrismaticJointsTemp
 
typedef IMP::Vector
< IMP::Pointer< RevoluteJoint > > 
RevoluteJoints
 
typedef IMP::Vector
< IMP::WeakPointer
< RevoluteJoint > > 
RevoluteJointsTemp
 
typedef IMP::Vector
< IMP::Pointer
< TransformationJoint > > 
TransformationJoints
 
typedef IMP::Vector
< IMP::WeakPointer
< TransformationJoint > > 
TransformationJointsTemp
 
typedef IMP::Vector
< IMP::Pointer
< UniformBackboneSampler > > 
UniformBackboneSamplers
 
typedef IMP::Vector
< IMP::WeakPointer
< UniformBackboneSampler > > 
UniformBackboneSamplersTemp
 

Functions

void add_missing_bonds (IMP::ParticlesTemp &atoms, IMP::ParticlesTemp &bonds)
 
IMP::atom::Bond create_bond (IMP::atom::Atoms &as)
 
IMP::atom::Atom find_atom (const IMP::ParticlesTemp &atoms, int input_index)
 
IMP::atom::Residue find_residue (const IMP::ParticlesTemp &residues, int res_index, std::string chain)
 
IMP::atom::Atom get_ca_atom (const IMP::ParticlesTemp &atoms, int residue_index, std::string chain_id)
 
void read_angle_file (const std::string &file_name, const IMP::ParticlesTemp &residues, const IMP::ParticlesTemp &atoms, IMP::atom::Residues &flexible_residues, std::vector< IMP::atom::Atoms > &dihedral_angles)
 
void read_connect_chains_file (const std::string &file_name, const IMP::ParticlesTemp &atoms, std::vector< IMP::atom::Atoms > &connect_atoms)
 
unsigned int rmsd_clustering (const std::vector< IMP::algebra::Vector3Ds > &coords_vec, std::vector< int > &out_cluster_numbers, float rmsd_thr, bool compute_trans)
 

Standard module functions

All IMP modules have a set of standard functions to help get information about the module and about files associated with the module.

std::string get_module_version ()
 
std::string get_module_name ()
 
std::string get_data_path (std::string file_name)
 Return the full path to one of this module's data files. More...
 
std::string get_example_path (std::string file_name)
 Return the full path to one of this module's example files. More...
 

Typedef Documentation

Store a set of objects.

Definition at line 311 of file revolute_joints.h.

Store a set of objects.

Definition at line 130 of file CompositeJoint.h.

Pass a set of objects.

See Also
CompositeJoint

Definition at line 130 of file CompositeJoint.h.

typedef IMP::Vector< DirectionalDOF > IMP::kinematics::DirectionalDOFs

Pass or store a set of DirectionalDOF .

Definition at line 99 of file directional_DOFs.h.

Store a set of objects.

Definition at line 70 of file DOF.h.

Store a set of objects.

Definition at line 84 of file DOFsSampler.h.

Pass a set of objects.

See Also
DOFsSampler

Definition at line 84 of file DOFsSampler.h.

Pass a set of objects.

See Also
DOF

Definition at line 70 of file DOF.h.

Pass or store a set of DOFValues .

Definition at line 87 of file DOFValues.h.

Store a set of objects.

Definition at line 130 of file Joint.h.

Pass a set of objects.

See Also
Joint

Definition at line 130 of file Joint.h.

Store a set of objects.

Definition at line 272 of file KinematicForest.h.

Pass a set of objects.

See Also
KinematicForest

Definition at line 272 of file KinematicForest.h.

Store a set of objects.

Definition at line 84 of file local_planners.h.

Pass a set of objects.

See Also
LocalPlanner

Definition at line 84 of file local_planners.h.

Store a set of objects.

Definition at line 84 of file local_planners.h.

Pass a set of objects.

See Also
PathLocalPlanner

Definition at line 85 of file local_planners.h.

Store a set of objects.

Definition at line 85 of file PrismaticJoint.h.

Pass a set of objects.

See Also
PrismaticJoint

Definition at line 85 of file PrismaticJoint.h.

Store a set of objects.

Definition at line 310 of file revolute_joints.h.

Pass a set of objects.

See Also
RevoluteJoint

Definition at line 310 of file revolute_joints.h.

Store a set of objects.

Definition at line 44 of file TransformationJoint.h.

Function Documentation

std::string IMP::kinematics::get_data_path ( std::string  file_name)

Return the full path to one of this module's data files.

To read the data file "data_library" that was placed in the data directory of this module, do something like

std::ifstream in(IMP::kinematics::get_data_path("data_library"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own data directory, so be sure to use this function from the correct module.
std::string IMP::kinematics::get_example_path ( std::string  file_name)

Return the full path to one of this module's example files.

To read the example file "example_protein.pdb" that was placed in the examples directory of this module, do something like

std::ifstream in(IMP::kinematics::get_example_path("example_protein.pdb"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own example directory, so be sure to use this function from the correct module.