$darkmode
DENOPTIM
denoptim.molecularmodeling.ChemicalObjectModel Class Reference

Collector of molecular information, related to a single chemical object, that is deployed within the 3D builder. More...

Collaboration diagram for denoptim.molecularmodeling.ChemicalObjectModel:
[legend]

Public Member Functions

 ChemicalObjectModel ()
 Constructs an empty item. More...
 
 ChemicalObjectModel (DGraph molGraph, IAtomContainer fmol, TinkerMolecule tmol, String molName, ArrayList< ObjectPair > rotatableBnds, ArrayList< RingClosingAttractor > attractors, Map< RingClosingAttractor, Integer > attToAtmID, ArrayList< Set< ObjectPair > > allRCACombs, ArrayList< RingClosure > ringClosures, ArrayList< Integer > oldToNewOrder, ArrayList< Integer > newToOldOrder, Logger logger)
 Constructs an item specifying all its features. More...
 
 ChemicalObjectModel (DGraph molGraph, IAtomContainer fmol, TinkerMolecule tmol, String molName, ArrayList< ObjectPair > rotatableBnds, ArrayList< Integer > oldToNewOrder, ArrayList< Integer > newToOldOrder, Logger logger) throws DENOPTIMException
 Constructs a Molecule3DBuilder specifying all its features. More...
 
List< Integer > getOldToNewOrder ()
 
List< Integer > getNewToOldOrder ()
 
void updateXYZFromINT () throws DENOPTIMException
 Converts currently loaded internal coordinates into Cartesian overwriting the current XYZ. More...
 
DGraph getGraph ()
 Returns the graph representation of this molecule as it was originally generated by DEOPTIM. More...
 
IAtomContainer getIAtomContainer ()
 Returns the CDK representation of the molecular system. More...
 
TinkerMolecule getTinkerMolecule ()
 Returns the Tinker Internal Coordination representation of the molecule. More...
 
ArrayList< RingClosingAttractorgetAttractorsList ()
 Returns the list of RuingClosingAttractors. More...
 
RingClosingAttractor getAttractor (int i)
 Returns the attractor given its position in the list of attractors. More...
 
int getAtmIdOfRCA (RingClosingAttractor rca)
 Returns the CDK atom number, 0 to (n-1), of the given RingClosingAttractor. More...
 
int getTnkAtmIdOfRCA (RingClosingAttractor rca)
 Returns the Tinker atom number, 1 to n,of the given RingClosingAttractor. More...
 
ArrayList< Set< ObjectPair > > getRCACombinations ()
 Returns the list of combinations of RingClosingAttractor. More...
 
ArrayList< ObjectPairgetRotatableBonds ()
 Returns the list of rotatable bonds. More...
 
int getNumberRotatableBonds ()
 Returns the size of the current list of rotatable bonds. More...
 
ArrayList< RingClosuregetNewRingClosures ()
 Return the list of RingClosures that have been identified as closable head/tail of atom chains during RC-PSSROT conformational adaptation. More...
 
double getNewRingClosuresQuality ()
 Return the overal evaluation of the whole list of RingClosures. More...
 
double getAtomOverlapScore ()
 Return the atoms overlap score which is calculated for all atoms pairs not in 1-4 or lower relationship. More...
 
String getName ()
 Return the name of this molecule. More...
 
void addBond (IAtom atmA, IAtom atmB, RingClosure nRc, BondType bndTyp)
 Modify the molecule adding a cyclic bond between two atoms. More...
 
void purgeListRotatableBonds () throws DENOPTIMException
 Remove the cyclic bonds from the list of rotatable bonds. More...
 
ChemicalObjectModel deepcopy () throws DENOPTIMException
 Return a new Molecule3DBuilder having exactly the same features of this Molecule3DBuilder. More...
 

Private Member Functions

void findAttractors ()
 
void convertRingsToRCACombinations ()
 

Private Attributes

DGraph molGraph
 DENOPTIM representation. More...
 
IAtomContainer fmol
 CDK representation. More...
 
TinkerMolecule tmol
 Tinker internal coordinates representation. More...
 
String molName
 Reference name. More...
 
ArrayList< RingClosingAttractorattractors
 List of Ring Closing Attractors. More...
 
Map< RingClosingAttractor, Integer > attToAtmID
 Relation between RingClosingAttractor and atom ID. More...
 
ArrayList< Set< ObjectPair > > allRCACombs
 List of combinations of RingClosingAttractors (i.e., possible set of rings to create) More...
 
ArrayList< ObjectPairrotatableBnds
 List of rotatable bonds. More...
 
ArrayList< RingClosurenewRingClosures
 List of new ring closing environments. More...
 
double overalRCScore = Double.NaN
 Quality score of the list of RingClosures. More...
 
double atmOveralScore = Double.NaN
 Atom overlap score (for atoms not is 1-4 or lower relationship) More...
 
Logger logger
 Program-specific logger. More...
 
ArrayList< Integer > oldToNewOrder
 
ArrayList< Integer > newToOldOrder
 

Detailed Description

Collector of molecular information, related to a single chemical object, that is deployed within the 3D builder.

Author
Marco Foscato

Definition at line 63 of file ChemicalObjectModel.java.

Constructor & Destructor Documentation

◆ ChemicalObjectModel() [1/3]

denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel ( )

Constructs an empty item.

Definition at line 135 of file ChemicalObjectModel.java.

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.deepcopy().

Here is the caller graph for this function:

◆ ChemicalObjectModel() [2/3]

denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel ( DGraph  molGraph,
IAtomContainer  fmol,
TinkerMolecule  tmol,
String  molName,
ArrayList< ObjectPair rotatableBnds,
ArrayList< RingClosingAttractor attractors,
Map< RingClosingAttractor, Integer >  attToAtmID,
ArrayList< Set< ObjectPair > >  allRCACombs,
ArrayList< RingClosure ringClosures,
ArrayList< Integer >  oldToNewOrder,
ArrayList< Integer >  newToOldOrder,
Logger  logger 
)

Constructs an item specifying all its features.

Parameters
molGraphthe graph representation
fmolthe CDK molecular representation
tmolthe internal coordinates representation
molNamethe reference name of this molecule
rotatableBndsthe list of rotatable bonds (as pairs of atom indexes)
attractorsall the ring closing attractors (RCA)
attToAtmIDthe correspondence between RCA and atom index
allRCACombsall combinations of compatible pairs of RCAs
ringClosuresthe list of closed multi-fragment rings
loggerthe tool to use for logging.

Definition at line 168 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.allRCACombs, denoptim.molecularmodeling.ChemicalObjectModel.attractors, denoptim.molecularmodeling.ChemicalObjectModel.attToAtmID, denoptim.molecularmodeling.ChemicalObjectModel.convertRingsToRCACombinations(), denoptim.molecularmodeling.ChemicalObjectModel.fmol, denoptim.graph.DGraph.hasOrEmbedsRings(), denoptim.molecularmodeling.ChemicalObjectModel.logger, denoptim.molecularmodeling.ChemicalObjectModel.molGraph, denoptim.molecularmodeling.ChemicalObjectModel.molName, denoptim.molecularmodeling.ChemicalObjectModel.newToOldOrder, denoptim.molecularmodeling.ChemicalObjectModel.oldToNewOrder, denoptim.molecularmodeling.ChemicalObjectModel.rotatableBnds, and denoptim.molecularmodeling.ChemicalObjectModel.tmol.

Here is the call graph for this function:

◆ ChemicalObjectModel() [3/3]

denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel ( DGraph  molGraph,
IAtomContainer  fmol,
TinkerMolecule  tmol,
String  molName,
ArrayList< ObjectPair rotatableBnds,
ArrayList< Integer >  oldToNewOrder,
ArrayList< Integer >  newToOldOrder,
Logger  logger 
) throws DENOPTIMException

Constructs a Molecule3DBuilder specifying all its features.

Parameters
molGraphthe graph representation
fmolthe CDK molecular representation
tmolthe internal coordinates representation
molNamethe reference name of this molecule
rotatableBndsthe list of rotatable bonds (as pairs of atom
oldToNewOrderindexes that allow to map the atom position before and after the reordering neede to make use of internal coordinates possible.
newToOldOrderindexes that allow to map the atom position before and after the reordering neede to make use of internal coordinates possible.
loggerthe tool dealing with log messages. indexes)

Definition at line 224 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.convertRingsToRCACombinations(), denoptim.molecularmodeling.ChemicalObjectModel.findAttractors(), denoptim.molecularmodeling.ChemicalObjectModel.fmol, denoptim.graph.DGraph.hasOrEmbedsRings(), denoptim.molecularmodeling.ChemicalObjectModel.logger, denoptim.molecularmodeling.ChemicalObjectModel.molGraph, denoptim.molecularmodeling.ChemicalObjectModel.molName, denoptim.molecularmodeling.ChemicalObjectModel.newToOldOrder, denoptim.molecularmodeling.ChemicalObjectModel.oldToNewOrder, denoptim.molecularmodeling.ChemicalObjectModel.rotatableBnds, denoptim.molecularmodeling.ChemicalObjectModel.tmol, and denoptim.molecularmodeling.ChemicalObjectModel.updateXYZFromINT().

Here is the call graph for this function:

Member Function Documentation

◆ addBond()

void denoptim.molecularmodeling.ChemicalObjectModel.addBond ( IAtom  atmA,
IAtom  atmB,
RingClosure  nRc,
BondType  bndTyp 
)

Modify the molecule adding a cyclic bond between two atoms.

This method is ONLY meant to add new cyclic bonds and requires that the pair of involved atoms comes with the object RingClosure.

Parameters
atmAthe first atom
atmAthe second atom
nRcthe RingClosure object describing the ring-closing arrangement of atoms.

Definition at line 670 of file ChemicalObjectModel.java.

References denoptim.integration.tinker.TinkerMolecule.addBond(), denoptim.molecularmodeling.ChemicalObjectModel.fmol, denoptim.graph.Edge.BondType.getCDKOrder(), denoptim.graph.Edge.BondType.hasCDKAnalogue(), and denoptim.molecularmodeling.ChemicalObjectModel.logger.

Referenced by denoptim.molecularmodeling.RingClosureTool.closeRings().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ convertRingsToRCACombinations()

void denoptim.molecularmodeling.ChemicalObjectModel.convertRingsToRCACombinations ( )
private

Definition at line 290 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.allRCACombs, denoptim.molecularmodeling.ChemicalObjectModel.attractors, and denoptim.graph.rings.RingClosingAttractor.getRingUser().

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deepcopy()

ChemicalObjectModel denoptim.molecularmodeling.ChemicalObjectModel.deepcopy ( ) throws DENOPTIMException

Return a new Molecule3DBuilder having exactly the same features of this Molecule3DBuilder.

Exceptions
DENOPTIMException

Definition at line 751 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.attractors, denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel(), denoptim.graph.DGraph.clone(), denoptim.integration.tinker.TinkerMolecule.clone(), denoptim.integration.tinker.TinkerMolecule.deepCopy(), denoptim.molecularmodeling.ChemicalObjectModel.getAtmIdOfRCA(), denoptim.molecularmodeling.ChemicalObjectModel.logger, denoptim.molecularmodeling.ChemicalObjectModel.molName, denoptim.molecularmodeling.ChemicalObjectModel.newToOldOrder, and denoptim.molecularmodeling.ChemicalObjectModel.oldToNewOrder.

Referenced by denoptim.molecularmodeling.RingClosureTool.attemptAllRingClosures(), and denoptim.molecularmodeling.MultiMolecularModelBuilder.buildMulti3DStructure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findAttractors()

void denoptim.molecularmodeling.ChemicalObjectModel.findAttractors ( )
private

Definition at line 274 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.attractors, denoptim.molecularmodeling.ChemicalObjectModel.attToAtmID, denoptim.molecularmodeling.ChemicalObjectModel.fmol, and denoptim.graph.rings.RingClosingAttractor.isAttractor().

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAtmIdOfRCA()

int denoptim.molecularmodeling.ChemicalObjectModel.getAtmIdOfRCA ( RingClosingAttractor  rca)

Returns the CDK atom number, 0 to (n-1), of the given RingClosingAttractor.

Definition at line 521 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.attToAtmID.

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.deepcopy().

Here is the caller graph for this function:

◆ getAtomOverlapScore()

double denoptim.molecularmodeling.ChemicalObjectModel.getAtomOverlapScore ( )

Return the atoms overlap score which is calculated for all atoms pairs not in 1-4 or lower relationship.

Definition at line 613 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.atmOveralScore, denoptim.constants.DENOPTIMConstants.DUMMYATMSYMBOL, and denoptim.molecularmodeling.ChemicalObjectModel.fmol.

Referenced by denoptim.molecularmodeling.RingClosureTool.RingClosedMolComparator.compare().

Here is the caller graph for this function:

◆ getAttractor()

RingClosingAttractor denoptim.molecularmodeling.ChemicalObjectModel.getAttractor ( int  i)

Returns the attractor given its position in the list of attractors.

Definition at line 509 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.attractors.

◆ getAttractorsList()

ArrayList< RingClosingAttractor > denoptim.molecularmodeling.ChemicalObjectModel.getAttractorsList ( )

Returns the list of RuingClosingAttractors.

Definition at line 498 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.attractors.

◆ getGraph()

DGraph denoptim.molecularmodeling.ChemicalObjectModel.getGraph ( )

Returns the graph representation of this molecule as it was originally generated by DEOPTIM.

No change is expected after ring-closing step

Definition at line 465 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.molGraph.

Referenced by denoptim.molecularmodeling.MultiMolecularModelBuilder.buildMulti3DStructure().

Here is the caller graph for this function:

◆ getIAtomContainer()

IAtomContainer denoptim.molecularmodeling.ChemicalObjectModel.getIAtomContainer ( )

Returns the CDK representation of the molecular system.

Definition at line 476 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.fmol.

Referenced by denoptim.molecularmodeling.RingClosureTool.attemptAllRingClosures(), and denoptim.molecularmodeling.MultiMolecularModelBuilder.buildMulti3DStructure().

Here is the caller graph for this function:

◆ getName()

String denoptim.molecularmodeling.ChemicalObjectModel.getName ( )

Return the name of this molecule.

Definition at line 653 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.molName.

◆ getNewRingClosures()

ArrayList< RingClosure > denoptim.molecularmodeling.ChemicalObjectModel.getNewRingClosures ( )

Return the list of RingClosures that have been identified as closable head/tail of atom chains during RC-PSSROT conformational adaptation.

Definition at line 581 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.newRingClosures.

Referenced by denoptim.molecularmodeling.RingClosureTool.attemptAllRingClosures(), and denoptim.molecularmodeling.RingClosureTool.RingClosedMolComparator.compare().

Here is the caller graph for this function:

◆ getNewRingClosuresQuality()

double denoptim.molecularmodeling.ChemicalObjectModel.getNewRingClosuresQuality ( )

Return the overal evaluation of the whole list of RingClosures.

Definition at line 592 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.newRingClosures, and denoptim.molecularmodeling.ChemicalObjectModel.overalRCScore.

Referenced by denoptim.molecularmodeling.RingClosureTool.RingClosedMolComparator.compare().

Here is the caller graph for this function:

◆ getNewToOldOrder()

List< Integer > denoptim.molecularmodeling.ChemicalObjectModel.getNewToOldOrder ( )

◆ getNumberRotatableBonds()

int denoptim.molecularmodeling.ChemicalObjectModel.getNumberRotatableBonds ( )

Returns the size of the current list of rotatable bonds.

Definition at line 569 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.rotatableBnds.

◆ getOldToNewOrder()

List< Integer > denoptim.molecularmodeling.ChemicalObjectModel.getOldToNewOrder ( )

◆ getRCACombinations()

ArrayList< Set< ObjectPair > > denoptim.molecularmodeling.ChemicalObjectModel.getRCACombinations ( )

Returns the list of combinations of RingClosingAttractor.

This method require that there are Rings in the DGraph representation of this object.

Definition at line 547 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.allRCACombs.

Referenced by denoptim.molecularmodeling.RingClosureTool.attemptAllRingClosures(), and denoptim.molecularmodeling.MultiMolecularModelBuilder.buildMulti3DStructure().

Here is the caller graph for this function:

◆ getRotatableBonds()

ArrayList< ObjectPair > denoptim.molecularmodeling.ChemicalObjectModel.getRotatableBonds ( )

Returns the list of rotatable bonds.

Definition at line 558 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.rotatableBnds.

Referenced by denoptim.molecularmodeling.MultiMolecularModelBuilder.buildMulti3DStructure().

Here is the caller graph for this function:

◆ getTinkerMolecule()

TinkerMolecule denoptim.molecularmodeling.ChemicalObjectModel.getTinkerMolecule ( )

Returns the Tinker Internal Coordination representation of the molecule.

Definition at line 487 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.tmol.

◆ getTnkAtmIdOfRCA()

int denoptim.molecularmodeling.ChemicalObjectModel.getTnkAtmIdOfRCA ( RingClosingAttractor  rca)

Returns the Tinker atom number, 1 to n,of the given RingClosingAttractor.

Definition at line 533 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.attToAtmID.

◆ purgeListRotatableBonds()

void denoptim.molecularmodeling.ChemicalObjectModel.purgeListRotatableBonds ( ) throws DENOPTIMException

Remove the cyclic bonds from the list of rotatable bonds.

Exceptions
DENOPTIMException

Definition at line 706 of file ChemicalObjectModel.java.

References denoptim.molecularmodeling.ChemicalObjectModel.fmol, denoptim.molecularmodeling.ChemicalObjectModel.logger, and denoptim.molecularmodeling.ChemicalObjectModel.rotatableBnds.

◆ updateXYZFromINT()

void denoptim.molecularmodeling.ChemicalObjectModel.updateXYZFromINT ( ) throws DENOPTIMException

Converts currently loaded internal coordinates into Cartesian overwriting the current XYZ.

Definition at line 325 of file ChemicalObjectModel.java.

References denoptim.utils.MathUtils.distance(), denoptim.constants.DENOPTIMConstants.FLOATCOMPARISONTOLERANCE, denoptim.molecularmodeling.ChemicalObjectModel.fmol, denoptim.integration.tinker.TinkerMolecule.getAtom(), denoptim.integration.tinker.TinkerAtom.getAtomNeighbours(), denoptim.integration.tinker.TinkerAtom.getDistAngle(), denoptim.molecularmodeling.ChemicalObjectModel.logger, denoptim.integration.tinker.TinkerAtom.moveTo(), denoptim.utils.MathUtils.normDist(), and denoptim.molecularmodeling.ChemicalObjectModel.tmol.

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.ChemicalObjectModel().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ allRCACombs

ArrayList<Set<ObjectPair> > denoptim.molecularmodeling.ChemicalObjectModel.allRCACombs
private

◆ atmOveralScore

double denoptim.molecularmodeling.ChemicalObjectModel.atmOveralScore = Double.NaN
private

Atom overlap score (for atoms not is 1-4 or lower relationship)

Definition at line 119 of file ChemicalObjectModel.java.

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.getAtomOverlapScore().

◆ attractors

◆ attToAtmID

◆ fmol

◆ logger

◆ molGraph

DGraph denoptim.molecularmodeling.ChemicalObjectModel.molGraph
private

◆ molName

String denoptim.molecularmodeling.ChemicalObjectModel.molName
private

◆ newRingClosures

ArrayList<RingClosure> denoptim.molecularmodeling.ChemicalObjectModel.newRingClosures
private

◆ newToOldOrder

◆ oldToNewOrder

◆ overalRCScore

double denoptim.molecularmodeling.ChemicalObjectModel.overalRCScore = Double.NaN
private

Quality score of the list of RingClosures.

Definition at line 114 of file ChemicalObjectModel.java.

Referenced by denoptim.molecularmodeling.ChemicalObjectModel.getNewRingClosuresQuality().

◆ rotatableBnds

◆ tmol

TinkerMolecule denoptim.molecularmodeling.ChemicalObjectModel.tmol
private

The documentation for this class was generated from the following file: