BALL  1.4.2
 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 StringgetFormula () const
 
const StringgetUCK () const
 
const StringgetId () 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.