Rosetta
Public Member Functions | Private Member Functions | List of all members
protocols::cyclic_peptide::crosslinker::Thioether_Helper Class Reference

A CrosslinkerMoverHelper for placing a terminal (or lariat-style) thioether linkage. More...

#include <Thioether_Helper.hh>

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

Public Member Functions

 Thioether_Helper ()
 Default constructor. More...
 
 Thioether_Helper (Thioether_Helper const &src)
 Copy constructor. More...
 
 ~Thioether_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...
 
void add_linker_asymmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection) const override
 Given a pose and a selection of 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 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 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 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 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 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...
 
- 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...
 

Private Member Functions

void get_thioether_residues_from_selection (core::select::residue_selector::ResidueSubset const &selection, core::pose::Pose const &pose, core::Size &ntermres, core::Size &cysres) const
 Given a selection of exactly two residues and a pose, return the two thioether residues. Ensures that the residue that can make an N-terminal connection is ntermres, and that the residue that has a side-chain thiol and can make a side-chain connection is cysres. More...
 

Additional Inherited Members

- 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 CrosslinkerMoverHelper for placing a terminal (or lariat-style) thioether linkage.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org)

Constructor & Destructor Documentation

◆ Thioether_Helper() [1/2]

protocols::cyclic_peptide::crosslinker::Thioether_Helper::Thioether_Helper ( )
default

Default constructor.

Constructors ///.

Default constructor

◆ Thioether_Helper() [2/2]

protocols::cyclic_peptide::crosslinker::Thioether_Helper::Thioether_Helper ( Thioether_Helper const &  src)
default

Copy constructor.

◆ ~Thioether_Helper()

protocols::cyclic_peptide::crosslinker::Thioether_Helper::~Thioether_Helper ( )
overridedefault

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

Member Function Documentation

◆ add_linker_asymmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::add_linker_asymmetric ( core::pose::Pose pose,
core::select::residue_selector::ResidueSubset const &  selection 
) const
overridevirtual

Given a pose and a selection of residues, add the linker, align it crudely to the selected residues, and set up covalent bonds.

Calls add_linker_bonds_asymmetric(). Version for asymmetric poses.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References add_linker_bonds_asymmetric(), get_thioether_residues_from_selection(), protocols::cyclic_peptide::crosslinker::set_up_thioether_variants(), and protocols::cyclic_peptide::TR().

Referenced by add_linker_symmetric().

◆ add_linker_bonds_asymmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::add_linker_bonds_asymmetric ( core::pose::Pose pose,
utility::vector1< core::Size > const &  res_indices,
core::Size const  linker_index 
) const
overridevirtual

◆ add_linker_bonds_symmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::add_linker_bonds_symmetric ( core::pose::Pose pose,
core::Size const  res1,
core::Size const  linker_index1,
core::Size const  linker_index2 
) const
overridevirtual

Given a pose and a linker, add bonds between the linker and the residues that coordinate the linker.

Can be called by add_linker_symmetric(). Must be defined by derived classes (pure virtual). Version for symmetric poses.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References add_linker_bonds_asymmetric().

◆ add_linker_constraints_asymmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::add_linker_constraints_asymmetric ( core::pose::Pose pose,
core::select::residue_selector::ResidueSubset const &  selection 
) const
overridevirtual

Given a selection of residues that have already been connected to a crosslinker, add constraints for the crosslinker.

Must be defined by derived classes. Version for asymmetric poses.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References get_thioether_residues_from_selection(), and protocols::cyclic_peptide::crosslinker::set_up_thioether_constraints().

Referenced by add_linker_constraints_symmetric().

◆ add_linker_constraints_symmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::add_linker_constraints_symmetric ( core::pose::Pose pose,
core::select::residue_selector::ResidueSubset const &  selection,
bool const  linker_was_added 
) const
overridevirtual

Given a selection of residues that have already been connected to a crosslinker, add constraints for the crosslinker.

Version for symmetric poses, but this just calls the asymmetric version.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References add_linker_constraints_asymmetric().

◆ add_linker_symmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::add_linker_symmetric ( core::pose::Pose pose,
core::select::residue_selector::ResidueSubset const &  selection 
) const
overridevirtual

Given a pose and a selection of residues, add the linker, align it crudely to the selected residues, and set up covalent bonds.

Version for symmetric poses. However, since the linker itself has no symmetry, we can just call the asymmetric version.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References add_linker_asymmetric().

◆ filter_by_constraints_energy_asymmetric()

bool protocols::cyclic_peptide::crosslinker::Thioether_Helper::filter_by_constraints_energy_asymmetric ( core::pose::Pose const &  pose,
core::select::residue_selector::ResidueSubset const &  selection,
core::Real const &  filter_multiplier 
) const
overridevirtual

Determine whether the sidechain-crosslinker system has too high a constraints score.

Returns TRUE for failure (too high a constraints score) and FALSE for success.

Note
Higher values of the filter multiplier make it more permissive.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::filter_by_constraints_energy().

◆ filter_by_constraints_energy_symmetric()

bool protocols::cyclic_peptide::crosslinker::Thioether_Helper::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
overridevirtual

Determine whether the sidechain-crosslinker system has too high a constraints score. This version is for symmetric poses.

Returns TRUE for failure (too high a constraints score) and FALSE for success.

Note
Higher values of the filter multiplier make it more permissive.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::filter_by_constraints_energy().

◆ filter_by_sidechain_distance_asymmetric()

bool protocols::cyclic_peptide::crosslinker::Thioether_Helper::filter_by_sidechain_distance_asymmetric ( core::pose::Pose const &  pose,
core::select::residue_selector::ResidueSubset const &  selection,
core::Real const &  filter_multiplier 
) const
overridevirtual

Given a pose with residues selected to be linked by a linker, determine whether the residues are too far apart.

Returns TRUE for failure (residues too far apart) and FALSE for success.

Note
Higher values of the filter multiplier make it more permissive.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References get_thioether_residues_from_selection(), MAX_CA_CB_DIST_MINUS_NBR, core::chemical::ResidueType::nbr_radius(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), and core::conformation::Residue::xyz().

Referenced by filter_by_sidechain_distance_symmetric().

◆ filter_by_sidechain_distance_symmetric()

bool protocols::cyclic_peptide::crosslinker::Thioether_Helper::filter_by_sidechain_distance_symmetric ( core::pose::Pose const &  pose,
core::select::residue_selector::ResidueSubset const &  selection,
core::Real const &  filter_multiplier 
) const
overridevirtual

Given a pose with residues selected to be linked by a linker, determine whether the residues are too far apart.

Returns TRUE for failure (residues too far apart) and FALSE for success. This version is for symmetric poses.

Note
Higher values of the filter multiplier make it more permissive.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

References filter_by_sidechain_distance_asymmetric().

◆ get_linker_index_asymmetric()

core::Size protocols::cyclic_peptide::crosslinker::Thioether_Helper::get_linker_index_asymmetric ( core::pose::Pose const &  pose,
utility::vector1< core::Size > const &  res_indices 
) const
overridevirtual

Given indices of residues that are already linked to a linker, get the index of the linker.

Throws an error if the residues are not all linked to the same linker residue. Must be defined by derived classes.

Returns zero for this class, since no linker is added.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

◆ get_linker_indices_symmetric()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::get_linker_indices_symmetric ( core::pose::Pose const &  pose,
utility::vector1< core::Size > const &  res_indices,
utility::vector1< core::Size > &  linker_indices 
) const
overridevirtual

Given indices of residues that are already linked to pieces of a linker, get of the indices of the symmetric pieces of the linker.

Returns an empty vector for linker indices for this class, since no linker is added.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

◆ get_thioether_residues_from_selection()

void protocols::cyclic_peptide::crosslinker::Thioether_Helper::get_thioether_residues_from_selection ( core::select::residue_selector::ResidueSubset const &  selection,
core::pose::Pose const &  pose,
core::Size ntermres,
core::Size cysres 
) const
private

Given a selection of exactly two residues and a pose, return the two thioether residues. Ensures that the residue that can make an N-terminal connection is ntermres, and that the residue that has a side-chain thiol and can make a side-chain connection is cysres.

References core::conformation::Residue::connected_residue_at_lower(), core::chemical::ResidueType::is_sidechain_thiol(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::id::swap(), and core::pose::Pose::total_residue().

Referenced by add_linker_asymmetric(), add_linker_constraints_asymmetric(), and filter_by_sidechain_distance_asymmetric().

◆ helper_adds_linker_residue()

bool protocols::cyclic_peptide::crosslinker::Thioether_Helper::helper_adds_linker_residue ( ) const
inlineoverridevirtual

Does this CrosslinkerMoverHelper add a residue for the linker?

In this case, no: the linker is a patch to the terminal type.

Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.

◆ provide_citation_info()

void protocols::cyclic_peptide::crosslinker::Thioether_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 is unpublished.

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

The base class implementation does nothing. This override indicates that this helper is unpublished.

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


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