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
orbitals
OrbitalType.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 OrbitalType.cc
11
///
12
/// @brief
13
/// A class that contains orbital parameters
14
///
15
/// @details
16
/// This class contains the "chemical" information for orbitals. This does not contain the actual
17
/// xyz coordinates of the class which is managed by the conformation/Residue.hh. The orbital_type properties
18
/// are assigned by the class OrbitalTypeSet which is initiated from the ChemicalManager. Orbital type properties
19
/// are currently are read in from the file located chemical/orbital_type_sets/fa_standard/orbital_properties.txt.
20
/// These properties contain the the parameters of distance, but can be modified. Currently this is a very small
21
/// class that will be added on as more and more properties are identified and added.
22
/// Note that information about the atomtype is stored along with the orbital type. This may or may not be useful
23
/// later. Just adding the functionality for shits and giggles.
24
///
25
/// Orbital type name: the orbital type name contains the hybridization, orbital name, and element associated with the orbital
26
///
27
/// Hybridization: the hybridiztion of the atom that the orbital is bonded to (sp, sp2, sp3)
28
///
29
/// Orbital Name: the name of the orbital. This usually is p, d, pi, sigma. The orbital name is different than the orbital type name
30
///
31
/// Atom Type Name: the type of atom associated with an orbital
32
///
33
/// Distance: distance the orbital comes off of the atom. Currently, for residues, the distance is the Bohr radius of Hydrogen+element
34
///
35
///
36
///
37
///
38
///
39
/// @author Steven Combs
40
///
41
///
42
/// @last_modified December 15 2010
43
/////////////////////////////////////////////////////////////////////////
44
#ifndef INCLUDED_core_chemical_orbitals_OrbitalType_hh
45
#define INCLUDED_core_chemical_orbitals_OrbitalType_hh
46
47
#include <utility/vector1.hh>
48
#include <
core/types.hh
>
49
#include <string>
50
#include <
core/chemical/orbitals/OrbitalTypeMapper.fwd.hh
>
51
52
namespace
core{
53
namespace
chemical{
54
namespace
orbitals{
55
56
class
OrbitalType
{
57
public
:
58
59
60
OrbitalType
(
std::string
&
orbital_name
,
std::string
&
atom_type_name
);
61
62
///@brief The parameters are the actual headings in the orbital_properties.txt. If you want to add more paramters,
63
/// you must edit orbital_properties.txt and add another heading. You also need to edit AtomTypeSet.txt so that
64
/// it recognizes that parameter and parses it. The parameters are different form the properties in that they
65
/// are Reals/Size and properties are strings.
66
void
67
set_parameter
(
68
std::string
const
& param,
69
core::Real
const
setting
70
);
71
72
///@brief Currently, these properties are not actually in the orbital_properties.txt. I have them here
73
/// as an example on how to add properties. This is also a place holder as the ligand code will
74
/// soon be using these properties. The Acceptor/Donor could refer to orbitals that have a lone pair
75
/// and are donating to a hydrogen, or an electron defficient region. In order to add properties, one
76
/// must add the properties to the last line of orbital_properties.txt and make a private member variable
77
/// for that property in the header file. Then do a string match comparision, like seen below. These properties
78
/// are set via OrbitalTypeSet.hh
79
void
80
set_property
(
81
std::string
const
& property,
82
bool
const
setting
83
);
84
85
///@brief returns the name of the orbital type. defined in orbital_properties.txt
86
std::string
name
()
const
;
87
88
///@brief returns the distance from the atom the orbital comes off. defined in orbital_properties.txt
89
Real
distance
()
const
;
90
91
///@brief returns the atom_types associated with the orbital type. defined in orbital_properties.txt
92
utility::vector1<std::string>
atom_type_name
()
const
;
93
94
///@brief returns hybrdiziation of atom the orbital is attached to
95
std::string
hybridization
()
const
;
96
97
///@brief returns the orbital associated with the type
98
std::string
orbital_name
()
const
;
99
100
orbital_type_enum
orbital_enum
()
const
;
101
102
103
private
:
104
///@brief is the orbital an acceptor?
105
bool
is_orbital_acceptor_
;
106
107
///@brief is the orbital a donor?
108
bool
is_orbital_donor_
;
109
110
///@brief the orbital type name
111
std::string
orbital_type_name_
;
112
113
///@brief hybridization of atom the orbital is attached to
114
std::string
hybridization_
;
115
116
///@brief orbital name associated with the orbital type
117
std::string
orbital_name_
;
118
119
///@brief atom type associated with a given orbital type
120
utility::vector1<std::string>
atom_type_name_
;
121
122
123
///@brief distance of orbital from center of atom
124
core::Real
distance_
;
125
126
orbital_type_enum
orbital_type_enum_
;
127
128
129
};
130
131
}
132
}
133
}
134
135
136
137
#endif
/* ORBITALTYPE_HH_ */
Generated on Sat Jun 1 2013 11:31:36 for Rosetta 3.5 by
1.8.4