RDKit
Open-source cheminformatics and machine learning.
|
Typedefs | |
typedef std::vector< int > | INT_VECT |
typedef std::vector< std::vector< int > > | VECT_INT_VECT |
typedef std::map< int, std::vector< int > > | INT_INT_VECT_MAP |
Functions | |
RDKIT_GRAPHMOL_EXPORT void | pickFusedRings (int curr, const INT_INT_VECT_MAP &neighMap, INT_VECT &res, boost::dynamic_bitset<> &done, int depth=0) |
Pick a set of rings that are fused together and contain a specified ring. | |
RDKIT_GRAPHMOL_EXPORT void | makeRingNeighborMap (const VECT_INT_VECT &brings, INT_INT_VECT_MAP &neighMap, unsigned int maxSize=0, unsigned int maxOverlapSize=0) |
For each ring in bring compute and store the ring that are fused (share at least one bond with it). | |
RDKIT_GRAPHMOL_EXPORT void | convertToBonds (const VECT_INT_VECT &res, VECT_INT_VECT &brings, const RDKit::ROMol &mol) |
converts a list of atom indices into a list of bond indices | |
typedef std::map<int, std::vector<int> > RingUtils::INT_INT_VECT_MAP |
typedef std::vector<int> RingUtils::INT_VECT |
typedef std::vector<std::vector<int> > RingUtils::VECT_INT_VECT |
RDKIT_GRAPHMOL_EXPORT void RingUtils::convertToBonds | ( | const VECT_INT_VECT & | res, |
VECT_INT_VECT & | brings, | ||
const RDKit::ROMol & | mol | ||
) |
converts a list of atom indices into a list of bond indices
res | list of ring - each ring is a list of atom ids |
brings | reference to a list of rings to the write the results to each ring here is list of bonds ids |
mol | the molecule of interest |
Assumptions:
RDKIT_GRAPHMOL_EXPORT void RingUtils::makeRingNeighborMap | ( | const VECT_INT_VECT & | brings, |
INT_INT_VECT_MAP & | neighMap, | ||
unsigned int | maxSize = 0 , |
||
unsigned int | maxOverlapSize = 0 |
||
) |
For each ring in bring compute and store the ring that are fused (share at least one bond with it).
Useful both for the keulization stuff and aromaticity perception.
brings | list of rings - each ring is specified as a list of bond IDs |
neighMap | an STL map into which the results are stored. Each entry in the map is indexed by the ring ID and the contents are the list rings (rather their IDs) that are fused with this ring |
maxSize | if this is >0, rings that are larger than the threshold will not be considered as candidates to be neighbors |
maxOverlapSize | if this is >0, rings that overlap by more bonds than this will not be considered to be neighbors |
RDKIT_GRAPHMOL_EXPORT void RingUtils::pickFusedRings | ( | int | curr, |
const INT_INT_VECT_MAP & | neighMap, | ||
INT_VECT & | res, | ||
boost::dynamic_bitset<> & | done, | ||
int | depth = 0 |
||
) |
Pick a set of rings that are fused together and contain a specified ring.
curr | the ID for the irng that should be in the fused system |
neighMap | adjacency lists for for all rings in the molecule. See documentation for makeNeighMap |
res | used to return the results: a list of rings that are fused with curr in them |
done | a bit vector recording the rings that are already dealt with this also can be used to avoid any rings that should not be included in the fused system |
depth | used to track recursion depth |