$darkmode
DENOPTIM
denoptim.utils.RotationalSpaceUtils Class Reference

Tool box for definition and management of the rotational space, which is given by the list of rotatable bonds. More...

Collaboration diagram for denoptim.utils.RotationalSpaceUtils:
[legend]

Static Public Member Functions

static ArrayList< ObjectPairdefineRotatableBonds (IAtomContainer mol, String defRotBndsFile, boolean addIterfragBonds, boolean excludeRings, Logger logger) throws DENOPTIMException
 Define the rotational space (a.k.a. More...
 
static ArrayList< ObjectPairgetInterVertexBonds (IAtomContainer mol) throws DENOPTIMException
 Search for all bonds connecting atoms corresponding to two different vertices in the DENOPTIMGraph. More...
 
static Map< String, String > getRotationalSpaceDefinition (String filename) throws DENOPTIMException
 Read a formatted file and return a map with all the SMARTS queries identifying rotatable bonds. More...
 
static void processConstrainedRotatableBonds (IAtomContainer mol, ArrayList< ObjectPair > rotatableBonds, String defRotBndContrFile, Logger logger) throws DENOPTIMException
 Process the constrained rotatable bonds. More...
 
static TreeMap< String, RotBndConstraintgetRotationalConstraintsDefinition (String filename) throws DENOPTIMException
 Reads the definition of constraints on the rotatable bonds. More...
 

Static Public Attributes

static final String PROPERTY_RSU_ATMID = "RSU-ATMID"
 
static final String PROPERTY_ROTDBDCSTR_DEF = "ROTDBDCSTR_DEF"
 
static final String PROPERTY_ROTDBDCSTR_VALUE = "ROTDBDCSTR_VALUE"
 

Static Private Attributes

static final IChemObjectBuilder builder
 

Detailed Description

Tool box for definition and management of the rotational space, which is given by the list of rotatable bonds.

Author
Marco Foscato

Definition at line 54 of file RotationalSpaceUtils.java.

Member Function Documentation

◆ defineRotatableBonds()

static ArrayList< ObjectPair > denoptim.utils.RotationalSpaceUtils.defineRotatableBonds ( IAtomContainer  mol,
String  defRotBndsFile,
boolean  addIterfragBonds,
boolean  excludeRings,
Logger  logger 
) throws DENOPTIMException
static

Define the rotational space (a.k.a.

torsional space) for a given molecule. The method identifies the rotatable bonds by using a provided set of SMARTS queries and can consider all fragment-fragment bonds (i.e., interfragment connections) while excluding cyclic bonds. The propety DENOPTIMConstants.BONDPROPROTATABLE is used to store the rotatability in the Bonds.

Parameters
molthe molecular structure
defRotBndsFilename of a text file with a list of SMARTS queries that defines which bonds are considered rotatable bonds. This can be an empty string, in which case, only inter-fragment connections will be rotatable.
addIterfragBondsif true includes all inter-fragment connections
excludeRingsif true cyclic bonds will be excluded
Exceptions
DENOPTIMException

Definition at line 86 of file RotationalSpaceUtils.java.

References denoptim.constants.DENOPTIMConstants.BONDPROPROTATABLE, denoptim.utils.RotationalSpaceUtils.builder, denoptim.utils.RotationalSpaceUtils.getInterVertexBonds(), denoptim.utils.ManySMARTSQuery.getMatchesOfSMARTS(), denoptim.utils.ManySMARTSQuery.getMessage(), denoptim.utils.ManySMARTSQuery.getNumMatchesOfQuery(), denoptim.utils.RotationalSpaceUtils.getRotationalSpaceDefinition(), denoptim.utils.ManySMARTSQuery.hasProblems(), denoptim.utils.RotationalSpaceUtils.PROPERTY_RSU_ATMID, and denoptim.utils.MoleculeUtils.removeRCA().

Referenced by denoptim.molecularmodeling.MultiMolecularModelBuilder.build3DTree(), denoptim.graph.DGraph.makeAllGraphsWithDifferentRingSets(), and denoptim.ga.EAUtils.setupRings().

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

◆ getInterVertexBonds()

static ArrayList< ObjectPair > denoptim.utils.RotationalSpaceUtils.getInterVertexBonds ( IAtomContainer  mol) throws DENOPTIMException
static

Search for all bonds connecting atoms corresponding to two different vertices in the DENOPTIMGraph.

Vertex membership is evaluated by comparing the DENOPTIMConstants.ATMPROPVERTEXID property of each Atom.

Parameters
molthe molecule as IAtomContainer
Exceptions
DENOPTIMException

Definition at line 241 of file RotationalSpaceUtils.java.

References denoptim.constants.DENOPTIMConstants.ATMPROPVERTEXPATH.

Referenced by denoptim.utils.RotationalSpaceUtils.defineRotatableBonds().

Here is the caller graph for this function:

◆ getRotationalConstraintsDefinition()

static TreeMap< String, RotBndConstraint > denoptim.utils.RotationalSpaceUtils.getRotationalConstraintsDefinition ( String  filename) throws DENOPTIMException
static

Reads the definition of constraints on the rotatable bonds.

Parameters
filenamethe file to be read in.
Returns
the map with names and constraints
Exceptions
DENOPTIMExceptionshould anything go wrong with the reading of the file

Definition at line 505 of file RotationalSpaceUtils.java.

Referenced by denoptim.utils.RotationalSpaceUtils.processConstrainedRotatableBonds().

Here is the caller graph for this function:

◆ getRotationalSpaceDefinition()

static Map< String, String > denoptim.utils.RotationalSpaceUtils.getRotationalSpaceDefinition ( String  filename) throws DENOPTIMException
static

Read a formatted file and return a map with all the SMARTS queries identifying rotatable bonds.

Parameters
filenamethe name of the text file to read
Exceptions
DENOPTIMException

Definition at line 293 of file RotationalSpaceUtils.java.

Referenced by denoptim.utils.RotationalSpaceUtils.defineRotatableBonds().

Here is the caller graph for this function:

◆ processConstrainedRotatableBonds()

static void denoptim.utils.RotationalSpaceUtils.processConstrainedRotatableBonds ( IAtomContainer  mol,
ArrayList< ObjectPair rotatableBonds,
String  defRotBndContrFile,
Logger  logger 
) throws DENOPTIMException
static

Process the constrained rotatable bonds.

This method will remove the rotatable bonds that are constrained and record the details of the constraint among the bond properties.

Parameters
molthe molecule as IAtomContainer
rotatableBondsthe list of rotatable bonds
defRotBndContrFilethe file with the definition of the constrained rotatable bonds @params logger the logging tool
Exceptions
DENOPTIMException
Errorif the constraint is not defined by 4 atoms or if the attempt to match the constrained rotatable bonds returns an error

Definition at line 387 of file RotationalSpaceUtils.java.

References denoptim.constants.DENOPTIMConstants.BONDPROPROTATABLE, denoptim.utils.RotationalSpaceUtils.builder, denoptim.utils.MoleculeUtils.getAtomRef(), denoptim.utils.ManySMARTSQuery.getMatchesOfSMARTS(), denoptim.utils.ManySMARTSQuery.getNumMatchesOfQuery(), denoptim.utils.RotationalSpaceUtils.getRotationalConstraintsDefinition(), denoptim.utils.ManySMARTSQuery.hasProblems(), denoptim.utils.RotationalSpaceUtils.PROPERTY_ROTDBDCSTR_DEF, denoptim.utils.RotationalSpaceUtils.PROPERTY_ROTDBDCSTR_VALUE, denoptim.utils.RotationalSpaceUtils.PROPERTY_RSU_ATMID, and denoptim.utils.MoleculeUtils.removeRCA().

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

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

Member Data Documentation

◆ builder

final IChemObjectBuilder denoptim.utils.RotationalSpaceUtils.builder
staticprivate
Initial value:
=
SilentChemObjectBuilder.getInstance()

Definition at line 56 of file RotationalSpaceUtils.java.

Referenced by denoptim.utils.RotationalSpaceUtils.defineRotatableBonds(), and denoptim.utils.RotationalSpaceUtils.processConstrainedRotatableBonds().

◆ PROPERTY_ROTDBDCSTR_DEF

final String denoptim.utils.RotationalSpaceUtils.PROPERTY_ROTDBDCSTR_DEF = "ROTDBDCSTR_DEF"
static

◆ PROPERTY_ROTDBDCSTR_VALUE

final String denoptim.utils.RotationalSpaceUtils.PROPERTY_ROTDBDCSTR_VALUE = "ROTDBDCSTR_VALUE"
static

◆ PROPERTY_RSU_ATMID

final String denoptim.utils.RotationalSpaceUtils.PROPERTY_RSU_ATMID = "RSU-ATMID"
static

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