rdkit.Chem.rdFMCS module¶
Module containing a C++ implementation of the FMCS algorithm
- class rdkit.Chem.rdFMCS.AtomCompare¶
Bases:
enum
- CompareAny = rdkit.Chem.rdFMCS.AtomCompare.CompareAny¶
- CompareAnyHeavyAtom = rdkit.Chem.rdFMCS.AtomCompare.CompareAnyHeavyAtom¶
- CompareElements = rdkit.Chem.rdFMCS.AtomCompare.CompareElements¶
- CompareIsotopes = rdkit.Chem.rdFMCS.AtomCompare.CompareIsotopes¶
- names = {'CompareAny': rdkit.Chem.rdFMCS.AtomCompare.CompareAny, 'CompareAnyHeavyAtom': rdkit.Chem.rdFMCS.AtomCompare.CompareAnyHeavyAtom, 'CompareElements': rdkit.Chem.rdFMCS.AtomCompare.CompareElements, 'CompareIsotopes': rdkit.Chem.rdFMCS.AtomCompare.CompareIsotopes}¶
- values = {0: rdkit.Chem.rdFMCS.AtomCompare.CompareAny, 1: rdkit.Chem.rdFMCS.AtomCompare.CompareElements, 2: rdkit.Chem.rdFMCS.AtomCompare.CompareIsotopes, 3: rdkit.Chem.rdFMCS.AtomCompare.CompareAnyHeavyAtom}¶
- class rdkit.Chem.rdFMCS.BondCompare¶
Bases:
enum
- CompareAny = rdkit.Chem.rdFMCS.BondCompare.CompareAny¶
- CompareOrder = rdkit.Chem.rdFMCS.BondCompare.CompareOrder¶
- CompareOrderExact = rdkit.Chem.rdFMCS.BondCompare.CompareOrderExact¶
- names = {'CompareAny': rdkit.Chem.rdFMCS.BondCompare.CompareAny, 'CompareOrder': rdkit.Chem.rdFMCS.BondCompare.CompareOrder, 'CompareOrderExact': rdkit.Chem.rdFMCS.BondCompare.CompareOrderExact}¶
- values = {0: rdkit.Chem.rdFMCS.BondCompare.CompareAny, 1: rdkit.Chem.rdFMCS.BondCompare.CompareOrder, 2: rdkit.Chem.rdFMCS.BondCompare.CompareOrderExact}¶
- rdkit.Chem.rdFMCS.FindMCS((AtomPairsParameters)mols[, (bool)maximizeBonds=True[, (float)threshold=1.0[, (int)timeout=3600[, (bool)verbose=False[, (bool)matchValences=False[, (bool)ringMatchesRingOnly=False[, (bool)completeRingsOnly=False[, (bool)matchChiralTag=False[, (AtomCompare)atomCompare=rdkit.Chem.rdFMCS.AtomCompare.CompareElements[, (BondCompare)bondCompare=rdkit.Chem.rdFMCS.BondCompare.CompareOrder[, (RingCompare)ringCompare=rdkit.Chem.rdFMCS.RingCompare.IgnoreRingFusion[, (str)seedSmarts='']]]]]]]]]]]]) MCSResult : ¶
Find the MCS for a set of molecules
- C++ signature :
RDKit::MCSResult* FindMCS(boost::python::api::object [,bool=True [,double=1.0 [,unsigned int=3600 [,bool=False [,bool=False [,bool=False [,bool=False [,bool=False [,RDKit::AtomComparator=rdkit.Chem.rdFMCS.AtomCompare.CompareElements [,RDKit::BondComparator=rdkit.Chem.rdFMCS.BondCompare.CompareOrder [,RDKit::RingComparator=rdkit.Chem.rdFMCS.RingCompare.IgnoreRingFusion [,std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >=’’]]]]]]]]]]]])
- FindMCS( (AtomPairsParameters)mols, (MCSParameters)parameters) -> MCSResult :
Find the MCS for a set of molecules
- C++ signature :
RDKit::MCSResult* FindMCS(boost::python::api::object,RDKit::PyMCSParameters {lvalue})
- class rdkit.Chem.rdFMCS.MCSAcceptance((object)arg1)¶
Bases:
instance
Base class. Subclass and override MCSAcceptance.__call__() to define a custom boolean callback function. Returning True will cause the MCS candidate to be accepted, False to be rejected
- C++ signature :
void __init__(_object*)
- class rdkit.Chem.rdFMCS.MCSAtomCompare((object)arg1)¶
Bases:
instance
Base class. Subclass and override MCSAtomCompare.__call__() to define custom atom compare functions, then set MCSParameters.AtomTyper to an instance of the subclass
- C++ signature :
void __init__(_object*)
- CheckAtomCharge((MCSAtomCompare)self, (MCSAtomCompareParameters)parameters, (Mol)mol1, (int)atom1, (Mol)mol2, (int)atom2) bool : ¶
Return True if both atoms have the same formal charge
- C++ signature :
bool CheckAtomCharge(RDKit::PyMCSAtomCompare {lvalue},RDKit::MCSAtomCompareParameters,RDKit::ROMol,unsigned int,RDKit::ROMol,unsigned int)
- CheckAtomChirality((MCSAtomCompare)self, (MCSAtomCompareParameters)parameters, (Mol)mol1, (int)atom1, (Mol)mol2, (int)atom2) bool : ¶
Return True if both atoms have, or have not, a chiral tag
- C++ signature :
bool CheckAtomChirality(RDKit::PyMCSAtomCompare {lvalue},RDKit::MCSAtomCompareParameters,RDKit::ROMol,unsigned int,RDKit::ROMol,unsigned int)
- CheckAtomRingMatch((MCSAtomCompare)self, (MCSAtomCompareParameters)parameters, (Mol)mol1, (int)atom1, (Mol)mol2, (int)atom2) bool : ¶
Return True if both atoms are, or are not, in a ring
- C++ signature :
bool CheckAtomRingMatch(RDKit::PyMCSAtomCompare {lvalue},RDKit::MCSAtomCompareParameters,RDKit::ROMol,unsigned int,RDKit::ROMol,unsigned int)
- class rdkit.Chem.rdFMCS.MCSAtomCompareParameters((object)arg1)¶
Bases:
instance
Parameters controlling how atom-atom matching is done
- C++ signature :
void __init__(_object*)
- property CompleteRingsOnly¶
results cannot include lone ring atoms
- property MatchChiralTag¶
include atom chirality in the match
- property MatchFormalCharge¶
include formal charge in the match
- property MatchIsotope¶
use isotope atom queries in MCSResults
- property MatchValences¶
include atom valences in the match
- property MaxDistance¶
Require atoms to be within this many angstroms in 3D
- property RingMatchesRingOnly¶
ring atoms are only allowed to match other ring atoms
- class rdkit.Chem.rdFMCS.MCSBondCompare((object)arg1)¶
Bases:
instance
Base class. Subclass and override MCSBondCompare.__call__() to define custom bond compare functions, then set MCSParameters.BondTyper to an instance of the subclass
- C++ signature :
void __init__(_object*)
- CheckBondRingMatch((MCSBondCompare)self, (MCSBondCompareParameters)parameters, (Mol)mol1, (int)bond1, (Mol)mol2, (int)bond2) bool : ¶
Return True if both bonds are, or are not, part of a ring
- C++ signature :
bool CheckBondRingMatch(RDKit::PyMCSBondCompare {lvalue},RDKit::MCSBondCompareParameters,RDKit::ROMol,unsigned int,RDKit::ROMol,unsigned int)
- CheckBondStereo((MCSBondCompare)self, (MCSBondCompareParameters)parameters, (Mol)mol1, (int)bond1, (Mol)mol2, (int)bond2) bool : ¶
Return True if both bonds have, or have not, a stereo descriptor
- C++ signature :
bool CheckBondStereo(RDKit::PyMCSBondCompare {lvalue},RDKit::MCSBondCompareParameters,RDKit::ROMol,unsigned int,RDKit::ROMol,unsigned int)
- class rdkit.Chem.rdFMCS.MCSBondCompareParameters((object)arg1)¶
Bases:
instance
Parameters controlling how bond-bond matching is done
- C++ signature :
void __init__(_object*)
- property CompleteRingsOnly¶
results cannot include partial rings
- property MatchFusedRings¶
enforce check on ring fusion, i.e. alpha-methylnaphthalene won’t match beta-methylnaphtalene, but decalin will match cyclodecane unless MatchFusedRingsStrict is True
- property MatchFusedRingsStrict¶
only enforced if MatchFusedRings is True; the ring fusion must be the same in both query and target, i.e. decalin won’t match cyclodecane
- property MatchStereo¶
include bond stereo in the comparison
- property RingMatchesRingOnly¶
ring bonds are only allowed to match other ring bonds
- class rdkit.Chem.rdFMCS.MCSFinalMatchCheck((object)arg1)¶
Bases:
instance
Base class. Subclass and override MCSFinalMatchCheck.__call__() to define a custom boolean callback function. Returning True will cause the growing seed to be accepted, False to be rejected
- C++ signature :
void __init__(_object*)
- class rdkit.Chem.rdFMCS.MCSParameters((object)arg1)¶
Bases:
instance
Parameters controlling how the MCS is constructed
- C++ signature :
void __init__(_object*)
- property AtomCompareParameters¶
parameters for comparing atoms
- property AtomTyper¶
atom typer to be used. Must be one of the members of the rdFMCS.AtomCompare class or an instance of a user-defined subclass of rdFMCS.MCSAtomCompare
- property BondCompareParameters¶
parameters for comparing bonds
- property BondTyper¶
bond typer to be used. Must be one of the members of the rdFMCS.BondCompare class or an instance of a user-defined subclass of rdFMCS.MCSBondCompare
- property FinalMatchChecker¶
seed final match checker callback class. Must be a user-defined subclass of rdFMCS.MCSFinalMatchCheck
- property InitialSeed¶
SMILES string to be used as the seed of the MCS
- property MaximizeBonds¶
toggles maximizing the number of bonds (instead of the number of atoms)
- property ProgressCallback¶
progress callback class. Must be a user-defined subclass of rdFMCS.Progress
- property ShouldAcceptMCS¶
MCS acceptance callback class. Must be a user-defined subclass of rdFMCS.MCSAcceptance
- property StoreAll¶
toggles storage of degenerate MCSs
- property Threshold¶
fraction of the dataset that must contain the MCS
- property Timeout¶
timeout (in seconds) for the calculation
- property Verbose¶
toggles verbose mode
- class rdkit.Chem.rdFMCS.MCSProgress((object)arg1)¶
Bases:
instance
Base class. Subclass and override MCSProgress.__call__() to define a custom callback function
- C++ signature :
void __init__(_object*)
- class rdkit.Chem.rdFMCS.MCSProgressData((object)arg1)¶
Bases:
instance
Information about the MCS progress
- C++ signature :
void __init__(_object*)
- property numAtoms¶
number of atoms in MCS
- property numBonds¶
number of bonds in MCS
- property seedProcessed¶
number of processed seeds
- class rdkit.Chem.rdFMCS.MCSResult¶
Bases:
instance
used to return MCS results
Raises an exception This class cannot be instantiated from Python
- property canceled¶
if True, the MCS calculation did not finish
- property degenerateSmartsQueryMolDict¶
Dictionary collecting all degenerate (SMARTS, queryMol) pairs (empty if MCSParameters.StoreAll is False)
- property numAtoms¶
number of atoms in MCS
- property numBonds¶
number of bonds in MCS
- property queryMol¶
query molecule for the MCS
- property smartsString¶
SMARTS string for the MCS
- class rdkit.Chem.rdFMCS.RingCompare¶
Bases:
enum
- IgnoreRingFusion = rdkit.Chem.rdFMCS.RingCompare.IgnoreRingFusion¶
- PermissiveRingFusion = rdkit.Chem.rdFMCS.RingCompare.PermissiveRingFusion¶
- StrictRingFusion = rdkit.Chem.rdFMCS.RingCompare.StrictRingFusion¶
- names = {'IgnoreRingFusion': rdkit.Chem.rdFMCS.RingCompare.IgnoreRingFusion, 'PermissiveRingFusion': rdkit.Chem.rdFMCS.RingCompare.PermissiveRingFusion, 'StrictRingFusion': rdkit.Chem.rdFMCS.RingCompare.StrictRingFusion}¶
- values = {0: rdkit.Chem.rdFMCS.RingCompare.IgnoreRingFusion, 1: rdkit.Chem.rdFMCS.RingCompare.PermissiveRingFusion, 2: rdkit.Chem.rdFMCS.RingCompare.StrictRingFusion}¶