[octet-devel] Re: [QSAR-devel] Octet-0.3.2 and Signature Descriptor
Status: Alpha
Brought to you by:
r_apodaca
From: Joerg K. W. <we...@in...> - 2004-08-12 08:26:38
|
Hi Rich, i know that my idea might be unpopular, but i think we should use also jgrapht (LGPL) as base for octet, because they provide already some graph-algorithms and traversers. The 'simple graph' can be the default base for a molecule: org._3pq.jgrapht.graph.SimpleGraph The implementation looks fine, the only thing i'm missing is the labeling functionality for edges and vertexes. I've added a feature request to theri tracking system: http://sourceforge.net/tracker/index.php?func=detail&aid=1007815&group_id=86459&atid=579690 1. vertexes are no problem, because they are handled as Objects and efficience for storing and removing is O(1), by accessing them by their hashCode- and equals-method (unique identifier, e.g. pointer or index number). An vertex interface with labels could be helpfull. public void put(VertexKey key, Object value) { keys.put(key,value); } with public class VertexKey extends java.lang.Object { } 2. edges contains no labels via label-key, so here we must contact the jgrapht-team or modify their edge interface. public void put(EdgeKey key, Object value) { keys.put(key,value); } /** * Return value associated with <CODE>key</CODE> in this edge */ public Object get(EdgeKey key) { return keys.get(key); } public void release(EdgeKey key){ keys.remove(key); } with public class EdgeKey extends java.lang.Object { } As i've seen that this functionality is missing in octet. Adding atoms or atompairs is O(1) and removing is missing completely. Furthermore, if following the actual implementation we will obtain for removing O(N) instead of O(1), because you are using A List instead of a map. Kind regards, Joerg > Hello All, > > Octet-0.3.2 has been released (http://octet.sourceforge.net). This version contains support for breadth-first traversal (via the BreadthTraverser interface) as part of a refactored net.sourceforge.octet.graph package. Although the implementation of BasicBreadthTraverser may still have a hidden kink or two to work out, the API, which borrows from SAX in its style (http://www.saxproject.org), is relatively stable. > > This was the last major set of functionality that seemed necessary for the development of a Java implementation of the Signature molecular descriptor itself. Of course, the framework for using the descriptor in building and using QSAR models will require a good deal more infrastructure. A preliminary draft of the Signature interface and a skeletal implementation (BasicSignature) will be appearing soon in the net.sourceforge.octet.qsar package CVS. > > If you'd like to help, there's plenty to do! Feedback regarding the design/usability of the traversal API and especially bugs in its implementations would be helpful. Ideas on the proper implementation of stereochemistry, which will be the last major addition to Octet, would also be helpful. If you'd like to see any changes made to anything, now is the time - because the Octet API will be frozen some time in the next few months in preparation for the release of version 1.0. > > In the next week or so, CDKTools - the CDK "bindings" for Octet's core interfaces - will be updated and released to reflect the recent changes made in Octet. > > > cheers, > rich > > > --------------------------------- > Do you Yahoo!? > Yahoo! Mail is new and improved - Check it out! -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de -- Never mistake motion for action. (E. Hemingway) Never mistake action for meaningful action. (Hugo Kubinyi,2004) |