OEConfFixOptions

class OEConfFixOptions : public OESystem::OEOptions

This class provides an interface to set up options required for constraining a fragment of the molecule 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 in 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 in 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 to turn on MCS-based fix using the command SetFixMCS. In this case, the maximum common substructure 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 final method is to provide an atom predicate using the command SetFixPredicate, which is used to identify target atoms to be fixed.

For all of 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 two 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
OEConfFixOptions(arg2: OEConfFixOptions) -> OEConfFixOptions

Default and copy constructors.

GetAtomExpr

GetAtomExpr() -> int

See the SetAtomExpr method.

GetBondExpr

GetBondExpr() -> int

See the SetBondExpr method.

GetFixDeleteH

GetFixDeleteH() -> bool

See the SetFixDeleteH method.

GetFixMaxMatch

GetFixMaxMatch() -> int

See the SetFixMaxMatch method.

GetFixMCS

GetFixMCS() -> bool

See the SetFixMCS method.

GetFixMol

GetFixMol() -> OEGraphMol

See the SetFixMol method.

GetFixPredicate

GetFixPredicate() -> OEUnaryAtomPred

See the SetFixPredicate method.

GetFixRMS

GetFixRMS() -> float

See the SetFixRMS method.

GetFixSmarts

GetFixSmarts() -> str

See the SetFixSmarts method.

GetFixSubSearch

GetFixSubSearch() -> OESubSearch

Returns the substructure search (OESubSearch) for fixed fragments.

GetFixUniqueMatch

GetFixUniqueMatch() -> bool

See the SetFixUniqueMatch method.

GetMCSMinAtoms

GetMCSMinAtoms() -> int

See the SetMCSMinAtoms method.

GetMCSFunc

GetMCSFunc() -> OEMCSFunc

See the SetMCSFunc method.

GetMCSType

GetMCSType() -> int

See the SetMCSType method.

HasFixPattern

HasFixPattern() -> bool

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

SetAtomExpr

SetAtomExpr(value: int) -> bool

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

See also

SetBondExpr

SetBondExpr(value: int) -> bool

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

See also

SetFixDeleteH

SetFixDeleteH(value: bool) -> bool

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

SetFixMaxMatch

SetFixMaxMatch(value: int) -> bool

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

SetFixMol

SetFixMol(value: Union[OEGraphMol,OEMol,OEQMol]) -> bool
SetFixMol(fstream: oemolistream) -> bool

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

SetFixMCS

SetFixMCS(value: bool) -> bool

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

SetFixPredicate

SetFixPredicate(value: OEUnaryAtomPred) -> bool

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

SetFixRMS

SetFixRMS(value: float) -> bool

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

SetFixSmarts

SetFixSmarts(value: str) -> bool

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

SetFixSubSearch

SetFixSubSearch(value: OESubSearch) -> bool

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

SetFixUniqueMatch

SetFixUniqueMatch(value: bool) -> bool

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

SetMCSMinAtoms

SetMCSMinAtoms(value: int) -> bool

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

SetMCSFunc

SetMCSFunc(value: OEMCSFunc) -> bool

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

SetMCSType

SetMCSType(value: int) -> bool

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