--- 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
