Rosetta
Public Member Functions | Protected Member Functions | List of all members
protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper Class Reference

A helper class for setting up octahedrally-coordinated metals. More...

#include <OctahedralMetal_Helper.hh>

Inheritance diagram for protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper:
Inheritance graph
[legend]

Public Member Functions

 OctahedralMetal_Helper (std::string const &metal_name_in="Fe2")
 Default constructor. More...
 
 OctahedralMetal_Helper (OctahedralMetal_Helper const &src)
 Copy constructor. More...
 
 ~OctahedralMetal_Helper () override
 Destructor (important for properly forward-declaring smart-pointer members) More...
 
void provide_citation_info (basic::citation_manager::CitationCollectionList &citations) const override
 Provide an opportunity to provide a citation for this crosslinker type. More...
 
- Public Member Functions inherited from protocols::cyclic_peptide::crosslinker::Metal_HelperBase
 Metal_HelperBase (std::string const &metal_name_in="Zn")
 Default constructor. More...
 
 Metal_HelperBase (Metal_HelperBase const &src)
 Copy constructor. More...
 
 ~Metal_HelperBase () override
 Destructor (important for properly forward-declaring smart-pointer members) More...
 
void add_linker_asymmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection) const override
 Given a pose and a selection of exactly three residues, add the linker, align it crudely to the selected residues, and set up covalent bonds. More...
 
void add_linker_bonds_asymmetric (core::pose::Pose &pose, utility::vector1< core::Size > const &res_indices, core::Size const linker_index) const override
 Given a pose and a linker, add bonds between the linker and the residues that coordinate the linker. More...
 
void add_linker_symmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection) const override
 Given a pose and a selection of exactly three residues, add the linker, align it crudely to the selected residues, and set up covalent bonds. More...
 
void add_linker_bonds_symmetric (core::pose::Pose &pose, core::Size const res1, core::Size const linker_index1, core::Size const linker_index2) const override
 Given a pose and a linker, add bonds between the linker and the residues that coordinate the linker. More...
 
void add_linker_constraints_asymmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection) const override
 Given a selection of exactly three residues that have already been connected to a crosslinker, add constraints for the crosslinker. More...
 
void add_linker_constraints_symmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection, bool const linker_was_added) const override
 Given a selection of exactly three residues that have already been connected to a crosslinker, add constraints for the crosslinker. More...
 
core::Size get_linker_index_asymmetric (core::pose::Pose const &pose, utility::vector1< core::Size > const &res_indices) const override
 Given indices of four residues that are already linked to a linker, get the index of the linker. More...
 
void get_linker_indices_symmetric (core::pose::Pose const &pose, utility::vector1< core::Size > const &res_indices, utility::vector1< core::Size > &linker_indices) const override
 Given indices of three cysteine residues that are already linked to pieces of a linker, get of the indices of the symmetric pieces of the linker. More...
 
bool filter_by_sidechain_distance_asymmetric (core::pose::Pose const &pose, core::select::residue_selector::ResidueSubset const &selection, core::Real const &filter_multiplier) const override
 Given a pose with residues selected to be linked by a linker, determine whether the residues are too far apart. More...
 
bool filter_by_sidechain_distance_symmetric (core::pose::Pose const &pose, core::select::residue_selector::ResidueSubset const &selection, core::Real const &filter_multiplier) const override
 Given a pose with residues selected to be linked by a linker, determine whether the residues are too far apart. More...
 
bool filter_by_constraints_energy_asymmetric (core::pose::Pose const &pose, core::select::residue_selector::ResidueSubset const &selection, core::Real const &filter_multiplier) const override
 Determine whether the sidechain-crosslinker system has too high a constraints score. More...
 
bool filter_by_constraints_energy_symmetric (core::pose::Pose const &pose, core::select::residue_selector::ResidueSubset const &selection, bool const linker_was_added, core::Real const &filter_multiplier) const override
 Determine whether the sidechain-crosslinker system has too high a constraints score. This version is for symmetric poses. More...
 
bool helper_adds_linker_residue () const override
 Does this CrosslinkerMoverHelper add a residue for the linker? More...
 
void set_metal_type_from_name (std::string const &name_in)
 Given a metal name, set the type. More...
 
std::string metal_type_string () const
 Get the current metal type, as a string. More...
 
- Public Member Functions inherited from protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper
 CrosslinkerMoverHelper ()
 Default constructor. More...
 
 CrosslinkerMoverHelper (CrosslinkerMoverHelper const &src)
 Copy constructor. More...
 
 ~CrosslinkerMoverHelper () override
 Destructor (important for properly forward-declaring smart-pointer members) More...
 
void set_symmetry (char const symm_type_in, core::Size const symm_count_in)
 Set the symmetry for this crosslinker helper. More...
 
virtual void get_sidechain_indices (core::select::residue_selector::ResidueSubset const &selection, utility::vector1< core::Size > &res_indices) const
 Given a ResidueSubset with N residues selected, pull out the indices into a vector. More...
 
virtual bool selection_is_symmetric (core::select::residue_selector::ResidueSubset const &selection, core::pose::Pose const &pose, core::Size const expected_subunit_count) const
 Determine whether a selection is symmetric. More...
 
virtual void pre_relax_round_update_steps (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection, bool const whole_structure, bool const symmetric, bool const linker_was_added) const
 Optional steps that the helper can apply before every relaxation round. More...
 
virtual void post_relax_round_update_steps (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection, bool const whole_structure, bool const symmetric, bool const linker_was_added) const
 Optional steps that the helper can apply after every relaxation round. More...
 
core::Size symm_subunits_expected () const
 Get the number of expected symmetry subunits, given the symmetry type. More...
 

Protected Member Functions

void check_residue_indices_valid (utility::vector1< core::Size > const &indices, core::pose::Pose const &pose) const override
 Check that the correct number of residues have been selected, that they are within the pose, and that they are allowed residue types. More...
 
bool is_allowed_type (core::chemical::ResidueType const &type) const override
 Given a residue type, check whether it's an allowed residue type for tetrahedrally coordinating metals. More...
 
void add_angle_constraints (core::pose::Pose &pose, utility::vector1< core::Size > const &res_indices, core::Size const i, core::Size const j) const override
 Given a pose, a list of residues, and indices i and j in that list, add angle constraints between the two residues specified. More...
 
core::Real const & ideal_bond_length (Metal_HelperBase_Metal const metal_type, Metal_HelperBase_MetalLigand const ligand_type) const override
 Given a metal type and a metal-liganding atom type, return the ideal bond length. More...
 
void check_compatible_symmetry_type () const override
 Check that the symmetry type is one of a few compatible types. More...
 
- Protected Member Functions inherited from protocols::cyclic_peptide::crosslinker::Metal_HelperBase
virtual void add_dihedral_constraints (core::pose::Pose &pose, utility::vector1< core::Size > const &res_indices) const
 Given a pose and a list of residues, add dihedral constraints (e.g. improper dihedrals to enforce planarity). More...
 
void set_metal_bond_length (core::pose::Pose &pose, core::Size const res_index) const
 Given a pose and a residue with the VIRTUAL_METAL_CONJUGATION variant type already added, set the metal-metal liganding atom bond length appropriately for the metal in question. More...
 
Metal_HelperBase_MetalLigand liganding_atom_from_restype (core::chemical::ResidueType const &restype) const
 Given a ResidueType with the VIRTUAL_METAL_CONJUGATION variant type already added, get the metal-liganding atom enum. More...
 
std::string metal_type_string_from_enum (Metal_HelperBase_Metal const metal_type) const
 Given a metal type enum, return the corresponding string. More...
 
Metal_HelperBase_Metal metal_type_enum_from_string (std::string const &metal_type_string) const
 Given a metal type string, return the corresponding enum. More...
 
- Protected Member Functions inherited from protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper
virtual bool filter_by_constraints_energy (core::pose::Pose const &pose, core::select::residue_selector::ResidueSubset const &selection, bool const symmetric, bool const linker_was_added, core::Real const &filter_multiplier) const
 Determine whether the sidechain-crosslinker system has too high a constraints score. Both the symmetric and asymmetric versions call this code. More...
 
char symm_type () const
 Get the symmetry type. More...
 
core::Size symm_count () const
 Get the symmetry copy count. For example, symm_type_='C' and symm_count_=3 would specify C3 symmetry. A value of 1 means asymmetry. 1 by default. More...
 

Detailed Description

A helper class for setting up octahedrally-coordinated metals.

Constructor & Destructor Documentation

◆ OctahedralMetal_Helper() [1/2]

protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::OctahedralMetal_Helper ( std::string const &  metal_name_in = "Fe2")

Default constructor.

Constructors ///.

Default constructor

◆ OctahedralMetal_Helper() [2/2]

protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::OctahedralMetal_Helper ( OctahedralMetal_Helper const &  src)

Copy constructor.

◆ ~OctahedralMetal_Helper()

protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::~OctahedralMetal_Helper ( )
override

Destructor (important for properly forward-declaring smart-pointer members)

Member Function Documentation

◆ add_angle_constraints()

void protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::add_angle_constraints ( core::pose::Pose pose,
utility::vector1< core::Size > const &  res_indices,
core::Size const  i,
core::Size const  j 
) const
overrideprotectedvirtual

◆ check_compatible_symmetry_type()

void protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::check_compatible_symmetry_type ( ) const
overrideprotectedvirtual

Check that the symmetry type is one of a few compatible types.

Allowed types are S6, C2, C3, D3, and S2.

Implements protocols::cyclic_peptide::crosslinker::Metal_HelperBase.

References protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().

◆ check_residue_indices_valid()

void protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::check_residue_indices_valid ( utility::vector1< core::Size > const &  indices,
core::pose::Pose const &  pose 
) const
overrideprotectedvirtual

Check that the correct number of residues have been selected, that they are within the pose, and that they are allowed residue types.

Private Methods ///.

Check that the correct number of residues have been selected, that they are within the pose, and that they are allowed residue types.

Implements protocols::cyclic_peptide::crosslinker::Metal_HelperBase.

References is_allowed_type(), core::pose::Pose::residue_type(), and core::pose::Pose::total_residue().

◆ ideal_bond_length()

core::Real const & protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::ideal_bond_length ( Metal_HelperBase_Metal const  metal_type,
Metal_HelperBase_MetalLigand const  ligand_type 
) const
overrideprotectedvirtual

◆ is_allowed_type()

bool protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::is_allowed_type ( core::chemical::ResidueType const &  type) const
overrideprotectedvirtual

Given a residue type, check whether it's an allowed residue type for tetrahedrally coordinating metals.

Returns "true" for pass (allowed type) and "false" for failure (prohibited type). Currently, allowed types are L- and D-histidine, L- and D-asparate, L- and D-glutamate, and the beta-3-amino acid equivalents.

Implements protocols::cyclic_peptide::crosslinker::Metal_HelperBase.

References core::chemical::ResidueTypeBase::aa(), core::chemical::aa_asp, core::chemical::aa_b3d, core::chemical::aa_b3e, core::chemical::aa_b3h, core::chemical::aa_das, core::chemical::aa_dgu, core::chemical::aa_dhi, core::chemical::aa_glu, core::chemical::aa_his, and core::chemical::ResidueType::is_disulfide_bonded().

Referenced by check_residue_indices_valid().

◆ provide_citation_info()

void protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overridevirtual

Provide an opportunity to provide a citation for this crosslinker type.

Public Methods ///.

The base class implementation does nothing. This override indicates that this helper was published in Mulligan, Kang, et al. 2021.

Provide an opportunity to provide a citation for this crosslinker type.

The base class implementation does nothing. This override indicates that this helper was published in Mulligan, Kang, et al. 2021.

Reimplemented from protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.


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