--- Noel O'Boyle <[EMAIL PROTECTED]> wrote:

> Dear all,
> 
> Because I'm such a lazy programmer I was wondering
> whether we could
> work together on implementing canonical forms of
> algorithms that can
> be automatically translated to several target
> languages so that a
> single implementation can be shared between several
> programs.

There's a lot of duplication of effort. For example,
consider the various implementions of molfile, and CML
readers/writers. Each has its own quirks and
maintenence issues. There's also duplication in
descriptors.

It all adds up to a lot of duplicated, low-payoff
activities.

> For example, Christoph Steinbeck (and colleagues?)
> has implemented a
> 2D layout algorithm as part of CDK. Say if we took
> this Java
> implementation, changed it to accept a connection
> table (rather than a
> CDKMolecule or whatever), and ran it through
> java2python
> (http://code.google.com/p/java2python/). Then we
> would get a Python
> implementation of the same algorithm at no cost. Bug
> fixes would be
> applied upstream and we'd all benefit. All we'd need
> is a java2C++ and
> it could be used by OpenBabel.

IMO, Structure Diagram Generation (SDG) is the crown
jewel of CDK. Whenever you're interfacing code that
works with SMILES, IUPAC nomenclature (or InChI?) and
end users, you're gonna need SDG. It's a use case that
will only increase in importance as automated  agents
increasingly comb the Internet for chemical structure
data (ChemSpider and Chemical Blogspace, for example).

The only other way you'll get SDG is by paying big
bucks. SDG is one of the most difficult (and
practical) cheminformatics problems out there, and
vendors know it.

>From my perspective, the main problem with CDK's SDG
code is its monolithic nature. The last time I
checked, most of its methods contained dozens of lines
of code and many contained six or more levels of
nesting. In other words, I could see no way to extend
it (or even fix bugs!) without a major refactoring.

This state of affairs severely limits the ability of
the community to get involved in any way with
something that, in terms of its functionality, is an
excellent product.

Regarding actually translating Java code into other
languages - it's an interesting idea. What other
alternatives exist? For example, Ruby has excellent
support for directly using Java libraries without
modification (both through JRuby and through Ruby Java
Bridge) - what about Python and C/C++?

> Ditto for a SMILES parser. Ditto for a 2D-to-3D
> algorithm and so on.
> 
> Does this sound crazy or really sensible?
> 
> Noel
> 
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? 
> Stop.
> Now Search log events and configuration files using
> AJAX and a browser.
> Download your FREE copy of Splunk now >> 
> http://get.splunk.com/
> _______________________________________________
> Blueobelisk-discuss mailing list
> [email protected]
>
https://lists.sourceforge.net/lists/listinfo/blueobelisk-discuss
> 


____________________________
Richard Apodaca
Blog: http://depth-first.com

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Blueobelisk-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/blueobelisk-discuss

Reply via email to