Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
protocols::sewing::hashing::LigandBindingResPlacer Class Reference

#include <LigandBindingResPlacer.hh>

Inheritance diagram for protocols::sewing::hashing::LigandBindingResPlacer:
Inheritance graph
[legend]

Public Member Functions

 LigandBindingResPlacer ()
 Default constructor. More...
 
 LigandBindingResPlacer (utility::pointer::shared_ptr< std::map< char, LigandHashMap > > coords, data_storage::LigandResidueOP ligand_residue)
 Constructor with arguments. More...
 
std::map< std::pair
< core::Size, core::Size >
, std::set< LigandCoordInfo > > 
identify_possible_binders (data_storage::SmartAssemblyCOP assembly)
 Checks all residue stubs in assembly vs metal coordinates to determine which residues are potentially metal-coordinating. Return a set of SmartSewingResidueOP. More...
 
core::conformation::ResidueOP make_aligned_residue (data_storage::SmartSewingResidueOP, std::string)
 
std::pair
< data_storage::SmartSegmentOP,
bool
choose_best_metal_coordinator (data_storage::SmartAssemblyOP assembly)
 Finds the best residue/rotamer to coordinate metal (Main function for class) More...
 
std::pair< LigandCoordInfo,
core::Real
best_rotamer_for_residue (std::pair< core::Size, core::Size > res, std::set< LigandCoordInfo > res_coord, data_storage::SmartAssemblyOP assembly)
 Finds the best residue/rotamer to coordinate metal for a given residue and returns for each residue type a pair of (LigandCoordInfo, distance) where distance is the distance of the metal from its ideal position. More...
 
void replace_chimaera_ligand_parent (data_storage::SmartAssemblyOP assembly, data_storage::SmartSegmentOP chimaeric_segment, data_storage::LigandSegmentOP replacement_ligseg, bool change_n_terminal_parent, bool first_basis_is_n_terminal, core::Size chimaeric_contact_resnum, utility::vector1< std::pair< std::pair< core::Size, core::Size >, std::pair< LigandCoordInfo, core::Real > > > res_scores)
 
void revert_last_added_contact (data_storage::SmartAssemblyOP assembly)
 
data_storage::LigandResidueOP get_ligand () const
 
std::map< std::pair
< core::Size, core::Size >
, std::set< LigandCoordInfo >
> const & 
get_possible_coordinations () const
 
utility::pointer::shared_ptr
< std::map< char,
LigandHashMap > const > 
get_ligand_local_coords () const
 
core::Size contacts_remaining () const
 
core::Real get_geometry_score_weight () const
 
core::Real get_best_geometry_score () const
 
void set_ligand (data_storage::LigandResidueOP lig)
 
void set_geometry_score_weight (core::Real)
 
void set_best_geometry_score (core::Real)
 
void set_ligand_local_coords (utility::pointer::shared_ptr< std::map< char, LigandHashMap > > ligand_local_coords)
 

Static Public Member Functions

static void parse_ligand_files (utility::vector1< data_storage::LigandDescription > &ligands)
 Parses the ligand file format. More...
 
static HashKey generate_ligand_key (numeric::xyzVector< core::Real >)
 Generates a HashKey from an xyzVector of core::Real. More...
 
static void parse_ideal_contacts (utility::tag::TagCOP tag, utility::vector1< data_storage::LigandDescription > &ligands)
 
static void define_ideal_contacts_subelement (utility::tag::XMLSchemaSimpleSubelementList &subs, utility::tag::XMLSchemaDefinition &xsd)
 
static std::string ligand_subtag_ct_namer (std::string tag)
 

Private Attributes

data_storage::LigandResidueOP ligand_
 
utility::pointer::shared_ptr
< std::map< char,
LigandHashMap > > 
ligand_local_coords_
 
std::map< std::pair
< core::Size, core::Size >
, std::set< LigandCoordInfo > > 
possible_coordinations_
 
core::Size contacts_to_make_
 
data_storage::LigandContactOP last_contact_added_
 
core::Real geometry_score_weight_
 
core::Real best_geometry_score_ = 0
 
core::chemical::AtomTypeSetCAP atom_types_
 

Detailed Description

Given a ligand and an assembly, this class identifies the potential best mutations (with chi angles) to make to add a coordinating residue to the ligand. Another class will test the geometries and make the mutations.

Constructor & Destructor Documentation

protocols::sewing::hashing::LigandBindingResPlacer::LigandBindingResPlacer ( )

Default constructor.

References atom_types_.

protocols::sewing::hashing::LigandBindingResPlacer::LigandBindingResPlacer ( utility::pointer::shared_ptr< std::map< char, LigandHashMap > >  coords,
data_storage::LigandResidueOP  ligand_residue 
)

Member Function Documentation

std::pair< LigandCoordInfo, core::Real > protocols::sewing::hashing::LigandBindingResPlacer::best_rotamer_for_residue ( std::pair< core::Size, core::Size res,
std::set< LigandCoordInfo res_coord,
data_storage::SmartAssemblyOP  assembly 
)
std::pair< data_storage::SmartSegmentOP, bool > protocols::sewing::hashing::LigandBindingResPlacer::choose_best_metal_coordinator ( data_storage::SmartAssemblyOP  assembly)
core::Size protocols::sewing::hashing::LigandBindingResPlacer::contacts_remaining ( ) const

References contacts_to_make_.

void protocols::sewing::hashing::LigandBindingResPlacer::define_ideal_contacts_subelement ( utility::tag::XMLSchemaSimpleSubelementList &  subs,
utility::tag::XMLSchemaDefinition &  xsd 
)
static
HashKey protocols::sewing::hashing::LigandBindingResPlacer::generate_ligand_key ( numeric::xyzVector< core::Real coords)
static

Generates a HashKey from an xyzVector of core::Real.

First identify possible metal binding residues Iterate over all residues in the set Find best coordinating rotamer for each residue per restype

References protocols::noesy_assign::round().

Referenced by identify_possible_binders(), and parse_ligand_files().

core::Real protocols::sewing::hashing::LigandBindingResPlacer::get_best_geometry_score ( ) const

References best_geometry_score_.

core::Real protocols::sewing::hashing::LigandBindingResPlacer::get_geometry_score_weight ( ) const
data_storage::LigandResidueOP protocols::sewing::hashing::LigandBindingResPlacer::get_ligand ( ) const

References ligand_.

utility::pointer::shared_ptr< std::map< char, LigandHashMap > const > protocols::sewing::hashing::LigandBindingResPlacer::get_ligand_local_coords ( ) const

References ligand_local_coords_.

std::map< std::pair< core::Size, core::Size >, std::set< LigandCoordInfo > > const & protocols::sewing::hashing::LigandBindingResPlacer::get_possible_coordinations ( ) const
std::map< std::pair< core::Size, core::Size >, std::set< LigandCoordInfo > > protocols::sewing::hashing::LigandBindingResPlacer::identify_possible_binders ( data_storage::SmartAssemblyCOP  assembly)

Checks all residue stubs in assembly vs metal coordinates to determine which residues are potentially metal-coordinating. Return a set of SmartSewingResidueOP.

First format: Map of (secstruct, map( restype, vector< LigandCoordInfo> ) ) Second format: Map of secstruct to a std::set of zinc HashKeys (generated the same basic way we do in Hasher)

References atom_types_, core::kinematics::distance(), core::sequence::end, generate_ligand_key(), core::kinematics::Stub::global2local(), ligand_, ligand_local_coords_, and protocols::TR().

Referenced by choose_best_metal_coordinator().

std::string protocols::sewing::hashing::LigandBindingResPlacer::ligand_subtag_ct_namer ( std::string  tag)
static
core::conformation::ResidueOP protocols::sewing::hashing::LigandBindingResPlacer::make_aligned_residue ( data_storage::SmartSewingResidueOP  base_res,
std::string  type 
)

Iterate over all segments Iterate over all residues in the segment If it's a required residue, skip it Otherwise, convert it to a stub Transform the ligand's coordinates into the stub's local coordinates Convert the ligand atoms' coordinates into HashKeys Look for the HashKeys in the appropriate HashMap for this DSSP, and compare the atom name to see if it's a real match If it's there, add this residue to the map with the corresponding entries from LigandCoordInfo

References protocols::TR(), and protocols::kinmatch::xyz().

Referenced by best_rotamer_for_residue(), choose_best_metal_coordinator(), and replace_chimaera_ligand_parent().

void protocols::sewing::hashing::LigandBindingResPlacer::parse_ideal_contacts ( utility::tag::TagCOP  tag,
utility::vector1< data_storage::LigandDescription > &  ligands 
)
static
void protocols::sewing::hashing::LigandBindingResPlacer::parse_ligand_files ( utility::vector1< data_storage::LigandDescription > &  ligands)
static
void protocols::sewing::hashing::LigandBindingResPlacer::replace_chimaera_ligand_parent ( data_storage::SmartAssemblyOP  assembly,
data_storage::SmartSegmentOP  chimaeric_segment,
data_storage::LigandSegmentOP  replacement_ligseg,
bool  change_n_terminal_parent,
bool  first_basis_is_n_terminal,
core::Size  chimaeric_contact_resnum,
utility::vector1< std::pair< std::pair< core::Size, core::Size >, std::pair< LigandCoordInfo, core::Real > > >  res_scores 
)

For the given residue, does the following: 1) Looks the residue up in possible_coordinations_ Make a residue of the appropriate type and transform it onto res Iterate over LigandCoorInfo and for each one set the chi angles

References ligand_, and make_aligned_residue().

Referenced by choose_best_metal_coordinator().

void protocols::sewing::hashing::LigandBindingResPlacer::revert_last_added_contact ( data_storage::SmartAssemblyOP  assembly)
void protocols::sewing::hashing::LigandBindingResPlacer::set_best_geometry_score ( core::Real  best)

References best_geometry_score_.

void protocols::sewing::hashing::LigandBindingResPlacer::set_geometry_score_weight ( core::Real  gsw)
void protocols::sewing::hashing::LigandBindingResPlacer::set_ligand ( data_storage::LigandResidueOP  lig)

References contacts_to_make_, and ligand_.

void protocols::sewing::hashing::LigandBindingResPlacer::set_ligand_local_coords ( utility::pointer::shared_ptr< std::map< char, LigandHashMap > >  ligand_local_coords)

References ligand_local_coords_.

Member Data Documentation

core::chemical::AtomTypeSetCAP protocols::sewing::hashing::LigandBindingResPlacer::atom_types_
private
core::Real protocols::sewing::hashing::LigandBindingResPlacer::best_geometry_score_ = 0
private
core::Size protocols::sewing::hashing::LigandBindingResPlacer::contacts_to_make_
private
core::Real protocols::sewing::hashing::LigandBindingResPlacer::geometry_score_weight_
private
data_storage::LigandContactOP protocols::sewing::hashing::LigandBindingResPlacer::last_contact_added_
private
data_storage::LigandResidueOP protocols::sewing::hashing::LigandBindingResPlacer::ligand_
private
utility::pointer::shared_ptr< std::map< char, LigandHashMap > > protocols::sewing::hashing::LigandBindingResPlacer::ligand_local_coords_
private
std::map< std::pair< core::Size, core::Size >, std::set< LigandCoordInfo> > protocols::sewing::hashing::LigandBindingResPlacer::possible_coordinations_
private

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