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