10 #ifndef BALL_STRUCTURE_MOLECULARSIMILARITY_H
11 #define BALL_STRUCTURE_MOLECULARSIMILARITY_H
17 #ifndef BALL_CONFIG_CONFIG_H
18 #include <BALL/CONFIG/config.h>
24 #ifdef BALL_HAS_OPENBABEL
25 #include <openbabel/mol.h>
44 #ifdef BALL_HAS_OPENBABEL
49 static OpenBabel::OBMol* createOBMol(
const Molecule& mol,
bool ignore_hydrogen=0,
bool suppress_warning=0);
53 static Molecule* createMolecule(OpenBabel::OBMol& obmol,
bool ignore_hydrogen=0);
55 void generateCanSmile(
const Molecule& mol,
String& cansmile, OpenBabel::OBMol** output_obmol=0,
bool ignore_hydrogen=0);
61 void matchSmarts(
const String& usmile,
const String& smarts,
Size& no_matches,
Size max_matches=0);
76 float calculateSimilarity(vector<Size>& fingerprint1, vector<Size>& fingerprint2, vector<float>* stddev);
95 std::vector<bool>& fingerprint);