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