![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <vector>
#include <map>
#include <list>
#include <boost/smart_ptr.hpp>
#include <boost/dynamic_bitset.hpp>
Go to the source code of this file.
Namespaces | |
RDKit | |
Includes a bunch of functionality for handling Atom and Bond queries. | |
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 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... | |
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 More... | |
void | RDKit::MolOps::addHs (RWMol &mol, bool explicitOnly=false, bool addCoords=false) |
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::renumberAtoms (const ROMol &mol, const std::vector< unsigned int > &newOrder) |
returns a copy of a molecule with the atoms renumbered 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::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 (i.e. Z/E) 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::STEREONONE More... | |
Variables | |
const int | ci_LOCAL_INF |
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 } |
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 ensuring that it makes "chemical sense" More... | |
void | RDKit::MolOps::sanitizeMol (RWMol &mol) |
int | RDKit::MolOps::setAromaticity (RWMol &mol) |
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 anything is done. 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... | |
const int ci_LOCAL_INF |