$darkmode
DENOPTIM
|
This is a tool to identify and manage vertices' connections not included in the DGraph
, which is a spanning tree, thus connections that identify cyclic paths in the graph.
More...
Classes | |
class | ClosableConf |
Utility class to handle the simultaneous closeness condition. More... | |
Public Member Functions | |
CyclicGraphHandler (RingClosureParameters settings, FragmentSpace fragSpace) | |
Constructor from data structure. More... | |
List< Ring > | getRandomCombinationOfRings (IAtomContainer inMol, DGraph molGraph, int maxRingClosures) throws DENOPTIMException |
Identifies a random combination of ring closing paths and returns it as list of DENOPTIMRings ready to be appended to a DENOPTIMGraph. More... | |
ArrayList< List< Ring > > | getPossibleCombinationOfRings (IAtomContainer mol, DGraph molGraph) throws DENOPTIMException |
Identifies all possible ring closing paths and returns them as list of DENOPTIMRings ready to be appended to a DENOPTIMGraph. More... | |
boolean | checkChelatesGraph (DGraph molGraph, List< Ring > ringsSet) |
Evaluates the combination of a DENOPTIMGraph and a set of DENOPTIMRings and decides whether it's a proper candidate for the generation of a chelating ligand. More... | |
Private Member Functions | |
boolean | combineCompatPathSubGraphs (int ii0, ArrayList< Vertex > sortedKeys, Map< Vertex, ArrayList< Vertex > > compatMap, ArrayList< ObjectPair > lstPairs, ArrayList< Long > usedId, Map< ObjectPair, PathSubGraph > allGoodPaths, Map< IBond, List< PathSubGraph > > interdepPaths, ArrayList< List< Ring > > allCombsOfRings) throws DENOPTIMException |
Recursive method to identify all the combination of rings. More... | |
boolean | hasInterdependentPaths (ArrayList< ObjectPair > lstPairs, Map< IBond, List< PathSubGraph > > interdepPaths) |
Checks whether the combination of RCA's pairs leads to interdependent paths, that is, paths that share one or more bonds. More... | |
boolean | checkClosabilityOfInterdependentPaths (ArrayList< ObjectPair > lstPairs, Map< IBond, List< PathSubGraph > > interdepPaths, Map< ObjectPair, PathSubGraph > allGoodPaths) |
This method checks whether the interdependent paths are simultaneously closable. More... | |
Private Attributes | |
int | recCount = 0 |
variables needed by recursive methods More... | |
int | maxLng = 0 |
RingClosureParameters | settings |
Parameters. More... | |
FragmentSpace | fragSpace |
Fragment space definition. More... | |
Logger | logger |
Logger to use. More... | |
Static Private Attributes | |
static final String | NL = DENOPTIMConstants.EOL |
New line character. More... | |
This is a tool to identify and manage vertices' connections not included in the DGraph
, which is a spanning tree, thus connections that identify cyclic paths in the graph.
The three dimensional features of the vertices can be taken into account while defining the closability of a candidate chain. Since this is a computationally demanding task, we make use of serialized data that is recovered from previous experiments, updated on the fly, and stored for future used.
Definition at line 75 of file CyclicGraphHandler.java.
denoptim.graph.rings.CyclicGraphHandler.CyclicGraphHandler | ( | RingClosureParameters | settings, |
FragmentSpace | fragSpace | ||
) |
Constructor from data structure.
libScaff | the library of scaffolds |
libFrag | the library of fragments |
libCap | the library of capping groups |
Definition at line 112 of file CyclicGraphHandler.java.
References denoptim.graph.rings.CyclicGraphHandler.fragSpace, denoptim.programs.RunTimeParameters.getLogger(), and denoptim.graph.rings.CyclicGraphHandler.settings.
boolean denoptim.graph.rings.CyclicGraphHandler.checkChelatesGraph | ( | DGraph | molGraph, |
List< Ring > | ringsSet | ||
) |
Evaluates the combination of a DENOPTIMGraph and a set of DENOPTIMRings and decides whether it's a proper candidate for the generation of a chelating ligand.
true
it this system is a good candidate Definition at line 850 of file CyclicGraphHandler.java.
References denoptim.graph.Vertex.BBType.FRAGMENT, denoptim.graph.AttachmentPoint.getAPClass(), denoptim.graph.Vertex.getBuildingBlockType(), denoptim.graph.Vertex.getChilddren(), denoptim.graph.DGraph.getEdgeWithParent(), denoptim.graph.DGraph.getLevel(), denoptim.graph.Edge.getTrgAPClass(), denoptim.graph.DGraph.getVertexList(), denoptim.graph.DGraph.isVertexInRing(), denoptim.graph.rings.CyclicGraphHandler.logger, denoptim.graph.rings.RingClosureParameters.metalCoordinatingAPClasses, denoptim.graph.rings.CyclicGraphHandler.settings, and denoptim.graph.APClass.toString().
Referenced by denoptim.graph.DGraph.makeAllGraphsWithDifferentRingSets(), and denoptim.ga.EAUtils.setupRings().
|
private |
This method checks whether the interdependent paths are simultaneously closable.
Definition at line 592 of file CyclicGraphHandler.java.
References denoptim.graph.rings.PathSubGraph.getBondPath(), denoptim.graph.rings.RingClosingConformations.getListOfConformations(), and denoptim.graph.rings.PathSubGraph.getRCC().
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
private |
Recursive method to identify all the combination of rings.
Definition at line 339 of file CyclicGraphHandler.java.
References denoptim.utils.RingClosingUtils.areSameRingsSet(), denoptim.graph.rings.CyclicGraphHandler.checkClosabilityOfInterdependentPaths(), denoptim.graph.rings.RingClosureParameters.checkInterdependentChains(), denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.graph.rings.PathSubGraph.getEdgesPath(), denoptim.utils.ObjectPair.getFirst(), denoptim.graph.rings.PathSubGraph.getHeadVertex(), denoptim.utils.ObjectPair.getSecond(), denoptim.graph.rings.PathSubGraph.getTailVertex(), denoptim.graph.rings.PathSubGraph.getVertecesPath(), denoptim.graph.Vertex.getVertexId(), denoptim.graph.rings.CyclicGraphHandler.hasInterdependentPaths(), denoptim.graph.rings.CyclicGraphHandler.logger, denoptim.graph.rings.CyclicGraphHandler.maxLng, denoptim.graph.rings.CyclicGraphHandler.NL, denoptim.graph.rings.CyclicGraphHandler.recCount, denoptim.graph.Ring.setBondType(), and denoptim.graph.rings.CyclicGraphHandler.settings.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), and denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings().
ArrayList< List< Ring > > denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings | ( | IAtomContainer | mol, |
DGraph | molGraph | ||
) | throws DENOPTIMException |
Identifies all possible ring closing paths and returns them as list of DENOPTIMRings ready to be appended to a DENOPTIMGraph.
mol | the molecule |
molGraph | the molecular graph |
Definition at line 153 of file CyclicGraphHandler.java.
References denoptim.constants.DENOPTIMConstants.BONDPROPROTATABLE, denoptim.graph.rings.RingClosureParameters.checkInterdependentChains(), denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.graph.rings.CyclicGraphHandler.fragSpace, denoptim.graph.rings.RingSizeManager.getCompatibilityOfPair(), denoptim.graph.Vertex.getProperty(), denoptim.graph.Vertex.getVertexId(), denoptim.graph.rings.RingSizeManager.initialize(), denoptim.graph.rings.PathClosabilityTools.isCloseable(), denoptim.graph.rings.CyclicGraphHandler.logger, denoptim.graph.rings.CyclicGraphHandler.NL, and denoptim.graph.rings.CyclicGraphHandler.settings.
Referenced by denoptim.graph.DGraph.makeAllGraphsWithDifferentRingSets(), and denoptim.ga.EAUtils.setupRings().
List< Ring > denoptim.graph.rings.CyclicGraphHandler.getRandomCombinationOfRings | ( | IAtomContainer | inMol, |
DGraph | molGraph, | ||
int | maxRingClosures | ||
) | throws DENOPTIMException |
Identifies a random combination of ring closing paths and returns it as list of DENOPTIMRings ready to be appended to a DENOPTIMGraph.
inMol | the molecule |
molGraph | the molecular graph |
maxRingClosures | maximum number of ring closures to perform. |
Definition at line 131 of file CyclicGraphHandler.java.
References denoptim.graph.rings.CyclicGraphHandler.fragSpace, denoptim.graph.rings.CyclicGraphHandler.logger, denoptim.graph.rings.RandomCombOfRingsIterator.next(), and denoptim.graph.rings.CyclicGraphHandler.settings.
Referenced by denoptim.ga.EAUtils.setupRings().
|
private |
Checks whether the combination of RCA's pairs leads to interdependent paths, that is, paths that share one or more bonds.
Definition at line 550 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
private |
Fragment space definition.
Definition at line 91 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.CyclicGraphHandler(), denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings(), and denoptim.graph.rings.CyclicGraphHandler.getRandomCombinationOfRings().
|
private |
Logger to use.
Definition at line 96 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.checkChelatesGraph(), denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings(), and denoptim.graph.rings.CyclicGraphHandler.getRandomCombinationOfRings().
|
private |
Definition at line 81 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
staticprivate |
New line character.
Definition at line 101 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), and denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings().
|
private |
variables needed by recursive methods
Definition at line 80 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
private |
Parameters.
Definition at line 86 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.ClosableConf.canCoexistWith(), denoptim.graph.rings.CyclicGraphHandler.checkChelatesGraph(), denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs(), denoptim.graph.rings.CyclicGraphHandler.CyclicGraphHandler(), denoptim.graph.rings.CyclicGraphHandler.getPossibleCombinationOfRings(), and denoptim.graph.rings.CyclicGraphHandler.getRandomCombinationOfRings().