Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::chemical::carbohydrates::CarbohydrateInfoManager Class Reference

#include <CarbohydrateInfoManager.hh>

Inheritance diagram for core::chemical::carbohydrates::CarbohydrateInfoManager:
Inheritance graph
[legend]

Static Public Member Functions

static std::string const & codes_to_root_map_file ()
 Get the path to the codes_to_root.map database file. More...
 
static std::string const & sugar_modifications_table_file ()
 Get the path to the sugar_modifications.table database file. More...
 
static std::string const & ring_size_to_morphemes_map_file ()
 Get the path to the ring_size_to_morphemes.map database file. More...
 
static bool is_valid_sugar_code (std::string const &code)
 Is the given 3-letter code a valid Rosetta/IUPAC code for carbohydrates? More...
 
static std::string const & root_from_code (std::string const &code)
 Get the monosaccharide root name from the given Rosetta/IUPAC 3-letter code. More...
 
static char default_stereochem_from_code (std::string const &code)
 Get the default stereochemistry from the given Rosetta/IUPAC 3-letter code. More...
 
static char anomeric_position_from_code (std::string const &code)
 Get the position of the anomeric carbon from the given Rosetta/IUPAC 3-letter code. More...
 
static bool is_valid_ring_affix (char affix)
 Is the given 1-letter code valid for designating carbohydrate ring size? More...
 
static char ring_affix_from_ring_size (core::Size ring_size)
 Get the 1-letter affix for designating a carbohydrate ring of this size. More...
 
static std::string const & morpheme_from_ring_size (core::Size ring_size)
 Get the morpheme for designating a carbohydrate ring of this size. More...
 
static bool is_valid_modification_affix (std::string const &affix)
 Is the given short affix valid for designating a sugar modification? More...
 
static std::string const & patch_name_from_affix (std::string const &affix)
 Get the Rosetta patch name for this sugar modification affix. More...
 
static core::uint default_position_from_affix (std::string const &affix)
 Get the default position for this sugar modification affix. More...
 
static bool affix_has_inherent_position (std::string const &affix)
 Does this sugar modification affix have an inherent/defined position? More...
 
static VariantType branch_variant_type_from_atom_name (std::string const &atom_name)
 Get the Cn_BRANCH_POINT VariantType for this atom name, e.g., On. More...
 
static VariantType branch_variant_type_from_position (core::uint const position)
 Get the Cn_BRANCH_POINT VariantType for this position (n). More...
 
static bool pair_has_linkage_statistics (std::string const &res1, std::string const &res2)
 Does the linkage between the given pair of monosaccharide residues have statistics in the database? More...
 
static utility::vector1
< LinkageConformerData
linkages_from_pair (std::string const &res1, std::string const &res2)
 Get the "linkage conformer" statistical data from a given pair of monosaccharide residues. More...
 
static std::map< std::string,
std::string > const & 
get_short_name_to_iupac_strings_map ()
 Get a map of short names to the full iupac glycan sequence for common glycosylations. More...
 

Private Member Functions

 CarbohydrateInfoManager ()
 Default constructor. More...
 
std::map< std::string,
RootData > const & 
code_to_root_map ()
 
std::map< core::Size,
std::pair< char, std::string >
> const & 
ring_size_to_morphemes_map ()
 
utility::vector1< char > const & ring_affixes ()
 
SugarModificationsNomenclatureTable
const & 
nomenclature_table ()
 
std::map< std::string,
std::string > const & 
affix_to_patch_map ()
 
std::map< std::string,
core::uint > const & 
affix_to_position_map ()
 
std::map< std::string, bool >
const & 
affix_to_position_inherency_map ()
 
LinkageConformers const & linkage_conformers_map ()
 
std::string find_linkage_conformer_data_file (std::string filename)
 
std::map< std::string,
std::string > const & 
short_name_to_iupac_strings_map ()
 Get a map of short names to the full iupac glycan sequence for common glycosylations. More...
 

Private Attributes

std::map< std::string, RootDatacode_to_root_map_
 
std::map< core::Size,
std::pair< char, std::string > > 
ring_size_to_morphemes_map_
 
utility::vector1< char > ring_affixes_
 
SugarModificationsNomenclatureTable nomenclature_table_
 
std::map< std::string,
std::string > 
affix_to_patch_map_
 
std::map< std::string, core::uintaffix_to_position_map_
 
std::map< std::string,
std::string > 
short_name_to_iupac_strings_map_
 
std::map< std::string, boolaffix_to_position_inherency_map_
 
std::map< std::pair
< std::string, std::string >
, utility::vector1
< LinkageConformerData > > 
linkage_conformers_map_
 

Friends

class utility::SingletonBase< CarbohydrateInfoManager >
 

Detailed Description

This class is a singleton and manages CarbohydrateInfo data that should only be read from the database one time and shared among all instances of CarbohydrateInfo.

Constructor & Destructor Documentation

core::chemical::carbohydrates::CarbohydrateInfoManager::CarbohydrateInfoManager ( )
private

Default constructor.

Member Function Documentation

bool core::chemical::carbohydrates::CarbohydrateInfoManager::affix_has_inherent_position ( std::string const &  affix)
static

Does this sugar modification affix have an inherent/defined position?

std::map< std::string, std::string > const & core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_patch_map ( )
private
std::map< std::string, bool > const & core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_position_inherency_map ( )
private
std::map< std::string, core::uint > const & core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_position_map ( )
private
char core::chemical::carbohydrates::CarbohydrateInfoManager::anomeric_position_from_code ( std::string const &  code)
static

Get the position of the anomeric carbon from the given Rosetta/IUPAC 3-letter code.

Referenced by core::io::determine_glycan_links(), and core::io::pose_from_sfr::PoseFromSFRBuilder::determine_residue_branching_info().

VariantType core::chemical::carbohydrates::CarbohydrateInfoManager::branch_variant_type_from_atom_name ( std::string const &  atom_name)
static
VariantType core::chemical::carbohydrates::CarbohydrateInfoManager::branch_variant_type_from_position ( core::uint const  position)
static
std::map< std::string, RootData > const & core::chemical::carbohydrates::CarbohydrateInfoManager::code_to_root_map ( )
private
std::string const & core::chemical::carbohydrates::CarbohydrateInfoManager::codes_to_root_map_file ( )
static

Get the path to the codes_to_root.map database file.

References protocols::abinitio::filename().

core::uint core::chemical::carbohydrates::CarbohydrateInfoManager::default_position_from_affix ( std::string const &  affix)
static

Get the default position for this sugar modification affix.

Returns
A position from 1 to 9 or 0 if there is no default value.
char core::chemical::carbohydrates::CarbohydrateInfoManager::default_stereochem_from_code ( std::string const &  code)
static

Get the default stereochemistry from the given Rosetta/IUPAC 3-letter code.

Returns
L, D, or *, where * indicates that the stereochemistry is inherent to the name.

Referenced by core::chemical::carbohydrates::CarbohydrateInfo::determine_IUPAC_names().

std::string core::chemical::carbohydrates::CarbohydrateInfoManager::find_linkage_conformer_data_file ( std::string  filename)
private
std::map< std::string, std::string > const & core::chemical::carbohydrates::CarbohydrateInfoManager::get_short_name_to_iupac_strings_map ( )
static

Get a map of short names to the full iupac glycan sequence for common glycosylations.

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

bool core::chemical::carbohydrates::CarbohydrateInfoManager::is_valid_modification_affix ( std::string const &  affix)
static

Is the given short affix valid for designating a sugar modification?

bool core::chemical::carbohydrates::CarbohydrateInfoManager::is_valid_ring_affix ( char  affix)
static

Is the given 1-letter code valid for designating carbohydrate ring size?

bool core::chemical::carbohydrates::CarbohydrateInfoManager::is_valid_sugar_code ( std::string const &  code)
static
LinkageConformers const & core::chemical::carbohydrates::CarbohydrateInfoManager::linkage_conformers_map ( )
private
utility::vector1< LinkageConformerData > core::chemical::carbohydrates::CarbohydrateInfoManager::linkages_from_pair ( std::string const &  res1,
std::string const &  res2 
)
static
std::string const & core::chemical::carbohydrates::CarbohydrateInfoManager::morpheme_from_ring_size ( core::Size  ring_size)
static

Get the morpheme for designating a carbohydrate ring of this size.

Referenced by core::chemical::carbohydrates::CarbohydrateInfo::determine_IUPAC_names(), and core::chemical::carbohydrates::CarbohydrateInfo::show().

SugarModificationsNomenclatureTable const & core::chemical::carbohydrates::CarbohydrateInfoManager::nomenclature_table ( )
private
bool core::chemical::carbohydrates::CarbohydrateInfoManager::pair_has_linkage_statistics ( std::string const &  res1,
std::string const &  res2 
)
static

Does the linkage between the given pair of monosaccharide residues have statistics in the database?

References core::chemical::carbohydrates::convert_residue_names_into_linkage_map_key().

Referenced by protocols::carbohydrates::LinkageConformerMover::apply(), and core::pose::carbohydrates::idealize_last_n_glycans_in_pose().

std::string const & core::chemical::carbohydrates::CarbohydrateInfoManager::patch_name_from_affix ( std::string const &  affix)
static

Get the Rosetta patch name for this sugar modification affix.

char core::chemical::carbohydrates::CarbohydrateInfoManager::ring_affix_from_ring_size ( core::Size  ring_size)
static

Get the 1-letter affix for designating a carbohydrate ring of this size.

Referenced by core::chemical::carbohydrates::CarbohydrateInfo::determine_IUPAC_names().

utility::vector1< char > const & core::chemical::carbohydrates::CarbohydrateInfoManager::ring_affixes ( )
private
std::map< core::Size, std::pair< char, std::string > > const & core::chemical::carbohydrates::CarbohydrateInfoManager::ring_size_to_morphemes_map ( )
private
std::string const & core::chemical::carbohydrates::CarbohydrateInfoManager::ring_size_to_morphemes_map_file ( )
static

Get the path to the ring_size_to_morphemes.map database file.

References protocols::abinitio::filename().

std::string const & core::chemical::carbohydrates::CarbohydrateInfoManager::root_from_code ( std::string const &  code)
static

Get the monosaccharide root name from the given Rosetta/IUPAC 3-letter code.

Referenced by core::chemical::carbohydrates::CarbohydrateInfo::basic_name(), and core::chemical::carbohydrates::CarbohydrateInfo::determine_IUPAC_names().

std::map< std::string, std::string > const & core::chemical::carbohydrates::CarbohydrateInfoManager::short_name_to_iupac_strings_map ( )
private

Get a map of short names to the full iupac glycan sequence for common glycosylations.

References protocols::abinitio::filename(), protocols::hybridization::path, and core::chemical::carbohydrates::read_short_names_to_iupac_format_string().

std::string const & core::chemical::carbohydrates::CarbohydrateInfoManager::sugar_modifications_table_file ( )
static

Get the path to the sugar_modifications.table database file.

References protocols::abinitio::filename().

Friends And Related Function Documentation

friend class utility::SingletonBase< CarbohydrateInfoManager >
friend

Member Data Documentation

std::map< std::string, std::string > core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_patch_map_
private
std::map< std::string, bool > core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_position_inherency_map_
private
std::map< std::string, core::uint > core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_position_map_
private
std::map< std::string, RootData > core::chemical::carbohydrates::CarbohydrateInfoManager::code_to_root_map_
private
std::map< std::pair< std::string, std::string >, utility::vector1< LinkageConformerData > > core::chemical::carbohydrates::CarbohydrateInfoManager::linkage_conformers_map_
private
SugarModificationsNomenclatureTable core::chemical::carbohydrates::CarbohydrateInfoManager::nomenclature_table_
private
utility::vector1< char > core::chemical::carbohydrates::CarbohydrateInfoManager::ring_affixes_
private
std::map< core::Size, std::pair< char, std::string > > core::chemical::carbohydrates::CarbohydrateInfoManager::ring_size_to_morphemes_map_
private
std::map< std::string, std::string > core::chemical::carbohydrates::CarbohydrateInfoManager::short_name_to_iupac_strings_map_
private

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