![]() |
Rosetta Core
2015.22
|
Functions | |
core::uint | find_seqpos_of_saccharides_parent_residue (conformation::Residue const &residue) |
Use a saccharide residue's connections to find the residue from which it follows or branches. More... | |
std::pair < conformation::ResidueCOP, conformation::ResidueCOP > | get_glycosidic_bond_residues (Pose const &pose, uint const sequence_position) |
Return pointers to the two residues of the glycosidic bond. More... | |
core::uint | atom_next_to_connect_atom (conformation::Residue const &residue, core::uint const connect_atom_index) |
Scan through the list of atoms connected to a given "connect_atom" and return the first heavy atom found. More... | |
utility::vector1< id::AtomID > | get_reference_atoms_for_phi (Pose const &pose, uint const sequence_position) |
Return the AtomIDs of the four phi torsion reference atoms. More... | |
utility::vector1< id::AtomID > | get_reference_atoms_for_psi (Pose const &pose, uint const sequence_position) |
Return the AtomIDs of the four psi torsion reference atoms. More... | |
utility::vector1< id::AtomID > | get_reference_atoms_for_1st_omega (Pose const &pose, uint const sequence_position) |
Return the AtomIDs of the four omega torsion reference atoms. More... | |
utility::vector1< id::AtomID > | get_reference_atoms (uint const torsion_id, Pose const &pose, uint const sequence_position) |
Return the AtomIDs of the four reference atoms for the requested torsion. More... | |
void | align_virtual_atoms_in_carbohydrate_residue (conformation::Conformation &conf, uint const sequence_position) |
Set coordinates of virtual atoms (used as angle reference points) within a saccharide residue of the given conformation. More... | |
void | align_virtual_atoms_in_carbohydrate_residue (Pose &pose, uint const sequence_position) |
Set coordinates of virtual atoms (used as angle reference points) within a saccharide residue of the given pose. More... | |
bool | is_phi_torsion (Pose const &pose, id::TorsionID const &torsion_id) |
Is this is the phi torsion angle of a glycosidic linkage? More... | |
bool | is_psi_torsion (Pose const &pose, id::TorsionID const &torsion_id) |
Is this is the psi torsion angle of a glycosidic linkage? More... | |
bool | is_omega_torsion (Pose const &pose, id::TorsionID const &torsion_id) |
Is this is an omega torsion angle of a glycosidic linkage? More... | |
core::Angle | get_glycosidic_torsion (uint const torsion_id, Pose const &pose, uint const sequence_position) |
Return the requested torsion angle between a saccharide residue of the given pose and the previous residue. More... | |
void | set_glycosidic_torsion (uint const torsion_id, Pose &pose, uint const sequence_position, core::Angle const setting) |
Set the requested torsion angle between a saccharide residue of the given pose and the previous residue. More... | |
void core::pose::carbohydrates::align_virtual_atoms_in_carbohydrate_residue | ( | conformation::Conformation & | conf, |
uint const | sequence_position | ||
) |
Set coordinates of virtual atoms (used as angle reference points) within a saccharide residue of the given conformation.
This method aligns virtual atom VOX, where X is the position of the cyclic oxygen, OY and HOY, where Y is the position of the anomeric carbon, (provided the residue is not the reducing end, where OY and HOY would be real atoms), and HOZ, where Z is the mainchain glycosidic bond location. OY and HOY are aligned with the last two "main chain" atoms of the parent residue. This ensures that torsion angles with duplicate names, e.g., chi1 and phi for internal linked aldoses, will always return the same values. The same concept applies for HOZ, which aligns with the anomeric carbon of the downstream residue. This method should be called after any coordinate change for a sac- charide residue and after loading a saccharide residue from a file or sequence for the first time.
References atom_next_to_connect_atom(), find_seqpos_of_saccharides_parent_residue(), core::conformation::Residue::get_self_ptr(), core::conformation::Conformation::residue(), core::conformation::Conformation::set_xyz(), core::pose::TR(), x(), core::conformation::Conformation::xyz(), y(), and z().
Referenced by align_virtual_atoms_in_carbohydrate_residue(), core::import_pose::build_pose_as_is2(), set_glycosidic_torsion(), and core::pose::Pose::set_ring_conformation().
void core::pose::carbohydrates::align_virtual_atoms_in_carbohydrate_residue | ( | Pose & | pose, |
uint const | sequence_position | ||
) |
Set coordinates of virtual atoms (used as angle reference points) within a saccharide residue of the given pose.
References align_virtual_atoms_in_carbohydrate_residue(), and core::pose::Pose::conformation().
core::uint core::pose::carbohydrates::atom_next_to_connect_atom | ( | conformation::Residue const & | residue, |
core::uint const | connect_atom_index | ||
) |
Scan through the list of atoms connected to a given "connect_atom" and return the first heavy atom found.
References core::conformation::Residue::atom_is_hydrogen(), and core::conformation::Residue::bonded_neighbor().
Referenced by align_virtual_atoms_in_carbohydrate_residue(), get_reference_atoms_for_1st_omega(), get_reference_atoms_for_phi(), and get_reference_atoms_for_psi().
core::uint core::pose::carbohydrates::find_seqpos_of_saccharides_parent_residue | ( | conformation::Residue const & | residue | ) |
Use a saccharide residue's connections to find the residue from which it follows or branches.
References core::conformation::Residue::carbohydrate_info(), debug_assert, core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_lower_terminus(), core::chemical::ResidueType::residue_connection_id_for_atom(), core::conformation::Residue::residue_connection_partner(), core::pose::TR(), and core::conformation::Residue::type().
Referenced by align_virtual_atoms_in_carbohydrate_residue(), core::io::carbohydrates::chain_gws_string(), core::io::carbohydrates::dump_gws(), get_glycosidic_bond_residues(), and core::io::carbohydrates::residue_gws_string().
std::pair< conformation::ResidueCOP, conformation::ResidueCOP > core::pose::carbohydrates::get_glycosidic_bond_residues | ( | Pose const & | pose, |
uint const | sequence_position | ||
) |
Return pointers to the two residues of the glycosidic bond.
References find_seqpos_of_saccharides_parent_residue(), core::conformation::Residue::get_self_ptr(), core::pose::Pose::residue(), and core::pose::TR().
Referenced by get_reference_atoms_for_1st_omega(), get_reference_atoms_for_phi(), and get_reference_atoms_for_psi().
core::Angle core::pose::carbohydrates::get_glycosidic_torsion | ( | uint const | torsion_id, |
Pose const & | pose, | ||
uint const | sequence_position | ||
) |
Return the requested torsion angle between a saccharide residue of the given pose and the previous residue.
This method is used in place of Residue::mainchain_torsion() since the main-chain torsions of saccharide residues only make sense in the context of two residues. Moreover, the reference atoms as defined by the IUPAC are different from the ones that Rosetta uses by default for mainchain torsions for sugars.
<torsion_id> | is an integer representing the specific torsion angle requested, as defined in core/id/types.hh: phi_torsion = 1 psi_torsion = 2 omega_torsion = 3 |
References core::pose::Pose::conformation(), get_reference_atoms(), principal_angle_degrees(), core::conformation::Conformation::torsion_angle(), and core::pose::TR().
Referenced by core::pose::Pose::omega(), core::pose::Pose::phi(), and core::pose::Pose::psi().
utility::vector1< id::AtomID > core::pose::carbohydrates::get_reference_atoms | ( | uint const | torsion_id, |
Pose const & | pose, | ||
uint const | sequence_position | ||
) |
Return the AtomIDs of the four reference atoms for the requested torsion.
References get_reference_atoms_for_1st_omega(), get_reference_atoms_for_phi(), get_reference_atoms_for_psi(), core::id::omega_torsion(), core::id::phi_torsion(), core::id::psi_torsion(), and utility_exit_with_message.
Referenced by get_glycosidic_torsion(), and set_glycosidic_torsion().
utility::vector1< id::AtomID > core::pose::carbohydrates::get_reference_atoms_for_1st_omega | ( | Pose const & | pose, |
uint const | sequence_position | ||
) |
Return the AtomIDs of the four omega torsion reference atoms.
For carbohydrates glycosylated at an exocyclic position, omega of residue n is defined as OX(n-1)-CX(n-1)-CX-1(n-1)-CX-2(n-1), where X is the position of the glycosidic linkage.
References atom_next_to_connect_atom(), get_glycosidic_bond_residues(), and core::pose::TR().
Referenced by get_reference_atoms().
utility::vector1< id::AtomID > core::pose::carbohydrates::get_reference_atoms_for_phi | ( | Pose const & | pose, |
uint const | sequence_position | ||
) |
Return the AtomIDs of the four phi torsion reference atoms.
For aldopyranoses, phi is defined as O5(n)-C1(n)-OX(n-1)-CX(n-1), where X is the position of the glycosidic linkage.
For aldofuranoses, phi is defined as O4(n)-C1(n)-OX(n-1)-CX(n-1).
For 2-ketopyranoses, phi is defined as O6(n)-C2(n)-OX(n-1)-CX(n-1).
For 2-ketofuranoses, phi is defined as O5(n)-C2(n)-OX(n-1)-CX(n-1).
Et cetera...
References atom_next_to_connect_atom(), get_glycosidic_bond_residues(), and core::pose::TR().
Referenced by get_reference_atoms().
utility::vector1< id::AtomID > core::pose::carbohydrates::get_reference_atoms_for_psi | ( | Pose const & | pose, |
uint const | sequence_position | ||
) |
Return the AtomIDs of the four psi torsion reference atoms.
For saccharides, psi is defined as: C(anomeric)(n)-OX(n-1)-CX(n-1)-CX-1(n-1),
where X is the position of the glycosidic linkage.
References atom_next_to_connect_atom(), get_glycosidic_bond_residues(), and core::pose::TR().
Referenced by get_reference_atoms().
bool core::pose::carbohydrates::is_omega_torsion | ( | Pose const & | pose, |
id::TorsionID const & | torsion_id | ||
) |
Is this is an omega torsion angle of a glycosidic linkage?
Carbohydrates linkages are defined as the torsion angles leading back to the previous residue. Much of Rosetta code relies on TorsionIDs and assumes TorsionID( n, BB, 3 ) is omega. For a sugar, omega (of the next residue) is the 3rd-to-last torsion, and the number of main-chain torsions varies per saccharide residue.
References core::id::BB, core::conformation::Residue::carbohydrate_info(), core::chemical::rna::CHI, debug_assert, core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::n_mainchain_atoms(), core::pose::Pose::residue(), core::id::TorsionID::rsd(), core::id::TorsionID::torsion(), and core::id::TorsionID::type().
bool core::pose::carbohydrates::is_phi_torsion | ( | Pose const & | pose, |
id::TorsionID const & | torsion_id | ||
) |
Is this is the phi torsion angle of a glycosidic linkage?
Carbohydrate linkages are defined as the torsion angles leading back to the previous residue. Much of Rosetta code relies on TorsionIDs and assumes TorsionID( n, BB, 1 ) is phi. For a sugar, phi (of the next residue) is the last torsion, and the number of main-chain torsions varies per saccharide residue.
References core::id::BB, debug_assert, core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::n_mainchain_atoms(), core::pose::Pose::residue(), core::id::TorsionID::rsd(), core::id::TorsionID::torsion(), and core::id::TorsionID::type().
Referenced by core::scoring::methods::carbohydrates::SugarBackboneEnergy::eval_residue_dof_derivative().
bool core::pose::carbohydrates::is_psi_torsion | ( | Pose const & | pose, |
id::TorsionID const & | torsion_id | ||
) |
Is this is the psi torsion angle of a glycosidic linkage?
Carbohydrates linkages are defined as the torsion angles leading back to the previous residue. Much of Rosetta code relies on TorsionIDs and assumes TorsionID( n, BB, 2 ) is psi. For a sugar, psi (of the next residue) is the penultimate torsion, and the number of main-chain torsions varies per saccharide residue.
References core::id::BB, core::conformation::Residue::carbohydrate_info(), core::chemical::rna::CHI, debug_assert, core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::n_mainchain_atoms(), core::pose::Pose::residue(), core::id::TorsionID::rsd(), core::id::TorsionID::torsion(), and core::id::TorsionID::type().
Referenced by core::scoring::methods::carbohydrates::SugarBackboneEnergy::eval_residue_dof_derivative().
void core::pose::carbohydrates::set_glycosidic_torsion | ( | uint const | torsion_id, |
Pose & | pose, | ||
uint const | sequence_position, | ||
core::Angle const | setting | ||
) |
Set the requested torsion angle between a saccharide residue of the given pose and the previous residue.
This method is used in place of Conformation::set_torsion() since the reference atoms as defined by the IUPAC are different from the ones that Rosetta uses by default for main-chain torsions for sugars.
<torsion_id> | is an integer representing the specific torsion angle requested, as defined in core/id/types.hh: phi_torsion = 1 psi_torsion = 2 omega_torsion = 3 <setting> is in degrees. |
References align_virtual_atoms_in_carbohydrate_residue(), core::pose::Pose::conformation(), get_reference_atoms(), and core::conformation::Conformation::set_torsion_angle().
Referenced by core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), and core::pose::Pose::set_psi().