BALL
1.4.79
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
DOCKING
COMMON
flexibleMolecule.h
Go to the documentation of this file.
1
// ----------------------------------------------------
2
// $Maintainer: Marc Röttig $
3
// $Authors: Marc Röttig, Marcel Schumann $
4
// ----------------------------------------------------
5
6
#ifndef BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H
7
#define BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H
8
9
#include <
BALL/KERNEL/molecule.h
>
10
#include <
BALL/KERNEL/forEach.h
>
11
#include <
BALL/DATATYPE/hashMap.h
>
12
#include <
BALL/DOCKING/COMMON/conformation.h
>
13
#include <
BALL/COMMON/exception.h
>
14
#include <iostream>
15
16
namespace
BALL
17
{
22
class
BALL_EXPORT
FlexibleMolecule
23
{
24
public
:
25
26
/* Constructor.
27
*/
28
FlexibleMolecule
(
Molecule
* mol);
29
31
FlexibleMolecule
(
const
FlexibleMolecule
& flexmol);
32
35
virtual
~
FlexibleMolecule
();
36
40
virtual
void
addConformation(
Conformation
* conf);
41
43
void
clearConformations();
44
49
static
void
generateTopologyHash(
const
AtomContainer
* mol,
String
& hash,
bool
ignore_hydrogen =
false
);
50
51
55
Size
getNumberOfConformations();
56
60
const
vector < Conformation* > & getConformations()
const
;
61
65
String
getConformationId(
Position
i);
66
70
Conformation
* getConformation(
Position
i);
71
75
Molecule
* getConformer(
Position
i);
76
80
Molecule
* getConformerById(
String
id
);
81
85
Conformation
* getConformationById(
String
id
);
86
90
bool
hasConformation(
String
id
);
91
95
Molecule
* getParent();
96
100
String
getId()
const
;
101
105
void
setId(
String
id
);
106
107
void
removeMoleculeOwnership();
108
109
protected
:
110
String
id
;
111
bool
checkCompatibility(
Conformation
* conf);
112
Molecule
*
molecule
;
113
vector < Conformation* >
conformations
;
114
HashMap < String, Conformation* >
conf_ids_
;
115
bool
molecule_ownership_
;
116
117
private
:
118
static
void
calculatePseudoSmile(
const
Atom
* atom,
String
& smile,
HashSet<const Atom*>
& visited_atoms,
bool
ignore_hydrogen);
119
};
120
121
typedef
FlexibleMolecule
Ligand
;
122
}
123
124
#endif
/* BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H */
BALL::Ligand
FlexibleMolecule Ligand
Definition:
flexibleMolecule.h:121
BALL::String
Definition:
string.h:61
exception.h
conformation.h
BALL::FlexibleMolecule::molecule
Molecule * molecule
Definition:
flexibleMolecule.h:112
BALL::Conformation
Definition:
conformation.h:24
molecule.h
BALL::FlexibleMolecule::molecule_ownership_
bool molecule_ownership_
Definition:
flexibleMolecule.h:115
BALL::AtomContainer
Definition:
atomContainer.h:29
BALL::FlexibleMolecule::conformations
vector< Conformation * > conformations
Definition:
flexibleMolecule.h:113
BALL::Molecule
Definition:
molecule.h:29
BALL::FlexibleMolecule::id
String id
Definition:
flexibleMolecule.h:110
hashMap.h
BALL::HashSet
Definition:
hashSet.h:45
BALL_SIZE_TYPE
BALL::FlexibleMolecule::conf_ids_
HashMap< String, Conformation * > conf_ids_
Definition:
flexibleMolecule.h:114
BALL::FlexibleMolecule
Definition:
flexibleMolecule.h:22
BALL::Atom
Definition:
atom.h:87
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions)
Definition:
hashMap.h:73
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
forEach.h
Generated by
1.8.7