RDKit: MolOps.h File Reference

| RDKit Open-source cheminformatics and machine learning.

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Namespaces | Typedefs | Functions | Variables
MolOps.h File Reference
`#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>`

Go to the source code of this file.

## Classes
struct | RDKit::MolOps::AdjustQueryParameters

## Namespaces
| RDKit
| Std stuff.
| RDKit::MolOps
| Groups a variety of molecular query and transformation operations.

## 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
int | RDKit::MolOps::countAtomElec (const Atom *at)
| return the number of electrons available on an atom to donate for More...
int | RDKit::MolOps::getFormalCharge (const ROMol &mol)
| sums up all atomic formal charges and returns the result More...
bool | RDKit::MolOps::atomHasConjugatedBond (const Atom *at)
| returns whether or not the given Atom is involved in a conjugated bond More...
unsigned int | RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< int > &mapping)
| find fragments (disconnected components of the molecular graph) More...
unsigned int | RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< std::vector< int > > &frags)
| find fragments (disconnected components of the molecular graph) More...
std::vector< boost::shared_ptr< ROMol > > | RDKit::MolOps::getMolFrags (const ROMol &mol, bool sanitizeFrags=true, std::vector< int > *frags=0, std::vector< std::vector< int > > *fragsMolAtomMapping=0, bool copyConformers=true)
| splits a molecule into its component fragments More...
template<typename T >
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=0, bool negateList=false)
| splits a molecule into pieces based on labels assigned using a query More...
double | RDKit::MolOps::computeBalabanJ (const ROMol &mol, bool useBO=true, bool force=false, const std::vector< int > *bondPath=0, bool cacheIt=true)
| calculates Balaban's J index for the molecule More...
double | RDKit::MolOps::computeBalabanJ (double *distMat, int nb, int nAts)
unsigned | RDKit::MolOps::getNumAtomsWithDistinctProperty (const ROMol &mol, std::string prop)
| returns the number of atoms which have a particular property set More...
Ring finding and SSSR
int | RDKit::MolOps::findSSSR (const ROMol &mol, std::vector< std::vector< int > > &res)
| finds a molecule's Smallest Set of Smallest Rings More...
int | RDKit::MolOps::findSSSR (const ROMol &mol, std::vector< std::vector< int > > *res=0)
void | RDKit::MolOps::fastFindRings (const ROMol &mol)
| use a DFS algorithm to identify ring bonds and atoms in a molecule More...
int | RDKit::MolOps::symmetrizeSSSR (ROMol &mol, std::vector< std::vector< int > > &res)
| symmetrize the molecule's Smallest Set of Smallest Rings More...
int | RDKit::MolOps::symmetrizeSSSR (ROMol &mol)
Shortest paths and other matrices
double * | RDKit::MolOps::getAdjacencyMatrix (const ROMol &mol, bool useBO=false, int emptyVal=0, bool force=false, const char *propNamePrefix=0, const boost::dynamic_bitset<> *bondsToUse=0)
| returns a molecule's adjacency matrix More...
double * | RDKit::MolOps::getDistanceMat (const ROMol &mol, bool useBO=false, bool useAtomWts=false, bool force=false, const char *propNamePrefix=0)
| Computes the molecule's topological distance matrix. More...
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. More...
double * | RDKit::MolOps::get3DDistanceMat (const ROMol &mol, int confId=-1, bool useAtomWts=false, bool force=false, const char *propNamePrefix=0)
| Computes the molecule's 3D distance matrix. More...
std::list< int > | RDKit::MolOps::getShortestPath (const ROMol &mol, int aid1, int aid2)
| Find the shortest path between two atoms. More...
Stereochemistry
void | RDKit::MolOps::cleanupChirality (RWMol &mol)
| removes bogus chirality markers (those on non-sp3 centers): More...
void | RDKit::MolOps::assignChiralTypesFrom3D (ROMol &mol, int confId=-1, bool replaceExistingTags=true)
| Uses a conformer to assign ChiralType to a molecule's atoms. More...
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. More...
void | RDKit::MolOps::detectBondStereochemistry (ROMol &mol, int confId=-1)
| Uses a conformer to assign directionality to the single bonds around double bonds. More...
void | RDKit::MolOps::assignStereochemistry (ROMol &mol, bool cleanIt=false, bool force=false, bool flagPossibleStereoCenters=false)
| Assign stereochemistry tags to atoms (i.e. R/S) and bonds (i.e. Z/E) More...
void | RDKit::MolOps::removeStereochemistry (ROMol &mol)
| Removes all stereochemistry information from atoms (i.e. R/S) and bonds. More...
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. More...

## Variables
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 }
ROMol * | RDKit::MolOps::addHs (const ROMol &mol, bool explicitOnly=false, bool addCoords=false, const UINT_VECT *onlyOnAtoms=NULL)
| returns a copy of a molecule with hydrogens added in as explicit Atoms More...
void | RDKit::MolOps::addHs (RWMol &mol, bool explicitOnly=false, bool addCoords=false, const UINT_VECT *onlyOnAtoms=NULL)
ROMol * | RDKit::MolOps::removeHs (const ROMol &mol, bool implicitOnly=false, bool updateExplicitCount=false, bool sanitize=true)
| returns a copy of a molecule with hydrogens removed More...
void | RDKit::MolOps::removeHs (RWMol &mol, bool implicitOnly=false, bool updateExplicitCount=false, bool sanitize=true)
ROMol * | RDKit::MolOps::mergeQueryHs (const ROMol &mol, bool mergeUnmappedOnly=false)
void | RDKit::MolOps::mergeQueryHs (RWMol &mol, bool mergeUnmappedOnly=false)
ROMol * | RDKit::MolOps::adjustQueryProperties (const ROMol &mol, const AdjustQueryParameters *params=NULL)
| returns a copy of a molecule with query properties adjusted More...
void | RDKit::MolOps::adjustQueryProperties (RWMol &mol, const AdjustQueryParameters *params=NULL)
ROMol * | RDKit::MolOps::renumberAtoms (const ROMol &mol, const std::vector< unsigned int > &newOrder)
| returns a copy of a molecule with the atoms renumbered More...

## Sanitization
enum | RDKit::MolOps::SanitizeFlags { RDKit::MolOps::SANITIZE_NONE = 0x0, RDKit::MolOps::SANITIZE_CLEANUP = 0x1, RDKit::MolOps::SANITIZE_PROPERTIES = 0x2, RDKit::MolOps::SANITIZE_SYMMRINGS = 0x4, RDKit::MolOps::SANITIZE_KEKULIZE = 0x8, RDKit::MolOps::SANITIZE_FINDRADICALS = 0x10, RDKit::MolOps::SANITIZE_SETAROMATICITY = 0x20, RDKit::MolOps::SANITIZE_SETCONJUGATION = 0x40, RDKit::MolOps::SANITIZE_SETHYBRIDIZATION = 0x80, RDKit::MolOps::SANITIZE_CLEANUPCHIRALITY = 0x100, RDKit::MolOps::SANITIZE_ADJUSTHS = 0x200, RDKit::MolOps::SANITIZE_ALL = 0xFFFFFFF }
enum | RDKit::MolOps::AromaticityModel { RDKit::MolOps::AROMATICITY_DEFAULT = 0x0, RDKit::MolOps::AROMATICITY_RDKIT = 0x1, RDKit::MolOps::AROMATICITY_SIMPLE = 0x2, RDKit::MolOps::AROMATICITY_CUSTOM = 0xFFFFFFF }
| Possible aromaticity models. More...
void | RDKit::MolOps::sanitizeMol (RWMol &mol, unsigned int &operationThatFailed, unsigned int sanitizeOps=SANITIZE_ALL)
| carries out a collection of tasks for cleaning up a molecule and More...
void | RDKit::MolOps::sanitizeMol (RWMol &mol)
int | RDKit::MolOps::setAromaticity (RWMol &mol, AromaticityModel model=AROMATICITY_DEFAULT, int(*func)(RWMol &)=NULL)
| Sets up the aromaticity for a molecule. More...
void | RDKit::MolOps::cleanUp (RWMol &mol)
| Designed to be called by the sanitizer to handle special cases before. More...
void | RDKit::MolOps::assignRadicals (RWMol &mol)
| Called by the sanitizer to assign radical counts to atoms. More...
void | RDKit::MolOps::adjustHs (RWMol &mol)
| adjust the number of implicit and explicit Hs for special cases More...
void | RDKit::MolOps::Kekulize (RWMol &mol, bool markAtomsBonds=true, unsigned int maxBackTracks=100)
| Kekulizes the molecule. More...
void | RDKit::MolOps::setConjugation (ROMol &mol)
| flags the molecule's conjugated bonds More...
void | RDKit::MolOps::setHybridization (ROMol &mol)
| calculates and sets the hybridization of all a molecule's Stoms More...

## Variable Documentation

const int ci_LOCAL_INF