Difference between revisions of "Projects"

From Open Babel
Jump to: navigation, search
(Some reorganization)
Line 3: Line 3:
 
This is obviously related to the overall [[Roadmap]]. This page is intended to be more technical and detailed for developers, while the [[roadmap]] is designed for end-users.
 
This is obviously related to the overall [[Roadmap]]. This page is intended to be more technical and detailed for developers, while the [[roadmap]] is designed for end-users.
  
==Version 2.1 (Targeted for Jan/Feb 2007)==
+
* [[Version 2.1 Projects]]
* [[Developer:Archeology|Software Archeology]]
+
* [[Version 3.0 Projects]]
* Documentation for all public functions
+
* OBGenericData improvements
+
** OBUnitCell additions
+
** Support for "origin" attribute (i.e., data from user, data from original file, generated by Open Babel, other...)
+
** Generalized key/value OBPairData
+
* Header reorganization (i.e., build layout matches installation #include path)
+
** Split out atom.h, bond.h, residue.h, from mol.h
+
* Iterator improvements
+
** Breadth-first and depth-first iterators
+
* Test suite improvements
+
* New file formats
+
** ChemDraw CDX
+
* Loading OBFormat modules on an as-needed-basis
+
* Support for adding input keywords using [[babel]] command-line for QM formats (e.g., [[GAMESS Input]] or [[Gaussian Cartesian]]
+
  
 
==Version 3.0 (Targeted ???)==
 
==Version 3.0 (Targeted ???)==

Revision as of 10:53, 26 March 2007

The following is a listing of ongoing development projects and the people working on them. The assignment of particular projects to upcoming releases should be considered tentative.

This is obviously related to the overall Roadmap. This page is intended to be more technical and detailed for developers, while the roadmap is designed for end-users.

Version 3.0 (Targeted ???)

  • Revisit classes, methods (eliminate deprecated methods, migrate some methods to/from base classes)
    • Continuing Software Archeology
    • Eliminating OBNodeBase, OBEdgeBase, OBGraphBase
    • Migrating code out from OBBase, adding OBBase::Clear() ... (the latter allows OBConversion to automatically call Clear() for the user)
  • Atom indexing from 0 (i.e., all data finally indexed from 0)
  • Header reorganization (use minimal #include statements in public headers)
  • Generalization of OBBond class
    • Support for ionic bonds, hydrogen bonds, multi-center bonds, etc.
  • Generalization of queries (beyond just SMARTS matching)
  • Use of base libraries (e.g., Boost)
  • Reformulation of 0D stereochemistry

Ongoing Projects

The following are a list of projects currently in development by various active developers but not targeted for a particular release yet. If you're interested in contributing, please contact the listed developer.

  • Geoff
    • Improved Wiki documentation, particularly developer docs
      • Further improvements on API tutorial examples
      • Documentation on OBGenericData and existing OBPair associations
    • 3D coordinate generation using z-matrix and fragment rules
    • Novel partial charge models
    • QM data support (e.g., eigenvalues, eigenvectors, electron density, cube files)
  • Noel
    • Developer of pyopenbabel
    • Goal:
      • to make it easy for chemoinformaticians to use OB for scripting
    • Targets:
      • OB scripting working natively on Windows (need to talk to Chris)
      • Better OB interface to SD files field data
      • Promote scripting interface more...maybe put pyopenbabel on Python Cheeseshop, more tutorials, maybe separate website ("OB==file conversion" in most people's minds)
  • Craig
    • CTO at www.emolecules.com
    • Goal:
      • to make OpenBabel 100% capable in cheminformatics applications
    • Projects:
      • Full symmetry analysis including consideration of chirality
      • Full canonical SMILES, including chirality
      • Note: these projects are largely complete, but business/legal constraints will delay releasing this to the OpenBabel temporarily.