BALL 1.5.0
Loading...
Searching...
No Matches
rotamerLibrary.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4
5#ifndef BALL_STRUCTURE_ROTAMERLIBRARY_H
6#define BALL_STRUCTURE_ROTAMERLIBRARY_H
7
8#ifndef BALL_STRUCTURE_FRAGMENT_DB_H
10#endif
11
12#ifndef BALL_STRUCTURE_RESIDUEROTAMERSET_H
14#endif
15
16#ifndef BALL_DATATYPE_HASHMAP_H
17 #include <BALL/DATATYPE/hasMap.h>
18#endif
19
20//#include <map>
21
22namespace BALL
23{
24 class FragmentDB;
25 class String;
26
34 {
35 public:
36
38
39
42
44 static const String DEFAULT_LIBRARY;
45
49
53
58
60 RotamerLibrary(const String& filename, const FragmentDB& fragment_db) ;
61
63 RotamerLibrary(const FragmentDB& fragment_db) ;
64
67
69 virtual ~RotamerLibrary();
71
75
76 RotamerLibrary& operator = (const RotamerLibrary& rhs);
78
79
83
85
87 ResidueRotamerSet* getRotamerSet(const String& name, float phi, float psi);
88
91
94
96 Size getNumberOfRotamers(const String& name) const;
97
100
102 void addRotamer(const String& name, const Rotamer& rotamer, Size number_of_torsions, Index phi, Index psi);
103
105 void addRotamer(const String& name, const Rotamer& rotamer, Size number_of_torsions);
106
109
111 void setBackboneDependent(bool dependent);
112
114 bool hasRotamers(const String& name) const;
115
117 bool validate();
118
120 void sort();
121
125 void clear();
127
128 protected:
129
133
135
138
141
144
147
151 };
152
153} // namespace BALL
154
155#endif // BALL_STRUCTURE_ROTAMERLIBRARY_H
#define BALL_EXPORT
HashMap class based on the STL map (containing serveral convenience functions).
Definition hashMap.h:74
Size getNumberOfRotamers() const
Return total number of rotamers.
void addRotamer(const String &name, const Rotamer &rotamer, Size number_of_torsions, Index phi, Index psi)
adds rotamer with specific phi/psi backbone torsion
void sort()
method to sort the Rotamers of each ResidueRotamerSet descendingly according to the probability
Size getNumberOfRotamerSets() const
returns the number of rotamer sets
static const String DEFAULT_LIBRARY
Rotamer library used when calling the default constructor.
Size step_width_
discretization step width of the torsion angles
void setBackboneDependent(bool dependent)
sets whether the rotamers are backbone dependent or not
static const String DEFAULT_FRAGMENT_DB
Fragment DB used when calling the default constructor.
bool validate()
method to test the validity of this library, typically called after the building (see SCWRLLibraryFil...
HashMap< String, ResidueRotamerSet > bb_indep_sets_
Contains the available variants (name, rotamer set) in case of bb indep.
HashMap< Index, HashMap< Index, HashMap< String, ResidueRotamerSet > > > bb_dep_sets_
Contains the available variants (phi, psi, name, rotamer set) in case of bb dep.
bool isBackboneDependent() const
returns true if the rotamers are backbone dependent
ResidueRotamerSet * getRotamerSet(const String &name)
Return the residue set of the residue name.
bool backbone_dependent_
flag which is true when the library has backbone dependent rotamers
Index getNearestBackboneTorsion_(double angle) const
bool hasRotamers(const String &name) const
returns true if the library contains rotamers with this name
FragmentDB fragment_db_
fragment db used in this class
#define BALL_CREATE(name)
Definition create.h:62
BALL_SIZE_TYPE Size
BALL_INDEX_TYPE Index