Loading...
Searching...
No Matches
BALL::FlexibleMolecule Class Reference

`#include <BALL/DOCKING/COMMON/flexibleMolecule.h>`

Inheritance diagram for BALL::FlexibleMolecule:

## Public Member Functions

| FlexibleMolecule (Molecule *mol)
| FlexibleMolecule (const FlexibleMolecule &flexmol)
virtual | ~FlexibleMolecule ()
virtual void | addConformation (Conformation *conf)
void | clearConformations ()
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 ()

## Static Public Member Functions

static void | generateTopologyHash (const AtomContainer *mol, String &hash, bool ignore_hydrogen=false)

## Protected Member Functions

bool | checkCompatibility (Conformation *conf)

## Protected Attributes

String | id
Molecule * | molecule
vector< Conformation * > | conformations
HashMap< String, Conformation * > | conf_ids_
bool | molecule_ownership_

## Detailed Description

FlexibleMolecule class. This class represents any molecule having multiple conformers.

Definition at line 22 of file flexibleMolecule.h.

## Constructor & Destructor Documentation

## FlexibleMolecule() [1/2]

BALL::FlexibleMolecule::FlexibleMolecule | ( | Molecule * | mol | ) |

## FlexibleMolecule() [2/2]

BALL::FlexibleMolecule::FlexibleMolecule | ( | const FlexibleMolecule & | flexmol | ) |

Copy constructor.

## ~FlexibleMolecule()

virtual BALL::FlexibleMolecule::~FlexibleMolecule | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## addConformation()

virtual void BALL::FlexibleMolecule::addConformation | ( | Conformation * | conf | ) |

virtual

Add a conformation

Parameters

  conformation | pointer

Reimplemented in BALL::Receptor.

## checkCompatibility()

bool BALL::FlexibleMolecule::checkCompatibility | ( | Conformation * | conf | ) |

protected

## clearConformations()

void BALL::FlexibleMolecule::clearConformations | ( |  | ) |

Removes and destroyes all conformations of this FlexibleMolecule

## generateTopologyHash()

void BALL::FlexibleMolecule::generateTopologyHash | ( | const AtomContainer * | mol,
|  | String & | hash,
|  | bool | ignore_hydrogen = false )

static

Generate a hashkey for the topology of the given molecule.
This hashkey uses information about all atoms, bonds and bond-orders and generates a cryptographic hashkey from this data.
Note that the atom positions are not taken into account by this function; if you need a hashkey for a conformation, please you Conformation::generateHash() instead.

Parameters

  ignore_hydrogen | if set to true, hydrogen atom are ignore during creation of the hashkey. This is useful for searching molecules regardless of the exact protonation state.

## getConformation()

Conformation * BALL::FlexibleMolecule::getConformation | ( | Position | i | ) |

Get a pointer to the i-th conformation.

Returns
  pointer to i-th conformation

## getConformationById()

Conformation * BALL::FlexibleMolecule::getConformationById | ( | String | id | ) |

Get a pointer to a conformation by specifying its ID.

Returns
  pointer to Conformation having the specified ID

## getConformationId()

String BALL::FlexibleMolecule::getConformationId | ( | Position | i | ) |

Get the ID of the i-th conformation.

Returns
  ID of i-th conformation

## getConformations()

const vector< Conformation * > & BALL::FlexibleMolecule::getConformations | ( |  | ) | const

Get a vector of all stored conformations.

Returns
  vector of conformation pointers

## getConformer()

Molecule * BALL::FlexibleMolecule::getConformer | ( | Position | i | ) |

Get a pointer to the i-th conformer ( = conformation applied to parent molecule).

Returns
  pointer to i-th conformer

## getConformerById()

Molecule * BALL::FlexibleMolecule::getConformerById | ( | String | id | ) |

Get a pointer to the conformer by ID ( = conformation applied to parent molecule).

Returns
  pointer to conformer having the specified ID

## getId()

String BALL::FlexibleMolecule::getId | ( |  | ) | const

Get the ID of the Flexible Molecule

Returns
  ID of Flexible Molecule

## getNumberOfConformations()

Size BALL::FlexibleMolecule::getNumberOfConformations | ( |  | ) |

Get the number of stored conformations.

Returns
  number of conformations

## getParent()

Molecule * BALL::FlexibleMolecule::getParent | ( |  | ) |

Get a pointer to the parent molecule supplied in the constructor

Returns
  pointer to parent molecule

## hasConformation()

bool BALL::FlexibleMolecule::hasConformation | ( | String | id | ) |

Has the Flexible Molecule an associated conformation with given ID.

Returns
  bool

## removeMoleculeOwnership()

void BALL::FlexibleMolecule::removeMoleculeOwnership | ( |  | ) |

## setId()

void BALL::FlexibleMolecule::setId | ( | String | id | ) |

Set the ID of the Flexible Molecule

Parameters

  id | of Flexible Molecule

## Member Data Documentation

## conf_ids_

HashMap< String, Conformation* > BALL::FlexibleMolecule::conf_ids_

protected

Definition at line 114 of file flexibleMolecule.h.

## conformations

vector< Conformation* > BALL::FlexibleMolecule::conformations

protected

Definition at line 113 of file flexibleMolecule.h.

## id

String BALL::FlexibleMolecule::id

protected

Definition at line 110 of file flexibleMolecule.h.

## molecule

Molecule* BALL::FlexibleMolecule::molecule

protected

Definition at line 112 of file flexibleMolecule.h.

## molecule_ownership_

bool BALL::FlexibleMolecule::molecule_ownership_

protected

Definition at line 115 of file flexibleMolecule.h.