Rosetta
|
A helper class for setting up octahedrally-coordinated metals. More...
#include <OctahedralMetal_Helper.hh>
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
A helper class for setting up octahedrally-coordinated metals.
protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::OctahedralMetal_Helper | ( | std::string const & | metal_name_in = "Fe2" | ) |
Default constructor.
Constructors ///.
Default constructor
protocols::cyclic_peptide::crosslinker::OctahedralMetal_Helper::OctahedralMetal_Helper | ( | OctahedralMetal_Helper const & | src | ) |
Copy constructor.
|
override |
Destructor (important for properly forward-declaring smart-pointer members)
|
overrideprotectedvirtual |
Given a pose, a list of residues, and indices i and j in that list, add angle constraints between the two residues specified.
Implements protocols::cyclic_peptide::crosslinker::Metal_HelperBase.
References core::chemical::ResidueTypeBase::aa(), core::chemical::aa_dhi, core::chemical::aa_his, core::pose::Pose::add_constraints(), core::chemical::ResidueType::atom_index(), core::chemical::ResidueType::atom_name(), core::chemical::ICoorAtomID::atomno(), core::chemical::ResidueTypeBase::base_name(), core::chemical::ResidueType::icoor(), core::pose::Pose::residue_type(), and core::chemical::AtomICoor::stub_atom1().
|
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().
|
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().
|
overrideprotectedvirtual |
Given a metal type and a metal-liganding atom type, return the ideal bond length.
This method must be updated if either enum is expanded.
Implements protocols::cyclic_peptide::crosslinker::Metal_HelperBase.
References protocols::cyclic_peptide::crosslinker::Metal_HelperBase::metal_type_string_from_enum(), protocols::cyclic_peptide::crosslinker::MH_Fe2, protocols::cyclic_peptide::crosslinker::MH_Ni2, protocols::cyclic_peptide::crosslinker::MHLigand_N_pyridine, protocols::cyclic_peptide::crosslinker::MHLigand_Nd_histidine, protocols::cyclic_peptide::crosslinker::MHLigand_Ne_histidine, protocols::cyclic_peptide::crosslinker::MHLigand_O_carboxyl, and protocols::cyclic_peptide::crosslinker::MHLigand_S_cysteine.
|
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().
|
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.