$darkmode
DENOPTIM
denoptim.graph.rings.PathClosabilityTools Class Reference

Tool box for determining whether a chain of atoms, i.e., a path, can be folded as to form a ring-closing bond that transforms the open chain in a ring. More...

Static Public Member Functions

static boolean isCloseable (PathSubGraph subGraph, IAtomContainer mol, RingClosureParameters settings)
 Method to evaluate the closability of a single path in a graph. More...
 

Static Private Member Functions

static boolean evaluateConstitutionalClosability (PathSubGraph subGraph, IAtomContainer iac, RingClosureParameters settings)
 Method to evaluate the closability of a single path considering only its constitution. More...
 
static boolean evaluate3DPathClosability (PathSubGraph subGraph, IAtomContainer mol, RingClosureParameters settings)
 Method to evaluate the closability of a single path in a graph representing a molecule. More...
 

Detailed Description

Tool box for determining whether a chain of atoms, i.e., a path, can be folded as to form a ring-closing bond that transforms the open chain in a ring.

Author
Marco Foscato

Definition at line 70 of file PathClosabilityTools.java.

Member Function Documentation

◆ evaluate3DPathClosability()

static boolean denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability ( PathSubGraph  subGraph,
IAtomContainer  mol,
RingClosureParameters  settings 
)
staticprivate

Method to evaluate the closability of a single path in a graph representing a molecule.

Since this is a computationally demanding task, this method makes use of serialized data that is updated on the fly.

Parameters
subGraphthe subgraph representing the path in the graph.
molthe molecular representation of the system represented by the whole graph, not by the subgraph. This is only used to provide the molecular constitution and does not require 3D coordinates. This will not be altered.
settingsthe parameters pertaining ring closures.
Returns
true is the path corresponds to a closable chain

Definition at line 306 of file PathClosabilityTools.java.

References denoptim.constants.DENOPTIMConstants.BONDPROPROTATABLE, denoptim.graph.rings.RingClosureParameters.checkInterdependentChains(), denoptim.graph.rings.RingClosuresArchive.containsChain(), denoptim.graph.rings.RingClosureParameters.doExhaustiveConfSrch(), denoptim.graph.rings.RingClosureFinder.evaluateClosability(), denoptim.graph.rings.PathSubGraph.getAtomPath(), denoptim.graph.rings.PathSubGraph.getBondPath(), denoptim.graph.rings.PathSubGraph.getChainID(), denoptim.graph.rings.RingClosuresArchive.getClosabilityOfChain(), denoptim.graph.rings.PathSubGraph.getDihedralRefPoints(), denoptim.programs.RunTimeParameters.getLogger(), denoptim.programs.RunTimeParameters.getRandomizer(), denoptim.graph.rings.RingClosuresArchive.getRCCsOfChain(), denoptim.graph.rings.RingClosureParameters.getRingClosuresArchive(), denoptim.graph.rings.PathSubGraph.getVertecesPath(), denoptim.graph.rings.PathSubGraph.makeMolecularRepresentation(), denoptim.graph.rings.PathSubGraph.setRCC(), and denoptim.graph.rings.RingClosuresArchive.storeEntry().

Referenced by denoptim.graph.rings.PathClosabilityTools.isCloseable().

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

◆ evaluateConstitutionalClosability()

static boolean denoptim.graph.rings.PathClosabilityTools.evaluateConstitutionalClosability ( PathSubGraph  subGraph,
IAtomContainer  iac,
RingClosureParameters  settings 
)
staticprivate

Method to evaluate the closability of a single path considering only its constitution.

Parameters
subGraphthe subgraph representing the path in the graph.
iacthe molecular representation. This is only used to provide the molecular constitution and does not require 3D coordinates. This will not be altered.
settingsthe parameters pertaining ring closures.
Returns
true is the path is constitutionally closable

Definition at line 128 of file PathClosabilityTools.java.

References denoptim.graph.Edge.BondType.getCDKOrder(), denoptim.graph.rings.RingClosureParameters.getConstitutionalClosabilityConds(), denoptim.graph.rings.PathSubGraph.getEdgesPath(), denoptim.graph.rings.PathSubGraph.getHeadVertex(), denoptim.programs.RunTimeParameters.getLogger(), denoptim.utils.ManySMARTSQuery.getMessage(), denoptim.utils.ManySMARTSQuery.getNumMatchesOfQuery(), denoptim.graph.rings.RingClosureParameters.getRequiredRingElements(), denoptim.utils.MoleculeUtils.getSymbolOrLabel(), denoptim.graph.rings.PathSubGraph.getTailVertex(), denoptim.graph.rings.PathSubGraph.getVertecesPath(), denoptim.utils.MoleculeUtils.getVertexToAtomIdMap(), denoptim.graph.Edge.BondType.hasCDKAnalogue(), denoptim.utils.ManySMARTSQuery.hasProblems(), and denoptim.utils.MoleculeUtils.removeRCA().

Referenced by denoptim.graph.rings.PathClosabilityTools.isCloseable().

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

◆ isCloseable()

static boolean denoptim.graph.rings.PathClosabilityTools.isCloseable ( PathSubGraph  subGraph,
IAtomContainer  mol,
RingClosureParameters  settings 
)
static

Method to evaluate the closability of a single path in a graph.

The criteria defining the closability condition are controlled by the given settings.

Parameters
subGraphthe subgraph representing the potentially closable path in the graph.
molthe molecule corresponding to the graph. This is only used to provide the molecular constitution and does not require 3D coordinates.
Returns
true is the path corresponds to a closable chain

Definition at line 86 of file PathClosabilityTools.java.

References denoptim.graph.rings.PathClosabilityTools.evaluate3DPathClosability(), denoptim.graph.rings.PathClosabilityTools.evaluateConstitutionalClosability(), and denoptim.graph.rings.RingClosureParameters.getClosabilityEvalMode().

Referenced by denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings(), denoptim.graph.rings.RandomCombOfRingsIterator.next(), and denoptim.graph.rings.PathClosabilityToolsTest.testEvaluateConstitutionalClosability().

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

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