RingUtils Namespace Reference


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

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.
void makeRingNeighborMap (const VECT_INT_VECT &brings, INT_INT_VECT_MAP &neighMap)
 For each ring in bring compute and strore the ring that are fused (share atleast one bond with it).
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 Documentation

typedef std::map< int, std::vector<int> > RingUtils::INT_INT_VECT_MAP

Definition at line 25 of file Rings.h.

typedef std::vector<int> RingUtils::INT_VECT

Definition at line 23 of file Rings.h.

typedef std::vector< std::vector<int> > RingUtils::VECT_INT_VECT

Definition at line 24 of file Rings.h.


Function Documentation

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

Parameters:
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:
  • each list of atom ids in "res" form a legitimate ring
  • each of these list of ordered such that a ring can be traversed

void RingUtils::makeRingNeighborMap ( const VECT_INT_VECT &  brings,
INT_INT_VECT_MAP &  neighMap 
)

For each ring in bring compute and strore the ring that are fused (share atleast one bond with it).

Useful both for the keulization stuff and aromaticity perception.

Parameters:
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 conents are the list rings (rather their IDs) that are fused with this ring

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.

Parameters:
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


Generated on Fri Apr 3 06:03:04 2009 for RDCode by  doxygen 1.5.6