Releases: graik/biskit
Biskit 2.5.1 (build fixes for old 2.x branch)
last major release of old Biskit 2.x code base
This is the last major release before switching to the biskit 3.0 line of development. Some more bug-fixing releases may still come but main development will now switch to the biskit3 branch. biskit 3.x will represent a major backwards-incompatible change. The 2.x code base will therefore be maintained on its own branch biskit-2.x for those who need to stay on Python 2.x or who need to reproduce old workflows.
Changes
There are only minor changes here as most efforts went into the new biskit3 code branch.
packaging-related updates
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
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%.