OELingoSim¶
class OELingoSim
This class represents OELingoSim.
The OELingoSim
class provides a fast 2D molecular
similarity method.
The construction of an OELingoSim
object based on a
single molecule or canonical string describing the molecule.
Similarity between this original molecule and any
subsequent molecule can then be rapidly calculated using another
molecule or its canonical string.
See also
Constructors¶
OELingoSim(const char *str=0, unsigned type=OELingoType::Default)
OELingoSim(const std::string &str, unsigned type=OELingoType::Default)
Constructs a OELingoSim
object with a canonical string.
The string API of OELingoSim
class allows use
of any string in both construction and similarity testing
(OELingoSim.Similarity
).
While canonical SMILES or canonical isomeric
SMILES are the most common string to be used, there is
absolutely no requirement to use these strings in generating
lingos comparisons.
Care must be taken, however, to make sure consistent string
types are passed to the constructors and similarity functions!
The set of valid types are defined in the
OELingoType
namespace.
OELingoSim(const OEMolBase &mol, unsigned type=OELingoType::Default)
Constructs a OELingoSim
object with a query
molecule (OEMolBase
).
Constructing an OELingoSim
object with a
molecule provides less flexibility because the strings are
generated inside the object and thus limited to a specific
string type.
The set of valid types are defined in the
OELingoType
namespace.
OELingoSim(const OELingoSim &rhs)
Copy constructor.
operator=¶
OELingoSim &operator=(const OELingoSim &rhs)
Assignment operator that copies the data of the ‘rhs’ OELingoSim
object
into the right-hand side OELingoSim
object.
GetType¶
unsigned GetType() const
Init¶
bool Init(const OEMolBase &mol)
(Re)initialize the OELingoSim
object with a
molecule.
bool Init(const char *str)
bool Init(const std::string &str)
(Re)initialize the OELingoSim
object with a
string.
Note
The implementation type (OELingoType
),
set in the constructor, is unchanged by the
OELingoSim.Init
methods.
IsValid¶
bool IsValid() const
Tests for successful initialization of the
OELingoSim
object.
If initialization was attempted with an invalid molecule, a
string shorter than four characters, or was default
constructed it will not be valid.
Similarity of any object to an invalid
OELingoSim
will always be 0.0
.
SetImpl¶
void SetImpl(const OELingoSimImpl &impl)
Similarity¶
float Similarity(const char *str) const
float Similarity(const OEMolBase &mol) const
float Similarity(const std::string &cansmi) const
Calculates the lingos similarity between the molecule or string
used to create the OELingoSim
object and the
molecule or string passed into the
OELingoSim.Similarity
function.
The OEMolBase
version is provided for
convenience, and is suitable for most uses, but is somewhat less
efficient than comparing strings directly.
Note
In the string API of the OELingoSim.Similarity
method, any string can be used (canonical SMILES,
canonical isomeric SMILES, IUPAC name), but care
must be taken to make sure consistent string types are passed to