Rosetta
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< LinkageConformerDatalinkages_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, bool > affix_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

◆ CarbohydrateInfoManager()

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

Default constructor.

Member Function Documentation

◆ affix_has_inherent_position()

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

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

◆ affix_to_patch_map()

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

◆ affix_to_position_inherency_map()

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

◆ affix_to_position_map()

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

◆ anomeric_position_from_code()

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().

◆ branch_variant_type_from_atom_name()

VariantType core::chemical::carbohydrates::CarbohydrateInfoManager::branch_variant_type_from_atom_name ( std::string const &  atom_name)
static

◆ branch_variant_type_from_position()

VariantType core::chemical::carbohydrates::CarbohydrateInfoManager::branch_variant_type_from_position ( core::uint const  position)
static

◆ code_to_root_map()

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

◆ codes_to_root_map_file()

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().

◆ default_position_from_affix()

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.

◆ default_stereochem_from_code()

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().

◆ find_linkage_conformer_data_file()

std::string core::chemical::carbohydrates::CarbohydrateInfoManager::find_linkage_conformer_data_file ( std::string  filename)
private

◆ get_short_name_to_iupac_strings_map()

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().

◆ is_valid_modification_affix()

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?

◆ is_valid_ring_affix()

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

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

◆ is_valid_sugar_code()

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

◆ linkage_conformers_map()

LinkageConformers const & core::chemical::carbohydrates::CarbohydrateInfoManager::linkage_conformers_map ( )
private

◆ linkages_from_pair()

utility::vector1< LinkageConformerData > core::chemical::carbohydrates::CarbohydrateInfoManager::linkages_from_pair ( std::string const &  res1,
std::string const &  res2 
)
static

◆ morpheme_from_ring_size()

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().

◆ nomenclature_table()

SugarModificationsNomenclatureTable const & core::chemical::carbohydrates::CarbohydrateInfoManager::nomenclature_table ( )
private

◆ pair_has_linkage_statistics()

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().

◆ patch_name_from_affix()

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.

◆ ring_affix_from_ring_size()

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().

◆ ring_affixes()

utility::vector1< char > const & core::chemical::carbohydrates::CarbohydrateInfoManager::ring_affixes ( )
private

◆ ring_size_to_morphemes_map()

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

◆ ring_size_to_morphemes_map_file()

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().

◆ root_from_code()

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().

◆ short_name_to_iupac_strings_map()

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().

◆ sugar_modifications_table_file()

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

◆ utility::SingletonBase< CarbohydrateInfoManager >

friend class utility::SingletonBase< CarbohydrateInfoManager >
friend

Member Data Documentation

◆ affix_to_patch_map_

std::map< std::string, std::string > core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_patch_map_
private

◆ affix_to_position_inherency_map_

std::map< std::string, bool > core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_position_inherency_map_
private

◆ affix_to_position_map_

std::map< std::string, core::uint > core::chemical::carbohydrates::CarbohydrateInfoManager::affix_to_position_map_
private

◆ code_to_root_map_

std::map< std::string, RootData > core::chemical::carbohydrates::CarbohydrateInfoManager::code_to_root_map_
private

◆ linkage_conformers_map_

std::map< std::pair< std::string, std::string >, utility::vector1< LinkageConformerData > > core::chemical::carbohydrates::CarbohydrateInfoManager::linkage_conformers_map_
private

◆ nomenclature_table_

SugarModificationsNomenclatureTable core::chemical::carbohydrates::CarbohydrateInfoManager::nomenclature_table_
private

◆ ring_affixes_

utility::vector1< char > core::chemical::carbohydrates::CarbohydrateInfoManager::ring_affixes_
private

◆ ring_size_to_morphemes_map_

std::map< core::Size, std::pair< char, std::string > > core::chemical::carbohydrates::CarbohydrateInfoManager::ring_size_to_morphemes_map_
private

◆ short_name_to_iupac_strings_map_

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: