From: Egon Willighagen <e.willighagen@sc...> - 2005-06-16 10:49:48
prior to an article in the upcoming CDK News 2.2 (max. two weeks from now),
and a recent bug report I want to note the following *very* important
Algorithm imlementations in CDK make assumptions which might not hold in all
situations. What these assumptions are, is often only deducable from the
source code (fortunately CDK is open source :).
So, please make sure you understand how the algorithms operate and what type
of information they expect. This is a difficult process, but an important
In the past, this has gone wrong many time. Two recent examples include:
1. it was reported that the HydrogenAdder does not work on radicals
Reason: radical support was added after the hydrogen adder implementation;
as a result, it is not aware of the existence of the SingleElectron object.
2. it was reported that the UniversalIsomorphismTester reports a different
number of overlaps depending on wether aromaticity was detected first
Reason: aromaticity is important when graphs are compared. If for one
molecule, for example, it was done directly or indirectly, but for the other
not, this leads to problems.
Please be aware of these issues. And don't think that as an experienced user
you understand *all* assumptions made by the author of the implementation.
Documentation should help ... ... ... (hint hint :) Seriously, here might be
an important task for the QA team, which still needs some more people