Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
chemical
ChemicalManager.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
//////////////////////////////////////////////////////////////////////
10
/// @begin ChemicalManager
11
///
12
/// @brief
13
/// Chemical manager class
14
///
15
/// @detailed
16
/// The Chemical Manager is a singleton class, which means that it can only been initialized once (exist once in memory). Once initialized,
17
/// you can call it by simply access it via:
18
///
19
/// core::chemical::AtomTypeSetCAP atom_types =
20
/// core::chemical::ChemicalManager::get_instance()->atom_type_set("fa_standard");
21
///
22
/// You can substitute AtomTypeSet, with whatever is seen below (residue_type_set, mm_atom_type_set, orbital_type_set).
23
/// In the below functions, the "tag_in" refers to fullatom, centroid, which basically tells what type of set to load in.
24
/// The chemical manager will call functions within the AtomTypeSet, MMAtomTypeSet, ResidueTypeSet, etc etc. The classes type set
25
/// reads in files from the database to create atom types, residue types, and mmatom types. The information from those files are stored
26
/// in the type class.
27
///
28
///
29
///
30
/// @authors
31
/// Andrew Leaver-Fay (leaverfa@email.unc.edu)
32
/// Steven Combs - comments
33
///
34
///
35
/// @last_modified December 6 2010
36
/////////////////////////////////////////////////////////////////////////
37
38
39
#ifndef INCLUDED_core_chemical_ChemicalManager_hh
40
#define INCLUDED_core_chemical_ChemicalManager_hh
41
42
// Unit headers
43
#include <
core/chemical/ChemicalManager.fwd.hh
>
44
45
// Package headers
46
#include <
core/chemical/AtomTypeSet.fwd.hh
>
47
#include <
core/chemical/ElementSet.fwd.hh
>
48
#include <
core/chemical/IdealBondLengthSet.fwd.hh
>
49
#include <
core/chemical/MMAtomTypeSet.fwd.hh
>
50
#include <
core/chemical/orbitals/OrbitalTypeSet.fwd.hh
>
51
//#include <core/chemical/CSDAtomTypeSet.fwd.hh>
52
#include <
core/chemical/ResidueTypeSet.fwd.hh
>
53
54
// C++
55
#include <map>
56
57
// Commented by inclean daemon #include <string>
58
59
namespace
core {
60
namespace
chemical {
61
62
/// @brief a class managing different sets of atom_type_set and residue_type_set
63
///
64
/// @details make it as a singleton class so that atom_type_set and residue_type_set are only
65
///input and initialized once. They can be later retrieved by querying this class.
66
class
ChemicalManager
67
{
68
public
:
69
70
71
public
:
72
static
ChemicalManager
*
get_instance
();
73
74
/// @brief query atom_type_set by a name tag
75
AtomTypeSetCAP
76
atom_type_set
(
std::string
const
& tag );
77
78
/// @brief query atom_type_set by a name tag
79
ElementSetCAP
80
element_set
(
std::string
const
& tag );
81
82
/// @brief query ideal_bond_lengths
83
IdealBondLengthSetCAP
ideal_bond_length_set
(
std::string
const
& tag);
84
85
/// @brief query mm_atom_type_set by a name tag
86
MMAtomTypeSetCAP
87
mm_atom_type_set
(
std::string
const
& tag );
88
89
/// @brief query csd_atom_type_set by a name tag
90
// CSDAtomTypeSetCAP
91
// csd_atom_type_set( std::string const & tag );
92
93
/// @brief query orbital_type_set by a name tag
94
orbitals::OrbitalTypeSetCAP
95
orbital_type_set
(
std::string
const
& tag);
96
97
/// @brief query residue_type_set by a name tag
98
ResidueTypeSetCAP
99
residue_type_set
(
std::string
tag );
100
101
/// @brief query residue_type_set by a name tag
102
ResidueTypeSet
&
103
nonconst_residue_type_set
(
std::string
const
& tag );
104
105
106
107
private
:
108
typedef
std::map< std::string, AtomTypeSetOP >
AtomTypeSets
;
109
typedef
std::map< std::string, ElementSetOP >
ElementSets
;
110
typedef
std::map< std::string, IdealBondLengthSetOP>
IdealBondLengthSets
;
111
typedef
std::map< std::string, orbitals::OrbitalTypeSetOP >
OrbitalTypeSets
;
112
typedef
std::map< std::string, MMAtomTypeSetOP >
MMAtomTypeSets
;
113
// typedef std::map< std::string, CSDAtomTypeSetOP > CSDAtomTypeSets;
114
typedef
std::map< std::string, ResidueTypeSetOP >
ResidueTypeSets
;
115
116
private
:
117
/// @brief private constructor
118
ChemicalManager
();
119
/// @brief static data member holding pointer to the singleton class itself
120
static
ChemicalManager
*
instance_
;
121
122
/// @brief lookup map for querying atom_type_set by name tag
123
AtomTypeSets
atom_type_sets_
;
124
/// @brief lookup map for querying element_type_set by name tag
125
ElementSets
element_sets_
;
126
///@brief lookup map for querying orbital_type_set by name tag.
127
OrbitalTypeSets
orbital_type_sets_
;
128
/// @brief lookup map for querying mm_atom_type_set by name tag
129
MMAtomTypeSets
mm_atom_type_sets_
;
130
/// @brief lookup map for querying csd_atom_type_set by name tag
131
// CSDAtomTypeSets csd_atom_type_sets_;
132
/// @brief lookup map for querying residue_type_set by name tag
133
ResidueTypeSets
residue_type_sets_
;
134
135
IdealBondLengthSets
ideal_bond_length_sets_
;
136
};
137
138
}
// namespace core
139
}
// namespace chemical
140
141
142
#endif
143
144
// /// @brief Duplicate a ResidueTypeSet, preparatory to modifying it in some way DOES NOT DUPLICATE ITS ATOMTYPESETS
145
// void
146
// copy_residue_type_set(
147
// std::string const & old_name,
148
// std::string const & new_name
149
// );
150
151
// /// @brief Duplicate an AtomTypeSet, preparatory to modifying it in some way
152
// void
153
// copy_atom_type_set(
154
// std::string const & old_name,
155
// std::string const & new_name
156
// );
Generated on Sat Jun 1 2013 11:31:35 for Rosetta 3.5 by
1.8.4