On Jan 26, 2010, at 6:55 AM, Greg Landrum wrote:
> The fingerprinting functions already have version numbers assigned to
> them. I exposed this information to python this morning:
> [4]>>> from rdkit.Chem import rdmolops
> 
> [5]>>> rdmolops.__LayeredFingerprint_version__
> Out[5] '0.2.1'

Just a note that leading and trailing "__"s are reserved
for the Python implementation.

Removing the trailing "__" should be fine, but why even
have the leading "__"?


> That's part of it. The next part is the boost version, which is also
> now available (see my previous post from this morning):
> 
> [10]>>> from rdkit import rdBase

Oh! Another note: the docstring from rdbase says

    No user-serviceable parts inside.

;)


> But all these pieces of information don't really address the
> compatibility problem: fingerprints between different versions of the
> RDKit or different boost versions are often, but not always,
> compatible with each other.
> 
> For example, the following combinations of versions should give
> compatible fingerprints:
> - RDKit 2009Q3_1+boost 1.40; RDKit 2009Q4_1+boost 1.40; RDKit
> 2009Q3_1+boost 1.41; RDKit 2009Q4_1+boost 1.41
> These combinations should also be compatible with each other, but not
> with those above:
> - RDKit 2009Q3_1+boost 1.39; RDKit 2009Q4_1+boost 1.39; RDKit
> 2009Q3_1+boost 1.38; RDKit 2009Q4_1+boost 1.38

Ooof. I see your point. But isn't that something to push down
into the __LayeredFingerprint_version__ string? That is, what's
the purpose of the version number that's there, if it can't be
used as a way to test if two fingerprints can be compared?

Perhaps there could be an ugly set of #defines, to get a
unique number based on the relevant factors?

#if BOOST_VERSION >= 140
  LayeredFingerprint_version = "1.1"
#else
  LayeredFingerprint_version = "1.0"
#endif

That's doable, but it's going to be ugly and a bit fragile.


The only other solution I really see would be to
distribute all the components (like the boost RNG code)
as part of the distribution.

This is definitely a place where binary-only distributions
have it easier.


                                Andrew
                                [email protected]



------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to