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