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

Functions

void set_glycan_iupac_chi_torsions (core::pose::Pose const &pose, core::kinematics::MoveMap &movemap, core::Size resnum, bool action, bool cartesian)
 Turn on/off IUPAC CHI for a particular residue number. More...
 
void set_glycan_iupac_bb_torsions (core::pose::Pose const &pose, core::kinematics::MoveMap &movemap, core::Size resnum, bool action=true, bool cartesian=false)
 Turn on/off IUPAC BBs for a particular residue number. More...
 
kinematics::MoveMapOP create_glycan_movemap_from_residue_selector (core::pose::Pose const &pose, select::residue_selector::ResidueSelectorCOP selector, bool include_iupac_chi, bool include_glycan_ring_torsions, bool include_bb_torsions, bool cartesian)
 Get a pre-configured movemap from a residue selector. Use the ReturnResidueSubsetSelector to obtain from a subset. More...
 
void glycosylate_pose (Pose &pose, uint const sequence_position, std::string const &atom_name, std::string const &iupac_sequence, bool idealize_linkages=true, bool keep_pdbinfo=true)
 Glycosylate the Pose at the given sequence position and atom using an IUPAC sequence. More...
 
void glycosylate_pose (Pose &pose, uint const sequence_position, std::string const &iupac_sequence, bool const idealize_linkages=true, bool keep_pdbinfo=true)
 Glycosylate the Pose at the given sequence position using an IUPAC sequence. More...
 
void glycosylate_pose_by_file (Pose &pose, uint const sequence_position, std::string const &atom_name, std::string const &filename, bool const idealize_linkages=true, bool keep_pdbinfo=true)
 Glycosylate the Pose at the given sequence position and atom using a .GWS or IUPAC sequence file. More...
 
void glycosylate_pose_by_file (Pose &pose, uint const sequence_position, std::string const &filename, bool const idealize_linkages=true, bool keep_pdbinfo=true)
 Glycosylate the Pose at the given sequence position using a .GWS or IUPAC sequence file. 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...
 
utility::vector1< id::AtomIDget_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::AtomIDget_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::AtomIDget_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::AtomIDget_reference_atoms_for_2nd_omega (Pose const &pose, 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, 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 (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...
 
core::Size which_glycosidic_torsion (Pose const &pose, id::TorsionID const &torsion_id)
 Get the torsion num that this torsionID moves. More...
 
bool is_glycosidic_phi_torsion (Pose const &pose, id::TorsionID const &torsion_id)
 Is this is the phi torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_psi_torsion (Pose const &pose, id::TorsionID const &torsion_id)
 Is this is the psi torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_omega_torsion (Pose const &pose, id::TorsionID const &torsion_id)
 Is this is a 1st omega torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_omega2_torsion (Pose const &pose, id::TorsionID const &torsion_id)
 Is this is a 2nd omega torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_omega3_torsion (Pose const &pose, id::TorsionID const &torsion_id)
 Is this is a 3rd omega torsion angle of a glycosidic linkage? More...
 
bool is_glycosidic_torsion (Pose const &pose, id::TorsionID const &torsion_id, core::id::MainchainTorsionType const &torsion_type)
 Base function to reduce code-duplication in torsion queries. More...
 
core::uint get_downstream_residue_that_this_torsion_moves (Pose const &pose, 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 (Pose const &pose, 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, 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 named_torsion, 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 idealize_last_n_glycans_in_pose (Pose &pose, Size const n_glycans_added)
 Idealize the glycosidic torsion angles for the last n glycan residues added or built. More...
 
void set_dihedrals_from_linkage_conformer_data (Pose &pose, uint const upper_residue, core::chemical::carbohydrates::LinkageConformerData const &conformer, bool idealize=true, bool use_gaussian_sampling=false)
 Set the dihedral angles involved in a glycosidic linkage based on statistical data. More...
 
void remove_carbohydrate_branch_point_variants (Pose &pose, core::Size const seqpos)
 Remove branch points from a carbohydrate or aa residue. More...
 
void find_neighbor (Pose &pose, core::Size res_pos, core::Size atom_nr, std::pair< core::Size, core::Size > &neighbor)
 find connected atom in neighboring residue More...
 
void setup_existing_glycans (Pose &pose)
 Go through pose from non-Rosetta PDB file and infer and properly set up branching. More...
 
utility::vector1< core::Sizeget_carbohydrate_residues_of_branch (Pose const &pose, uint const starting_position)
 Get residues further down the branch from this residue. starting_position -> More...
 
utility::vector1< core::Sizeget_carbohydrate_tips_of_branch (Pose const &pose, 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 (Pose const &pose, uint const starting_position)
 Get residues further down the branch from this residue. starting_position -> May require a better name. Returns pair of all_upstream_residues, tips. Tips are the ends of linear glycan branches. More...
 
core::Size get_glycan_connecting_protein_branch_point (Pose const &pose, core::Size const protein_branch_point_resnum)
 Get the carbohydrate residue connecting the protein branch point. More...
 
core::Size get_resnum_from_glycan_position (Pose const &pose, core::Size const glycan_one, core::Size const glycan_position)
 Get the particular resnum from a glycan position, givin 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 (Pose const &pose, core::Size const first_glycan_resnum, core::Size const resnum)
 Get the particular resnum from a glycan position, givin 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...
 
select::residue_selector::ResidueSubset get_resnums_from_glycan_positions (Pose const &pose, core::Size const first_glycan_resnum, utility::vector1< core::Size > const &glycan_positions)
 Get all resnums from specific glycan positions given the particular glycan. Positions correspond to a number 1 -> that corresponds to each residue. Use glycan_info app for more. More...
 
select::residue_selector::ResidueSubset get_resnums_from_glycan_positions (Pose const &pose, utility::vector1< core::Size > const &glycan_positions)
 Get all resnums for all glycans in the pose. Positions correspond to a number 1 -> that corresponds to each residue. Use glycan_info app for more. Glycan positions do not need to exist for all glcyans. More...
 
utility::vector1< boolget_mainchain_children (Pose const &pose, core::Size starting_resnum, bool include_starting_resnum)
 
void delete_carbohydrate_branch (Pose &pose, uint const delete_to)
 Delete the glycan from this residue onward toward the end of the branch. Like chopping off a tree trunk at position resnum (not including resnum). Also known as defoliating. If resnum is the protein branch point, will change variant. More...
 
void get_branching_residues (Pose const &pose, Size parent_residue, utility::vector1< Size > &children_residues, utility::vector1< Size > &list_of_residues, utility::vector1< Size > &tips)
 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 (Pose const &pose, 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...
 
utility::vector1< core::Sizeget_resnums_in_leaf (Pose const &pose, Size tip_residue, Size stop_at_residue)
 Get all residue numbers in order from the tip to (and not including) stop_at_residue or a branch point. All residue numbers are the tip or a linear polymer of glycans. Useful for glycan stripping. More...
 
utility::vector1< core::Sizeget_resnums_in_leaf_on_the_fly (Pose const &pose, Size tip_residue, Size stop_at_residue)
 Get all residue numbers in order from the tip to (and not including) stop_at_residue or a branch point. All residue numbers are the tip or a linear polymer of glycans. Useful for glycan stripping. More...
 
void delete_leaf (Pose &pose, utility::vector1< Size > leaf, std::string ref_pose_name)
 Delete a leaf of glycan residues. Use the ReferencePose to associate residue numbers. More...
 
void tautomerize_anomer (Pose &pose, core::uint const seqpos)
 Switch one saccharide sugar with its anomer. More...
 

Function Documentation

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 core::conformation::carbohydrates::align_virtual_atoms_in_carbohydrate_residue(), and core::pose::Pose::conformation().

Referenced by core::import_pose::build_pose_as_is2().

kinematics::MoveMapOP core::pose::carbohydrates::create_glycan_movemap_from_residue_selector ( core::pose::Pose const &  pose,
select::residue_selector::ResidueSelectorCOP  selector,
bool  include_iupac_chi,
bool  include_glycan_ring_torsions,
bool  include_bb_torsions,
bool  cartesian 
)

Get a pre-configured movemap from a residue selector. Use the ReturnResidueSubsetSelector to obtain from a subset.

The Rosetta Movemap is VERY different from IUPAC-designated torsions for carbohydrates. NEVER attempt to create a MoveMap for carbohydrates unless you know what you are doing.

This will create a Movemap from the residue selector for ALL residues within it. including non-carbohydrates. This includes Chemical Edge Branch points, Mainchains, ASN->glycan linakge, etc.

include_iupac_chi: Include the 'carbohydrate 'side-chains' (rotatable OH groups) and any selected non-carbohydrate side-chain

include_ring_torsions: Include moveable ring torsions

include_bb_torsions: Include torsions between both residues as defined by IUPAC. IE for linkage 1->5, the torsions of residue 5

The Rosetta Movemap is VERY different from IUPAC-designated torsions for carbohydrates. NEVER attempt to create a MoveMap for carbohydrates unless you know what you are doing.

This will create a Movemap from the residue selector for ALL residues within it. including non-carbohydrates. This includes Chemical Edge Branch points, Mainchains, ASN->glycan linakge, etc.

include_iupac_chi: Include the 'carbohydrate 'side-chains' (rotatable OH groups) and any selected non-carbohydrate side-chain

include_ring_torsions: Include moveable ring torsions

include_bb_torsions: Include BB torsions (normal for protein) or between both carboydrate or ASN/Carbohydrate residues as defined by IUPAC. IE for Carbohdrate linkage 1->5, the torsions of residue 5

References core::conformation::Residue::is_carbohydrate(), core::pose::Pose::residue(), set_glycan_iupac_bb_torsions(), set_glycan_iupac_chi_torsions(), core::pose::Pose::size(), and core::pose::TR().

Referenced by protocols::carbohydrates::GlycanTreeMinMover::apply(), protocols::carbohydrates::GlycanTreeModeler::apply(), and protocols::carbohydrates::GlycanSampler::setup_movers().

void core::pose::carbohydrates::delete_carbohydrate_branch ( Pose pose,
uint const  delete_to 
)

Delete the glycan from this residue onward toward the end of the branch. Like chopping off a tree trunk at position resnum (not including resnum). Also known as defoliating. If resnum is the protein branch point, will change variant.

Delete the glycan from this residue onward toward the end of the branch. Like chopping off a tree trunk at position resnum (not including the resnum). Also known as defoliating. If resnum is the protein branch point, will change variant.

References core::pose::Pose::conformation(), core::conformation::Conformation::contains_carbohydrate_residues(), core::pose::Pose::corresponding_residue_in_current(), delete_leaf(), get_carbohydrate_residues_and_tips_of_branch(), get_resnums_in_leaf_on_the_fly(), core::pose::Pose::glycan_tree_set(), core::conformation::Residue::is_branch_point(), core::conformation::Residue::is_carbohydrate(), core::pose::Pose::reference_pose_from_current(), remove_carbohydrate_branch_point_variants(), core::pose::Pose::residue(), core::pose::Pose::size(), and core::pose::TR().

Referenced by protocols::carbohydrates::SimpleGlycosylateMover::apply().

void core::pose::carbohydrates::delete_leaf ( Pose pose,
utility::vector1< Size >  leaf,
std::string  ref_pose_name 
)

Delete a leaf of glycan residues. Use the ReferencePose to associate residue numbers.

Uses delete_residue_slow as the debug_assert in delete_polymer_residue causes a crash. This is a bug in the FoldTree where chemical edges are being treated as Jumps. This is being addressed in a branch and a FoldTree.

References core::pose::Pose::corresponding_residue_in_current(), and core::pose::Pose::delete_residue_slow().

Referenced by delete_carbohydrate_branch().

void core::pose::carbohydrates::fill_downstream_children_res_and_tips ( Pose const &  pose,
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::pose::Pose::conformation(), and core::conformation::carbohydrates::fill_downstream_children_res_and_tips().

void core::pose::carbohydrates::find_neighbor ( Pose pose,
core::Size  res_pos,
core::Size  atom_nr,
std::pair< core::Size, core::Size > &  neighbor 
)
void core::pose::carbohydrates::get_branching_residues ( Pose const &  pose,
Size  parent_residue,
utility::vector1< Size > &  children_residues,
utility::vector1< Size > &  list_of_residues,
utility::vector1< Size > &  tips 
)

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 branchs. 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 core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_branching_residues().

std::pair< utility::vector1< core::Size >, utility::vector1< core::Size > > core::pose::carbohydrates::get_carbohydrate_residues_and_tips_of_branch ( Pose const &  pose,
uint const  starting_position 
)

Get residues further down the branch from this residue. starting_position -> May require a better name. Returns pair of all_upstream_residues, tips. Tips are the ends of linear glycan branches.

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.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_carbohydrate_residues_and_tips_of_branch().

Referenced by delete_carbohydrate_branch(), get_carbohydrate_residues_of_branch(), and get_carbohydrate_tips_of_branch().

utility::vector1< core::Size > core::pose::carbohydrates::get_carbohydrate_residues_of_branch ( Pose const &  pose,
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().

utility::vector1< core::Size > core::pose::carbohydrates::get_carbohydrate_tips_of_branch ( Pose const &  pose,
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::uint core::pose::carbohydrates::get_downstream_residue_that_this_torsion_moves ( Pose const &  pose,
id::TorsionID const &  torsion_id 
)

Return the sequence position of the immediate downstream (child) residue affected by this torsion.

Note
This method is designed for saccharide residues, because it makes assumptions about CHI and BRANCH numbering.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_downstream_residue_that_this_torsion_moves().

Referenced by set_glycan_iupac_bb_torsions(), and set_glycan_iupac_chi_torsions().

core::Size core::pose::carbohydrates::get_glycan_connecting_protein_branch_point ( Pose const &  pose,
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::pose::Pose::conformation(), and core::conformation::carbohydrates::get_glycan_connecting_protein_branch_point().

core::Size core::pose::carbohydrates::get_glycan_position_from_resnum ( Pose const &  pose,
core::Size const  glycan_one,
core::Size const  glycan_residue 
)

Get the particular resnum from a glycan position, givin 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 core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_glycan_position_from_resnum().

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.

Returns
Pointers to the residue at <sequence_position> and its parent or else the same pointer twice if undefined.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_glycosidic_bond_residues().

core::Angle core::pose::carbohydrates::get_glycosidic_torsion ( uint const  named_torsion,
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.

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 core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_glycosidic_torsion().

Referenced by core::pose::get_bb_torsion(), core::pose::Pose::omega(), core::pose::Pose::phi(), core::pose::Pose::psi(), and set_dihedrals_from_linkage_conformer_data().

utility::vector1< bool > core::pose::carbohydrates::get_mainchain_children ( Pose const &  pose,
core::Size  starting_resnum,
bool  include_starting_resnum 
)
Size core::pose::carbohydrates::get_n_glycosidic_torsions_in_res ( Pose const &  pose,
uint const  sequence_position 
)

Get the number of glycosidic torsions for this residue. Up to 4 (omega2).

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_n_glycosidic_torsions_in_res().

Referenced by set_glycan_iupac_bb_torsions().

utility::vector1< id::AtomID > core::pose::carbohydrates::get_reference_atoms ( uint const  named_torsion,
Pose const &  pose,
uint const  sequence_position 
)

Return the AtomIDs of the four reference atoms for the requested torsion.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_reference_atoms().

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.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_reference_atoms_for_1st_omega().

utility::vector1< id::AtomID > core::pose::carbohydrates::get_reference_atoms_for_2nd_omega ( Pose const &  pose,
uint const  sequence_position 
)

Return the AtomIDs of the four omega2 torsion reference atoms.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_reference_atoms_for_2nd_omega().

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.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_reference_atoms_for_phi().

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.

References core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_reference_atoms_for_psi().

core::Size core::pose::carbohydrates::get_resnum_from_glycan_position ( Pose const &  pose,
core::Size const  glycan_one,
core::Size const  glycan_position 
)

Get the particular resnum from a glycan position, givin 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, givin 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 core::pose::Pose::conformation(), and core::conformation::carbohydrates::get_resnum_from_glycan_position().

Referenced by get_resnums_from_glycan_positions().

select::residue_selector::ResidueSubset core::pose::carbohydrates::get_resnums_from_glycan_positions ( Pose const &  pose,
core::Size const  glycan_one,
utility::vector1< core::Size > const &  glycan_positions 
)

Get all resnums from specific glycan positions given the particular glycan. Positions correspond to a number 1 -> that corresponds to each residue. Use glycan_info app for more.

References get_resnum_from_glycan_position(), core::pose::Pose::glycan_tree_set(), core::id::to_string(), and core::pose::Pose::total_residue().

Referenced by core::select::residue_selector::GlycanPositionSelector::apply(), and get_resnums_from_glycan_positions().

select::residue_selector::ResidueSubset core::pose::carbohydrates::get_resnums_from_glycan_positions ( Pose const &  pose,
utility::vector1< core::Size > const &  glycan_positions 
)

Get all resnums for all glycans in the pose. Positions correspond to a number 1 -> that corresponds to each residue. Use glycan_info app for more. Glycan positions do not need to exist for all glcyans.

References core::select::residue_selector::OrResidueSelector::apply_or_to_subset(), get_resnums_from_glycan_positions(), core::pose::Pose::glycan_tree_set(), and core::pose::Pose::total_residue().

utility::vector1< core::Size > core::pose::carbohydrates::get_resnums_in_leaf ( Pose const &  pose,
Size  tip_residue,
Size  stop_at_residue 
)

Get all residue numbers in order from the tip to (and not including) stop_at_residue or a branch point. All residue numbers are the tip or a linear polymer of glycans. Useful for glycan stripping.

References core::pose::Pose::glycan_tree_set(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::n_current_residue_connections(), and core::pose::Pose::residue().

utility::vector1< core::Size > core::pose::carbohydrates::get_resnums_in_leaf_on_the_fly ( Pose const &  pose,
Size  tip_residue,
Size  stop_at_residue 
)

Get all residue numbers in order from the tip to (and not including) stop_at_residue or a branch point. All residue numbers are the tip or a linear polymer of glycans. Useful for glycan stripping.

Get all residue numbers in order from the tip to (and not including) stop_at_residue or a branch point. All residue numbers are the tip or a linear polymer of glycans. Useful for glycan stripping. Do not use glycan_tree_set to get parent information.

References core::conformation::carbohydrates::find_seqpos_of_saccharides_parent_residue(), core::conformation::Residue::is_carbohydrate(), core::conformation::Residue::n_current_residue_connections(), and core::pose::Pose::residue().

Referenced by delete_carbohydrate_branch().

void core::pose::carbohydrates::glycosylate_pose ( Pose pose,
uint const  sequence_position,
std::string const &  atom_name,
std::string const &  iupac_sequence,
bool const  idealize_linkages,
bool  keep_pdbinfo 
)

Glycosylate the Pose at the given sequence position and atom using an IUPAC sequence.

Format for <iupac_sequence>:
Prefixes apply to the residue to which they are attached, below indicated by residue n.
Residues are listed from N to 1, where N is the total number of residues in the saccharide.
The sequence is parsed by reading to the next hyphen, so hyphens are crucial.
Linkage indication: "(a->x)-" specifies the linkage of residue n, where a is the anomeric carbon number of residue (n+1) and x is the oxygen number of residue n. The first residue listed in the annotated sequence (residue N) need not have the linkage prefix. A ->4) ResidueType will automatically be assigned by default if not specified.
Anomer indication: The strings "alpha-" or "beta-" are supplied next, which determines the stereochemistry of the anomeric carbon of the residue to which it is prefixed. An alpha ResidueType will automatically be assigned by default.
Stereochemical indication: "L-" or "D-" specifies whether residue n is an L- or D-sugar. The default is "D-".
3-Letter code: A three letter code (in sentence case) MUST be supplied next. This specifies the "base sugar name", e.g., Glc is for glucose. (A list of all recognized 3-letter codes for sugars can be found in database/chemical/carbohydrates/codes_to_roots.map.)
1-Letter suffix: If no suffix follows, residue n will be linear. If a letter is present, it indicates the ring size, where "f" is furanose, "p" is pyranose, and "s" is septanose.
Branches are indicated using nested brackets and are best explained by example:
beta-D-Galp-(1->4)-[alpha-L-Fucp-(1->3)]-D-GlcpNAc- is:
beta-D-Galp-(1->4)-D-GlcpNAc-
|
alpha-L-Fucp-(1->3)

Remarks
The order of residues in the created pose is in the opposite direction as the annotated sequence of saccharide residues, as sugars are named with the 1st residue as the "main chain", with all other residues named as substituents and written as prefixes. In other words, sugars are usually drawn and named with residue 1 to the right. At present time, param files only exist for a limited number of sugars! ~ Labonte

References core::pose::add_variant_type_to_pose_residue(), core::pose::append_pose_with_glycan_residues(), core::chemical::carbohydrates::CarbohydrateInfoManager::branch_variant_type_from_atom_name(), core::pose::Pose::conformation(), core::conformation::Conformation::contains_carbohydrate_residues(), core::pose::Pose::glycan_tree_set(), idealize_last_n_glycans_in_pose(), core::conformation::Residue::name3(), core::chemical::NUCLEOTIDE_DIPHOSPHATE, core::pose::Pose::pdb_info(), core::pose::remove_upper_terminus_type_from_pose_residue(), core::pose::Pose::residue(), core::pose::Pose::residue_type_set_for_pose(), core::pose::residue_types_from_saccharide_sequence(), core::chemical::SC_BRANCH_POINT, core::pose::Pose::sequence(), core::conformation::Conformation::setup_glycan_trees(), core::pose::Pose::size(), and core::pose::TR().

Referenced by protocols::carbohydrates::SimpleGlycosylateMover::apply(), glycosylate_pose(), glycosylate_pose_by_file(), and protocols::enzymatic_movers::GlycosyltransferaseMover::perform_reaction().

void core::pose::carbohydrates::glycosylate_pose ( Pose pose,
uint const  sequence_position,
std::string const &  iupac_sequence,
bool const  idealize_linkages,
bool  keep_pdb_info 
)

Glycosylate the Pose at the given sequence position using an IUPAC sequence.

This is a wrapper function for standard cases, i.e., glycosylation at Asn, Thr, Ser, or Trp. It also can handle glycosylation of nucleotide diphosphates.

References protocols::cluster::calibur::aa, core::chemical::aa_asn, core::chemical::aa_ser, core::chemical::aa_thr, core::chemical::aa_trp, glycosylate_pose(), core::chemical::NUCLEOTIDE_DIPHOSPHATE, and core::pose::Pose::residue().

void core::pose::carbohydrates::glycosylate_pose_by_file ( Pose pose,
uint const  sequence_position,
std::string const &  atom_name,
std::string const &  filename,
bool const  idealize_linkages,
bool  keep_pdb_info 
)

Glycosylate the Pose at the given sequence position and atom using a .GWS or IUPAC sequence file.

References core::chemical::carbohydrates::find_glycan_sequence_file(), glycosylate_pose(), and core::chemical::carbohydrates::read_glycan_sequence_file().

Referenced by glycosylate_pose_by_file().

void core::pose::carbohydrates::glycosylate_pose_by_file ( Pose pose,
uint const  sequence_position,
std::string const &  filename,
bool const  idealize_linkages,
bool  keep_pdb_info 
)

Glycosylate the Pose at the given sequence position using a .GWS or IUPAC sequence file.

This is a wrapper function for standard AA cases, i.e., glycosylation at Asn, Thr, Ser, or Trp.

References glycosylate_pose_by_file(), core::conformation::Residue::name3(), and core::pose::Pose::residue().

void core::pose::carbohydrates::idealize_last_n_glycans_in_pose ( Pose pose,
Size const  n_glycans_added 
)
bool core::pose::carbohydrates::is_glycosidic_omega2_torsion ( Pose const &  pose,
id::TorsionID const &  torsion_id 
)

Is this is a 2nd 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, omega2 (of the next residue) is the 4th-to-last 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 is_glycosidic_torsion(), and core::id::omega2_dihedral.

bool core::pose::carbohydrates::is_glycosidic_omega3_torsion ( Pose const &  pose,
id::TorsionID const &  torsion_id 
)

Is this is a 3rd 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, omega3 (of the next residue) is the 5th-to-last 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 is_glycosidic_torsion(), and core::id::omega3_dihedral.

bool core::pose::carbohydrates::is_glycosidic_omega_torsion ( Pose const &  pose,
id::TorsionID const &  torsion_id 
)

Is this is a 1st 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 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 is_glycosidic_torsion(), and core::id::omega_dihedral.

bool core::pose::carbohydrates::is_glycosidic_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::pose::Pose::conformation(), and core::conformation::carbohydrates::is_glycosidic_phi_torsion().

Referenced by is_glycosidic_torsion(), and which_glycosidic_torsion().

bool core::pose::carbohydrates::is_glycosidic_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.

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 is_glycosidic_torsion(), and core::id::psi_dihedral.

bool core::pose::carbohydrates::is_glycosidic_torsion ( Pose const &  pose,
id::TorsionID const &  torsion_id,
core::id::MainchainTorsionType const &  torsion_type 
)
void core::pose::carbohydrates::remove_carbohydrate_branch_point_variants ( Pose pose,
core::Size const  seqpos 
)
void core::pose::carbohydrates::set_dihedrals_from_linkage_conformer_data ( Pose pose,
uint const  upper_residue,
core::chemical::carbohydrates::LinkageConformerData const &  conformer,
bool  idealize,
bool  use_gaussian_sampling 
)
void core::pose::carbohydrates::set_glycan_iupac_bb_torsions ( core::pose::Pose const &  pose,
core::kinematics::MoveMap movemap,
core::Size  resnum,
bool  action,
bool  cartesian 
)
void core::pose::carbohydrates::set_glycan_iupac_chi_torsions ( core::pose::Pose const &  pose,
core::kinematics::MoveMap movemap,
core::Size  resnum,
bool  action,
bool  cartesian 
)
void core::pose::carbohydrates::set_glycosidic_torsion ( uint const  named_torsion,
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.

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 core::pose::Pose::conformation(), and core::conformation::carbohydrates::set_glycosidic_torsion().

Referenced by core::pose::set_bb_torsion(), set_dihedrals_from_linkage_conformer_data(), core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), and core::pose::Pose::set_psi().

void core::pose::carbohydrates::setup_existing_glycans ( Pose pose)
void core::pose::carbohydrates::tautomerize_anomer ( Pose pose,
core::uint const  seqpos 
)
core::Size core::pose::carbohydrates::which_glycosidic_torsion ( Pose const &  pose,
id::TorsionID const &  torsion_id 
)

Get the torsion num that this torsionID moves.

Get the torsion num that this torsionID moves. Returns 0 if not any of the 4 canonical BB torsions up to omega2.

References is_glycosidic_phi_torsion(), is_glycosidic_torsion(), core::id::omega2_dihedral, core::id::omega_dihedral, and core::id::psi_dihedral.