Loading...
Searching...
No Matches
flexibleMolecule.h
Go to the documentation of this file.
// ----------------------------------------------------
// $Maintainer: Marc Röttig $
// $Authors: Marc Röttig, Marcel Schumann $
// ----------------------------------------------------
#ifndef BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H
#define BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H
#include <BALL/KERNEL/molecule.h>
#include <BALL/KERNEL/forEach.h>
#include <BALL/DATATYPE/hashMap.h>
#include <BALL/DOCKING/COMMON/conformation.h>
#include <BALL/COMMON/exception.h>
#include <iostream>
namespace BALL
{
class BALL_EXPORT FlexibleMolecule
{
public:
/* Constructor.
*/
FlexibleMolecule(Molecule* mol);
FlexibleMolecule(const FlexibleMolecule& flexmol);
virtual ~FlexibleMolecule();
virtual void addConformation(Conformation* conf);
void clearConformations();
static void generateTopologyHash(const AtomContainer* mol, String& hash, bool ignore_hydrogen = false);
Size getNumberOfConformations();
const vector < Conformation* > & getConformations() const;
String getConformationId(Position i);
Conformation* getConformation(Position i);
Molecule* getConformer(Position i);
Molecule* getConformerById(String id);
Conformation* getConformationById(String id);
bool hasConformation(String id);
Molecule* getParent();
String getId() const;
void setId(String id);
void removeMoleculeOwnership();
protected:
String id;
bool checkCompatibility(Conformation* conf);
Molecule* molecule;
vector < Conformation* > conformations;
HashMap < String, Conformation* > conf_ids_;
bool molecule_ownership_;
private:
static void calculatePseudoSmile(const Atom* atom, String& smile, HashSet<const Atom*>& visited_atoms, bool ignore_hydrogen);
};
typedef FlexibleMolecule Ligand;
}
#endif /* BALL_DOCKING_COMMON_FLEXIBLEMOLECULE_H */
exception.h
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
forEach.h
BALL::AtomContainer
Definition atomContainer.h:32
BALL::Atom
Definition atom.h:90
BALL::Conformation
Definition conformation.h:25
BALL::FlexibleMolecule
Definition flexibleMolecule.h:23
BALL::FlexibleMolecule::FlexibleMolecule
FlexibleMolecule(Molecule *mol)
BALL::FlexibleMolecule::FlexibleMolecule
FlexibleMolecule(const FlexibleMolecule &flexmol)
BALL::FlexibleMolecule::clearConformations
void clearConformations()
BALL::FlexibleMolecule::molecule
Molecule * molecule
Definition flexibleMolecule.h:112
BALL::FlexibleMolecule::getConformationId
String getConformationId(Position i)
BALL::FlexibleMolecule::checkCompatibility
bool checkCompatibility(Conformation *conf)
BALL::FlexibleMolecule::getConformationById
Conformation * getConformationById(String id)
BALL::FlexibleMolecule::hasConformation
bool hasConformation(String id)
BALL::FlexibleMolecule::removeMoleculeOwnership
void removeMoleculeOwnership()
BALL::FlexibleMolecule::getConformations
const vector< Conformation * > & getConformations() const
BALL::FlexibleMolecule::getConformerById
Molecule * getConformerById(String id)
BALL::FlexibleMolecule::getNumberOfConformations
Size getNumberOfConformations()
BALL::FlexibleMolecule::~FlexibleMolecule
virtual ~FlexibleMolecule()
BALL::FlexibleMolecule::getId
String getId() const
BALL::FlexibleMolecule::getParent
Molecule * getParent()
BALL::FlexibleMolecule::conformations
vector< Conformation * > conformations
Definition flexibleMolecule.h:113
BALL::FlexibleMolecule::addConformation
virtual void addConformation(Conformation *conf)
BALL::FlexibleMolecule::conf_ids_
HashMap< String, Conformation * > conf_ids_
Definition flexibleMolecule.h:114
BALL::FlexibleMolecule::setId
void setId(String id)
BALL::FlexibleMolecule::molecule_ownership_
bool molecule_ownership_
Definition flexibleMolecule.h:115
BALL::FlexibleMolecule::getConformation
Conformation * getConformation(Position i)
BALL::FlexibleMolecule::id
String id
Definition flexibleMolecule.h:110
BALL::FlexibleMolecule::getConformer
Molecule * getConformer(Position i)
BALL::FlexibleMolecule::generateTopologyHash
static void generateTopologyHash(const AtomContainer *mol, String &hash, bool ignore_hydrogen=false)
BALL::HashSet
Definition hashSet.h:46
BALL::Molecule
Definition molecule.h:31
BALL::String
Definition string.h:57
conformation.h
hashMap.h
molecule.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
BALL::Ligand
FlexibleMolecule Ligand
Definition flexibleMolecule.h:121