$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, TinkerException
 Performs one or more attempts to close rings by conformational adaptation. More...
 
ChemicalObjectModel attemptRingClosure (ChemicalObjectModel chemObj, Set< ObjectPair > rcaCombination) throws DENOPTIMException, TinkerException
 Attempts to close rings by finding the conformation that allows to join heads and tails of atom specific 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 Member Functions

void setTinkerTypes (TinkerMolecule tmol) throws DENOPTIMException
 Conversion to tinker IC may not always have the necessary atom types. 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.

This tool makes use of Tinker's PSSROT engine.

Author
Marco Foscato

Definition at line 58 of file RingClosureTool.java.

Constructor & Destructor Documentation

◆ RingClosureTool()

denoptim.molecularmodeling.RingClosureTool.RingClosureTool ( MMBuilderParameters  settings)

Construct an empty RingClosureTool.

Definition at line 85 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, TinkerException

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 146 of file RingClosureTool.java.

References denoptim.molecularmodeling.RingClosureTool.attemptRingClosure(), denoptim.molecularmodeling.ChemicalObjectModel.deepcopy(), denoptim.molecularmodeling.ChemicalObjectModel.getIAtomContainer(), denoptim.molecularmodeling.ChemicalObjectModel.getNewRingClosures(), denoptim.molecularmodeling.ChemicalObjectModel.getRCACombinations(), denoptim.molecularmodeling.RingClosureTool.logger, and denoptim.constants.DENOPTIMConstants.MOLERRORTAG.

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

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

◆ attemptRingClosure()

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

Attempts to close rings by finding the conformation that allows to join heads and tails of atom specific 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
a new molecular system with the freshly closed rings, if any, otherwise an empty molecule.
Exceptions
DENOPTIMException
TinkerException

Definition at line 268 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.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 363 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.attemptRingClosure().

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 444 of file RingClosureTool.java.

References denoptim.constants.DENOPTIMConstants.DUMMYATMSYMBOL, denoptim.integration.tinker.TinkerMolecule.getAtom(), denoptim.integration.tinker.TinkerAtom.getDistAngle(), denoptim.integration.tinker.TinkerAtom.setAtomString(), denoptim.integration.tinker.TinkerAtom.setDistAngle(), and denoptim.molecularmodeling.RingClosureTool.setTinkerTypes().

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

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

◆ setTinkerTypes()

void denoptim.molecularmodeling.RingClosureTool.setTinkerTypes ( TinkerMolecule  tmol) throws DENOPTIMException
private

Conversion to tinker IC may not always have the necessary atom types.

In order to fix this, we add user defined atom types.

TODO: this method (from DENOPTIM3DMoleculeBuilder.java) should be made public and moved to a more sensible location (i.e., a class of utilities for tinker methods)

Parameters
tmolThe tinker IC representation
Exceptions
DENOPTIMException

Definition at line 104 of file RingClosureTool.java.

References denoptim.integration.tinker.TinkerAtom.getAtomString(), denoptim.programs.moldecularmodelbuilder.MMBuilderParameters.getTinkerMap(), denoptim.molecularmodeling.RingClosureTool.logger, denoptim.integration.tinker.TinkerAtom.setAtomType(), and denoptim.molecularmodeling.RingClosureTool.settings.

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

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 68 of file RingClosureTool.java.

◆ itn

int denoptim.molecularmodeling.RingClosureTool.itn = 0
private

Iteration counter for making unique filenames.

Definition at line 63 of file RingClosureTool.java.

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

◆ logger

◆ settings


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