Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::scoring::Interface Class Reference

#include <Interface.hh>

Inheritance diagram for protocols::scoring::Interface:
Inheritance graph
[legend]

Public Types

typedef core::pack::task::PackerTaskOP PackerTaskOP
 
typedef core::Real Real
 

Public Member Functions

 Interface ()
 
 Interface (core::Size const jump_number_in)
 
 Interface (ObjexxFCL::FArray1D_bool partner)
 
void jump (core::Size const jump_number)
 
core::Size jump_id () const
 
void calculate (core::pose::Pose const &pose)
 base for calculating the interface More...
 
void print (core::pose::Pose const &pose)
 print out the interface information More...
 
void show (core::pose::Pose const &pose)
 
void show (std::ostream &out, core::pose::Pose const &pose)
 
void set_pack (core::pose::Pose const &pose, PackerTaskOP task)
 sets up which residues are to be packed More...
 
core::Size closest_interface_residue (core::pose::Pose const &pose, core::Size src_rsd, core::Real &distance)
 find the nearest residue at the interface to a given residue More...
 
void distance (Real const distance_in)
 
core::Vector center (core::pose::Pose const &pose)
 calculates the center of mass of interface residues More...
 
bool is_interface (core::conformation::Residue const &rsd) const
 
bool is_interface (core::Size const position) const
 
core::Size interface_nres ()
 returns the total number of residues on both sides of the interface for a given jump More...
 
bool is_pair (core::conformation::Residue const &rsd1, core::conformation::Residue const &rsd2)
 returns whether the rsd1 and rsd2 are considered a contact pair based on contact_list_ array More...
 
void set_symmetric_pack (core::pose::Pose const &pose, PackerTaskOP task)
 
utility::vector1< utility::vector1_int > pair_list ()
 Get two lists containing the residues on each side of the interface. More...
 
utility::vector1< utility::vector1_size > contact_list ()
 The contact_list is pose.size() long, each element (contact_list_[i]) contains a list of residues from the other partner that interacts with residue i. This is calculated in protein_calculate, and used by Interface.is_pair() function as well as the interchain_vdw, interchain_env, and interchain_pair scoring components. More...
 

Private Member Functions

void protein_calculate (core::pose::Pose const &pose)
 calculate the protein-protien interface More...
 
void ligand_calculate (core::pose::Pose const &pose)
 
void NA_calculate (core::pose::Pose const &)
 
void symmetric_protein_calculate (core::pose::Pose const &pose)
 

Private Attributes

core::Size jump_number_
 
Real distance_squared_
 
ObjexxFCL::FArray1D_bool partner_
 
ObjexxFCL::FArray1D_bool is_interface_
 
utility::vector1< utility::vector1_int > pair_list_
 
utility::vector1< utility::vector1_size > contact_list_
 
bool use_input_partners_
 

Member Typedef Documentation

◆ PackerTaskOP

◆ Real

Constructor & Destructor Documentation

◆ Interface() [1/3]

protocols::scoring::Interface::Interface ( )
inline

◆ Interface() [2/3]

protocols::scoring::Interface::Interface ( core::Size const  jump_number_in)
inline

◆ Interface() [3/3]

protocols::scoring::Interface::Interface ( ObjexxFCL::FArray1D_bool  partner)
inline

Member Function Documentation

◆ calculate()

void protocols::scoring::Interface::calculate ( core::pose::Pose const &  pose)

base for calculating the interface

decide which type of an interface calculation to use

Author
Monica Berrondo October 19 2007

References core::kinematics::FoldTree::downstream_jump_residue(), core::pose::Pose::energies(), core::pose::Pose::fold_tree(), core::conformation::Residue::is_ligand(), core::conformation::Residue::is_NA(), core::conformation::symmetry::is_symmetric(), core::conformation::Residue::is_virtual_residue(), protocols::scoring::max_interchain_sites(), core::pose::Pose::num_jump(), core::kinematics::FoldTree::partition_by_jump(), core::pose::Pose::residue(), core::pose::Pose::size(), TR(), and core::kinematics::FoldTree::upstream_jump_residue().

Referenced by protocols::docking::membrane::MPFindInterfaceMover::apply(), protocols::protein_interface_design::movers::DisulfideMover::apply(), protocols::protein_interface_design::movers::LoopFinder::apply(), protocols::symmetric_docking::SymRestrictTaskForDocking::apply(), protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::protein_interface_design::movers::DesignMinimizeHbonds::apply(), protocols::simple_filters::EnergyPerResidueFilter::apply_helper(), protocols::docking::calc_Fnat(), protocols::docking::calc_Fnonnat(), protocols::geometry::centroids_by_jump_int(), protocols::protein_interface_design::filters::InterfaceHolesFilter::compute(), protocols::protein_interface_design::filters::SpecificResiduesNearInterfaceFilter::compute(), protocols::simple_filters::InterfaceHbondsFilter::compute_salt_bridges(), protocols::ub_e2c::ubi_e2c_modeler::CSP_fraction(), protocols::ddG_main(), protocols::seeded_abinitio::define_movemap_chains(), protocols::protein_interface_design::movers::DisulfideMover::disulfide_list(), protocols::docking::EllipsoidalRandomizationMover::get_interface_residues(), protocols::ub_e2c::ubi_e2c_modeler::monoub_CSP_fraction(), protocols::docking::move_together(), protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::pair_sets_with_positions(), protocols::ddg::ddGMover::relax_wildtype_structure(), protocols::enzdes::LigInterfaceEnergyFilter::report(), protocols::simple_ddg::AlaScan::report(), protocols::simple_ddg::AlaScan::report_symmetry(), protocols::calc_taskop_movers::DesignRepackMover::setup_packer_and_movemap(), and protocols::docking::ConformerSwitchMover::switch_conformer().

◆ center()

core::Vector protocols::scoring::Interface::center ( core::pose::Pose const &  pose)

calculates the center of mass of interface residues

calculate the center of mass of the interface loops over all residues at the interface and gets the xyz coordinates for the c-alpha atom of that residue

References: pose_docking_calc_interface from pose_docking.cc
Author
Monica Berrondo June 14 2007

References core::conformation::membrane::center, core::conformation::Residue::nbr_atom_xyz(), core::pose::Pose::residue(), and core::pose::Pose::size().

◆ closest_interface_residue()

core::Size protocols::scoring::Interface::closest_interface_residue ( core::pose::Pose const &  pose,
core::Size  src_rsd,
core::Real distance 
)

find the nearest residue at the interface to a given residue

Author
Monica Berrondo November 18, 2010

References core::kinematics::distance(), core::conformation::Residue::nbr_atom_xyz(), core::pose::Pose::residue(), and core::pose::Pose::size().

◆ contact_list()

utility::vector1< utility::vector1_size > protocols::scoring::Interface::contact_list ( )
inline

The contact_list is pose.size() long, each element (contact_list_[i]) contains a list of residues from the other partner that interacts with residue i. This is calculated in protein_calculate, and used by Interface.is_pair() function as well as the interchain_vdw, interchain_env, and interchain_pair scoring components.

◆ distance()

void protocols::scoring::Interface::distance ( Real const  distance_in)

◆ interface_nres()

core::Size protocols::scoring::Interface::interface_nres ( )

returns the total number of residues on both sides of the interface for a given jump

◆ is_interface() [1/2]

bool protocols::scoring::Interface::is_interface ( core::conformation::Residue const &  rsd) const

References core::conformation::Residue::seqpos().

Referenced by protocols::protein_interface_design::movers::DisulfideMover::apply(), protocols::protein_interface_design::movers::LoopFinder::apply(), protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::protein_interface_design::movers::DesignMinimizeHbonds::apply(), protocols::simple_filters::EnergyPerResidueFilter::apply_helper(), protocols::docking::calc_Fnat(), protocols::docking::calc_Fnonnat(), protocols::docking::membrane::MPFindInterfaceMover::calculate_interface_SASA(), protocols::geometry::centroids_by_jump_int(), protocols::protein_interface_design::filters::SpecificResiduesNearInterfaceFilter::compute(), protocols::ub_e2c::ubi_e2c_modeler::CSP_fraction(), protocols::ddG_main(), protocols::seeded_abinitio::define_movemap_chains(), protocols::docking::membrane::MPFindInterfaceMover::fractions_small_residues(), protocols::docking::EllipsoidalRandomizationMover::get_interface_residues(), protocols::ub_e2c::ubi_e2c_modeler::monoub_CSP_fraction(), protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::pair_sets_with_positions(), protocols::ddg::ddGMover::relax_wildtype_structure(), protocols::enzdes::LigInterfaceEnergyFilter::report(), protocols::simple_ddg::AlaScan::report(), protocols::simple_ddg::AlaScan::report_symmetry(), protocols::calc_taskop_movers::DesignRepackMover::setup_packer_and_movemap(), protocols::ddg::ddGMover::setup_packer_task_for_mutations(), and protocols::docking::ConformerSwitchMover::switch_conformer().

◆ is_interface() [2/2]

bool protocols::scoring::Interface::is_interface ( core::Size const  position) const

◆ is_pair()

bool protocols::scoring::Interface::is_pair ( core::conformation::Residue const &  rsd1,
core::conformation::Residue const &  rsd2 
)

returns whether the rsd1 and rsd2 are considered a contact pair based on contact_list_ array

Function to determine whether two residues are a "pair" for docking-type scoring calculations, such as vdw and pair across an interface

References core::conformation::Residue::seqpos().

Referenced by protocols::simple_filters::InterfaceHbondsFilter::compute_salt_bridges(), protocols::protein_interface_design::movers::DisulfideMover::disulfide_list(), and protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::pair_sets_with_positions().

◆ jump()

void protocols::scoring::Interface::jump ( core::Size const  jump_number)

◆ jump_id()

core::Size protocols::scoring::Interface::jump_id ( ) const
inline

◆ ligand_calculate()

void protocols::scoring::Interface::ligand_calculate ( core::pose::Pose const &  pose)
private

◆ NA_calculate()

void protocols::scoring::Interface::NA_calculate ( core::pose::Pose const &  pose)
private

◆ pair_list()

utility::vector1< utility::vector1_int > protocols::scoring::Interface::pair_list ( )
inline

Get two lists containing the residues on each side of the interface.

You might expect something called pair_list() to output pairs or somehow relate to the is_pair function, but it does not. It returns a two element list.

  • The first element is a list of all residues on the lower partner of the interface.
  • The second element is a list of all the residues in the interface on the upper partner. Both lists are sorted by residue number, so the indices of one list have no relationship to the other list.
    Todo:

    rename this to something more logical & give it a better return type

    make a function that returns a vector1<pair<core::Size,Size> > containing all interacting pairs. This would be easy to implement.

Referenced by protocols::protein_interface_design::movers::DisulfideMover::disulfide_list().

◆ print()

void protocols::scoring::Interface::print ( core::pose::Pose const &  pose)

print out the interface information

Author
Monica Berrondo November 07 2007

Referenced by protocols::ddG_main().

◆ protein_calculate()

void protocols::scoring::Interface::protein_calculate ( core::pose::Pose const &  pose)
private

calculate the protein-protien interface

decide which type of an interface calculation to use calculate the residues that are at the interface this uses the CAlpha class (at least for now) which gets the distances between c-alpha atoms Returns a vector of bools, true if at interface, false otherwise

This uses partition_by_jump to determine which residues belong to each partner those on one side of the jump are set to 0, the others are set to 1 A residue is at the interface if it is within 8A radius of the residue in question on the other partner

References: pose_docking_calc_interface from pose_docking.cc
Author
Monica Berrondo June 14 2007

References core::sequence::end, core::pose::Pose::energies(), core::scoring::Energies::energy_graph(), core::conformation::Residue::is_water(), and core::pose::Pose::residue().

◆ set_pack()

void protocols::scoring::Interface::set_pack ( core::pose::Pose const &  pose,
PackerTaskOP  task 
)

sets up which residues are to be packed

References: pose_docking_repack from pose_docking.cc
Author
Monica Berrondo June 14 2007

References core::kinematics::FoldTree::cutpoint_by_jump(), core::pose::Pose::fold_tree(), core::conformation::Residue::is_ligand(), core::pose::Pose::residue(), and core::pose::Pose::size().

◆ set_symmetric_pack()

void protocols::scoring::Interface::set_symmetric_pack ( core::pose::Pose const &  pose,
PackerTaskOP  task 
)

◆ show() [1/2]

void protocols::scoring::Interface::show ( core::pose::Pose const &  pose)

References TR().

◆ show() [2/2]

void protocols::scoring::Interface::show ( std::ostream &  out,
core::pose::Pose const &  pose 
)

◆ symmetric_protein_calculate()

void protocols::scoring::Interface::symmetric_protein_calculate ( core::pose::Pose const &  pose)
private

Member Data Documentation

◆ contact_list_

utility::vector1< utility::vector1_size > protocols::scoring::Interface::contact_list_
private

◆ distance_squared_

Real protocols::scoring::Interface::distance_squared_
private

◆ is_interface_

ObjexxFCL::FArray1D_bool protocols::scoring::Interface::is_interface_
private

◆ jump_number_

core::Size protocols::scoring::Interface::jump_number_
private

◆ pair_list_

utility::vector1< utility::vector1_int > protocols::scoring::Interface::pair_list_
private

◆ partner_

ObjexxFCL::FArray1D_bool protocols::scoring::Interface::partner_
private

◆ use_input_partners_

bool protocols::scoring::Interface::use_input_partners_
private

The documentation for this class was generated from the following files: