OEConfFixOptions

class OEConfFixOptions : public OESystem::OEOptions

This class provides an interface to setup options required for constraining a fragment of the molecules during conformational search.

There are multiple ways to define the substructure for defining the constraints.

  • The first is to provide a substructure query using the command SetFixSubSearch. If the input query pattern is 3D the corresponding substructure of the target is fixed to the query coordinates. For a non-3D query, the mapped substructure of an input 3D target is fixed, provided that SetIncludeInput is set to true.

  • The second method is to pass in a 3D structure using the command SetFixMol. The SetFixDeleteH command can be used to control whether hydrogens should be retained or discarded from the FixMol. The corresponding substructure of the target has the atom coordinates fixed to those from the FixMol.

  • The third method is to provide a SMARTS pattern using the command SetFixSmarts. The SMARTS pattern is matched against the input molecule to identify a substructure, provided that the input molecule is 3D and that SetIncludeInput is set to true. The corresponding substructure of the target is fixed during the conformer generation.

  • The fourth method is to provide both a FixMol using the command SetFixMol, and a SMARTS string using the command SetFixSmarts. In this case, the SMARTS pattern is matched against the FixMol structure to identify a substructure of the FixMol. The corresponding substructure of the target is fixed to the coordinates of the FixMol substructure during conformer generation.

  • The fifth method is to provide both a FixMol using the command SetFixMol, and turn on MCS based fix using the command SetFixMCS. In this case, the maximum common substructure matched against the FixMol structure to identify a substructure of the FixMol. The corresponding substructure of the target is fixed to the coordinates of the FixMol substructure during conformer generation.

  • The final method is to provide an atom predicate using the command SetFixPredicate which is used to identify target atoms to be fixed.

For all the above methods, the initialization of the substructure, when applicable, can be controlled using SetAtomExpr and SetBondExpr.

The unique match flag defined using SetFixUniqueMatch applies to all substructure matches performed, either during creation of molecule fragments or when applying the actual constraints.

The MaxMatch defines how many of the matches found during constraint application should be applied, and can be set using the command SetFixMaxMatch. If the constraining fragment substructure appears twice in the target molecule and the MaxMatch is set to 2 or more, the molecule would be constrained to the substructure coordinates twice for each of the generated conformers and could result in twice the number of conformers compared to setting this value to 1.

In all cases the constraints are evaluated by the proximity between the initial generated structure of the molecule and the coordinates of the constraining substructure. The precision of the proximity evaluation can be controlled by an RMS value set using SetFixRMS.

See also

The OEConfFixOptions class defines the following public methods:

Constructors

OEConfFixOptions()
OEConfFixOptions(const OEConfFixOptions &)

Default and copy constructors.

operator=

OEConfFixOptions &operator=(const OEConfFixOptions &)

Assignment operator.

GetAtomExpr

unsigned GetatomExpr() const

See SetAtomExpr method.

GetBondExpr

unsigned GetBondExpr() const

See SetBondExpr method.

GetFixDeleteH

bool GetFixDeleteH() const

See SetFixDeleteH method.

GetFixMaxMatch

unsigned int GetFixMaxMatch() const

See SetFixMaxMatch method.

GetFixMCS

bool GetFixMCS() const

See SetFixMCS method.

GetFixMol

const OEChem::OEMolBase& GetFixMol() const

See SetFixMol method.

GetFixPredicate

const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>* GetFixPredicate() const

See SetFixPredicate method.

GetFixRMS

double GetFixRMS() const

See SetFixRMS method.

GetFixSmarts

const std::string& GetFixSmarts() const

See SetFixSmarts method.

GetFixSubSearch

const OEChem::OESubSearch &GetFixSubSearch() const

Returns the substructure search (OESubSearch) for fixed fragments.

GetFixUniqueMatch

bool GetFixUniqueMatch() const

See SetFixUniqueMatch method.

GetMCSMinAtoms

unsigned GetMCSMinAtoms() const

See SetMCSMinAtoms method.

GetMCSFunc

const OEChem::OEMCSFunc* GetMCSFunc() const

See SetMCSFunc method.

GetMCSType

unsigned GetMCSType() const

See SetMCSType method.

HasFixPattern

bool HasFixPattern() const

Method checks if a criterion for fixing a portion of the molecule, during conformation search, is currently set.

SetAtomExpr

bool SetAtomExpr(const unsigned)

Sets the atom expression to be used for substructure initialization from a molecule fragment. Default: OEExprOpts::DefaultAtoms

See also

SetBondExpr

bool SetBondExpr(const unsigned)

Sets the bond expression to be used for substructure initialization from a molecule fragment. Default: OEExprOpts::DefaultBonds

See also

SetFixDeleteH

bool SetFixDeleteH(const bool)

Sets whether hydrogens should be stripped from the fix molecule before it is used to match structures. Default: True.

SetFixMaxMatch

bool SetFixMaxMatch(const unsigned int)

Sets the maximum number of substructure search matches to be used for constraining molecule fragments. Default: 1.

SetFixMol

bool SetFixMol(const OEChem::OEMolBase&)
bool SetFixMol(OEChem::oemolistream& fstream)

Uses the 3D coordinates of the provided molecule to fix the corresponding substructure in the target molecule during conformation generation. For the second overload, only the first molecule from the input oemolistream is used.

SetFixMCS

bool SetFixMCS(const bool)

Sets flag to use MCS to fix a portion of the molecule during conformation search. If set to true, maximum common substructure against the FixMol is used to define the portion of the molecule to be kept fixed. Default: false.

SetFixPredicate

bool SetFixPredicate(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>&)

Uses the atom predicate to define which atoms should be kept fixed during conformation search.

SetFixRMS

bool SetFixRMS(const double)

Sets the RMS distance (Root Mean Square (RMS) Cartesian) below which two atom positions are treated as identical. Default: 0.15.

SetFixSmarts

bool SetFixSmarts(const std::string&)

Uses the SMARTS pattern to define which portion of the molecule should be kept fixed during conformation search.

SetFixSubSearch

bool SetFixSubSearch(const OEChem::OESubSearch&)

Uses the substructure search (OESubSearch) to define which portion of the molecule should be kept fixed during conformation search.

SetFixUniqueMatch

bool SetFixUniqueMatch(const bool)

Sets whether only the unique substructure matches should be used for coordinate replacement. Default: True.

SetMCSMinAtoms

bool SetMCSMinAtoms(const unsigned)

Sets the minimum number of atoms required of a subgraph match to be used for MCS based fix. Default: 1

SetMCSFunc

bool SetMCSFunc(const OEChem::OEMCSFunc&)

Sets the scoring function to be used for subgraph matching for MCS based fix. Default: OEMCSMaxBondsCompleteCycles

SetMCSType

bool SetMCSType(const unsigned)

Sets the MCS search type to be used for subgraph matching for MCS based fix, defined in OEMCSType namespace. Default: OEMCSType::Exhaustive