Rosetta Core  2014.16.56682
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::chemical::carbohydrates::CarbohydrateInfo Class Reference

#include <CarbohydrateInfo.hh>

Public Member Functions

 CarbohydrateInfo (core::chemical::ResidueTypeCAP residue_type)
 Standard constructor. More...
 
 CarbohydrateInfo (CarbohydrateInfo const &object_to_copy)
 Copy constructor. More...
 
CarbohydrateInfooperator= (CarbohydrateInfo const &object_to_copy)
 
 ~CarbohydrateInfo ()
 
virtual void show (std::ostream &output=std::cout) const
 Generate string representation of CarbohydrateInfo for debugging purposes. More...
 
std::string full_name () const
 Return the full IUPAC name of the monosaccharide. More...
 
std::string short_name () const
 Return the abbreviated IUPAC name of the monosaccharide (for use in polysaccharide sequences). More...
 
std::string base_name () const
 Return the standard/common, non-residue, short name of the monosaccharide. More...
 
bool is_aldose () const
 Return true if the monosaccharide is an aldose. More...
 
bool is_ketose () const
 Return true if the monosaccharide is a ketose. More...
 
bool is_ketose (core::uint const n) const
 Return true if the monosaccharide is an n-ketose. More...
 
bool is_ulose () const
 Return true if the monosaccharide is a 2-ketose. More...
 
core::uint anomeric_carbon () const
 Return the anomeric carbon number. More...
 
std::string anomeric_carbon_name () const
 Return the atom name of the anomeric carbon. More...
 
core::uint anomeric_carbon_index () const
 Return the atom index of the anomeric carbon in this ResidueType. More...
 
core::uint cyclic_oxygen () const
 Return the cyclic oxygen number or 0, if linear. More...
 
std::string cyclic_oxygen_name () const
 Return the atom name of the cyclic oxygen. More...
 
core::uint cyclic_oxygen_index () const
 Return the atom index of the cyclic oxygen in this ResidueType or 0, if linear. More...
 
core::uint virtual_cyclic_oxygen_index () const
 Return the atom index of the virtual atom that superimposes with the cyclic oxygen in this ResidueType or 0, if linear. More...
 
core::Size n_carbons () const
 Get the number of carbons in the monosaccharide. More...
 
bool is_triose () const
 Return true if the monosaccharide is a triose. More...
 
bool is_tetrose () const
 Return true if the monosaccharide is a tetrose. More...
 
bool is_pentose () const
 Return true if the monosaccharide is a pentose. More...
 
bool is_hexose () const
 Return true if the monosaccharide is a hexose. More...
 
bool is_heptose () const
 Return true if the monosaccharide is a heptose. More...
 
bool is_octose () const
 Return true if the monosaccharide is an octose. More...
 
bool is_nonose () const
 Return true if the monosaccharide is a nonose. More...
 
char stereochem () const
 Get the stereochemical designation for the monosaccharide. More...
 
bool is_L_sugar () const
 Return true if the monosaccharide is an L-sugar. More...
 
bool is_D_sugar () const
 Return true if the monosaccharide is a D-sugar. More...
 
core::Size ring_size () const
 Get the size of the carbohydrate ring. More...
 
bool is_acyclic () const
 Return true if the monosaccharide is linear. More...
 
bool is_cyclic () const
 Return true if the monosaccharide is a ring. More...
 
bool is_furanose () const
 Return true if the monosaccharide is a furanose. More...
 
bool is_pyranose () const
 Return true if the monosaccharide is a pyranose. More...
 
bool is_septanose () const
 Return true if the monosaccharide is a septanose. More...
 
std::string anomer () const
 Get the anomeric form for the monosaccharide. More...
 
bool is_alpha_sugar () const
 Return true if the cyclic monosaccharide is an alpha sugar. More...
 
bool is_beta_sugar () const
 Return true if the cyclic monosaccharide is a beta sugar. More...
 
bool is_glycoside () const
 Return true if the monosaccharide is attached to something at the anomeric carbon. More...
 
core::uint mainchain_glycosidic_bond_acceptor () const
 Return the attachment point of the downstream saccharide residue of the main chain. More...
 
core::Size n_branches () const
 Return the number of branches off of this residue. More...
 
core::uint branch_point (core::uint i) const
 Return the attachment point of the downstream saccharide residue attached to ith branch off of this residue. More...
 
bool has_exocyclic_linkage () const
 Return true if the attachment point of the downstream saccharide is on an exocyclic carbon. More...
 
bool is_N_acetylated () const
 Return true if any hydroxyl group has been modified to an acetylated amino group. More...
 
bool is_O_acetylated () const
 Return true if any hydroxyl group has been modified by acetylation. More...
 
bool is_acetylated () const
 Return true if the sugar has been acetylated at any position. More...
 
bool is_amino_sugar () const
 Return true if any hydroxyl group has been modified to an amino group or an acetylated amino group. More...
 
bool is_uronic_acid () const
 Return true if the primary hydroxyl group is oxidized to the acid. More...
 

Static Public Member Functions

static utility::vector1
< std::string > const & 
sugar_properties ()
 A list of allowed properties in carbohydrate .params and patch files. More...
 
static std::map< std::string,
std::string > const & 
code_to_root_map ()
 A list of Rosetta PDB 3-letter codes for saccharide residues mapped to the corresponding root. More...
 

Private Member Functions

 CarbohydrateInfo ()
 
void init (core::chemical::ResidueTypeCAP residue_type)
 
void copy_data (CarbohydrateInfo object_to_copy_to, CarbohydrateInfo object_to_copy_from)
 
core::Size get_n_carbons () const
 
void read_and_set_properties ()
 
void determine_polymer_connections ()
 
void determine_IUPAC_names ()
 
std::string root_from_code (std::string code) const
 

Private Attributes

core::chemical::ResidueTypeCAP residue_type_
 
std::string full_name_
 
std::string short_name_
 
core::uint anomeric_carbon_
 
std::string anomeric_carbon_name_
 
core::uint anomeric_carbon_index_
 
core::uint cyclic_oxygen_
 
std::string cyclic_oxygen_name_
 
core::uint cyclic_oxygen_index_
 
core::uint virtual_cyclic_oxygen_index_
 
core::Size n_carbons_
 
char stereochem_
 
core::Size ring_size_
 
std::string anomer_
 
bool is_glycoside_
 
utility::vector1< std::string > modifications_
 
core::uint mainchain_glycosidic_bond_acceptor_
 
utility::vector1< core::uintbranch_points_
 
bool has_exocyclic_linkage_
 

Static Private Attributes

static core::Size const MAX_C_SIZE_LIMIT = 9
 
static core::Size const MIN_C_SIZE_LIMIT = 3
 

Constructor & Destructor Documentation

core::chemical::carbohydrates::CarbohydrateInfo::CarbohydrateInfo ( core::chemical::ResidueTypeCAP  residue_type)

Standard constructor.

Parameters
<residue_type>the ResidueType object containing this CarbohydrateInfo

References init().

core::chemical::carbohydrates::CarbohydrateInfo::CarbohydrateInfo ( CarbohydrateInfo const &  object_to_copy)

Copy constructor.

References copy_data().

core::chemical::carbohydrates::CarbohydrateInfo::~CarbohydrateInfo ( )
core::chemical::carbohydrates::CarbohydrateInfo::CarbohydrateInfo ( )
private

References init().

Member Function Documentation

std::string core::chemical::carbohydrates::CarbohydrateInfo::anomer ( ) const
inline

Get the anomeric form for the monosaccharide.

Returns
"alpha", "beta", or ""

"alpha" and "beta" designate the stereochemistry at the anomeric carbon of a cyclic sugar.

References anomer_.

core::uint core::chemical::carbohydrates::CarbohydrateInfo::anomeric_carbon ( ) const
inline

Return the anomeric carbon number.

For linear monosaccharides, this number corresponds to the carbon that is oxidized to the aldehyde or ketone.
See also:
CarbohydrateInfo.anomeric_carbon_name()
CarbohydrateInfo.anomeric_carbon_index()
CarbohydrateInfo.is_aldose()
CarbohydrateInfo.is_ketose()
CarbohydrateInfo.is_ulose()

References anomeric_carbon_.

core::uint core::chemical::carbohydrates::CarbohydrateInfo::anomeric_carbon_index ( ) const
inline
std::string core::chemical::carbohydrates::CarbohydrateInfo::anomeric_carbon_name ( ) const
inline
std::string core::chemical::carbohydrates::CarbohydrateInfo::base_name ( ) const

Return the standard/common, non-residue, short name of the monosaccharide.

References is_amino_sugar(), is_uronic_acid(), residue_type_, and root_from_code().

Referenced by show().

core::uint core::chemical::carbohydrates::CarbohydrateInfo::branch_point ( core::uint  i) const

Return the attachment point of the downstream saccharide residue attached to ith branch off of this residue.

Parameters
<i>the branch point index
Returns
an integer n of (1->n) of polysaccharide nomenclature, where n specifies the attachment point of the downstream monosaccharide residue; e.g., 4 specifies O4

A monosaccharide with a group linked to it at one position is a distinct residue type from the same monosaccharide with the same group linked to it at another position. For example, Rosetta treats (1->4)-beta- D-glucopyranose as an entirely distinct residue type from (1->3)-beta-D-glucopyranose, with separate .params files for each.

See also:
CarbohydrateInfo.mainchain_glycosidic_bond_acceptor()
CarbohydrateInfo.n_branches()

References branch_points_, n_branches(), and PyAssert.

std::map< std::string, std::string > const & core::chemical::carbohydrates::CarbohydrateInfo::code_to_root_map ( )
static

A list of Rosetta PDB 3-letter codes for saccharide residues mapped to the corresponding root.

References basic::options::OptionKeys::in::path::database, basic::options::option, and core::chemical::carbohydrates::read_codes_and_roots_from_database_file().

Referenced by root_from_code().

void core::chemical::carbohydrates::CarbohydrateInfo::copy_data ( CarbohydrateInfo  object_to_copy_to,
CarbohydrateInfo  object_to_copy_from 
)
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::cyclic_oxygen ( ) const
inline

Return the cyclic oxygen number or 0, if linear.

This atom is used as a reference atom for certain torsion angles.
See also:
CarbohydrateInfo.anomeric_carbon()
CarbohydrateInfo.cyclic_oxygen_name()
CarbohydrateInfo.cyclic_oxygen_index()

References cyclic_oxygen_.

core::uint core::chemical::carbohydrates::CarbohydrateInfo::cyclic_oxygen_index ( ) const
inline

Return the atom index of the cyclic oxygen in this ResidueType or 0, if linear.

This atom is used as a reference atom for certain torsion angles.
See also:
CarbohydrateInfo.cyclic_oxygen()
CarbohydrateInfo.cyclic_oxygen_name()
CarbohydrateInfo.anomeric_carbon_index()

References cyclic_oxygen_index_.

std::string core::chemical::carbohydrates::CarbohydrateInfo::cyclic_oxygen_name ( ) const
inline

Return the atom name of the cyclic oxygen.

This atom is used as a reference atom for certain torsion angles.
See also:
CarbohydrateInfo.cyclic_oxygen()
CarbohydrateInfo.anomeric_carbon_name()
CarbohydrateInfo.cyclic_oxygen_index()

References cyclic_oxygen_name_.

void core::chemical::carbohydrates::CarbohydrateInfo::determine_IUPAC_names ( )
private
void core::chemical::carbohydrates::CarbohydrateInfo::determine_polymer_connections ( )
private
std::string core::chemical::carbohydrates::CarbohydrateInfo::full_name ( ) const
inline

Return the full IUPAC name of the monosaccharide.

References full_name_.

core::Size core::chemical::carbohydrates::CarbohydrateInfo::get_n_carbons ( ) const
private
bool core::chemical::carbohydrates::CarbohydrateInfo::has_exocyclic_linkage ( ) const
inline

Return true if the attachment point of the downstream saccharide is on an exocyclic carbon.

References has_exocyclic_linkage_.

void core::chemical::carbohydrates::CarbohydrateInfo::init ( core::chemical::ResidueTypeCAP  residue_type)
private
bool core::chemical::carbohydrates::CarbohydrateInfo::is_acetylated ( ) const
inline

Return true if the sugar has been acetylated at any position.

References is_N_acetylated(), and is_O_acetylated().

Referenced by determine_IUPAC_names().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_acyclic ( ) const
inline

Return true if the monosaccharide is linear.

References ring_size_.

Referenced by is_cyclic().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_aldose ( ) const
inline

Return true if the monosaccharide is an aldose.

An aldose sugar is an aldehyde derivative. See also:
CarbohydrateInfo.is_ketose() CarbohydrateInfo.is_ulose() CarbohydrateInfo.anomeric_carbon()

References anomeric_carbon_.

Referenced by show().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_alpha_sugar ( ) const
inline

Return true if the cyclic monosaccharide is an alpha sugar.

"alpha" and "beta" designate the stereochemistry at the anomeric carbon of a cyclic sugar.

References anomer_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_amino_sugar ( ) const
inline

Return true if any hydroxyl group has been modified to an amino group or an acetylated amino group.

References modifications_.

Referenced by base_name(), and determine_IUPAC_names().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_beta_sugar ( ) const
inline

Return true if the cyclic monosaccharide is a beta sugar.

"alpha" and "beta" designate the stereochemistry at the anomeric carbon of a cyclic sugar.

References anomer_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_cyclic ( ) const
inline

Return true if the monosaccharide is a ring.

References is_acyclic().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_D_sugar ( ) const
inline

Return true if the monosaccharide is a D-sugar.

References stereochem_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_furanose ( ) const
inline

Return true if the monosaccharide is a furanose.

A furanose has a five-membered ring (like furan).

References ring_size_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_glycoside ( ) const
inline

Return true if the monosaccharide is attached to something at the anomeric carbon.

Remarks
not yet fully implemented

References is_glycoside_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_heptose ( ) const
inline

Return true if the monosaccharide is a heptose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_hexose ( ) const
inline

Return true if the monosaccharide is a hexose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_ketose ( ) const
inline

Return true if the monosaccharide is a ketose.

A ketose sugar is a ketone derivative.
Does not distinguish between 2-ketoses (uloses) and 3-ketoses.

See also:
CarbohydrateInfo.is_aldose() CarbohydrateInfo.is_ulose() CarbohydrateInfo.anomeric_carbon()

References anomeric_carbon_.

Referenced by is_ulose().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_ketose ( core::uint const  n) const
inline

Return true if the monosaccharide is an n-ketose.

A ketose sugar is a ketone derivative.
See also:
CarbohydrateInfo.is_aldose() CarbohydrateInfo.is_ulose() CarbohydrateInfo.anomeric_carbon()

References anomeric_carbon_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_L_sugar ( ) const
inline

Return true if the monosaccharide is an L-sugar.

References stereochem_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_N_acetylated ( ) const
inline

Return true if any hydroxyl group has been modified to an acetylated amino group.

References modifications_.

Referenced by is_acetylated().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_nonose ( ) const
inline

Return true if the monosaccharide is a nonose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_O_acetylated ( ) const
inline

Return true if any hydroxyl group has been modified by acetylation.

References modifications_.

Referenced by is_acetylated().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_octose ( ) const
inline

Return true if the monosaccharide is an octose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_pentose ( ) const
inline

Return true if the monosaccharide is a pentose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_pyranose ( ) const
inline

Return true if the monosaccharide is a pyranose.

A pyranose has a six-membered ring (like pyran).

References ring_size_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_septanose ( ) const
inline

Return true if the monosaccharide is a septanose.

A septanose has a seven-membered ring.

References ring_size_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_tetrose ( ) const
inline

Return true if the monosaccharide is a tetrose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_triose ( ) const
inline

Return true if the monosaccharide is a triose.

References n_carbons_.

bool core::chemical::carbohydrates::CarbohydrateInfo::is_ulose ( ) const
inline

Return true if the monosaccharide is a 2-ketose.

See also:
CarbohydrateInfo.is_aldose() CarbohydrateInfo.is_ketose() CarbohydrateInfo.anomeric_carbon()

References is_ketose().

bool core::chemical::carbohydrates::CarbohydrateInfo::is_uronic_acid ( ) const
inline

Return true if the primary hydroxyl group is oxidized to the acid.

References modifications_.

Referenced by base_name(), and determine_IUPAC_names().

core::uint core::chemical::carbohydrates::CarbohydrateInfo::mainchain_glycosidic_bond_acceptor ( ) const
inline

Return the attachment point of the downstream saccharide residue of the main chain.

Returns
an integer n of (1->n) of polysaccharide nomenclature, where n specifies the attachment point on the upstream monosaccharide residue; e.g., 4 specifies O4; n = 0 specifies an upper terminus

A monosaccharide with a group linked to it at one position is a distinct residue type from the same monosaccharide with the same group linked to it at another position. For example, Rosetta treats (1->4)-beta- D-glucopyranose as an entirely distinct residue type from (1->3)-beta-D-glucopyranose, with separate .params files for each.

See also:
CarbohydrateInfo.n_branches()
CarbohydrateInfo.branch_point()

References mainchain_glycosidic_bond_acceptor_.

core::Size core::chemical::carbohydrates::CarbohydrateInfo::n_branches ( ) const
inline

Return the number of branches off of this residue.

A monosaccharide with a group linked to it at one position is a distinct residue type from the same monosaccharide with the same group linked to it at another position. For example, Rosetta treats (1->4)-beta- D-glucopyranose as an entirely distinct residue type from (1->3)-beta-D-glucopyranose, with separate .params files for each.

See also:
CarbohydrateInfo.mainchain_glycosidic_bond_acceptor()
CarbohydrateInfo.branch_point()

References branch_points_.

Referenced by branch_point(), and show().

core::Size core::chemical::carbohydrates::CarbohydrateInfo::n_carbons ( ) const
inline

Get the number of carbons in the monosaccharide.

This ignores carbons found in modifications to the base sugar.

References n_carbons_.

CarbohydrateInfo & core::chemical::carbohydrates::CarbohydrateInfo::operator= ( CarbohydrateInfo const &  object_to_copy)

References copy_data().

void core::chemical::carbohydrates::CarbohydrateInfo::read_and_set_properties ( )
private
core::Size core::chemical::carbohydrates::CarbohydrateInfo::ring_size ( ) const
inline

Get the size of the carbohydrate ring.

A linear monosaccharide has a ring size of zero.

References ring_size_.

std::string core::chemical::carbohydrates::CarbohydrateInfo::root_from_code ( std::string  code) const
inlineprivate

References code_to_root_map().

Referenced by base_name(), and determine_IUPAC_names().

std::string core::chemical::carbohydrates::CarbohydrateInfo::short_name ( ) const
inline

Return the abbreviated IUPAC name of the monosaccharide (for use in polysaccharide sequences).

References short_name_.

void core::chemical::carbohydrates::CarbohydrateInfo::show ( std::ostream &  output = std::cout) const
virtual
char core::chemical::carbohydrates::CarbohydrateInfo::stereochem ( ) const
inline

Get the stereochemical designation for the monosaccharide.

Returns
'L' or 'D'

References stereochem_.

utility::vector1< std::string > const & core::chemical::carbohydrates::CarbohydrateInfo::sugar_properties ( )
static
core::uint core::chemical::carbohydrates::CarbohydrateInfo::virtual_cyclic_oxygen_index ( ) const
inline

Return the atom index of the virtual atom that superimposes with the cyclic oxygen in this ResidueType or 0, if linear.

This atom is used as a reference atom for certain torsion angles.
See also:
CarbohydrateInfo.cyclic_oxygen_index()

References virtual_cyclic_oxygen_index_.

Member Data Documentation

std::string core::chemical::carbohydrates::CarbohydrateInfo::anomer_
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::anomeric_carbon_
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::anomeric_carbon_index_
private
std::string core::chemical::carbohydrates::CarbohydrateInfo::anomeric_carbon_name_
private
utility::vector1<core::uint> core::chemical::carbohydrates::CarbohydrateInfo::branch_points_
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::cyclic_oxygen_
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::cyclic_oxygen_index_
private
std::string core::chemical::carbohydrates::CarbohydrateInfo::cyclic_oxygen_name_
private
std::string core::chemical::carbohydrates::CarbohydrateInfo::full_name_
private
bool core::chemical::carbohydrates::CarbohydrateInfo::has_exocyclic_linkage_
private
bool core::chemical::carbohydrates::CarbohydrateInfo::is_glycoside_
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::mainchain_glycosidic_bond_acceptor_
private
core::Size const core::chemical::carbohydrates::CarbohydrateInfo::MAX_C_SIZE_LIMIT = 9
staticprivate

Referenced by get_n_carbons().

core::Size const core::chemical::carbohydrates::CarbohydrateInfo::MIN_C_SIZE_LIMIT = 3
staticprivate

Referenced by get_n_carbons().

utility::vector1<std::string> core::chemical::carbohydrates::CarbohydrateInfo::modifications_
private
core::Size core::chemical::carbohydrates::CarbohydrateInfo::n_carbons_
private
core::chemical::ResidueTypeCAP core::chemical::carbohydrates::CarbohydrateInfo::residue_type_
private
core::Size core::chemical::carbohydrates::CarbohydrateInfo::ring_size_
private
std::string core::chemical::carbohydrates::CarbohydrateInfo::short_name_
private
char core::chemical::carbohydrates::CarbohydrateInfo::stereochem_
private
core::uint core::chemical::carbohydrates::CarbohydrateInfo::virtual_cyclic_oxygen_index_
private

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