Difference between revisions of "Version 2.3 Projects"

From Open Babel
Jump to: navigation, search
(Created page with 'This page itemizes some projects targeted for release in version 2.3. * Further Software Archeology and cleanup * Use Cmake to build all platforms * Imp…')
 
Line 2: Line 2:
  
 
* Further [[Developer:Archeology|Software Archeology]] and cleanup
 
* Further [[Developer:Archeology|Software Archeology]] and cleanup
* Use Cmake to build all platforms
+
* Use Cmake to build all platforms '''in progress'''
* Improved documentation, including more C++ and Python example code
+
* Improved documentation, including more C++ and Python example code '''in progress'''
* Test suite improvements using Ctest and Cdash -- automated nightly testing on Linux, Windows, and Mac
+
* Test suite improvements using Ctest and Cdash -- automated nightly testing on Linux, Windows, and Mac '''in progress'''
* New 2D structure layout code
+
* New 2D structure layout code '''done?'''
* Improved stereochemistry
+
* Improved stereochemistry  
* Improved aromaticity / Kekulization
+
* Improved aromaticity / Kekulization '''done?'''
 +
** Do we want to fix the electron contributions before release?
 
* New file formats
 
* New file formats
 
** ???
 
** ???
Line 15: Line 16:
 
** Conformers from geometry optimizations
 
** Conformers from geometry optimizations
 
** NMR data from QM codes
 
** NMR data from QM codes
 +
* Spectrophores '''in progress'''
 +
 +
= Tim Vandermeersch =
 +
* Fix individual bonds in OBRotorList
 +
* Add opaque pointers to all new classes (I think we should do this)
 +
* Documentation... '''in progress'''
 +
* Build linux binaries
 +
** Statically link everything except some low level libraries (linux-gate, libdl, libm, libc, ld-linux)
 +
*** Use -static-libgcc (make sure libstdc++.a is in a -L path)
 +
*** inlcude all static libraries like source files (libz.a, libxml2.a, libopenbabel.a, ...)
 +
*** include all formats in the commandline
 +
** Compile in debian "sarge" chroot (easy to setup using debootstrap)
 +
*** Older linux is needed for older libc version
 +
*** libc is system specific (i.e. kernel version) but backwards & ABI compatible for years
 +
*** Using debian "sarge" results in binaries usable on all linux systems with kernel 2.2.10 and later
 +
*** This is how most projects seem to do this (e.g. Qt >=2.2.5, ...)
 +
** Only babel will be build containing all formats and libraries
 +
** Wrapper scripts can be provided
 +
** Add this to cmake?
 +
* Optional features:
 +
** Requires Eigen2, disabled when not found
 +
** Add automorphism algorithm with acceptable back-end (bliss or custom mapper). '''bliss is done but needs merging, custom not started yet'''
 +
** Noel's Kabsch alignment (requires automorphisms) '''done, needs merging'''
 +
** Genetic algorithm to generate a diverse conformer set (uses RMSD from Kabsch alignment) '''almost done'''
 +
* If there is time left:
 +
** Move some tools (i.e. obconformer, obenergy, obminimize) to (o)babel
 +
** Add simple file format for specifying contraints from commandline
  
 
[[Category:Projects]]
 
[[Category:Projects]]

Revision as of 11:20, 4 July 2010

This page itemizes some projects targeted for release in version 2.3.

  • Further Software Archeology and cleanup
  • Use Cmake to build all platforms in progress
  • Improved documentation, including more C++ and Python example code in progress
  • Test suite improvements using Ctest and Cdash -- automated nightly testing on Linux, Windows, and Mac in progress
  • New 2D structure layout code done?
  • Improved stereochemistry
  • Improved aromaticity / Kekulization done?
    • Do we want to fix the electron contributions before release?
  • New file formats
    •  ???
  • Added data types
    • Raman vibrational modes
    • Electronic structure (i.e., orbital energies)
    • Conformers from geometry optimizations
    • NMR data from QM codes
  • Spectrophores in progress

Tim Vandermeersch

  • Fix individual bonds in OBRotorList
  • Add opaque pointers to all new classes (I think we should do this)
  • Documentation... in progress
  • Build linux binaries
    • Statically link everything except some low level libraries (linux-gate, libdl, libm, libc, ld-linux)
      • Use -static-libgcc (make sure libstdc++.a is in a -L path)
      • inlcude all static libraries like source files (libz.a, libxml2.a, libopenbabel.a, ...)
      • include all formats in the commandline
    • Compile in debian "sarge" chroot (easy to setup using debootstrap)
      • Older linux is needed for older libc version
      • libc is system specific (i.e. kernel version) but backwards & ABI compatible for years
      • Using debian "sarge" results in binaries usable on all linux systems with kernel 2.2.10 and later
      • This is how most projects seem to do this (e.g. Qt >=2.2.5, ...)
    • Only babel will be build containing all formats and libraries
    • Wrapper scripts can be provided
    • Add this to cmake?
  • Optional features:
    • Requires Eigen2, disabled when not found
    • Add automorphism algorithm with acceptable back-end (bliss or custom mapper). bliss is done but needs merging, custom not started yet
    • Noel's Kabsch alignment (requires automorphisms) done, needs merging
    • Genetic algorithm to generate a diverse conformer set (uses RMSD from Kabsch alignment) almost done
  • If there is time left:
    • Move some tools (i.e. obconformer, obenergy, obminimize) to (o)babel
    • Add simple file format for specifying contraints from commandline