Rosetta
|
A derived class of the CrosslinkerMoverHelper base class, used to set up the trimesic acid (TMA) cross-linker. More...
#include <TMA_Helper.hh>
Public Member Functions | |
TMA_Helper () | |
Default constructor. More... | |
TMA_Helper (TMA_Helper const &src) | |
Copy constructor. More... | |
~TMA_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 exactly three residues, add the TMA 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 TMA 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 TMA linker, add bonds between the TMA 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 trimesic acid 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 trimesic acid crosslinker, add constraints for the crosslinker. This version is for symmetric poses. More... | |
core::Size | get_linker_index_asymmetric (core::pose::Pose const &pose, utility::vector1< core::Size > const &res_indices) const override |
Given indices of three residues that are already linked to a TMA, get the index of the TMA residue. 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 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 trimesic acid crosslinker, 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 trimesic acid crosslinker, determine whether the residues are too far apart. This version is for symmetric poses. 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 | 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 override |
Optional steps that the helper can apply before every relaxation round. More... | |
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 override |
Optional steps that the helper can apply after every relaxation round. 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... | |
core::Size | symm_subunits_expected () const |
Get the number of expected symmetry subunits, given the symmetry type. More... | |
Private Member Functions | |
bool | is_allowed_residue_type (core::chemical::ResidueType const &type) const |
Given a residue type, return true for D- or L-Lys, Orn, DAB, or DAP/DPP, and false otherwise. More... | |
std::string | list_allowed_residue_types () const |
Returns a string listing the allowed residue types that can connect to TMA. More... | |
void | add_sidechain_conjugation (core::pose::Pose &pose, core::Size const position) const |
Given a pose and a position that is one of the allowed types, add the sidechain-conjugation type or patch to the position. More... | |
std::string | get_sidechain_amide_name (core::chemical::ResidueType const &type) const |
Given a residue type, get the name of the sidechain amide atom. More... | |
std::string | get_last_sidechain_carbon_name (core::chemical::ResidueType const &type) const |
Given a residue type, get the name of the last carbon in the side chain. More... | |
core::Size | get_sidechain_connect_index (core::conformation::Residue const &res) const |
Given a residue in a pose, get the index of its first sidechain connection. More... | |
core::Real | get_max_sidechain_length (core::chemical::ResidueType const &restype) const |
Given one of the residue types that TMA can connect to, return the max distance between the CA and the NZ. (Slightly padded). More... | |
void | place_tma_asymmetric (core::pose::Pose &tma_pose, core::pose::Pose const &pose, core::Size const res1, core::Size const res2, core::Size const res3) const |
Given a pose and three connector residue indices, create a new pose with TMA placed somewhere in space that crudely aligns it to the connector residues. More... | |
void | place_tma_symmetric (core::pose::Pose &symm_pose, core::pose::Pose const &asymm_pose) const |
Given a pose containing only an asymmetric TMA molecule, align a symmetric TMA to the first third of the asymmetric TMA, place that in symm_pose. More... | |
void | update_tma_amide_bond_dependent_atoms (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection, bool const symmetric, bool const tma_was_added) const |
Given a pose and a selection of three residues that connect to a TMA residue, update the positions of carbonyl oxygen and amide hydrogen atoms in the amide bonds connecting the TMA to the sidechains. More... | |
void | update_tma_amide_bond_dependent_atoms_asymmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection) const |
Given a pose and a selection of three residues that connect to a TMA residue, update the positions of carbonyl oxygen and amide hydrogen atoms in the amide bonds connecting the TMA to the sidechains. More... | |
void | update_tma_amide_bond_dependent_atoms_symmetric (core::pose::Pose &pose, core::select::residue_selector::ResidueSubset const &selection, bool const tma_was_added) const |
Given a pose and a selection of three residues that connect to a TMA residue, update the positions of carbonyl oxygen and amide hydrogen atoms in the amide bonds connecting the TMA to the sidechains. More... | |
Additional Inherited Members | |
![]() | |
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 derived class of the CrosslinkerMoverHelper base class, used to set up the trimesic acid (TMA) cross-linker.
|
default |
Default constructor.
Constructors ///.
Default constructor
|
default |
Copy constructor.
|
overridedefault |
Destructor (important for properly forward-declaring smart-pointer members)
|
overridevirtual |
Given a pose and a selection of exactly three residues, add the TMA linker, align it crudely to the selected residues, and set up covalent bonds.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References add_linker_bonds_asymmetric(), add_sidechain_conjugation(), core::pose::Pose::append_residue_by_jump(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), is_allowed_residue_type(), list_allowed_residue_types(), place_tma_asymmetric(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), and core::pose::Pose::total_residue().
|
overridevirtual |
Given a pose and a linker, add bonds between the linker and the residues that coordinate the linker.
Called by add_linker_asymmetric(). Version for asymmetric poses.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References protocols::simple_moves::DeclareBond::apply(), get_sidechain_amide_name(), core::pose::Pose::residue_type(), and protocols::simple_moves::DeclareBond::set().
Referenced by add_linker_asymmetric().
|
overridevirtual |
Given a pose and a TMA linker, add bonds between the TMA and the residues that coordinate the linker.
Called by add_linker_symmetric(). Version for symmetric poses.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References protocols::simple_moves::DeclareBond::apply(), get_sidechain_amide_name(), core::pose::Pose::residue_type(), protocols::simple_moves::DeclareBond::set(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
Referenced by add_linker_symmetric().
|
overridevirtual |
Given a selection of exactly three residues that have already been connected to a trimesic acid crosslinker, add constraints for the crosslinker.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References protocols::cyclic_peptide::CreateDistanceConstraint::apply(), protocols::cyclic_peptide::CreateTorsionConstraint::apply(), get_last_sidechain_carbon_name(), get_linker_index_asymmetric(), get_sidechain_amide_name(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), protocols::hybridization::r1, protocols::hybridization::r2, core::pose::Pose::residue_type(), protocols::cyclic_peptide::CreateTorsionConstraint::set(), protocols::cyclic_peptide::CreateDistanceConstraint::set(), and protocols::cyclic_peptide::TR().
|
overridevirtual |
Given a selection of exactly three residues that have already been connected to a trimesic acid crosslinker, add constraints for the crosslinker. This version is for symmetric poses.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References protocols::cyclic_peptide::CreateDistanceConstraint::apply(), protocols::cyclic_peptide::CreateTorsionConstraint::apply(), get_last_sidechain_carbon_name(), get_linker_indices_symmetric(), get_sidechain_amide_name(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), protocols::hybridization::r1, protocols::hybridization::r2, core::pose::Pose::residue_type(), protocols::cyclic_peptide::CreateTorsionConstraint::set(), protocols::cyclic_peptide::CreateDistanceConstraint::set(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
|
overridevirtual |
Given a pose and a selection of exactly three residues, add the TMA linker, align it crudely to the selected residues, and set up covalent bonds.
Version for symmetric poses.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References add_linker_bonds_symmetric(), add_sidechain_conjugation(), core::pose::Pose::append_residue_by_jump(), core::pose::Pose::conformation_ptr(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), is_allowed_residue_type(), list_allowed_residue_types(), place_tma_asymmetric(), place_tma_symmetric(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
|
private |
Given a pose and a position that is one of the allowed types, add the sidechain-conjugation type or patch to the position.
References protocols::simple_moves::ModifyVariantTypeMover::apply(), is_allowed_residue_type(), core::pose::Pose::residue_type(), protocols::simple_moves::ModifyVariantTypeMover::set_additional_type_to_add(), and protocols::simple_moves::ModifyVariantTypeMover::set_residue_selector().
Referenced by add_linker_asymmetric(), and add_linker_symmetric().
|
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.
Returns TRUE for failure (too high a constraints score) and FALSE for success.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::filter_by_constraints_energy().
|
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.
Returns TRUE for failure (too high a constraints score) and FALSE for success.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::filter_by_constraints_energy(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
|
overridevirtual |
Given a pose with residues selected to be linked by a trimesic acid crosslinker, determine whether the residues are too far apart.
Returns TRUE for failure (residues too far apart) and FALSE for success.
Returns TRUE for failure (residues too far apart) and FALSE for success.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References get_max_sidechain_length(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), and core::conformation::Residue::xyz().
|
overridevirtual |
Given a pose with residues selected to be linked by a trimesic acid crosslinker, determine whether the residues are too far apart. This version is for symmetric poses.
Returns TRUE for failure (residues too far apart) and FALSE for success.
Returns TRUE for failure (residues too far apart) and FALSE for success.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References get_max_sidechain_length(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), core::chemical::ResidueTypeBase::name3(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type(), and core::conformation::Residue::xyz().
|
private |
Given a residue type, get the name of the last carbon in the side chain.
Only works for the types allowed to connect to TMA (LYS, ORN, DAP/DPP, DAB and their D-versions).
References core::chemical::ResidueTypeBase::aa(), core::chemical::aa_dly, core::chemical::aa_lys, core::chemical::ResidueTypeBase::base_name(), and is_allowed_residue_type().
Referenced by add_linker_constraints_asymmetric(), and add_linker_constraints_symmetric().
|
overridevirtual |
Given indices of three residues that are already linked to a TMA, get the index of the TMA residue.
Throws an error if the three residues are not all linked to the same TMA residue.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References core::conformation::Residue::connected_residue_at_resconn(), get_sidechain_connect_index(), and core::pose::Pose::residue().
Referenced by add_linker_constraints_asymmetric(), and update_tma_amide_bond_dependent_atoms_asymmetric().
|
overridevirtual |
Given indices of three residues that are already linked to pieces of a linker, get of the indices of the symmetric pieces of the linker.
Throws an error if a residue is not linked to something.
Throws an error if a residue is not linked to something. Must be defined by derived classes.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References core::conformation::Residue::connected_residue_at_resconn(), get_sidechain_connect_index(), core::pose::Pose::residue(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
Referenced by add_linker_constraints_symmetric(), and update_tma_amide_bond_dependent_atoms_symmetric().
|
private |
Given one of the residue types that TMA can connect to, return the max distance between the CA and the NZ. (Slightly padded).
References core::chemical::ResidueTypeBase::aa(), core::chemical::aa_dly, core::chemical::aa_lys, and core::chemical::ResidueTypeBase::base_name().
Referenced by filter_by_sidechain_distance_asymmetric(), filter_by_sidechain_distance_symmetric(), and place_tma_asymmetric().
|
private |
Given a residue type, get the name of the sidechain amide atom.
Only works for the types allowed to connect to TMA (LYS, ORN, DAP/DPP, DAB and their D-versions).
References core::chemical::ResidueTypeBase::aa(), core::chemical::aa_dly, core::chemical::aa_lys, core::chemical::ResidueTypeBase::base_name(), and is_allowed_residue_type().
Referenced by add_linker_bonds_asymmetric(), add_linker_bonds_symmetric(), add_linker_constraints_asymmetric(), add_linker_constraints_symmetric(), and place_tma_asymmetric().
|
private |
Given a residue in a pose, get the index of its first sidechain connection.
References core::conformation::Residue::has_lower_connect(), core::conformation::Residue::has_upper_connect(), and core::conformation::Residue::n_possible_residue_connections().
Referenced by get_linker_index_asymmetric(), and get_linker_indices_symmetric().
|
inlineoverridevirtual |
Does this CrosslinkerMoverHelper add a residue for the linker?
Yes, it does.
Implements protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
|
private |
Given a residue type, return true for D- or L-Lys, Orn, DAB, or DAP/DPP, and false otherwise.
Given a residue type, return true for D or L Lys, Orn, DAB, or DAP/DPP, and false otherwise.
Returns true only for the residue types that I can connect to TMA.
References core::chemical::ResidueTypeBase::aa(), core::chemical::aa_dly, core::chemical::aa_lys, and core::chemical::ResidueTypeBase::base_name().
Referenced by add_linker_asymmetric(), add_linker_symmetric(), add_sidechain_conjugation(), get_last_sidechain_carbon_name(), and get_sidechain_amide_name().
|
private |
Returns a string listing the allowed residue types that can connect to TMA.
Intended to be human-readable. Used for error messages.
Referenced by add_linker_asymmetric(), and add_linker_symmetric().
|
private |
Given a pose and three connector residue indices, create a new pose with TMA placed somewhere in space that crudely aligns it to the connector residues.
References core::pose::Pose::append_residue_by_jump(), core::chemical::ResidueType::atom_index(), core::pose::Pose::clear(), core::conformation::Residue::clone(), core::conformation::ResidueFactory::create_residue(), core::chemical::FA_STANDARD, get_max_sidechain_length(), get_sidechain_amide_name(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::scoring::superimpose_pose(), and core::conformation::Residue::xyz().
Referenced by add_linker_asymmetric(), and add_linker_symmetric().
|
private |
Given a pose containing only an asymmetric TMA molecule, align a symmetric TMA to the first third of the asymmetric TMA, place that in symm_pose.
References core::pose::Pose::append_residue_by_jump(), core::chemical::ResidueType::atom_index(), core::pose::Pose::clear(), core::conformation::ResidueFactory::create_residue(), core::chemical::FA_STANDARD, core::pose::Pose::residue_type(), core::scoring::superimpose_pose(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
Referenced by add_linker_symmetric().
|
overridevirtual |
Optional steps that the helper can apply after every relaxation round.
overrides default (doing nothing) to update positions of amide bond dependent atoms.
Overrides default (doing nothing) to update positions of amide bond dependent atoms.
Reimplemented from protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References update_tma_amide_bond_dependent_atoms().
|
overridevirtual |
Optional steps that the helper can apply before every relaxation round.
overrides default (doing nothing) to update positions of amide bond dependent atoms.
Overrides default (doing nothing) to update positions of amide bond dependent atoms.
Reimplemented from protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper.
References update_tma_amide_bond_dependent_atoms().
|
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.
|
private |
Given a pose and a selection of three residues that connect to a TMA residue, update the positions of carbonyl oxygen and amide hydrogen atoms in the amide bonds connecting the TMA to the sidechains.
References update_tma_amide_bond_dependent_atoms_asymmetric(), and update_tma_amide_bond_dependent_atoms_symmetric().
Referenced by post_relax_round_update_steps(), and pre_relax_round_update_steps().
|
private |
Given a pose and a selection of three residues that connect to a TMA residue, update the positions of carbonyl oxygen and amide hydrogen atoms in the amide bonds connecting the TMA to the sidechains.
Version for asymmetric poses.
References core::pose::Pose::conformation(), get_linker_index_asymmetric(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), core::pose::symmetry::is_symmetric(), core::conformation::Conformation::rebuild_residue_connection_dependent_atoms(), core::pose::Pose::residue(), and core::conformation::Residue::residue_connection_conn_id().
Referenced by update_tma_amide_bond_dependent_atoms().
|
private |
Given a pose and a selection of three residues that connect to a TMA residue, update the positions of carbonyl oxygen and amide hydrogen atoms in the amide bonds connecting the TMA to the sidechains.
Version for symmetric poses.
References core::pose::Pose::conformation(), get_linker_indices_symmetric(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::get_sidechain_indices(), core::pose::symmetry::is_symmetric(), core::conformation::Conformation::rebuild_residue_connection_dependent_atoms(), core::pose::Pose::residue(), core::conformation::Residue::residue_connection_conn_id(), protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_count(), and protocols::cyclic_peptide::crosslinker::CrosslinkerMoverHelper::symm_type().
Referenced by update_tma_amide_bond_dependent_atoms().