BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
BALL::UCK Class Reference

#include <BALL/STRUCTURE/UCK.h>

Public Types

Type definitions
typedef std::vector< std::pair
< Size, Size > > 
PairVector
typedef std::vector
< std::vector< Size > > 
SizeVector

Public Member Functions

 UCK ()
 UCK (const Molecule &mol, Size d=3)
 UCK (UCK &uck)
virtual ~UCK ()
void printUCK (std::ostream &outstr)
Size getDepth ()
const String & getFormula () const
const String & getUCK () const
const String & getId () const
float getWeight ()

Private Member Functions

String eraseDoubleLabels (const Size d, String x, String label)
void makeUCK (const Molecule &m)
void getGraph (std::vector< String > &v, PairVector &e, const Molecule &mol)
void makePathMatrix (const PairVector &e, SizeVector &sp, const Size e_size)
void makePairs (const std::vector< String > &lambda_map, std::vector< String > &pairs, const std::vector< vector< Size > > &sp)
String lambda (String lambda_d, const PairVector &e, const std::vector< String > &v, Size pos, Size d)
void createFinalString (const std::vector< String > &pairs)

Private Attributes

Size depth_
String formula_
String uck_str_
String id_
float weight_

Detailed Description

Unique Chemical Key. Implements the UCK algorithm for computing a unique key for a given chemical structure.

Definition at line 22 of file UCK.h.

Member Typedef Documentation

typedef std::vector<std::pair<Size, Size> > BALL::UCK::PairVector

Definition at line 28 of file UCK.h.

typedef std::vector<std::vector<Size> > BALL::UCK::SizeVector

Definition at line 29 of file UCK.h.

Constructor & Destructor Documentation

BALL::UCK::UCK ( )
BALL::UCK::UCK ( const Molecule &  mol,
Size  d = 3 
)
BALL::UCK::UCK ( UCK &  uck)
virtual BALL::UCK::~UCK ( )
virtual

Member Function Documentation

void BALL::UCK::createFinalString ( const std::vector< String > &  pairs)
private
String BALL::UCK::eraseDoubleLabels ( const Size  d,
String  x,
String  label 
)
private
Size BALL::UCK::getDepth ( )
const String& BALL::UCK::getFormula ( ) const
void BALL::UCK::getGraph ( std::vector< String > &  v,
PairVector &  e,
const Molecule &  mol 
)
private
const String& BALL::UCK::getId ( ) const
const String& BALL::UCK::getUCK ( ) const
float BALL::UCK::getWeight ( )
String BALL::UCK::lambda ( String  lambda_d,
const PairVector &  e,
const std::vector< String > &  v,
Size  pos,
Size  d 
)
private
void BALL::UCK::makePairs ( const std::vector< String > &  lambda_map,
std::vector< String > &  pairs,
const std::vector< vector< Size > > &  sp 
)
private
void BALL::UCK::makePathMatrix ( const PairVector &  e,
SizeVector &  sp,
const Size  e_size 
)
private
void BALL::UCK::makeUCK ( const Molecule &  m)
private
void BALL::UCK::printUCK ( std::ostream &  outstr)

Member Data Documentation

Size BALL::UCK::depth_
private

Definition at line 96 of file UCK.h.

String BALL::UCK::formula_
private

Definition at line 97 of file UCK.h.

String BALL::UCK::id_
private

Definition at line 99 of file UCK.h.

String BALL::UCK::uck_str_
private

Definition at line 98 of file UCK.h.

float BALL::UCK::weight_
private

Definition at line 100 of file UCK.h.