[octet-devel] Stereochemistry implementation - first pass complete
Status: Alpha
Brought to you by:
r_apodaca
From: rich a. <che...@ya...> - 2004-11-15 03:52:31
|
I have committed the first set of changes to Octet (http://octet.sf.net) that enable the specification and comparison of atomic stereochemical configuration. As I've written previously, this code is based on a specification provided by Andreas Dietz (J. Chem. Inf. Comput. Sci. 1995, 787). I view this code as a first step and very rough. I don't expect the interface definitions to change much, but the implementation is quite inefficient and probably buggy. In particular, the spherical polar coordinate manipulations in BasicMoleculeBuilder are probably more complicated than necessary. Nevertheless, I have included a unit test (net.sourceforge.octet.junit.StereoTest) that demonstrates that two enantiomers of isobutanol can be identified as having opposite configurations by this system. This unit test also demonstrates how clients will use the updated MoleculeBuilder interface to define atomic configuration using spherical polar coordinates. I am unaware of any other implementation of this stereochemistry specification in any language, so it will be interesting to see how it evolves. The system is a significant departure from every other method, but I believe the payoff is well worth the steep learning curve. After I have cleaned up the implementation a bit, I plan to tackle molecular conformation next. Once that phase is complete, it should be possible to define practically any stereochemical arrangement using a single flexible formalism. An abstraction layer may be helpful to simplify the use of this system for standard cases (ie. tetrahedral carbon). It is at that point that the API will be frozen in preparation for the release of Octet 1.0 (and hopefully progress on the QSAR project). As always, comments and feedback are welcome. I did my best with the documentation of this code, but one really needs to read Dietz' paper carefully (and repeatedly :-)) to understand how the system works. I'm also more than willing to try to explain how I understand it. best, r __________________________________ Do you Yahoo!? Check out the new Yahoo! Front Page. www.yahoo.com |