support recent numpy and other upgrades
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%.