![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <RDGeneral/export.h>#include <vector>#include <map>#include <list>#include <RDGeneral/BoostStartInclude.h>#include <boost/smart_ptr.hpp>#include <boost/dynamic_bitset.hpp>#include <RDGeneral/BoostEndInclude.h>#include <RDGeneral/types.h>#include <RDGeneral/BetterEnums.h>#include "SanitException.h"#include <RDGeneral/FileParseException.h>Go to the source code of this file.
Classes | |
| struct | RDKit::MolOps::AddHsParameters |
| struct | RDKit::MolOps::RemoveHsParameters |
| struct | RDKit::MolOps::AdjustQueryParameters |
| Parameters controlling the behavior of MolOps::adjustQueryProperties. More... | |
| class | RDKit::MolOps::Hybridizations |
Namespaces | |
| namespace | RDKit |
| Std stuff. | |
| namespace | RDKit::MolOps |
| Groups a variety of molecular query and transformation operations. | |
| namespace | RDKit::MolOps::details |
Typedefs | |
| typedef std::vector< double > | RDKit::INVAR_VECT |
| typedef INVAR_VECT::iterator | RDKit::INVAR_VECT_I |
| typedef INVAR_VECT::const_iterator | RDKit::INVAR_VECT_CI |
Functions | |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::countAtomElec (const Atom *at) |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::getFormalCharge (const ROMol &mol) |
| sums up all atomic formal charges and returns the result | |
| RDKIT_GRAPHMOL_EXPORT bool | RDKit::MolOps::atomHasConjugatedBond (const Atom *at) |
| returns whether or not the given Atom is involved in a conjugated bond | |
| RDKIT_GRAPHMOL_EXPORT unsigned int | RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< int > &mapping) |
| find fragments (disconnected components of the molecular graph) | |
| RDKIT_GRAPHMOL_EXPORT unsigned int | RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< std::vector< int > > &frags) |
| find fragments (disconnected components of the molecular graph) | |
| RDKIT_GRAPHMOL_EXPORT unsigned int | RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< std::unique_ptr< ROMol > > &molFrags, bool sanitizeFrags=true, std::vector< int > *frags=nullptr, std::vector< std::vector< int > > *fragsMolAtomMapping=nullptr, bool copyConformers=true) |
| RDKIT_GRAPHMOL_EXPORT std::vector< boost::shared_ptr< ROMol > > | RDKit::MolOps::getMolFrags (const ROMol &mol, bool sanitizeFrags=true, std::vector< int > *frags=nullptr, std::vector< std::vector< int > > *fragsMolAtomMapping=nullptr, bool copyConformers=true) |
| template<typename T> | |
| RDKIT_GRAPHMOL_EXPORT std::map< T, boost::shared_ptr< ROMol > > | RDKit::MolOps::getMolFragsWithQuery (const ROMol &mol, T(*query)(const ROMol &, const Atom *), bool sanitizeFrags=true, const std::vector< T > *whiteList=nullptr, bool negateList=false) |
| splits a molecule into pieces based on labels assigned using a query | |
| template<typename T> | |
| RDKIT_GRAPHMOL_EXPORT unsigned int | RDKit::MolOps::getMolFragsWithQuery (const ROMol &mol, T(*query)(const ROMol &, const Atom *), std::map< T, std::unique_ptr< ROMol > > &molFrags, bool sanitizeFrags=true, const std::vector< T > *whiteList=nullptr, bool negateList=false) |
| RDKIT_GRAPHMOL_EXPORT unsigned | RDKit::MolOps::getNumAtomsWithDistinctProperty (const ROMol &mol, std::string prop) |
| returns the number of atoms which have a particular property set | |
| RDKIT_GRAPHMOL_EXPORT bool | RDKit::MolOps::needsHs (const ROMol &mol) |
| returns whether or not a molecule needs to have Hs added to it. | |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::hapticBondsToDative (const ROMol &mol) |
| Replaces haptic bond with explicit dative bonds. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::hapticBondsToDative (RWMol &mol) |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::dativeBondsToHaptic (const ROMol &mol) |
| Replaces explicit dative bonds with haptic. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::dativeBondsToHaptic (RWMol &mol) |
| RDKIT_GRAPHMOL_EXPORT double | RDKit::MolOps::getAvgMolWt (const ROMol &mol, bool onlyHeavy=false) |
| RDKIT_GRAPHMOL_EXPORT double | RDKit::MolOps::getExactMolWt (const ROMol &mol, bool onlyHeavy=false) |
| RDKIT_GRAPHMOL_EXPORT std::string | RDKit::MolOps::getMolFormula (const ROMol &mol, bool separateIsotopes=false, bool abbreviateHIsotopes=true) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::details::KekulizeFragment (RWMol &mol, const boost::dynamic_bitset<> &atomsToUse, boost::dynamic_bitset<> bondsToUse, bool markAtomsBonds=true, unsigned int maxBackTracks=100) |
| not recommended for use in other code | |
| RDKIT_GRAPHMOL_EXPORT std::vector< int > | RDKit::MolOps::details::hapticBondEndpoints (const Bond *bond) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::expandAttachmentPoints (RWMol &mol, bool addAsQueries=true, bool addCoords=true) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::collapseAttachmentPoints (RWMol &mol, bool markedOnly=true) |
| RDKIT_GRAPHMOL_EXPORT unsigned int | RDKit::MolOps::details::addExplicitAttachmentPoint (RWMol &mol, unsigned int atomIdx, unsigned int val, bool addAsQuery=true, bool addCoords=true) |
| RDKIT_GRAPHMOL_EXPORT bool | RDKit::MolOps::details::isAttachmentPoint (const Atom *atom, bool markedOnly=true) |
| returns whether or not an atom is an attachment point | |
Ring finding and SSSR | |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::findSSSR (const ROMol &mol, std::vector< std::vector< int > > &res, bool includeDativeBonds=false, bool includeHydrogenBonds=false) |
| finds a molecule's Smallest Set of Smallest Rings | |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::findSSSR (const ROMol &mol, std::vector< std::vector< int > > *res=nullptr, bool includeDativeBonds=false, bool includeHydrogenBonds=false) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::fastFindRings (const ROMol &mol) |
| use a DFS algorithm to identify ring bonds and atoms in a molecule | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::findRingFamilies (const ROMol &mol, bool includeDativeBonds=false, bool includeHydrogenBonds=false) |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::symmetrizeSSSR (ROMol &mol, std::vector< std::vector< int > > &res, bool includeDativeBonds=false, bool includeHydrogenBonds=false) |
| symmetrize the molecule's Smallest Set of Smallest Rings | |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::symmetrizeSSSR (ROMol &mol, bool includeDativeBonds=false, bool includeHydrogenBonds=false) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Shortest paths and other matrices | |
| RDKIT_GRAPHMOL_EXPORT double * | RDKit::MolOps::getAdjacencyMatrix (const ROMol &mol, bool useBO=false, int emptyVal=0, bool force=false, const char *propNamePrefix=nullptr, const boost::dynamic_bitset<> *bondsToUse=nullptr) |
| returns a molecule's adjacency matrix | |
| RDKIT_GRAPHMOL_EXPORT double * | RDKit::MolOps::getDistanceMat (const ROMol &mol, bool useBO=false, bool useAtomWts=false, bool force=false, const char *propNamePrefix=nullptr) |
| Computes the molecule's topological distance matrix. | |
| RDKIT_GRAPHMOL_EXPORT double * | RDKit::MolOps::getDistanceMat (const ROMol &mol, const std::vector< int > &activeAtoms, const std::vector< const Bond * > &bonds, bool useBO=false, bool useAtomWts=false) |
| Computes the molecule's topological distance matrix. | |
| RDKIT_GRAPHMOL_EXPORT double * | RDKit::MolOps::get3DDistanceMat (const ROMol &mol, int confId=-1, bool useAtomWts=false, bool force=false, const char *propNamePrefix=nullptr) |
| Computes the molecule's 3D distance matrix. | |
| RDKIT_GRAPHMOL_EXPORT std::list< int > | RDKit::MolOps::getShortestPath (const ROMol &mol, int aid1, int aid2) |
| Find the shortest path between two atoms. | |
Stereochemistry | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::cleanupChirality (RWMol &mol) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::cleanupAtropisomers (RWMol &mol, Hybridizations &hybridizations) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::cleanupAtropisomers (RWMol &) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::assignChiralTypesFrom3D (ROMol &mol, int confId=-1, bool replaceExistingTags=true) |
| Uses a conformer to assign ChiralTypes to a molecule's atoms. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::assignStereochemistryFrom3D (ROMol &mol, int confId=-1, bool replaceExistingTags=true) |
| Uses a conformer to assign ChiralTypes to a molecule's atoms and stereo flags to its bonds. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::assignChiralTypesFromBondDirs (ROMol &mol, int confId=-1, bool replaceExistingTags=true) |
| Use bond directions to assign ChiralTypes to a molecule's atoms. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::detectBondStereochemistry (ROMol &mol, int confId=-1) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::setDoubleBondNeighborDirections (ROMol &mol, const Conformer *conf=nullptr) |
| Sets bond directions based on double bond stereochemistry. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::clearSingleBondDirFlags (ROMol &mol, bool onlyWedgeFlags=false) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::clearAllBondDirFlags (ROMol &mol) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::clearDirFlags (ROMol &mol, bool onlyWedgeFlags=false) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::setBondStereoFromDirections (ROMol &mol) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::assignStereochemistry (ROMol &mol, bool cleanIt=false, bool force=false, bool flagPossibleStereoCenters=false) |
| Assign stereochemistry tags to atoms and bonds. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::removeStereochemistry (ROMol &mol) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::findPotentialStereoBonds (ROMol &mol, bool cleanIt=false) |
| finds bonds that could be cis/trans in a molecule and mark them as Bond::STEREOANY. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::assignChiralTypesFromMolParity (ROMol &mol, bool replaceExistingTags=true) |
| Uses the molParity atom property to assign ChiralType to a molecule's atoms. | |
Variables | |
| RDKIT_GRAPHMOL_EXPORT const int | ci_LOCAL_INF |
Dealing with hydrogens | |
| enum | RDKit::MolOps::AdjustQueryWhichFlags { RDKit::MolOps::ADJUST_IGNORENONE = 0x0 , RDKit::MolOps::ADJUST_IGNORECHAINS = 0x1 , RDKit::MolOps::ADJUST_IGNORERINGS = 0x4 , RDKit::MolOps::ADJUST_IGNOREDUMMIES = 0x2 , RDKit::MolOps::ADJUST_IGNORENONDUMMIES = 0x8 , RDKit::MolOps::ADJUST_IGNOREMAPPED = 0x10 , RDKit::MolOps::ADJUST_IGNOREALL = 0xFFFFFFF } |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::addHs (RWMol &mol, const AddHsParameters ¶ms, const UINT_VECT *onlyOnAtoms=nullptr) |
| adds Hs to a molecule as explicit Atoms | |
| ROMol * | RDKit::MolOps::addHs (const ROMol &mol, bool explicitOnly=false, bool addCoords=false, const UINT_VECT *onlyOnAtoms=nullptr, bool addResidueInfo=false) |
| returns a copy of a molecule with hydrogens added in as explicit Atoms | |
| void | RDKit::MolOps::addHs (RWMol &mol, bool explicitOnly=false, bool addCoords=false, const UINT_VECT *onlyOnAtoms=nullptr, bool addResidueInfo=false) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::setTerminalAtomCoords (ROMol &mol, unsigned int idx, unsigned int otherIdx) |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::removeHs (const ROMol &mol, bool implicitOnly, bool updateExplicitCount=false, bool sanitize=true) |
| returns a copy of a molecule with hydrogens removed | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::removeHs (RWMol &mol, bool implicitOnly, bool updateExplicitCount=false, bool sanitize=true) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::removeHs (RWMol &mol, const RemoveHsParameters &ps=RemoveHsParameters(), bool sanitize=true) |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::removeHs (const ROMol &mol, const RemoveHsParameters &ps=RemoveHsParameters(), bool sanitize=true) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::removeAllHs (RWMol &mol, bool sanitize=true) |
| removes all Hs from a molecule | |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::removeAllHs (const ROMol &mol, bool sanitize=true) |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::mergeQueryHs (const ROMol &mol, bool mergeUnmappedOnly=false, bool mergeIsotopes=false) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::mergeQueryHs (RWMol &mol, bool mergeUnmappedOnly=false, bool mergeIsotopes=false) |
| RDKIT_GRAPHMOL_EXPORT std::pair< bool, bool > | RDKit::MolOps::hasQueryHs (const ROMol &mol) |
| returns a pair of booleans (hasQueryHs, hasUnmergaebleQueryHs) | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::parseAdjustQueryParametersFromJSON (MolOps::AdjustQueryParameters &p, const std::string &json) |
| updates an AdjustQueryParameters object from a JSON string | |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::adjustQueryProperties (const ROMol &mol, const AdjustQueryParameters *params=nullptr) |
| returns a copy of a molecule with query properties adjusted | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::adjustQueryProperties (RWMol &mol, const AdjustQueryParameters *params=nullptr) |
| RDKIT_GRAPHMOL_EXPORT ROMol * | RDKit::MolOps::renumberAtoms (const ROMol &mol, const std::vector< unsigned int > &newOrder) |
| returns a copy of a molecule with the atoms renumbered | |
Sanitization | |
{ | |
| enum | RDKit::MolOps::AromaticityModel { RDKit::MolOps::AROMATICITY_DEFAULT = 0x0 , RDKit::MolOps::AROMATICITY_RDKIT = 0x1 , RDKit::MolOps::AROMATICITY_SIMPLE = 0x2 , RDKit::MolOps::AROMATICITY_MDL = 0x4 , RDKit::MolOps::AROMATICITY_MMFF94 = 0x8 , RDKit::MolOps::AROMATICITY_CUSTOM = 0xFFFFFFF } |
| Possible aromaticity models. More... | |
| RDKit::MolOps::BETTER_ENUM (SanitizeFlags, unsigned int, SANITIZE_NONE=0x0, SANITIZE_CLEANUP=0x1, SANITIZE_PROPERTIES=0x2, SANITIZE_SYMMRINGS=0x4, SANITIZE_KEKULIZE=0x8, SANITIZE_FINDRADICALS=0x10, SANITIZE_SETAROMATICITY=0x20, SANITIZE_SETCONJUGATION=0x40, SANITIZE_SETHYBRIDIZATION=0x80, SANITIZE_CLEANUPCHIRALITY=0x100, SANITIZE_ADJUSTHS=0x200, SANITIZE_CLEANUP_ORGANOMETALLICS=0x400, SANITIZE_CLEANUPATROPISOMERS=0x800, SANITIZE_ALL=0xFFFFFFF) | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::sanitizeMol (RWMol &mol, unsigned int &operationThatFailed, unsigned int sanitizeOps=SanitizeFlags::SANITIZE_ALL) |
| carries out a collection of tasks for cleaning up a molecule and ensuring that it makes "chemical sense" | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::sanitizeMol (RWMol &mol) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| RDKIT_GRAPHMOL_EXPORT std::vector< std::unique_ptr< MolSanitizeException > > | RDKit::MolOps::detectChemistryProblems (const ROMol &mol, unsigned int sanitizeOps=SanitizeFlags::SANITIZE_ALL) |
| Identifies chemistry problems (things that don't make chemical sense) in a molecule. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::setMMFFAromaticity (RWMol &mol) |
| sets the aromaticity model for a molecule to MMFF94 | |
| RDKIT_GRAPHMOL_EXPORT int | RDKit::MolOps::setAromaticity (RWMol &mol, AromaticityModel model=AROMATICITY_DEFAULT, int(*func)(RWMol &)=nullptr) |
| Sets up the aromaticity for a molecule. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::cleanUp (RWMol &mol) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::cleanUpOrganometallics (RWMol &mol) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::assignRadicals (RWMol &mol) |
| Called by the sanitizer to assign radical counts to atoms. | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::adjustHs (RWMol &mol) |
| adjust the number of implicit and explicit Hs for special cases | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::Kekulize (RWMol &mol, bool markAtomsBonds=true, unsigned int maxBackTracks=100) |
| Kekulizes the molecule. | |
| RDKIT_GRAPHMOL_EXPORT bool | RDKit::MolOps::KekulizeIfPossible (RWMol &mol, bool markAtomsBonds=true, unsigned int maxBackTracks=100) |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::setConjugation (ROMol &mol) |
| flags the molecule's conjugated bonds | |
| RDKIT_GRAPHMOL_EXPORT void | RDKit::MolOps::setHybridization (ROMol &mol) |
| calculates and sets the hybridization of all a molecule's Stoms | |
|
extern |