Difference between revisions of "Projects"

From Open Babel
Jump to: navigation, search
m (Explaining differences between Projects and Roadmap)
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 Fall 2006)==
+
==Version 2.1 (Targeted for Jan/Feb 2007)==
 
* [[Developer:Archeology|Software Archeology]]
 
* [[Developer:Archeology|Software Archeology]]
 
* Documentation for all public functions
 
* Documentation for all public functions
 
* OBGenericData improvements
 
* OBGenericData improvements
 
** OBUnitCell additions
 
** OBUnitCell additions
** Support for "origin" attribute
+
** 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)
 
* Header reorganization (i.e., build layout matches installation #include path)
 
** Split out atom.h, bond.h, residue.h, from mol.h
 
** Split out atom.h, bond.h, residue.h, from mol.h
Line 15: Line 16:
 
* Test suite improvements
 
* Test suite improvements
 
* New file formats
 
* New file formats
 +
** ChemDraw CDX
 
* Loading OBFormat modules on an as-needed-basis
 
* 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]]
 
* Support for adding input keywords using [[babel]] command-line for QM formats (e.g., [[GAMESS Input]] or [[Gaussian Cartesian]]
Line 21: Line 23:
 
* Revisit classes, methods (eliminate deprecated methods, migrate some methods to/from base classes)
 
* Revisit classes, methods (eliminate deprecated methods, migrate some methods to/from base classes)
 
** Continuing [[Developer:Archeology|Software Archeology]]
 
** Continuing [[Developer:Archeology|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)
 
* Atom indexing from 0 (i.e., all data finally indexed from 0)
 
* Header reorganization (use minimal #include statements in public headers)
 
* Header reorganization (use minimal #include statements in public headers)
Line 32: Line 36:
  
 
* [[User:Ghutchis|Geoff]]
 
* [[User:Ghutchis|Geoff]]
** 3D coordinate generation using z-matrix
 
** Novel partial charge models
 
** QM data support (e.g., eigenvalues, eigenvectors, electron density, cube files)
 
 
** Improved [[Main_Page|Wiki]] documentation, particularly [[developer]] docs
 
** Improved [[Main_Page|Wiki]] documentation, particularly [[developer]] docs
 
*** Further improvements on [[Developer:Tutorial|API tutorial examples]]
 
*** Further improvements on [[Developer:Tutorial|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)
  
 
* [[User:Baoilleach|Noel]]
 
* [[User:Baoilleach|Noel]]

Revision as of 13:50, 13 October 2006

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 2.1 (Targeted for Jan/Feb 2007)

  • Software Archeology
  • 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 ???)

  • 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)

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.