IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
#include <IMP/kinematics/ProteinKinematics.h>
Kinematic structure over a protein, with backbone and side chain dihedrals. Should only be applied one over a given set of particles.
Note: Particles that are handled by this class should never be decorated with IMP::core::RigidBody externally, as this could lead to unexpected behavior (e.g., wrong coordinates) and it cannot be detected by IMP at the current time.
Definition at line 55 of file ProteinKinematics.h.
Public Member Functions | |
ProteinKinematics (atom::Hierarchy mhd, bool flexible_backbone=true, bool flexible_side_chains=false) | |
Constructor with all phi/psi rotatable. More... | |
ProteinKinematics (atom::Hierarchy mhd, const atom::Residues &flexible_residues, const ParticleIndexQuads custom_dihedral_angles, atom::Atoms open_loop_bond_atoms=atom::Atoms(), bool flexible_backbone=true, bool flexible_side_chains=false) | |
ProteinKinematics (atom::Hierarchy mhd, const atom::Residues &flexible_residues, const std::vector< atom::Atoms > &custom_dihedral_atoms, atom::Atoms open_loop_bond_atoms=atom::Atoms(), bool flexible_backbone=true, bool flexible_side_chains=false) | |
ProteinKinematics (atom::Hierarchy mhd, const atom::Residues &flexible_residues, const ParticleIndexQuads custom_dihedral_angles, const std::vector< ProteinAngleType > &custom_dihedral_angle_types, atom::Atoms open_loop_bond_atoms=atom::Atoms(), bool flexible_backbone=true, bool flexible_side_chains=false) | |
void | add_dihedral_joint (const atom::Residue r, ProteinAngleType angle_type, const atom::Atoms &atoms) |
void | add_dihedral_joints (const std::vector< atom::Residue > &residues, ProteinAngleType angle_type, const std::vector< atom::Atoms > &dihedral_angles) |
void | build_rigid_bodies () |
automatically build rigid bodies for the protein kinematics structure More... | |
void | build_topology_graph () |
DihedralAngleRevoluteJoint * | get_chi1_joint (const atom::Residue r) const |
DihedralAngleRevoluteJoint * | get_chi2_joint (const atom::Residue r) const |
DihedralAngleRevoluteJoint * | get_chi3_joint (const atom::Residue r) const |
DihedralAngleRevoluteJoint * | get_chi4_joint (const atom::Residue r) const |
DihedralAngleRevoluteJoint * | get_chi5_joint (const atom::Residue r) const |
DihedralAngleRevoluteJoint * | get_joint (const atom::Residue r, ProteinAngleType angle) const |
DihedralAngleRevoluteJoints | get_joints () |
returns a list of all joints associated with the ProteinKinematics structure More... | |
KinematicForest * | get_kinematic_forest () |
DihedralAngleRevoluteJoints | get_loop_joints () |
DihedralAngleRevoluteJoints | get_ordered_joints () |
DihedralAngleRevoluteJoint * | get_other_joint (const atom::Residue r) const |
double | get_phi (const atom::Residue r) const |
get phi angle associated with residue r More... | |
DihedralAngleRevoluteJoint * | get_phi_joint (const atom::Residue r) const |
double | get_psi (const atom::Residue r) const |
get psi angle associated with residue r More... | |
DihedralAngleRevoluteJoint * | get_psi_joint (const atom::Residue r) const |
core::RigidBodies | get_rigid_bodies () |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
void | mark_rotatable_angle (const std::vector< atom::Atom > &dihedral_angle) |
void | mark_rotatable_angles (const std::vector< atom::Atoms > &dihedral_angles) |
void | open_loop (atom::Atoms open_loop_bond_atoms) |
void | order_rigid_bodies (const std::vector< atom::Atoms > &dihedral_angles, const std::vector< atom::Atoms > &phi_angles, const std::vector< atom::Atoms > &psi_angles, const std::vector< atom::Atoms > &chi1_angles, const std::vector< atom::Atoms > &chi2_angles, const std::vector< atom::Atoms > &chi3_angles, const std::vector< atom::Atoms > &chi4_angles, const std::vector< atom::Atoms > &chi5_angles, atom::Atoms open_loop_bond_atoms) |
void | set_phi (const atom::Residue r, double angle) |
void | set_psi (const atom::Residue r, double angle) |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
IMP::kinematics::ProteinKinematics::ProteinKinematics | ( | atom::Hierarchy | mhd, |
bool | flexible_backbone = true , |
||
bool | flexible_side_chains = false |
||
) |
Constructor with all phi/psi rotatable.
mhd | hierarchy of a protein, obtained by e.g. reading a Pdb using IMP::Atom::read_pdb() |
flexible_backbone | whether all phi/psi angles are flexible |
flexible_side_chains | whether all chi angles are flexible (currently not implemented) |
IMP::kinematics::ProteinKinematics::ProteinKinematics | ( | atom::Hierarchy | mhd, |
const atom::Residues & | flexible_residues, | ||
const ParticleIndexQuads | custom_dihedral_angles, | ||
atom::Atoms | open_loop_bond_atoms = atom::Atoms() , |
||
bool | flexible_backbone = true , |
||
bool | flexible_side_chains = false |
||
) |
mhd | hierarchy of a protein, obtained by e.g. reading a Pdb using IMP::Atom::read_pdb() |
flexible_residues | all residues for which non-custom backbone of side-chain dihedrals may be flexible (side-chains are not implemented as of May 2017) |
custom_dihedral_angles | IMP::ParticleIndexQuads - list of four particles that define a custom dihedral angle |
flexible_backbone | whether all phi/psi angles in flexible_residues are flexible |
flexible_side_chains | whether all chi angles in flexible_residues are flexible (currently not implemented) |
IMP::kinematics::ProteinKinematics::ProteinKinematics | ( | atom::Hierarchy | mhd, |
const atom::Residues & | flexible_residues, | ||
const std::vector< atom::Atoms > & | custom_dihedral_atoms, | ||
atom::Atoms | open_loop_bond_atoms = atom::Atoms() , |
||
bool | flexible_backbone = true , |
||
bool | flexible_side_chains = false |
||
) |
mhd | hierarchy of a protein, obtained by e.g. reading a Pdb using IMP::Atom::read_pdb() |
flexible_residues | all residues for which non-custom backbone of side-chain dihedrals may be flexible (side-chains are not implemented as of May 2017) |
custom_dihedral_atoms | lists of four atoms that define a custom dihedral angle !!Only accessible from C++ use custom_dihedral_angles if constructingi n python. |
open_loop_bond_atoms | TODO: document |
flexible_backbone | whether all phi/psi angles in flexible_residues are flexible |
flexible_side_chains | whether all chi angles in flexible_residues are flexible (currently not implemented) |
IMP::kinematics::ProteinKinematics::ProteinKinematics | ( | atom::Hierarchy | mhd, |
const atom::Residues & | flexible_residues, | ||
const ParticleIndexQuads | custom_dihedral_angles, | ||
const std::vector< ProteinAngleType > & | custom_dihedral_angle_types, | ||
atom::Atoms | open_loop_bond_atoms = atom::Atoms() , |
||
bool | flexible_backbone = true , |
||
bool | flexible_side_chains = false |
||
) |
mhd | hierarchy of a protein, obtained by e.g. reading a Pdb using IMP::Atom::read_pdb() |
flexible_residues | all residues for which non-custom backbone of side-chain dihedrals may be flexible (side-chains are not implemented as of May 2017) |
custom_dihedral_angles | IMP::ParticleIndexQuads - list of four particles that define a custom dihedral angle |
custom_dihedral_angle_types | the types of all custom dihedral angles (a list of the same size) |
open_loop_bond_atoms | TODO: document |
flexible_backbone | whether all phi/psi angles in flexible_residues are flexible |
flexible_side_chains | whether all chi angles in flexible_residues are flexible (currently not implemented) |
void IMP::kinematics::ProteinKinematics::build_rigid_bodies | ( | ) |
automatically build rigid bodies for the protein kinematics structure
DihedralAngleRevoluteJoints IMP::kinematics::ProteinKinematics::get_joints | ( | ) |
returns a list of all joints associated with the ProteinKinematics structure
Definition at line 174 of file ProteinKinematics.h.
KinematicForest* IMP::kinematics::ProteinKinematics::get_kinematic_forest | ( | ) |
returns the kinematic forest associated with this ProteinKinematics object
Definition at line 192 of file ProteinKinematics.h.
DihedralAngleRevoluteJoints IMP::kinematics::ProteinKinematics::get_ordered_joints | ( | ) |
return joints sorted by BFS traversal from the root(s) of the kinematic structure
Definition at line 182 of file ProteinKinematics.h.
double IMP::kinematics::ProteinKinematics::get_phi | ( | const atom::Residue | r | ) | const |
get phi angle associated with residue r
Definition at line 162 of file ProteinKinematics.h.
double IMP::kinematics::ProteinKinematics::get_psi | ( | const atom::Residue | r | ) | const |
get psi angle associated with residue r
Definition at line 168 of file ProteinKinematics.h.
core::RigidBodies IMP::kinematics::ProteinKinematics::get_rigid_bodies | ( | ) |
get all rigid bodies that were automatically generated in the tree
Definition at line 196 of file ProteinKinematics.h.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 214 of file ProteinKinematics.h.
void IMP::kinematics::ProteinKinematics::mark_rotatable_angle | ( | const std::vector< atom::Atom > & | dihedral_angle | ) |
mark a single dihedral angle as rotatable - remove the edge of the rotatable bond from graph_, and add it to rb_graph
void IMP::kinematics::ProteinKinematics::mark_rotatable_angles | ( | const std::vector< atom::Atoms > & | dihedral_angles | ) |
mark specified dihedral angles as rotatable - remove the edges of the rotatable bonds from graph_, and add them to rb_graph