Rosetta Core  2014.35
Namespaces | Typedefs | Functions
interface_vector_calculate.cc File Reference

Calculates the residues at an interface between two protein chains or jump. The calculation is done in the following manner. First the point graph is used to find all residues within some big cutoff of residues on the other chain. For these residues near the interface, two metrics are used to decide if they are actually possible interface residues. The first metric is to iterate through all the side chain atoms in the residue of interest and check to see if their distance is less than the nearby atom cutoff, if so then they are an interface residue. If a residue does not pass that check, then two vectors are drawn, a CA-CB vector and a vector from CB to a CB atom on the neighboring chain. The dot product between these two vectors is then found and if the angle between them is less than some cutoff then they are classified as interface. More...

#include <core/pack/task/operation/util/interface_vector_calculate.hh>
#include <core/pose/Pose.hh>
#include <core/conformation/PointGraph.hh>
#include <core/conformation/find_neighbors.hh>
#include <core/conformation/Residue.hh>
#include <core/conformation/Conformation.hh>
#include <core/chemical/ResidueTypeSet.hh>
#include <core/chemical/ChemicalManager.hh>
#include <core/kinematics/FoldTree.hh>
#include <ObjexxFCL/FArray1D.hh>
#include <utility/string_util.hh>
#include <numeric/conversions.hh>
#include <numeric/xyzVector.hh>
#include <numeric/HomogeneousTransform.hh>
#include <cmath>
#include <set>
#include <core/conformation/PointGraphData.hh>
#include <core/graph/UpperEdgeGraph.hh>
#include <utility/vector1.hh>

Namespaces

 core
 A class for reading in the atom type properties.
 
 core::pack
 
 core::pack::task
 
 core::pack::task::operation
 
 core::pack::task::operation::util
 

Typedefs

typedef std::pair< std::set
< core::Size >, std::set
< core::Size > > 
core::pack::task::operation::util::InterfacePair
 
typedef
numeric::HomogeneousTransform
< core::Real
core::pack::task::operation::util::HTReal
 

Functions

void core::pack::task::operation::util::find_interface_pointing_residues_from_neighbs (core::pose::Pose const &pose, InterfacePair const &interface_pair, core::Real const nearby_atom_cutoff, core::Real const vector_angle_cutoff, core::Real const vector_dist_cutoff, utility::vector1_bool &interface_residues)
 looks at the big set and figures out what is actually pointing towards the interface More...
 
bool core::pack::task::operation::util::any_atoms_within_cutoff (core::conformation::Residue &res1, core::conformation::Residue &res2, core::Real cutoff)
 find nearby atoms to other in interface More...
 
InterfacePair core::pack::task::operation::util::find_neighbors_within_CB_cutoff (core::pose::Pose const &pose, core::Real big_cutoff, core::Size chain1, core::Size chain2)
 neighbors to look for vectors within (big set here) More...
 
InterfacePair core::pack::task::operation::util::find_jump_partners_within_CB_cutoff (core::pose::Pose const &pose, core::Real big_cutoff, int jump_num)
 find neighbors to look for vectors within using a big cutoff for CBs More...
 
numeric::xyzVector< core::Realcore::pack::task::operation::util::cbeta_vector (core::conformation::Residue &res)
 the Cbeta vector(s) from on rsd to another More...
 
numeric::xyzVector< core::Realcore::pack::task::operation::util::select_coord_for_residue (core::conformation::Residue &res)
 the action coordinate for each residue More...
 
bool core::pack::task::operation::util::res1_pointed_at_res2 (core::conformation::Residue &res1, core::conformation::Residue &res2, core::Real angle_cutoff, core::Real dist_cutoff)
 out if res1 and res2 are pointing at eachother More...
 
void core::pack::task::operation::util::fill_in_chain_terminii (core::pose::Pose const &pose, core::Size chain1, core::Size chain2)
 
utility::vector1_bool core::pack::task::operation::util::calc_interface_vector (core::pose::Pose const &pose, core::Size const chain1_number, core::Size const chain2_number)
 
utility::vector1_bool core::pack::task::operation::util::calc_interface_vector (core::pose::Pose const &pose, core::Size const chain1_number, core::Size const chain2_number, core::Real const CB_dist_cutoff, core::Real const nearby_atom_cutoff, core::Real const vector_angle_cutoff, core::Real const vector_dist_cutoff)
 
utility::vector1_bool core::pack::task::operation::util::calc_interface_vector (core::pose::Pose const &pose, int const interface_jump, core::Real const CB_dist_cutoff, core::Real const nearby_atom_cutoff, core::Real const vector_angle_cutoff, core::Real const vector_dist_cutoff)
 
utility::vector1_bool core::pack::task::operation::util::calc_interface_vector (core::pose::Pose const &pose, int const interface_jump)
 
utility::vector1_bool core::pack::task::operation::util::calc_interacting_vector (core::pose::Pose const &pose, std::set< core::Size > const &part1res, std::set< core::Size > const &part2res, core::Real const CB_dist_cutoff, core::Real const nearby_atom_cutoff, core::Real const vector_angle_cutoff, core::Real const vector_dist_cutoff)
 calculate the same thing but don't require an interface More...
 

Detailed Description

Calculates the residues at an interface between two protein chains or jump. The calculation is done in the following manner. First the point graph is used to find all residues within some big cutoff of residues on the other chain. For these residues near the interface, two metrics are used to decide if they are actually possible interface residues. The first metric is to iterate through all the side chain atoms in the residue of interest and check to see if their distance is less than the nearby atom cutoff, if so then they are an interface residue. If a residue does not pass that check, then two vectors are drawn, a CA-CB vector and a vector from CB to a CB atom on the neighboring chain. The dot product between these two vectors is then found and if the angle between them is less than some cutoff then they are classified as interface.

Author
Ben Stranges (stran.nosp@m.ges@.nosp@m.unc.e.nosp@m.du)