From: rich a. <che...@ya...> - 2004-04-21 15:03:32
|
I agree that a common method for the representation of molecular objects is critical for the development of portable and verifiable cheminformatics protocols. A core principle of object-oriented design is that designs are most reusable when you program to interfaces, not implementations. I would propose that any discussion of a QSAR framework should take into consideration the need to first define Java interfaces for core objects such as Atom and Molecule. The QSAR framework would be useful to the greatest number of developers if each developer is free to provide their own implementation of the core interfaces that will work without modification in the QSAR framework. Defining these interfaces means that the irreducible core functionality of Molecule, Atom, etc. with which the framework will neeed to work must be decided on. The advantage of this approach is true design reuse. Because the QSAR framework only knows about Java interfaces, all a developer needs to do to use all of the functionality of the framework is to provide an implementation of those interfaces. Of course, reference implementations should be provided by the framework as well. I've taken this approach in a cheminformatics framework called "Octet" (http://octet.sourceforge.net) and in a 2-D molecular visualization framework called "Structure" (http://structure.sourceforge.net). The approach in these frameworks differs significantly from both JOELib and CDK in that a developer is never required to use my reference implementations of Molecule or Atom. For example, it is possible to provide performance-optimized implementations of these interfaces that would be suitable for large numbers of molecules, or the rapid constrution of molecules. The framework only knows about interfaces, and this is the key to code reuse. I would be willing to provide any code and/or experiences from these projects to the development of a QSAR framework. cheers, rich Peter Murray-Rust <pm...@ca...> wrote: C. The OpenSource community has made some small, useful steps in this direction. They now wish to pool their efforts and produce a single point of contact for their own development and to show to the world. This does NOT necessarily mean a single program. IMO it is much more likely to mean an infrastructure on which a variety of operations can be carried out ("glueware"?). They wish to create a project at SF which leads to: - active constructive discussion - agreed representation of objects * molecules, atoms, fragments, etc. * descriptors * properties - creation, cataloguing, annotating, high-quality information objects: * dictionaries * properties (e.g. of atoms) * datasets - creation, cataloguing, annotation of algorithms related to QSAR * chemical perception * statistics, optimisation, etc - creation of software: * as toolkit components * as demonstrators of the *quality* of the system --------------------------------- Do you Yahoo!? Yahoo! Photos: High-quality 4x6 digital prints for 25¢ |