packaging-related updates

@graik graik released this Jun 12, 2016 · 51 commits to master since this release

minor changes related to packaging or testing:

  • update version number in setup.py
  • introduce __version__ field in __init__.py
  • fix test failure because of missing cpptraj even though the test didn't need it
  • make ColorSpectrum test case independent of biggles installation
  • silence "biggles missing" warning in main __init__.py (errors will be raised when biggles is needed)
  • update debian packaging control files
  • update dependencies in setup.py

support recent numpy and other upgrades

@graik graik released this Jun 11, 2016 · 62 commits to master since this release

Changes

This is mostly a long overdue maintainence release to make Biskit again compatible with recent versions of dependencies and third-party software. The dependency to Scientific Python has been removed, which should ease installation. SciPy, by contrast, is now a hard dependency. This is the first release after migration to github.

_1. Make Biskit compatible with latest numpy version (1.9+)_
See: #2

  • All dependencies to numpy.oldnumeric were removed (a stripped down version of numpy.oldnumeric is now integrated with Biskit -- This is only a stop-gap measure. Use the normal numpy in your own extensions and scripts.

_2. Remove dependency on Scientific Python_
See: #2

PythonScientific (not to be mistaken with the more recent scipy) also suffers from dependency on numpy.oldnumeric. We only used Scientific.IO for PDB parsing. A (heavily) stripped down version of Scientific.IO is now integrated with Biskit. All references to the larger Scientific package were removed.

_3. Updates wrappers for third-party software_

  • AmberTools 15:
    • AmberCrdEntropist and others now use cpptraj instead of ptraj
    • default paths were adapted to Amber 14

Several other wrappers were upgraded and tested to work with recent versions:

  • Delphi v. 6
  • SurfaceRacer upgraded to v. 5.0
    • modified default mask to exclude both hydrogen and solvent atoms

The following wrappers were verified to work:

  • Pymoler (pymol)
  • TMAlign
  • SurfaceRacer
  • Amber-related (cpptraj, ambpdb, reduce) -- AmberEntropist, AmberParmBuilder, etc.
  • Prosa2003
  • Delphi

Wrappers for the following programs are known not to work for recent versions:

  • HMMer
  • FoldX
  • Intervor
  • DSSP -- issue pending

The Biskit.Mod package (homology modelling) would need a major update to deal with recent ncbitools and related software. I won't find the time for this. Volunteers most welcome!

PVM and parallelization were not tested for this release. Please report if you encounter issues.

_4. Deprecated modules_

  • Biskit.ChainCleaner and related modules for the pdb2xplor.py script -- ancient code, heavily using Scientific Python which cannot any longer be easily installed -- superseeded by PDBCleaner and derived modules in Biskit.Mod
  • Biskit.ProsaII -- superseeded by Prosa2003

FoldX, Intervor, WhatIf, ICMCad will probably be deprecated as well but are still part of the package for reference.

_5. Other changes_

  • improvements to test reporting (less clutter, timing for tests taking more than 0.5s)
  • ProfileCollection.concat does not any longer drop profiles that are missing from a concatenation partner. The existing profile is instead expanded and filled with the registered default value.
  • several bug fixes
  • better cleanup of temporary files and folders (for tests and Executor)

Test Status

As mentioned above, I couldn't test all third-party software wrappers and haven't looked at parallelisation (PVM) modules, which should probably be re-visited and ported to a more recent infrastructure. That being said, all tests that do not depend on external programs or pvm should pass:

python Biskit/test.py -e exe pvm old
returns:

SUMMARY:
=======

A total of 111 tests from 117 modules were run.
   - 111 passed
   - 0 failed

Code coverage by unit tests was at 61% in my recent test runs. However, these were not including PVM-related test cases and several third-party programs were not installed. The actual coverage should be closer to 75 or 80%.