Namespaces | Typedefs | Functions | Variables

MolOps.h File Reference

#include <RDGeneral/types.h>
#include <boost/tuple/tuple.hpp>
#include <boost/smart_ptr.hpp>

Go to the source code of this file.

Namespaces

namespace  RDKit
 

Includes a bunch of functionality for handling Atom and Bond queries.


namespace  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 aromaticity
int RDKit::MolOps::getFormalCharge (const ROMol &mol)
 sums up all atomic formal charges and returns the result
bool RDKit::MolOps::atomHasConjugatedBond (const Atom *at)
 returns whether or not the given Atom is involved in a conjugated bond
unsigned int RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< int > &mapping)
 find fragments (disconnected components of the molecular graph)
unsigned int RDKit::MolOps::getMolFrags (const ROMol &mol, std::vector< std::vector< int > > &frags)
 find fragments (disconnected components of the molecular graph)
std::vector< boost::shared_ptr
< ROMol > > 
RDKit::MolOps::getMolFrags (const ROMol &mol, bool sanitizeFrags=true, std::vector< int > *frags=0)
 splits a molecule into its component fragments
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
double RDKit::MolOps::computeBalabanJ (double *distMat, int nb, int nAts)
Dealing with hydrogens

ROMol * RDKit::MolOps::addHs (const ROMol &mol, bool explicitOnly=false, bool addCoords=false)
 returns a copy of a molecule with hydrogens added in as explicit Atoms
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
ROMol * RDKit::MolOps::mergeQueryHs (const ROMol &mol)
Sanitization

void RDKit::MolOps::sanitizeMol (RWMol &mol)
 carries out a collection of tasks for cleaning up a molecule and ensuring that it makes "chemical sense"
int RDKit::MolOps::setAromaticity (RWMol &mol)
 Sets up the aromaticity for a molecule.
void RDKit::MolOps::cleanUp (RWMol &mol)
 Designed to be called by the sanitizer to handle special cases before anything is done.
void RDKit::MolOps::assignRadicals (RWMol &mol)
 Called by the sanitizer to assign radical counts to atoms.
void RDKit::MolOps::adjustHs (RWMol &mol)
 adjust the number of implicit and explicit Hs for special cases
void RDKit::MolOps::Kekulize (RWMol &mol, bool markAtomsBonds=true, unsigned int maxBackTracks=100)
 Kekulizes the molecule.
void RDKit::MolOps::setConjugation (ROMol &mol)
 flags the molecule's conjugated bonds
void RDKit::MolOps::setHybridization (ROMol &mol)
 calculates and sets the hybridization of all a molecule's Stoms
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
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
int RDKit::MolOps::symmetrizeSSSR (ROMol &mol, std::vector< std::vector< int > > &res)
 symmetrize the molecule's Smallest Set of Smallest Rings
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)
 returns a molecule's adjacency matrix
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.
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.
std::list< int > RDKit::MolOps::getShortestPath (const ROMol &mol, int aid1, int aid2)
 Find the shortest path between two atoms.
Canonicalization

void RDKit::MolOps::rankAtoms (const ROMol &mol, std::vector< int > &ranks, bool breakTies=true, std::vector< std::vector< int > > *rankHistory=0)
 assign a canonical ordering to a molecule's atoms
Stereochemistry

void RDKit::MolOps::cleanupChirality (RWMol &mol)
 removes bogus chirality markers (those on non-sp3 centers):
void RDKit::MolOps::assignChiralTypesFrom3D (ROMol &mol, int confId=-1, bool replaceExistingTags=true)
 Uses a conformer to assign ChiralType to a molecule's atoms.
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).
void RDKit::MolOps::removeStereochemistry (ROMol &mol)
 Removes all stereochemistry information from atoms (i.e. R/S) and bonds (i.e. Z/E).
void RDKit::MolOps::findPotentialStereoBonds (ROMol &mol, bool cleanIt=false)
 finds bonds that could be cis/trans in a molecule and mark them as Bond::STEREONONE

Variables

const int ci_LOCAL_INF

Variable Documentation

const int ci_LOCAL_INF