$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 60 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 97 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 835 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 577 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 324 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 138 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 116 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 535 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
private |
Fragment space definition.
Definition at line 76 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 81 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 66 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
staticprivate |
New line character.
Definition at line 86 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 65 of file CyclicGraphHandler.java.
Referenced by denoptim.graph.rings.CyclicGraphHandler.combineCompatPathSubGraphs().
|
private |
Parameters.
Definition at line 71 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().