From: Matt S. <mes...@gm...> - 2008-07-18 23:02:19
|
On Fri, Jul 18, 2008 at 9:19 AM, Rajarshi Guha <rg...@in...> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > One reason I've not been too happy with JGraphT is that doesn't include a > lot of graph theoretical operations (beyond d-f or b-f searches). However it > does seem to be employed in a lot of places and I suspect that if we were to > remove the dependency you would end up implementing a good fraction of > JGraphT. > > Even updating to the latest version of JGraphT looks like a good bit of > work, from a quick look at the new API > > However, ideally, I'd like to see a separate graph package within the CDK > that handles representation and graph algorithms. So it might not be as > extensive as JGraphT, but would still be a good bit of work. But this is > probably not a cdk-junior job then :) > My tentative plan is to replace the MoleculeGraphs factory class with an IAtomContainer implementation that extends one of the JGraphT graph classes. Something like... public class JGraphMol extends SimpleGraph<IAtom, IBond> implements IAtomContainer The class would have methods that allow users to do simple DFS, BFS iterations, find the shortest path between two atoms, etc. The idea would be to provide the common simple functionality of JGraphT through the JGraphMol rather than using the JGraphT classes directly. Down the road this class could be phased out in favor of an AtomContainer backed by a CDK graph implementation. What do people think of this approach? -Matt |