Package rdkit :: Package Chem :: Module rdmolops
[hide private]
[frames] | no frames]

Module rdmolops

Module containing RDKit functionality for manipulating and querying molecules.

Functions [hide private]
 
AddHs(...)
AddHs( (Mol)mol [, (bool)explicitOnly=False [, (bool)addCoords=False]]) -> Mol : Adds hydrogens to the graph of a molecule.
source code
 
AssignAtomChiralCodes(...)
AssignAtomChiralCodes( (Mol)mol [, (bool)cleanIt=False [, (bool)force=False]]) -> None : DEPRECATED: use AssignStereochemistry() instead
source code
 
AssignAtomChiralTagsFromStructure(...)
AssignAtomChiralTagsFromStructure( (Mol)mol [, (int)confId=-1 [, (bool)replaceExistingTags=True]]) -> None : Sets the chiral tags on a molecule's atoms based on a 3D conformation.
source code
 
AssignBondStereoCodes(...)
AssignBondStereoCodes( (Mol)mol [, (bool)cleanIt=False [, (bool)force=False]]) -> None : DEPRECATED: use AssignStereochemistry() instead
source code
 
AssignStereochemistry(...)
AssignStereochemistry( (Mol)mol [, (bool)cleanIt=False [, (bool)force=False]]) -> None : Does the CIP stereochemistry assignment for the molecule's atoms (R/S) and double bond (Z/E).
source code
 
DaylightFingerprint(...)
DaylightFingerprint( (Mol)mol [, (int)minPath=1 [, (int)maxPath=7 [, (int)fpSize=2048 [, (int)nBitsPerHash=4 [, (bool)useHs=True [, (float)tgtDensity=0.0 [, (int)minSize=128]]]]]]]) -> ExplicitBitVect : DEPRECATED: use RDKFingerprint() instead.
source code
 
DeleteSubstructs(...)
DeleteSubstructs( (Mol)mol, (Mol)query [, (bool)onlyFrags=False]) -> Mol : Removes atoms matching a substructure query from a molecule
source code
 
FindAllPathsOfLengthN(...)
FindAllPathsOfLengthN( (Mol)mol, (int)length [, (bool)useBonds=True [, (bool)useHs=False]]) -> _listSt6vectorIiSaIiEE : Finds all paths of a particular length in a molecule
source code
 
FindAllSubgraphsOfLengthN(...)
FindAllSubgraphsOfLengthN( (Mol)mol, (int)length [, (bool)useHs=False]) -> _listSt6vectorIiSaIiEE : Finds all subgraphs of a particular length in a molecule
source code
 
FindUniqueSubgraphsOfLengthN(...)
FindUniqueSubgraphsOfLengthN( (Mol)mol, (int)length [, (bool)useHs=False [, (bool)useBO=True]]) -> _listSt6vectorIiSaIiEE : Finds unique subgraphs of a particular length in a molecule
source code
 
GetAdjacencyMatrix(...)
GetAdjacencyMatrix( (Mol)mol [, (bool)useBO=False [, (int)emptyVal=0 [, (bool)force=False [, (str)prefix='']]]]) -> object : Returns the molecule's adjacency matrix.
source code
 
GetDistanceMatrix(...)
GetDistanceMatrix( (Mol)mol [, (bool)useBO=False [, (bool)useAtomWts=False [, (bool)force=False [, (str)prefix='']]]]) -> object : Returns the molecule's distance matrix.
source code
 
GetFormalCharge(...)
GetFormalCharge( (Mol)arg1) -> int : Returns the formal charge for the molecule.
source code
 
GetMolFrags(...)
GetMolFrags( (Mol)mol [, (bool)asMols=False]) -> tuple : Finds the disconnected fragments from a molecule.
source code
 
GetSSSR(...)
GetSSSR( (Mol)arg1) -> int : Get the smallest set of simple rings for a molecule.
source code
 
GetSymmSSSR(...)
GetSymmSSSR( (Mol)arg1) -> _vectSt6vectorIiSaIiEE : Get a symmetrized SSSR for a molecule.
source code
 
Kekulize(...)
Kekulize( (Mol)mol [, (bool)clearAromaticFlags=False]) -> None : Kekulizes the molecule
source code
 
LayeredFingerprint(...)
LayeredFingerprint( (Mol)mol [, (int)layerFlags=4294967295L [, (int)minPath=1 [, (int)maxPath=7 [, (int)fpSize=2048 [, (float)tgtDensity=0.0 [, (int)minSize=128]]]]]]) -> ExplicitBitVect : Returns a layered fingerprint for a molecule
source code
 
MergeQueryHs(...)
MergeQueryHs( (Mol)mol) -> Mol : merges hydrogens into their neighboring atoms as queries
source code
 
RDKFingerprint(...)
RDKFingerprint( (Mol)mol [, (int)minPath=1 [, (int)maxPath=7 [, (int)fpSize=2048 [, (int)nBitsPerHash=4 [, (bool)useHs=True [, (float)tgtDensity=0.0 [, (int)minSize=128]]]]]]]) -> ExplicitBitVect : Returns an RDKit topological fingerprint for a molecule
source code
 
RemoveHs(...)
RemoveHs( (Mol)mol [, (bool)implicitOnly=False]) -> Mol : Removes any hydrogens from the graph of a molecule.
source code
 
RemoveStereochemistry(...)
RemoveStereochemistry( (Mol)mol) -> None : Removes all stereochemistry info from the molecule.
source code
 
ReplaceCore(...)
ReplaceCore( (Mol)mol, (Mol)coreQuery [, (bool)replaceDummies=True [, (bool)labelByIndex=False]]) -> Mol : Removes the core of a molecule and labels the sidechains with dummy atoms.
source code
 
ReplaceSidechains(...)
ReplaceSidechains( (Mol)mol, (Mol)coreQuery) -> Mol : Replaces sidechains in a molecule with dummy atoms for their attachment points.
source code
 
ReplaceSubstructs(...)
ReplaceSubstructs( (Mol)mol, (Mol)query, (Mol)replacement [, (bool)replaceAll=False]) -> object : Replaces atoms matching a substructure query in a molecule
source code
 
SanitizeMol(...)
SanitizeMol( (Mol)arg1) -> None : Kekulize, check valencies, set aromaticity, conjugation and hybridization
source code
 
SetAromaticity(...)
SetAromaticity( (Mol)mol) -> None : does aromaticity perception
source code
 
WedgeMolBonds(...)
WedgeMolBonds( (Mol)arg1, (Conformer)arg2) -> None : Set the wedging on single bonds in a molecule.
source code
Function Details [hide private]

AddHs(...)

source code 

AddHs( (Mol)mol [, (bool)explicitOnly=False [, (bool)addCoords=False]]) -> Mol :
    Adds hydrogens to the graph of a molecule.
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
        - explicitOnly: (optional) if this toggle is set, only explicit Hs will
          be added to the molecule.  Default value is 0 (add implicit and explicit Hs).
    
        - addCoords: (optional) if this toggle is set, The Hs will have 3D coordinates
          set.  Default value is 0 (no 3D coords).
    
      RETURNS: a new molecule with added Hs
    
      NOTES:
    
        - The original molecule is *not* modified.
    
        - Much of the code assumes that Hs are not included in the molecular
          topology, so be *very* careful with the molecule that comes back from
          this function.
    
    

    C++ signature :
        RDKit::ROMol* AddHs(RDKit::ROMol [,bool=False [,bool=False]])

AssignAtomChiralCodes(...)

source code 

AssignAtomChiralCodes( (Mol)mol [, (bool)cleanIt=False [, (bool)force=False]]) -> None :
    DEPRECATED: use AssignStereochemistry() instead
    

    C++ signature :
        void AssignAtomChiralCodes(RDKit::ROMol {lvalue} [,bool=False [,bool=False]])

AssignAtomChiralTagsFromStructure(...)

source code 

AssignAtomChiralTagsFromStructure( (Mol)mol [, (int)confId=-1 [, (bool)replaceExistingTags=True]]) -> None :
    Sets the chiral tags on a molecule's atoms based on 
      a 3D conformation.
    
      ARGUMENTS:
    
        - mol: the molecule to use
        - cleanIt: (optional) if provided, atoms with a chiral specifier that aren't
          actually chiral (e.g. atoms with duplicate substituents or only 2 substituents,
          etc.) will have their chiral code set to CHI_UNSPECIFIED
        - force: (optional) causes the calculation to be repeated, even if it has already
          been done
    
    

    C++ signature :
        void AssignAtomChiralTagsFromStructure(RDKit::ROMol {lvalue} [,int=-1 [,bool=True]])

AssignBondStereoCodes(...)

source code 

AssignBondStereoCodes( (Mol)mol [, (bool)cleanIt=False [, (bool)force=False]]) -> None :
    DEPRECATED: use AssignStereochemistry() instead
    

    C++ signature :
        void AssignBondStereoCodes(RDKit::ROMol {lvalue} [,bool=False [,bool=False]])

AssignStereochemistry(...)

source code 

AssignStereochemistry( (Mol)mol [, (bool)cleanIt=False [, (bool)force=False]]) -> None :
    Does the CIP stereochemistry assignment 
      for the molecule's atoms (R/S) and double bond (Z/E).
      Chiral atoms will have a property '_CIPCode' indicating
      their chiral code.
    
      ARGUMENTS:
    
        - mol: the molecule to use
        - cleanIt: (optional) if provided, atoms with a chiral specifier that aren't
          actually chiral (e.g. atoms with duplicate substituents or only 2 substituents,
          etc.) will have their chiral code set to CHI_UNSPECIFIED
        - force: (optional) causes the calculation to be repeated, even if it has already
          been done
    
    

    C++ signature :
        void AssignStereochemistry(RDKit::ROMol {lvalue} [,bool=False [,bool=False]])

DaylightFingerprint(...)

source code 

DaylightFingerprint( (Mol)mol [, (int)minPath=1 [, (int)maxPath=7 [, (int)fpSize=2048 [, (int)nBitsPerHash=4 [, (bool)useHs=True [, (float)tgtDensity=0.0 [, (int)minSize=128]]]]]]]) -> ExplicitBitVect :
    DEPRECATED: use RDKFingerprint() instead.
    

    C++ signature :
        ExplicitBitVect* DaylightFingerprint(RDKit::ROMol [,unsigned int=1 [,unsigned int=7 [,unsigned int=2048 [,unsigned int=4 [,bool=True [,double=0.0 [,unsigned int=128]]]]]]])

DeleteSubstructs(...)

source code 

DeleteSubstructs( (Mol)mol, (Mol)query [, (bool)onlyFrags=False]) -> Mol :
    Removes atoms matching a substructure query from a molecule
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
        - query: the molecule to be used as a substructure query
    
        - onlyFrags: (optional) if this toggle is set, atoms will only be removed if
          the entire fragment in which they are found is matched by the query.
          See below for examples.
          Default value is 0 (remove the atoms whether or not the entire fragment matches)
    
      RETURNS: a new molecule with the substructure removed
    
      NOTES:
    
        - The original molecule is *not* modified.
    
      EXAMPLES:
    
       The following examples substitute SMILES/SMARTS strings for molecules, you'd have
       to actually use molecules:
    
        - DeleteSubstructs('CCOC','OC') -> 'CC'
    
        - DeleteSubstructs('CCOC','OC',1) -> 'CCOC'
    
        - DeleteSubstructs('CCOCCl.Cl','Cl',1) -> 'CCOCCl'
    
        - DeleteSubstructs('CCOCCl.Cl','Cl') -> 'CCOC'
    
    

    C++ signature :
        RDKit::ROMol* DeleteSubstructs(RDKit::ROMol,RDKit::ROMol [,bool=False])

FindAllPathsOfLengthN(...)

source code 

FindAllPathsOfLengthN( (Mol)mol, (int)length [, (bool)useBonds=True [, (bool)useHs=False]]) -> _listSt6vectorIiSaIiEE :
    Finds all paths of a particular length in a molecule
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - length: an integer with the target length for the paths.
    
        - useBonds: (optional) toggles the use of bond indices in the paths.
          Otherwise atom indices are used.  *Note* this behavior is different
          from that for subgraphs.
          Defaults to 1.
    
      RETURNS: a tuple of tuples with IDs for the bonds.
    
      NOTES: 
    
       - Difference between _subgraphs_ and _paths_ :: 
    
           Subgraphs are potentially branched, whereas paths (in our 
           terminology at least) cannot be.  So, the following graph: 
    
                C--0--C--1--C--3--C
                      |
                      2
                      |
                      C
    
           has 3 _subgraphs_ of length 3: (0,1,2),(0,1,3),(2,1,3)
           but only 2 _paths_ of length 3: (0,1,3),(2,1,3)
    
    

    C++ signature :
        std::list<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > FindAllPathsOfLengthN(RDKit::ROMol,unsigned int [,bool=True [,bool=False]])

FindAllSubgraphsOfLengthN(...)

source code 

FindAllSubgraphsOfLengthN( (Mol)mol, (int)length [, (bool)useHs=False]) -> _listSt6vectorIiSaIiEE :
    Finds all subgraphs of a particular length in a molecule
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - length: an integer with the target number of bonds for the subgraphs.
    
        - useHs: (optional) toggles whether or not bonds to Hs that are part of the graph
          should be included in the results.
          Defaults to 0.
    
        - verbose: (optional, internal use) toggles verbosity in the search algorithm.
          Defaults to 0.
    
      RETURNS: a tuple of 2-tuples with bond IDs
    
      NOTES: 
    
       - Difference between _subgraphs_ and _paths_ :: 
    
           Subgraphs are potentially branched, whereas paths (in our 
           terminology at least) cannot be.  So, the following graph: 
    
                C--0--C--1--C--3--C
                      |
                      2
                      |
                      C
      has 3 _subgraphs_ of length 3: (0,1,2),(0,1,3),(2,1,3)
      but only 2 _paths_ of length 3: (0,1,3),(2,1,3)
    
    

    C++ signature :
        std::list<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > FindAllSubgraphsOfLengthN(RDKit::ROMol,unsigned int [,bool=False])

FindUniqueSubgraphsOfLengthN(...)

source code 

FindUniqueSubgraphsOfLengthN( (Mol)mol, (int)length [, (bool)useHs=False [, (bool)useBO=True]]) -> _listSt6vectorIiSaIiEE :
    Finds unique subgraphs of a particular length in a molecule
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - length: an integer with the target number of bonds for the subgraphs.
    
        - useHs: (optional) toggles whether or not bonds to Hs that are part of the graph
          should be included in the results.
          Defaults to 0.
    
        - useBO: (optional) Toggles use of bond orders in distinguishing one subgraph from
          another.
          Defaults to 1.
    
      RETURNS: a tuple of tuples with bond IDs
    
    
    

    C++ signature :
        std::list<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > FindUniqueSubgraphsOfLengthN(RDKit::ROMol,unsigned int [,bool=False [,bool=True]])

GetAdjacencyMatrix(...)

source code 

GetAdjacencyMatrix( (Mol)mol [, (bool)useBO=False [, (int)emptyVal=0 [, (bool)force=False [, (str)prefix='']]]]) -> object :
    Returns the molecule's adjacency matrix.
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - useBO: (optional) toggles use of bond orders in calculating the matrix.
          Default value is 0.
    
        - emptyVal: (optional) sets the elements of the matrix between non-adjacent atoms
          Default value is 0.
    
        - force: (optional) forces the calculation to proceed, even if there is a cached value.
          Default value is 0.
    
        - prefix: (optional, internal use) sets the prefix used in the property cache
          Default value is .
    
      RETURNS: a Numeric array of floats containing the adjacency matrix
    
    

    C++ signature :
        _object* GetAdjacencyMatrix(RDKit::ROMol {lvalue} [,bool=False [,int=0 [,bool=False [,char const*='']]]])

GetDistanceMatrix(...)

source code 

GetDistanceMatrix( (Mol)mol [, (bool)useBO=False [, (bool)useAtomWts=False [, (bool)force=False [, (str)prefix='']]]]) -> object :
    Returns the molecule's distance matrix.
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - useBO: (optional) toggles use of bond orders in calculating the distance matrix.
          Default value is 0.
    
        - useAtomWts: (optional) toggles using atom weights for the diagonal elements of the
          matrix (to return a "Balaban" distance matrix).
          Default value is 0.
    
        - force: (optional) forces the calculation to proceed, even if there is a cached value.
          Default value is 0.
    
        - prefix: (optional, internal use) sets the prefix used in the property cache
          Default value is .
    
      RETURNS: a Numeric array of floats with the distance matrix
    
    

    C++ signature :
        _object* GetDistanceMatrix(RDKit::ROMol {lvalue} [,bool=False [,bool=False [,bool=False [,char const*='']]]])

GetFormalCharge(...)

source code 

GetFormalCharge( (Mol)arg1) -> int :
    Returns the formal charge for the molecule.
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
    

    C++ signature :
        int GetFormalCharge(RDKit::ROMol)

GetMolFrags(...)

source code 

GetMolFrags( (Mol)mol [, (bool)asMols=False]) -> tuple :
    Finds the disconnected fragments from a molecule.
    
      For example, for the molecule 'CC(=O)[O-].[NH3+]C' GetMolFrags() returns
      ((0, 1, 2, 3), (4, 5))
    
      ARGUMENTS:
    
        - mol: the molecule to use
        - asMols: (optional) if this is provided and true, the fragments
          will be returned as molecules instead of atom ids.
    
      RETURNS: a tuple of tuples with IDs for the atoms in each fragment
               or a tuple of molecules.
    
    

    C++ signature :
        boost::python::tuple GetMolFrags(RDKit::ROMol [,bool=False])

GetSSSR(...)

source code 

GetSSSR( (Mol)arg1) -> int :
    Get the smallest set of simple rings for a molecule.
    
      ARGUMENTS:
    
        - mol: the molecule to use.
    
      RETURNS: the number of rings found
             This will be equal to NumBonds-NumAtoms+1 for single-fragment molecules.
    
    

    C++ signature :
        int GetSSSR(RDKit::ROMol {lvalue})

GetSymmSSSR(...)

source code 

GetSymmSSSR( (Mol)arg1) -> _vectSt6vectorIiSaIiEE :
    Get a symmetrized SSSR for a molecule.
    
      The symmetrized SSSR is at least as large as the SSSR for a molecule.
      In certain highly-symmetric cases (e.g. cubane), the symmetrized SSSR can be
      a bit larger (i.e. the number of symmetrized rings is >= NumBonds-NumAtoms+1).
    
      ARGUMENTS:
    
        - mol: the molecule to use.
    
      RETURNS: the number of rings found
    
    

    C++ signature :
        std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > GetSymmSSSR(RDKit::ROMol {lvalue})

Kekulize(...)

source code 

Kekulize( (Mol)mol [, (bool)clearAromaticFlags=False]) -> None :
    Kekulizes the molecule
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - clearAromaticFlags: (optional) if this toggle is set, all atoms and bonds in the 
          molecule will be marked non-aromatic following the kekulization.
          Default value is 0.
    
      NOTES:
    
        - The molecule is modified in place.
    
    

    C++ signature :
        void Kekulize(RDKit::ROMol {lvalue} [,bool=False])

LayeredFingerprint(...)

source code 

LayeredFingerprint( (Mol)mol [, (int)layerFlags=4294967295L [, (int)minPath=1 [, (int)maxPath=7 [, (int)fpSize=2048 [, (float)tgtDensity=0.0 [, (int)minSize=128]]]]]]) -> ExplicitBitVect :
    Returns a layered fingerprint for a molecule
    
      NOTE: This function is experimental. The API or results may change from
        release to release.
    
      Explanation of the algorithm below.
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - layerFlags: (optional) which layers to include in the fingerprint
          See below for definitions. Defaults to all.
    
        - minPath: (optional) minimum number of bonds to include in the subgraphs
          Defaults to 1.
    
        - maxPath: (optional) maximum number of bonds to include in the subgraphs
          Defaults to 7.
    
        - fpSize: (optional) number of bits in the fingerprint
          Defaults to 2048.
    
        - tgtDensity: (optional) fold the fingerprint until this minimum density has
          been reached
          Defaults to 0.
    
        - minSize: (optional) the minimum size the fingerprint will be folded to when
          trying to reach tgtDensity
          Defaults to 128.
    
      RETURNS: a DataStructs.ExplicitBitVect with _fpSize_ bits
    
      Layer definitions:
         - 0x01: pure topology
         - 0x02: bond order
         - 0x04: atom types
         - 0x08: presence of rings
         - 0x10: ring sizes
    
    
    

    C++ signature :
        ExplicitBitVect* LayeredFingerprint(RDKit::ROMol [,unsigned int=4294967295L [,unsigned int=1 [,unsigned int=7 [,unsigned int=2048 [,double=0.0 [,unsigned int=128]]]]]])

MergeQueryHs(...)

source code 

MergeQueryHs( (Mol)mol) -> Mol :
    merges hydrogens into their neighboring atoms as queries

    C++ signature :
        RDKit::ROMol* MergeQueryHs(RDKit::ROMol)

RDKFingerprint(...)

source code 

RDKFingerprint( (Mol)mol [, (int)minPath=1 [, (int)maxPath=7 [, (int)fpSize=2048 [, (int)nBitsPerHash=4 [, (bool)useHs=True [, (float)tgtDensity=0.0 [, (int)minSize=128]]]]]]]) -> ExplicitBitVect :
    Returns an RDKit topological fingerprint for a molecule
    
      Explanation of the algorithm below.
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
        - minPath: (optional) minimum number of bonds to include in the subgraphs
          Defaults to 1.
    
        - maxPath: (optional) maximum number of bonds to include in the subgraphs
          Defaults to 7.
    
        - fpSize: (optional) number of bits in the fingerprint
          Defaults to 2048.
    
        - nBitsPerPath: (optional) number of bits to set per path
          Defaults to 4.
    
        - useHs: (optional) include information about number of Hs on each
          atom when calculating path hashes.
          Defaults to 1.
    
        - tgtDensity: (optional) fold the fingerprint until this minimum density has
          been reached
          Defaults to 0.
    
        - minSize: (optional) the minimum size the fingerprint will be folded to when
          trying to reach tgtDensity
          Defaults to 128.
    
      RETURNS: a DataStructs.ExplicitBitVect with _fpSize_ bits
    
      ALGORITHM:
    
       This algorithm functions by find all paths between minPath and maxPath in
        length.  For each path:
    
         1) A hash is calculated.
    
         2) The hash is used to seed a random-number generator
    
         3) _nBitsPerPath_ random numbers are generated and used to set the corresponding
            bits in the fingerprint
    
    
    

    C++ signature :
        ExplicitBitVect* RDKFingerprint(RDKit::ROMol [,unsigned int=1 [,unsigned int=7 [,unsigned int=2048 [,unsigned int=4 [,bool=True [,double=0.0 [,unsigned int=128]]]]]]])

RemoveHs(...)

source code 

RemoveHs( (Mol)mol [, (bool)implicitOnly=False]) -> Mol :
    Removes any hydrogens from the graph of a molecule.
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
        - implicitOnly: (optional) if this toggle is set, only implicit Hs will
          be removed from the graph.  Default value is 0 (remove implicit and explicit Hs).
    
      RETURNS: a new molecule with the Hs removed
    
      NOTES:
    
        - The original molecule is *not* modified.
    
    

    C++ signature :
        RDKit::ROMol* RemoveHs(RDKit::ROMol [,bool=False])

RemoveStereochemistry(...)

source code 

RemoveStereochemistry( (Mol)mol) -> None :
    Removes all stereochemistry info from the molecule.
    
    

    C++ signature :
        void RemoveStereochemistry(RDKit::ROMol {lvalue})

ReplaceCore(...)

source code 

ReplaceCore( (Mol)mol, (Mol)coreQuery [, (bool)replaceDummies=True [, (bool)labelByIndex=False]]) -> Mol :
    Removes the core of a molecule and labels the sidechains with dummy atoms.
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
        - coreQuery: the molecule to be used as a substructure query for recognizing the core
    
        - replaceDummies: toggles replacement of atoms that match dummies in the query
    
      RETURNS: a new molecule with the core removed
    
      NOTES:
    
        - The original molecule is *not* modified.
    
      EXAMPLES:
    
       The following examples substitute SMILES/SMARTS strings for molecules, you'd have
       to actually use molecules:
    
        - ReplaceCore('CCC1CCC1','C1CCC1') -> 'CC[Xa]'
    
        - ReplaceCore('CCC1CC1','C1CCC1') -> ''
    
        - ReplaceCore('C1CC2C1CCC2','C1CCC1') -> '[Xa]C1CCC1[Xb]'
    
        - ReplaceCore('C1CNCC1','N') -> '[Xa]CCCC[Xb]'
    
        - ReplaceCore('C1CCC1CN','C1CCC1[*]',False) -> '[Xa]CN'
    
    

    C++ signature :
        RDKit::ROMol* ReplaceCore(RDKit::ROMol,RDKit::ROMol [,bool=True [,bool=False]])

ReplaceSidechains(...)

source code 

ReplaceSidechains( (Mol)mol, (Mol)coreQuery) -> Mol :
    Replaces sidechains in a molecule with dummy atoms for their attachment points.
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
        - coreQuery: the molecule to be used as a substructure query for recognizing the core
    
      RETURNS: a new molecule with the sidechains removed
    
      NOTES:
    
        - The original molecule is *not* modified.
    
      EXAMPLES:
    
       The following examples substitute SMILES/SMARTS strings for molecules, you'd have
       to actually use molecules:
    
        - ReplaceSidechains('CCC1CCC1','C1CCC1') -> '[Xa]C1CCC1'
    
        - ReplaceSidechains('CCC1CC1','C1CCC1') -> ''
    
        - ReplaceSidechains('C1CC2C1CCC2','C1CCC1') -> '[Xa]C1CCC1[Xb]'
    
    

    C++ signature :
        RDKit::ROMol* ReplaceSidechains(RDKit::ROMol,RDKit::ROMol)

ReplaceSubstructs(...)

source code 

ReplaceSubstructs( (Mol)mol, (Mol)query, (Mol)replacement [, (bool)replaceAll=False]) -> object :
    Replaces atoms matching a substructure query in a molecule
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
        - query: the molecule to be used as a substructure query
    
        - replacement: the molecule to be used as the replacement
    
        - replaceAll: (optional) if this toggle is set, all substructures matching
          the query will be replaced in a single result, otherwise each result will
          contain a separate replacement.
          Default value is False (return multiple replacements)
    
      RETURNS: a tuple of new molecules with the substructures replaced removed
    
      NOTES:
    
        - The original molecule is *not* modified.
    
      EXAMPLES:
    
       The following examples substitute SMILES/SMARTS strings for molecules, you'd have
       to actually use molecules:
    
        - ReplaceSubstructs('CCOC','OC','NC') -> ('CCNC',)
    
        - ReplaceSubstructs('COCCOC','OC','NC') -> ('COCCNC','CNCCOC')
    
        - ReplaceSubstructs('COCCOC','OC','NC',True) -> ('CNCCNC',)
    
    

    C++ signature :
        _object* ReplaceSubstructs(RDKit::ROMol,RDKit::ROMol,RDKit::ROMol [,bool=False])

SanitizeMol(...)

source code 

SanitizeMol( (Mol)arg1) -> None :
    Kekulize, check valencies, set aromaticity, conjugation and hybridization
    
        - The molecule is modified in place.
    
        - If sanitization fails, an exception will be thrown
    
      ARGUMENTS:
    
        - mol: the molecule to be modified
    
      NOTES:
    
    

    C++ signature :
        void SanitizeMol(RDKit::ROMol {lvalue})

SetAromaticity(...)

source code 

SetAromaticity( (Mol)mol) -> None :
    does aromaticity perception
    
      ARGUMENTS:
    
        - mol: the molecule to use
    
      NOTES:
    
        - The molecule is modified in place.
    
    

    C++ signature :
        void SetAromaticity(RDKit::ROMol {lvalue})

WedgeMolBonds(...)

source code 

WedgeMolBonds( (Mol)arg1, (Conformer)arg2) -> None :
    Set the wedging on single bonds in a molecule.
        The wedging scheme used is that from Mol files.
     
      ARGUMENTS:
    
        - molecule: the molecule to update
     
    
    

    C++ signature :
        void WedgeMolBonds(RDKit::ROMol {lvalue},RDKit::Conformer const*)