BALL  1.5.0
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>
13 #include <BALL/COMMON/exception.h>
14 #include <iostream>
15 
16 namespace BALL
17 {
23  {
24  public:
25 
26  /* Constructor.
27  */
29 
32 
35  virtual ~FlexibleMolecule();
36 
40  virtual void addConformation(Conformation* conf);
41 
44 
49  static void generateTopologyHash(const AtomContainer* mol, String& hash, bool ignore_hydrogen = false);
50 
51 
56 
60  const vector < Conformation* > & getConformations() const;
61 
66 
71 
76 
81 
86 
91 
96 
100  String getId() const;
101 
105  void setId(String id);
106 
108 
109  protected:
113  vector < Conformation* > conformations;
116 
117  private:
118  static void calculatePseudoSmile(const Atom* atom, String& smile, HashSet<const Atom*>& visited_atoms, bool ignore_hydrogen);
119  };
120 
122 }
123 
124 #endif /* BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H */
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::FlexibleMolecule::id
String id
Definition: flexibleMolecule.h:110
BALL::FlexibleMolecule::getConformation
Conformation * getConformation(Position i)
BALL::FlexibleMolecule::conf_ids_
HashMap< String, Conformation * > conf_ids_
Definition: flexibleMolecule.h:114
hashMap.h
BALL::FlexibleMolecule::setId
void setId(String id)
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions)
Definition: hashMap.h:74
BALL::AtomContainer
Definition: atomContainer.h:32
BALL::Molecule
Definition: molecule.h:31
BALL::FlexibleMolecule::getConformer
Molecule * getConformer(Position i)
BALL::FlexibleMolecule
Definition: flexibleMolecule.h:23
BALL::Atom
Definition: atom.h:90
BALL::FlexibleMolecule::getConformations
const vector< Conformation * > & getConformations() const
BALL::FlexibleMolecule::hasConformation
bool hasConformation(String id)
BALL::String
Definition: string.h:57
BALL::FlexibleMolecule::generateTopologyHash
static void generateTopologyHash(const AtomContainer *mol, String &hash, bool ignore_hydrogen=false)
BALL::FlexibleMolecule::molecule_ownership_
bool molecule_ownership_
Definition: flexibleMolecule.h:115
BALL::FlexibleMolecule::getNumberOfConformations
Size getNumberOfConformations()
BALL
Definition: constants.h:13
BALL::FlexibleMolecule::FlexibleMolecule
FlexibleMolecule(Molecule *mol)
BALL::HashSet
Definition: hashSet.h:46
BALL::FlexibleMolecule::~FlexibleMolecule
virtual ~FlexibleMolecule()
BALL::FlexibleMolecule::FlexibleMolecule
FlexibleMolecule(const FlexibleMolecule &flexmol)
BALL::FlexibleMolecule::addConformation
virtual void addConformation(Conformation *conf)
BALL::FlexibleMolecule::molecule
Molecule * molecule
Definition: flexibleMolecule.h:112
BALL::FlexibleMolecule::getConformationId
String getConformationId(Position i)
BALL::FlexibleMolecule::conformations
vector< Conformation * > conformations
Definition: flexibleMolecule.h:113
BALL_SIZE_TYPE
BALL::FlexibleMolecule::checkCompatibility
bool checkCompatibility(Conformation *conf)
BALL::Conformation
Definition: conformation.h:25
BALL::FlexibleMolecule::getId
String getId() const
exception.h
BALL::FlexibleMolecule::removeMoleculeOwnership
void removeMoleculeOwnership()
BALL::FlexibleMolecule::getConformationById
Conformation * getConformationById(String id)
BALL::FlexibleMolecule::clearConformations
void clearConformations()
forEach.h
BALL::FlexibleMolecule::getConformerById
Molecule * getConformerById(String id)
BALL::FlexibleMolecule::getParent
Molecule * getParent()
conformation.h
BALL::Ligand
FlexibleMolecule Ligand
Definition: flexibleMolecule.h:121
molecule.h