This is my first attempt at Structure Diagram Generation for organic molecules.
I'm a complete novice in the field of cheminformatics (this project also marks the start of my foray into computational biochemistry). I'm starting here because it seems very promising to me that one can apply metaheuristics to the discovery and optimization of chemical syntheses... plus, having SDG libraries (assuming this project makes it to maturity) will help me later on.
Don't use any of this code for anything. It doesn't work yet whatsoever--I'm still reading the literature. My primary goal for this project is to learn about the field, not really to produce anything production ready. I think there's already SDG software for Python, anyway.
This is entirely experimental. I want to accomplish the following:
- SMILES parsing -- Done (mostly)
- Chemical graph canonicalization -- Morgan's algorithm, etc. Done, aside from proper stereochemistry.
- Canonical SMILES generator
- InChI parsing
- InChI generator
- IUPAC chemical name generator
- First attempt at SDG -- work in progress
- SA or GA to improve diagram quality
- Chemical reaction representation
- Automated chemical synthesis design with representation of pathways and branches. Would be nice to get this done before Spring, 2012.
-
Helson, H. E. "Structure Diagram Generation", Reviews in Computational Chemistry, 13, 313-398 (1999).
-
Downs, G. M. et al., "Review of Ring Perception Algorithms for Chemical Graphs", J. Chem. Inf. Comput. Sci., 29 (3), 172-187 (1989).
-
Zamora A. "An Algorithm for Finding the Smallest Set of Smallest Rings", J. Chem. Inf. Comput. Sci., 16 (1), 40-43 (1976).
-
Faulon et al., Handbook of Chemoinformatics Algorithms, Chapman and Hall/CRC Mathematical and Computational Biology (2010).