MTK++ Latest version: 0.2.0

Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
MTKpp::functionalize Class Reference

Determines functional groups in molecules using predefined fragments. More...

#include <mtkpp/src/Molecule/functionalize.h>

Collaboration diagram for MTKpp::functionalize:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 functionalize (molecule *parent=0)
 functionalize Constructor
virtual ~functionalize ()
 functionalize Destructor
int run (stdLibrary *stdLib)
 Functionalize.
int determineSymmetricFrags (stdLibrary *stdLib)
 Determine Symmetric Fragments.

Protected Types

typedef std::vector< stdGroup * >
::iterator 
stdGroupIterator
 stdGroup iterator
typedef std::vector< stdFrag * >
::iterator 
stdFragIterator
 stdFrag iterator
typedef std::vector< int >
::iterator 
intIterator
 int iterator

Protected Member Functions

void initializeMatchMatrix (int genMatchMatrix[], int molAtoms, int molAdjMatSize, int molAdjMatrix[], char molAtomSymbols[], int molAtomKinds[], int fragAtoms, int fragAdjMatSize, int fragAdjMatrix[], char fragAtomSymbols[], int fragAtomKinds[])
 Initialize the match matrix between the molecule and the fragment.
void ullmann (int pos, int fragAtoms, int fragAdjMatrix[], char fragAtomSymbols[], int molAtoms, int molAdjMatrix[], char molAtomSymbols[], int matchMatrix[], std::vector< int > &subGraph, std::vector< std::vector< int > > &subGraphs)
 Determine if the fragment is a subgraph of the molecule.
void updateMatchMatrix (int posMolAtom, int posFragAtom, int fragAtoms, int molAtoms, int matchMatrix[])
 Determine if the fragment is a subgraph of the molecule.
void refineMatchMatrix (int fragAtoms, int fragAdjMatrix[], char fragAtomSymbols[], int molAtoms, int molAdjMatrix[], char molAtomSymbols[], int matchMatrix[], bool &mismatch)

Protected Attributes

moleculepParent
 molecule pointer
atompAtom
 atom pointer
BondpBond
 Bond pointer.
stdGrouppStdGroup
 stdGroup pointer
stdFragpStdFrag
 stdFrag pointer
stdAtompStdAtom
 stdAtom pointer
stdBondpStdBond
 stdBond pointer
fingerPrintpFingerPrint
 fingerPrint pointer
std::vector< stdGroup * > stdGroupList
 stdGroup list
std::vector< stdFrag * > stdFragList
 stdFrag list

Friends

class superimpose

Detailed Description

Determines functional groups in molecules using predefined fragments.

Author:
Martin Peters
Date:
2006

See the Functional Group Recognition page for more details.


Member Typedef Documentation

typedef std::vector<stdGroup*>::iterator MTKpp::functionalize::stdGroupIterator [protected]

stdGroup iterator

typedef std::vector<stdFrag*>::iterator MTKpp::functionalize::stdFragIterator [protected]

stdFrag iterator

typedef std::vector<int>::iterator MTKpp::functionalize::intIterator [protected]

int iterator


Constructor & Destructor Documentation

MTKpp::functionalize::functionalize ( molecule parent = 0)

functionalize Constructor

Parameters:
parentmolecule pointer

References pFingerPrint, pParent, pStdAtom, pStdBond, pStdFrag, and pStdGroup.

MTKpp::functionalize::~functionalize ( ) [virtual]

functionalize Destructor


Member Function Documentation

int MTKpp::functionalize::run ( stdLibrary stdLib)
int MTKpp::functionalize::determineSymmetricFrags ( stdLibrary stdLib)
void MTKpp::functionalize::initializeMatchMatrix ( int  genMatchMatrix[],
int  molAtoms,
int  molAdjMatSize,
int  molAdjMatrix[],
char  molAtomSymbols[],
int  molAtomKinds[],
int  fragAtoms,
int  fragAdjMatSize,
int  fragAdjMatrix[],
char  fragAtomSymbols[],
int  fragAtomKinds[] 
) [protected]

Initialize the match matrix between the molecule and the fragment.

Parameters:
genMatchMatrixMatch matrix
molAtomsNumber of atoms in the molecule
molAdjMatSizeSize of molecule adjacency matrix
molAdjMatrixMolecule adjacency matrix
molAtomSymbolsAtom symbols in molecule
molAtomKindsAtom types in molecule
fragAtomsNumber of atoms in the fragment
fragAdjMatSizeSize of fragment adjacency matrix
fragAdjMatrixFragment adjacency matrix
fragAtomSymbolsAtom symbols in fragment
fragAtomKindsAtom types in fragment

Referenced by determineSymmetricFrags(), and run().

void MTKpp::functionalize::ullmann ( int  pos,
int  fragAtoms,
int  fragAdjMatrix[],
char  fragAtomSymbols[],
int  molAtoms,
int  molAdjMatrix[],
char  molAtomSymbols[],
int  matchMatrix[],
std::vector< int > &  subGraph,
std::vector< std::vector< int > > &  subGraphs 
) [protected]

Determine if the fragment is a subgraph of the molecule.

Parameters:
posCurrent fragment atom being considered
fragAtomsNumber of atoms in the fragment
fragAdjMatrixFragment adjacency matrix
fragAtomSymbolsFragment atom element symbols
molAtomsNumber of atoms in the molecule
molAdjMatrixMolecule adjacency matrix
molAtomSymbolsMolecule atom element symbols
matchMatrixMatch matrix
subGraphstorage vector for subgraph information
subGraphsstorage vector for all subgraphs

References refineMatchMatrix(), and updateMatchMatrix().

Referenced by determineSymmetricFrags(), MTKpp::superimpose::initializeCorrespondences(), and run().

void MTKpp::functionalize::updateMatchMatrix ( int  posMolAtom,
int  posFragAtom,
int  fragAtoms,
int  molAtoms,
int  matchMatrix[] 
) [protected]

Determine if the fragment is a subgraph of the molecule.

Parameters:
posMolAtomWhich molecule atom is being considered
posFragAtomWhich fragment atom is being considered
fragAtomsNumber of fragment atoms
molAtomsNumber of molecule atoms
matchMatrixMatch matrix

Referenced by ullmann().

void MTKpp::functionalize::refineMatchMatrix ( int  fragAtoms,
int  fragAdjMatrix[],
char  fragAtomSymbols[],
int  molAtoms,
int  molAdjMatrix[],
char  molAtomSymbols[],
int  matchMatrix[],
bool &  mismatch 
) [protected]
Parameters:
fragAtomsNumber of fragment atoms
fragAdjMatrixFragment adjacency matrix
fragAtomSymbolsFragment atom element symbols
molAtomsNumber of molecule atoms
molAdjMatrixMolecule adjacency matrix
molAtomSymbolsMolecule atom element symbols
matchMatrixMatch matrix
mismatchWhether or not a mismatch occurs or not in the updated match match, i.e a row that contains all zeros

Referenced by ullmann().


Friends And Related Function Documentation

friend class superimpose [friend]

Member Data Documentation

molecule pointer

Referenced by functionalize(), and run().

atom pointer

Bond pointer.

stdAtom pointer

Referenced by functionalize().

stdBond pointer

Referenced by functionalize().

fingerPrint pointer

Referenced by functionalize(), and run().

std::vector<stdGroup*> MTKpp::functionalize::stdGroupList [protected]

stdGroup list

Referenced by determineSymmetricFrags(), and run().

std::vector<stdFrag*> MTKpp::functionalize::stdFragList [protected]

stdFrag list

Referenced by determineSymmetricFrags(), and run().


The documentation for this class was generated from the following files:

Generated on Fri Dec 23 2011 09:28:56 for MTK++ by Doxygen 1.7.5.1