Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Functions
core::conformation::carbohydrates Namespace Reference

Classes

class  GlycanNode
 Class to store info a node (residue) within a glycan tree. More...
 
class  GlycanTree
 Class to store info a glycan tree. More...
 
class  GlycanTreeSet
 Class to store info on all glycan trees of a pose. More...
 
class  GlycanTreeSetObserver
 The CacheablePoseObserver version of GlycanTreeSet that will react to pose length changes.. More...
 

Typedefs

typedef
utility::pointer::shared_ptr
< GlycanNode
GlycanNodeOP
 
typedef
utility::pointer::shared_ptr
< GlycanNode const > 
GlycanNodeCOP
 
typedef
utility::pointer::shared_ptr
< GlycanTree
GlycanTreeOP
 
typedef
utility::pointer::shared_ptr
< GlycanTree const > 
GlycanTreeCOP
 
typedef
utility::pointer::shared_ptr
< GlycanTreeSet
GlycanTreeSetOP
 
typedef
utility::pointer::shared_ptr
< GlycanTreeSet const > 
GlycanTreeSetCOP
 
typedef
utility::pointer::shared_ptr
< GlycanTreeSetObserver
GlycanTreeSetObserverOP
 
typedef
utility::pointer::shared_ptr
< GlycanTreeSetObserver const > 
GlycanTreeSetObserverCOP
 

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. Returns 0 if it has no parent. More...
 
core::uint find_seqpos_of_saccharides_mainchain_child (conformation::Residue const &residue)
 Use the mainchain acceptor to find the mainchain child. Typically, this is N+1, but this is independent of the residue number. Returns 0 if it has no child. More...
 
core::uint find_seqpos_of_saccharides_child_residue_at (conformation::Residue const &residue, core::uint linkage_position)
 Use a saccharide residue's connections to find the residue following it from a given linkage position. More...
 
core::uint get_linkage_position_of_saccharide_residue (conformation::Residue const &rsd, conformation::Residue const &parent_rsd)
 
bool has_exocyclic_glycosidic_linkage (conformation::Conformation const &conf, uint const seqpos)
 Get whether the glycosidic linkage between the residue and previous residue (parent residue) has an exocyclic carbon. More...
 
bool has_exocyclic_glycosidic_linkage (conformation::Residue const &rsd, conformation::Residue const &parent_rsd)
 Get whether the glycosidic linkage between the residue and previous residue (parent residue) has an exocyclic carbon. More...
 
std::pair
< conformation::ResidueCOP,
conformation::ResidueCOP
get_glycosidic_bond_residues (Conformation const &conf, uint const sequence_position)
 Return pointers to the two residues of the glycosidic bond. More...
 
utility::vector1< id::AtomIDget_reference_atoms_for_phi (Conformation const &conf, uint const sequence_position)
 Return the AtomIDs of the four phi torsion reference atoms. More...
 
utility::vector1< id::AtomIDget_reference_atoms_for_psi (Conformation const &conf, uint const sequence_position)
 Return the AtomIDs of the four psi torsion reference atoms. More...
 
utility::vector1< id::AtomIDget_reference_atoms_for_1st_omega (Conformation const &conf, uint const sequence_position)
 Return the AtomIDs of the four omega torsion reference atoms. More...
 
utility::vector1< id::AtomIDget_reference_atoms_for_2nd_omega (Conformation const &conf, uint const sequence_position)
 Return the AtomIDs of the four omega2 torsion reference atoms. More...
 
utility::vector1< id::AtomIDget_reference_atoms (uint const named_torsion, Conformation const &conf, uint const sequence_position)
 Return the AtomIDs of the four reference atoms for the requested torsion. More...
 
core::id::TorsionID get_non_NU_TorsionID_from_AtomIDs (Conformation const &conf, utility::vector1< core::id::AtomID > const &atoms)
 Get the main chain or branch TorsionID defined by these four AtomIDs. <atoms>: A vector1 of AtomIDs with a size of 4. More...
 
utility::vector1
< core::id::TorsionID
get_glycosidic_TorsionIDs (core::conformation::Conformation const &conf, uint const seq_pos)
 Get a list of the TorsionIDs of all glycosidic torsions for the residue at this position. 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...
 
bool is_glycosidic_phi_torsion (Conformation const &conf, id::TorsionID const &torsion_id)
 Is this is the phi torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_psi_torsion (Conformation const &conf, id::TorsionID const &torsion_id)
 Is this is the psi torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_omega_torsion (Conformation const &conf, id::TorsionID const &torsion_id)
 Is this is an omega torsion angle of a glycosidic linkage? More...
 
core::uint get_downstream_residue_that_this_torsion_moves (Conformation const &conf, id::TorsionID const &torsion_id)
 Return the sequence position of the immediate downstream (child) residue affected by this torsion. More...
 
Size get_n_glycosidic_torsions_in_res (Conformation const &conf, uint const sequence_position)
 Get the number of glycosidic torsions for this residue. Up to 4 (omega2). More...
 
core::Angle get_glycosidic_torsion (uint const named_torsion, Conformation const &conf, 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 named_torsion, Conformation &conf, 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 get_branching_residues (conformation::Conformation const &conf, Size parent_residue, utility::vector1< Size > const &children_residues, utility::vector1< Size > &list_of_residues, utility::vector1< Size > &tips, std::set< Size > const &ancestors)
 Recursive function to get branches of a set of residues, etc. list_of_residues and tips are arrays are non-const references and modified by this function. More...
 
void fill_downstream_children_res_and_tips (conformation::Conformation const &conf, Size res, Size parent_residue, utility::vector1< Size > &children_residues, utility::vector1< Size > &list_of_residues, utility::vector1< Size > &tips)
 Find all children residues, list of residues, and any found tips from a given residue not including parent. More...
 
core::Size get_glycan_tree_size (conformation::Conformation const &conf, core::Size const first_glycan_resnum)
 Get the size of the glycan tree given the first carbohydrate residue in the tree. On-the-fly calculation. More...
 
core::Size get_largest_glycan_tree_size (conformation::Conformation const &conf)
 Get the largest glycan tree size int he pose. More...
 
core::Size get_distance_to_start (conformation::Conformation const &conf, core::Size const position)
 Get the residue distance from the position to the root/end of the glycan. On-the-fly calculation. More...
 
utility::vector1< boolget_glycan_start_points (conformation::Conformation const &conf)
 Get which residues denote starting a glycan. These are the first residue of the glycan tree, and the tree can be branching from protein or not. More...
 
utility::vector1< core::Sizeget_carbohydrate_residues_of_branch (conformation::Conformation const &conf, uint const starting_position)
 Get residues further down the branch from this residue. starting_position -> More...
 
utility::vector1< core::Sizeget_carbohydrate_tips_of_branch (conformation::Conformation const &conf, uint const starting_position)
 Get tips (end residue of linear components of branches) further down the branch from this residue. starting_position -> More...
 
std::pair< utility::vector1
< core::Size >
, utility::vector1< core::Size > > 
get_carbohydrate_residues_and_tips_of_branch (conformation::Conformation const &conf, uint const starting_position, bool include_starting_position=false)
 Get residues further down the branch from this residue. starting_position -> Returns pair of all_upstream_residues, tips. Tips are the ends of linear glycan branches. More...
 
core::Size get_glycan_connecting_protein_branch_point (conformation::Conformation const &conf, core::Size const protein_branch_point_resnum)
 Get the carbohydrate residue connecting the protein branch point. More...
 
core::Size get_resnum_from_glycan_position (conformation::Conformation const &conf, core::Size const glycan_one, core::Size const glycan_position)
 Get the particular resnum from a glycan position, given the protein branch point. The glycan_position is numbered 1 -> length of glycan. This is useful for easily identifying a particular glycan position. More...
 
core::Size get_glycan_position_from_resnum (conformation::Conformation const &conf, core::Size const first_glycan_resnum, core::Size const resnum)
 Get the particular resnum from a glycan position, given the protein branch point. The glycan_position is numbered 1 -> length of glycan. This is useful for easily identifying a particular glycan position. Returns 0 if that glycan_position is not part of the glycan we are interested in or not in pose. More...
 

Typedef Documentation

typedef utility::pointer::shared_ptr< GlycanNode const > core::conformation::carbohydrates::GlycanNodeCOP
typedef utility::pointer::shared_ptr< GlycanNode > core::conformation::carbohydrates::GlycanNodeOP
typedef utility::pointer::shared_ptr< GlycanTree const > core::conformation::carbohydrates::GlycanTreeCOP
typedef utility::pointer::shared_ptr< GlycanTree > core::conformation::carbohydrates::GlycanTreeOP
typedef utility::pointer::shared_ptr< GlycanTreeSet const > core::conformation::carbohydrates::GlycanTreeSetCOP
typedef utility::pointer::shared_ptr< GlycanTreeSet > core::conformation::carbohydrates::GlycanTreeSetOP

Function Documentation

void core::conformation::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.

Note
Do I need to worry about aligning the virtual atoms left over from modified sugar patches? Can such virtual atoms be deleted?

References find_seqpos_of_saccharides_parent_residue(), core::conformation::Residue::get_self_ptr(), core::conformation::Conformation::residue(), core::conformation::Conformation::set_xyz(), core::conformation::TR(), and core::conformation::Conformation::xyz().

Referenced by core::pose::carbohydrates::align_virtual_atoms_in_carbohydrate_residue().

void core::conformation::carbohydrates::fill_downstream_children_res_and_tips ( conformation::Conformation const &  conf,
Size  res,
Size  parent_residue,
utility::vector1< Size > &  children_residues,
utility::vector1< Size > &  list_of_residues,
utility::vector1< Size > &  tips 
)

Find all children residues, list of residues, and any found tips from a given residue not including parent.

Children Residues: Filled in list of children residues found if not tips. List Of Residues: All the residue nums found. Tips: All 'ends' of of children found.

See Also: get_carbohydrate_residues_and_tips_of_branch trim_carbohydrate_branch_from_X

References core::conformation::Residue::connected_residue_at_resconn(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::n_current_residue_connections(), core::conformation::Residue::n_possible_residue_connections(), and core::conformation::Conformation::residue().

Referenced by core::pose::carbohydrates::fill_downstream_children_res_and_tips(), get_branching_residues(), and get_carbohydrate_residues_and_tips_of_branch().

core::uint core::conformation::carbohydrates::find_seqpos_of_saccharides_child_residue_at ( conformation::Residue const &  residue,
core::uint  linkage_position 
)

Use a saccharide residue's connections to find the residue following it from a given linkage position.

Parameters
<linkage_position>an integer n of (1->n) of polysaccharide nomenclature, where n specifies the attachment point on the parent monosaccharide residue; e.g., 4 specifies O4
Returns
The sequence position of the residue downstream of this one attached to the given linkage positions. This is n+1, if the linkage position is the same as the main chain connectivity, or zero if N/A, i.e., if this is the upper terminus.

References core::conformation::Residue::atom_index(), core::conformation::Residue::carbohydrate_info(), core::conformation::Residue::has(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::residue_connection_partner(), core::conformation::Residue::seqpos(), core::conformation::TR(), and core::conformation::Residue::type().

Referenced by find_seqpos_of_saccharides_mainchain_child(), get_downstream_residue_that_this_torsion_moves(), and protocols::carbohydrates::RingPlaneFlipMover::setup_movable_torsion_pairs().

core::uint core::conformation::carbohydrates::find_seqpos_of_saccharides_mainchain_child ( conformation::Residue const &  residue)

Use the mainchain acceptor to find the mainchain child. Typically, this is N+1, but this is independent of the residue number. Returns 0 if it has no child.

References core::conformation::Residue::carbohydrate_info(), and find_seqpos_of_saccharides_child_residue_at().

Referenced by core::conformation::carbohydrates::GlycanTreeSet::on_length_change(), and core::conformation::carbohydrates::GlycanNode::update_connectivity_data().

core::uint core::conformation::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. Returns 0 if it has no parent.

Returns
The sequence position of the residue before this one (n-1) or the residue in the parent chain from which the branch occurs or zero if N/A, i.e., if this is the lower terminus.

References core::conformation::Residue::carbohydrate_info(), 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::conformation::TR(), and core::conformation::Residue::type().

Referenced by align_virtual_atoms_in_carbohydrate_residue(), core::conformation::Conformation::align_virtual_atoms_in_carbohydrate_residue(), get_carbohydrate_residues_and_tips_of_branch(), core::scoring::carbohydrates::get_CHI_energy_function_linkage_type_for_psi_for_residue_in_pose(), get_distance_to_start(), get_glycan_start_points(), get_glycosidic_bond_residues(), core::scoring::carbohydrates::get_omega_preference_for_residue_in_pose(), core::pose::carbohydrates::get_resnums_in_leaf_on_the_fly(), has_exocyclic_glycosidic_linkage(), core::conformation::carbohydrates::GlycanTreeSet::on_length_change(), core::scoring::methods::carbohydrates::SugarBackboneEnergy::residue_energy(), core::conformation::carbohydrates::GlycanTree::setup_glycan_nodes(), core::conformation::carbohydrates::GlycanNode::update_connectivity_data(), and core::conformation::carbohydrates::GlycanTree::update_on_length_change().

void core::conformation::carbohydrates::get_branching_residues ( conformation::Conformation const &  conf,
Size  parent_residue,
utility::vector1< Size > const &  children_residues,
utility::vector1< Size > &  list_of_residues,
utility::vector1< Size > &  tips,
std::set< Size > const &  ancestors 
)

Recursive function to get branches of a set of residues, etc. list_of_residues and tips are arrays are non-const references and modified by this function.

Children Residues: Residue nums of parent residue connected that we are interested in finding connected branches. List Of Residues: All the residue nums of the branching from children residues Tips: All 'ends' of all the branches found using this function.

See Also: get_carbohydrate_residues_and_tips_of_branch trim_carbohydrate_branch_from_X

References fill_downstream_children_res_and_tips(), and core::conformation::TR().

Referenced by core::pose::carbohydrates::get_branching_residues(), and get_carbohydrate_residues_and_tips_of_branch().

std::pair< utility::vector1< core::Size >, utility::vector1< core::Size > > core::conformation::carbohydrates::get_carbohydrate_residues_and_tips_of_branch ( conformation::Conformation const &  conf,
uint const  starting_position,
bool  include_starting_position 
)
utility::vector1< core::Size > core::conformation::carbohydrates::get_carbohydrate_residues_of_branch ( conformation::Conformation const &  conf,
uint const  starting_position 
)

Get residues further down the branch from this residue. starting_position ->

Calls get_carbohydrate_residues_and_tips_of_branch

Convenience function. Calls get_carbohydrate_residues_and_tips_of_branch

References get_carbohydrate_residues_and_tips_of_branch().

Referenced by core::select::residue_selector::GlycanResidueSelector::apply(), and get_glycan_tree_size().

utility::vector1< core::Size > core::conformation::carbohydrates::get_carbohydrate_tips_of_branch ( conformation::Conformation const &  conf,
uint const  starting_position 
)

Get tips (end residue of linear components of branches) further down the branch from this residue. starting_position ->

Calls get_carbohydrate_residues_and_tips_of_branch

Convenience function. Calls get_carbohydrate_residues_and_tips_of_branch

References get_carbohydrate_residues_and_tips_of_branch().

core::Size core::conformation::carbohydrates::get_distance_to_start ( conformation::Conformation const &  conf,
core::Size const  position 
)
core::uint core::conformation::carbohydrates::get_downstream_residue_that_this_torsion_moves ( Conformation const &  conf,
id::TorsionID const &  torsion_id 
)
core::Size core::conformation::carbohydrates::get_glycan_connecting_protein_branch_point ( conformation::Conformation const &  conf,
core::Size const  protein_branch_point_resnum 
)

Get the carbohydrate residue connecting the protein branch point.

Get the carbohydrate residue connecting the protein branch point. Returns 0 if branch point is not connected to carbohydrate downstream.

References core::conformation::Residue::connected_residue_at_resconn(), core::conformation::Residue::is_branch_point(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::n_possible_residue_connections(), and core::conformation::Conformation::residue().

Referenced by core::pose::carbohydrates::get_glycan_connecting_protein_branch_point().

core::Size core::conformation::carbohydrates::get_glycan_position_from_resnum ( conformation::Conformation const &  conf,
core::Size const  glycan_one,
core::Size const  glycan_residue 
)

Get the particular resnum from a glycan position, given the protein branch point. The glycan_position is numbered 1 -> length of glycan. This is useful for easily identifying a particular glycan position. Returns 0 if that glycan_position is not part of the glycan we are interested in or not in pose.

References get_glycan_tree_size().

Referenced by core::pose::carbohydrates::get_glycan_position_from_resnum(), and core::conformation::carbohydrates::GlycanNode::update_connectivity_data().

utility::vector1< bool > core::conformation::carbohydrates::get_glycan_start_points ( conformation::Conformation const &  conf)

Get which residues denote starting a glycan. These are the first residue of the glycan tree, and the tree can be branching from protein or not.

References find_seqpos_of_saccharides_parent_residue(), core::conformation::Residue::is_carbohydrate(), core::conformation::Conformation::residue(), and core::conformation::Conformation::size().

Referenced by get_largest_glycan_tree_size(), and core::conformation::carbohydrates::GlycanTreeSet::setup_glycan_trees().

core::Size core::conformation::carbohydrates::get_glycan_tree_size ( conformation::Conformation const &  conf,
core::Size const  first_glycan_resnum 
)

Get the size of the glycan tree given the first carbohydrate residue in the tree. On-the-fly calculation.

References get_carbohydrate_residues_of_branch().

Referenced by get_glycan_position_from_resnum(), get_largest_glycan_tree_size(), and get_resnum_from_glycan_position().

std::pair< conformation::ResidueCOP, conformation::ResidueCOP > core::conformation::carbohydrates::get_glycosidic_bond_residues ( Conformation const &  conf,
uint const  sequence_position 
)
core::Angle core::conformation::carbohydrates::get_glycosidic_torsion ( uint const  named_torsion,
Conformation const &  conf,
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.

Parameters
<named_torsion>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
Note
I would rather named_torsion were an enum, but as it was already defined, I'm leaving it as a constant for now.

References get_reference_atoms(), core::conformation::Conformation::torsion_angle(), and core::conformation::TR().

Referenced by protocols::constraint_generator::DihedralConstraintGenerator::apply(), core::simple_metrics::metrics::DihedralDistanceMetric::calculate(), and core::pose::carbohydrates::get_glycosidic_torsion().

utility::vector1< core::id::TorsionID > core::conformation::carbohydrates::get_glycosidic_TorsionIDs ( core::conformation::Conformation const &  conf,
uint const  seq_pos 
)
core::Size core::conformation::carbohydrates::get_largest_glycan_tree_size ( conformation::Conformation const &  conf)

Get the largest glycan tree size int he pose.

References get_glycan_start_points(), get_glycan_tree_size(), and protocols::mean_field::max().

core::uint core::conformation::carbohydrates::get_linkage_position_of_saccharide_residue ( conformation::Residue const &  rsd,
conformation::Residue const &  parent_rsd 
)
Size core::conformation::carbohydrates::get_n_glycosidic_torsions_in_res ( Conformation const &  conf,
uint const  sequence_position 
)
core::id::TorsionID core::conformation::carbohydrates::get_non_NU_TorsionID_from_AtomIDs ( Conformation const &  conf,
utility::vector1< core::id::AtomID > const &  atoms 
)

Get the main chain or branch TorsionID defined by these four AtomIDs. <atoms>: A vector1 of AtomIDs with a size of 4.

Get the main chain or branch TorsionID defined by these four AtomIDs.

Returns
A TorsionID guaranteed to have a BB, CHI, or BRANCH TorsionType.
Note
Sometimes it is helpful to know which TorsionID corresponds to which four atoms. Since some torsions have multiple IDs, (e.g., for a aldohexopyranose, BB 2 and NU 2 are the same,) one cannot write such a function that returns a single TorsionID, hence the specificity of this function to return either a BB or BRANCH TorsionType or a CHI torsion defining a connection to a branch.
This code is probably general enough for non-sugar residues, but I'm rushing it in for CAPRI Round 41 and keeping it here for now, just to be safe.
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::id::BB, core::id::BRANCH, core::chemical::rna::CHI, core::conformation::Conformation::residue(), and core::conformation::TR().

Referenced by get_glycosidic_TorsionIDs(), and protocols::carbohydrates::RingPlaneFlipMover::setup_movable_torsion_pairs().

utility::vector1< core::id::AtomID > core::conformation::carbohydrates::get_reference_atoms ( uint const  named_torsion,
Conformation const &  conf,
uint const  sequence_position 
)
utility::vector1< core::id::AtomID > core::conformation::carbohydrates::get_reference_atoms_for_1st_omega ( Conformation const &  conf,
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 get_glycosidic_bond_residues(), core::conformation::Conformation::glycan_tree_set(), has_exocyclic_glycosidic_linkage(), and core::conformation::TR().

Referenced by get_reference_atoms(), and core::pose::carbohydrates::get_reference_atoms_for_1st_omega().

utility::vector1< core::id::AtomID > core::conformation::carbohydrates::get_reference_atoms_for_2nd_omega ( Conformation const &  conf,
uint const  sequence_position 
)

Return the AtomIDs of the four omega2 torsion reference atoms.

For carbohydrates glycosylated at positions with more than 1 exocyclic position, or for linkages to longer amino acid residues, omega2 of residue n is defined as CX(n-1)-CX-1(n-1)-CX-2(n-1)-CX-3(n-1), where X is the position of the glycosidic linkage.

References core::chemical::aa_ser, core::chemical::aa_thr, get_glycosidic_bond_residues(), core::conformation::Conformation::glycan_tree_set(), has_exocyclic_glycosidic_linkage(), and core::conformation::TR().

Referenced by get_reference_atoms(), and core::pose::carbohydrates::get_reference_atoms_for_2nd_omega().

utility::vector1< core::id::AtomID > core::conformation::carbohydrates::get_reference_atoms_for_phi ( Conformation const &  conf,
uint const  sequence_position 
)

Return the AtomIDs of the four phi torsion reference atoms.

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 get_glycosidic_bond_residues(), and core::conformation::TR().

Referenced by get_reference_atoms(), core::pose::carbohydrates::get_reference_atoms_for_phi(), and protocols::carbohydrates::RingPlaneFlipMover::setup_movable_torsion_pairs().

utility::vector1< core::id::AtomID > core::conformation::carbohydrates::get_reference_atoms_for_psi ( Conformation const &  conf,
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 get_glycosidic_bond_residues(), and core::conformation::TR().

Referenced by get_reference_atoms(), core::pose::carbohydrates::get_reference_atoms_for_psi(), and protocols::carbohydrates::RingPlaneFlipMover::setup_movable_torsion_pairs().

core::Size core::conformation::carbohydrates::get_resnum_from_glycan_position ( conformation::Conformation const &  conf,
core::Size const  glycan_one,
core::Size const  glycan_position 
)

Get the particular resnum from a glycan position, given the protein branch point. The glycan_position is numbered 1 -> length of glycan. This is useful for easily identifying a particular glycan position.

Get the particular resnum from a glycan position, given the protein branch point. The glycan_position is numbered 1 -> length of glycan. This is useful for easily identifying a particular glycan position. Returns 0 if that glycan_position is not part of the glycan we are interested in or not in pose.

References get_glycan_tree_size().

Referenced by core::pose::carbohydrates::get_resnum_from_glycan_position().

bool core::conformation::carbohydrates::has_exocyclic_glycosidic_linkage ( conformation::Conformation const &  conf,
uint const  seqpos 
)

Get whether the glycosidic linkage between the residue and previous residue (parent residue) has an exocyclic carbon.

Does not currently work for aa->glycan. Returns false if previous residue is not carbohydrate.

Author
Jared Adolf-Bryfogle (jadol.nosp@m.fbr@.nosp@m.gmail.nosp@m..com)

References find_seqpos_of_saccharides_parent_residue(), core::conformation::Conformation::residue(), and core::conformation::TR().

Referenced by get_reference_atoms_for_1st_omega(), get_reference_atoms_for_2nd_omega(), core::scoring::methods::carbohydrates::SugarBackboneEnergy::residue_energy(), and core::conformation::carbohydrates::GlycanNode::update_connectivity_data().

bool core::conformation::carbohydrates::has_exocyclic_glycosidic_linkage ( conformation::Residue const &  rsd,
conformation::Residue const &  parent_rsd 
)

Get whether the glycosidic linkage between the residue and previous residue (parent residue) has an exocyclic carbon.

Does not currently work for aa->glycan. Returns false if previous residue is not carbohydrate.

Author
Jared Adolf-Bryfogle (jadol.nosp@m.fbr@.nosp@m.gmail.nosp@m..com)

References core::conformation::Residue::carbohydrate_info(), get_linkage_position_of_saccharide_residue(), core::conformation::Residue::is_carbohydrate(), and core::conformation::TR().

Referenced by core::scoring::carbohydrates::get_omega_preference_for_residue_in_pose().

bool core::conformation::carbohydrates::is_glycosidic_omega_torsion ( Conformation const &  conf,
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.

Note
This function currently will not recognize additional omegas beyond omega1.
Also, this function will return false if the TorsionID is a CHI and the torsion is already covered by an equivalent BB. In other words, TorsionIDs for CHIs only return true for branch connections, where the ONLY way to access that torsion is through CHI.

References core::id::BB, core::conformation::Residue::carbohydrate_info(), core::chemical::rna::CHI, core::conformation::Residue::chi_atoms(), core::conformation::Residue::connect_atom(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::n_mainchain_atoms(), core::conformation::Residue::n_non_polymeric_residue_connections(), core::conformation::Residue::n_polymeric_residue_connections(), core::conformation::Conformation::residue(), core::conformation::Residue::residue_connection_partner(), 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::conformation::carbohydrates::is_glycosidic_phi_torsion ( Conformation const &  conf,
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, core::id::BRANCH, core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::n_mainchain_atoms(), core::conformation::Residue::n_non_polymeric_residue_connections(), core::conformation::Residue::n_polymeric_residue_connections(), core::conformation::Conformation::residue(), core::conformation::Residue::residue_connection_partner(), core::id::TorsionID::rsd(), core::id::TorsionID::torsion(), and core::id::TorsionID::type().

Referenced by core::scoring::methods::carbohydrates::SugarBackboneEnergy::eval_residue_dof_derivative(), and core::pose::carbohydrates::is_glycosidic_phi_torsion().

bool core::conformation::carbohydrates::is_glycosidic_psi_torsion ( Conformation const &  conf,
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.

Note
This function will return false if the TorsionID is a CHI and the torsion is already covered by an equivalent BB. In other words, TorsionIDs for CHIs only return true for branch connections, where the ONLY way to access that torsion is through CHI.

References core::id::BB, core::chemical::rna::CHI, core::conformation::Residue::chi_atoms(), core::conformation::Residue::connect_atom(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::is_upper_terminus(), core::conformation::Residue::n_mainchain_atoms(), core::conformation::Residue::n_non_polymeric_residue_connections(), core::conformation::Residue::n_polymeric_residue_connections(), core::conformation::Conformation::residue(), core::conformation::Residue::residue_connection_partner(), 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::conformation::carbohydrates::set_glycosidic_torsion ( uint const  named_torsion,
Conformation &  conf,
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.

Parameters
<named_torsion>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.
Note
I would rather named_torsion were an enum, but as it was already defined, I'm leaving it as a constant for now.

References get_reference_atoms(), and core::conformation::Conformation::set_torsion_angle().

Referenced by core::pose::carbohydrates::set_glycosidic_torsion(), and protocols::simple_moves::bb_sampler::SugarBBSampler::set_torsion_to_pose().