$darkmode
DENOPTIM
denoptim.molecularmodeling.RingClosureTool Class Reference

Toolkit to perform ring closing conformational search. More...

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

Classes

class  RingClosedMolComparator
 Compares the Molecule3DBuilder afters ring closing-biased conformational adaptation. More...
 

Public Member Functions

 RingClosureTool (MMBuilderParameters settings)
 Construct an empty RingClosureTool. More...
 
ArrayList< ChemicalObjectModelattemptAllRingClosures (ChemicalObjectModel mol) throws DENOPTIMException
 Performs one or more attempts to close rings by conformational adaptation. More...
 
ChemicalObjectModel attemptRingClosureWithRCOServer (ChemicalObjectModel chemObj, Set< ObjectPair > rcaCombination) throws DENOPTIMException
 Attempts to close rings by finding the conformation that allows to join heads and tails of specific atom chains. More...
 
ChemicalObjectModel attemptRingClosureWithTinker (ChemicalObjectModel chemObj, Set< ObjectPair > rcaCombination) throws DENOPTIMException, TinkerException
 Attempts to close rings by finding the conformation that allows to join heads and tails of specific atom chains. More...
 
void closeRings (ChemicalObjectModel mol, Set< ObjectPair > rcaCombination)
 Makes new rings by connecting pairs of atoms that hold properly arranged RingClosingAttractors. More...
 
void saturateRingClosingAttractor (ChemicalObjectModel mol) throws DENOPTIMException
 Looks for unused RingClosingAttractors and attach proper capping group saturating the free valency/bonding capability represented by free RingClosingAttractors. More...
 

Package Attributes

final String fsep = System.getProperty("file.separator")
 File separator. More...
 

Private Attributes

int itn = 0
 Iteration counter for making unique filenames. More...
 
MMBuilderParameters settings
 Settings controlling the calculation. More...
 
Logger logger
 Program.specific logger. More...
 

Detailed Description

Toolkit to perform ring closing conformational search.

Can use both Tinker's PSSROT engine (backwards compatibility), but by default it uses a RingClosingMM socket server, which runs a more versatile conformational search and refinement.

Author
Marco Foscato

Definition at line 62 of file RingClosureTool.java.

Constructor & Destructor Documentation

◆ RingClosureTool()

denoptim.molecularmodeling.RingClosureTool.RingClosureTool ( MMBuilderParameters  settings)

Construct an empty RingClosureTool.

Definition at line 89 of file RingClosureTool.java.

References denoptim.programs.RunTimeParameters.getLogger(), and denoptim.molecularmodeling.RingClosureTool.settings.

Here is the call graph for this function:

Member Function Documentation

◆ attemptAllRingClosures()

ArrayList< ChemicalObjectModel > denoptim.molecularmodeling.RingClosureTool.attemptAllRingClosures ( ChemicalObjectModel  mol) throws DENOPTIMException

Performs one or more attempts to close rings by conformational adaptation.

The number of attempts (i.e, different set of rings) and the list of definition of each attempt are defined into the object provided as input. If no ring closure is possible, returns an empty array.

Parameters
molthe input molecular system
Returns
the list of generated molecules, if any.
Exceptions
DENOPTIMException
TinkerException

Definition at line 108 of file RingClosureTool.java.

References denoptim.molecularmodeling.RingClosureTool.attemptRingClosureWithRCOServer(), denoptim.molecularmodeling.RingClosureTool.attemptRingClosureWithTinker(), denoptim.molecularmodeling.ChemicalObjectModel.deepcopy(), denoptim.molecularmodeling.ChemicalObjectModel.getIAtomContainer(), denoptim.molecularmodeling.ChemicalObjectModel.getNewRingClosures(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getPSSROTTool(), denoptim.molecularmodeling.ChemicalObjectModel.getRCACombinations(), denoptim.molecularmodeling.RingClosureTool.logger, denoptim.constants.DENOPTIMConstants.MOLERRORTAG, denoptim.molecularmodeling.RingClosureTool.settings, and denoptim.integration.tinker.TinkerException.solution.

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

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

◆ attemptRingClosureWithRCOServer()

ChemicalObjectModel denoptim.molecularmodeling.RingClosureTool.attemptRingClosureWithRCOServer ( ChemicalObjectModel  chemObj,
Set< ObjectPair rcaCombination 
) throws DENOPTIMException

Attempts to close rings by finding the conformation that allows to join heads and tails of specific atom chains.

The conformational search is performed using a RingClosingMM socket server, which we assume to be running on the local machine.

Parameters
chemObjthe definition of the system to work with. This system will be modified.
rcaCombinationthe combination of RingClosingAttractors. This object defines which pairs of RingClosingAttractors will we try to join in this attempt.
Returns
the updated chemical object given as input.
Exceptions
DENOPTIMException

Definition at line 253 of file RingClosureTool.java.

References denoptim.molecularmodeling.RingClosureTool.closeRings(), denoptim.integration.rcoserver.RCOSocketServerClient.getInstance(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getRCOServerHostname(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getRCOServerPort(), denoptim.molecularmodeling.RingClosureTool.itn, denoptim.molecularmodeling.RingClosureTool.logger, denoptim.integration.rcoserver.RCOSocketServerClient.runConformationalOptimization(), denoptim.molecularmodeling.RingClosureTool.saturateRingClosingAttractor(), and denoptim.molecularmodeling.RingClosureTool.settings.

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

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

◆ attemptRingClosureWithTinker()

ChemicalObjectModel denoptim.molecularmodeling.RingClosureTool.attemptRingClosureWithTinker ( ChemicalObjectModel  chemObj,
Set< ObjectPair rcaCombination 
) throws DENOPTIMException, TinkerException

Attempts to close rings by finding the conformation that allows to join heads and tails of specific atom chains.

To this end a Potential Smoothing and Search conformational search in ROTational space (PSSROT) is performed under the effect of the Ring Closing potential, that defines which atoms (chain head/tails) attract each other. The PSSROT engine is provided by an ad hoc modified version of Tinker (call to external tool).

Parameters
chemObjthe definition of the system to work with. This system will be modified.
rcaCombinationthe combination of RingClosingAttractors. This object defines which pairs of RingClosingAttractors will we try to join in this attempt.
Returns
the updated chemical object given as input.
Exceptions
DENOPTIMException
TinkerException

Definition at line 317 of file RingClosureTool.java.

References denoptim.molecularmodeling.RingClosureTool.closeRings(), denoptim.files.FileUtils.deleteFilesContaining(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getInitPSSROTParams(), denoptim.graph.rings.RingClosingAttractor.getParamA11(), denoptim.graph.rings.RingClosingAttractor.getParamB11(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getParamFile(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getPSSROTTool(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getRestPSSROTParams(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getRSKeyFileParams(), denoptim.graph.rings.RingClosingAttractor.getSrcAtom(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getTaskID(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getTinkerMap(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getWorkingDirectory(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getXYZINTTool(), denoptim.molecularmodeling.RingClosureTool.itn, denoptim.molecularmodeling.RingClosureTool.logger, denoptim.integration.tinker.ConformationalSearchPSSROT.performPSSROT(), denoptim.molecularmodeling.RingClosureTool.saturateRingClosingAttractor(), and denoptim.molecularmodeling.RingClosureTool.settings.

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

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

◆ closeRings()

void denoptim.molecularmodeling.RingClosureTool.closeRings ( ChemicalObjectModel  mol,
Set< ObjectPair rcaCombination 
)

Makes new rings by connecting pairs of atoms that hold properly arranged RingClosingAttractors.

Parameters
molthe molecular system
rcaCombinationthe combination of RingClosingAttractors. This object defines which pairs of RingClosingAttractors will we try to join in this attempt.

Definition at line 415 of file RingClosureTool.java.

References denoptim.molecularmodeling.ChemicalObjectModel.addBond(), denoptim.programs.RunTimeParameters.containsParameters(), denoptim.graph.rings.RingClosingAttractor.getIAtom(), denoptim.programs.RunTimeParameters.getParameters(), denoptim.graph.rings.RingClosingAttractor.getRCBondType(), denoptim.graph.rings.RingClosureParameters.getRCDistTolerance(), denoptim.graph.rings.RingClosureParameters.getRCDotPrTolerance(), denoptim.graph.rings.RingClosingAttractor.getSrcAtom(), denoptim.graph.Edge.BondType.hasCDKAnalogue(), denoptim.graph.rings.RingClosure.isClosable(), denoptim.molecularmodeling.RingClosureTool.logger, denoptim.programs.RunTimeParameters.ParametersType.RC_PARAMS, denoptim.molecularmodeling.RingClosureTool.settings, and denoptim.graph.rings.RingClosingAttractor.setUsed().

Referenced by denoptim.molecularmodeling.RingClosureTool.attemptRingClosureWithRCOServer(), and denoptim.molecularmodeling.RingClosureTool.attemptRingClosureWithTinker().

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

◆ saturateRingClosingAttractor()

void denoptim.molecularmodeling.RingClosureTool.saturateRingClosingAttractor ( ChemicalObjectModel  mol) throws DENOPTIMException

Looks for unused RingClosingAttractors and attach proper capping group saturating the free valency/bonding capability represented by free RingClosingAttractors.

TODO: make this method choose a proper capping group (if any) and use that to saturate the free AP Note that to do that the capping og the RingClosure-related APclasses must be reported in the CompatibilityMatrix. Thus, it is also necessary to make DenoptimGA prefer RingClosure-related APclasses over other capping groups

Parameters
molthe molecule

Definition at line 496 of file RingClosureTool.java.

References denoptim.constants.DENOPTIMConstants.DUMMYATMSYMBOL, denoptim.molecularmodeling.zmatrix.ZMatrix.getAtom(), denoptim.molecularmodeling.zmatrix.ZMatrixAtom.setBondLength(), and denoptim.molecularmodeling.zmatrix.ZMatrixAtom.setSymbol().

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

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

Member Data Documentation

◆ fsep

final String denoptim.molecularmodeling.RingClosureTool.fsep = System.getProperty("file.separator")
package

File separator.

Definition at line 72 of file RingClosureTool.java.

◆ itn

int denoptim.molecularmodeling.RingClosureTool.itn = 0
private

◆ logger

◆ settings


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