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
SetIncludeInputis set to true.
The second method is to pass in a 3D structure using the command
SetFixDeleteHcommand 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
SetIncludeInputis 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
SetFixPredicatewhich 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
The unique match flag defined using
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
- The OEConfFixOptions class defines the following public methods:
OEConfFixOptions() OEConfFixOptions(const OEConfFixOptions &)
Default and copy constructors.
OEConfFixOptions &operator=(const OEConfFixOptions &)
GetAtomExpr¶unsigned GetatomExpr() const
GetBondExpr¶unsigned GetBondExpr() const
GetFixDeleteH¶bool GetFixDeleteH() const
GetFixMaxMatch¶unsigned int GetFixMaxMatch() const
GetFixPredicate¶const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>* GetFixPredicate() const
GetFixSmarts¶const std::string& GetFixSmarts() const
GetFixSubSearch¶const OEChem::OESubSearch &GetFixSubSearch() const
Returns the substructure search (OESubSearch) for fixed fragments.
GetFixUniqueMatch¶bool GetFixUniqueMatch() const
GetMCSMinAtoms¶unsigned GetMCSMinAtoms() const
GetMCSFunc¶const OEChem::OEMCSFunc* GetMCSFunc() const
GetMCSType¶unsigned GetMCSType() const
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:
SetBondExpr¶bool SetBondExpr(const unsigned)
Sets the bond expression to be used for substructure initialization from a molecule fragment. Default:
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:
SetMCSType¶bool SetMCSType(const unsigned)
Sets the MCS search type to be used for subgraph matching for MCS based fix, defined in