/biskit

A Python platform for Structural Bioinformatics

Primary LanguagePythonOtherNOASSERTION

biskit

a software platform for structural bioinformatics

Build Status Coverage Status

Please refer to http://biskit.pasteur.fr for installation and usage instructions. See the biskit-2.x branch for the last stable Python 2.x version of Biskit.

Biskit is a modular, object-oriented python library that provides intuitive classes for many typical tasks of structural bioinformatics research. It facilitates the manipulation and analysis of macromolecular structures, protein complexes, and molecular dynamics trajectories. At the same time, Biskit offers a software platform for the rapid integration of external programs and new algorithms into complex structural bioinformatics workflows. Calculations are thus often delegated to established programs like Xplor, Amber, Hex, Prosa, and DelPhi; interfaces to further software can be added easily.

Python 3 Migration

This is the Python 3 line of Biskit development. Note that biskit (lowercase) 3 is not any longer backwards-compatible to previous Biskit (uppercase) 2 releases. Please check out the biskit-2.x branch if you need to use the classic Python 2.x Biskit. Note also that the new biskit is, currently at least, only compatible with Python 3.x and cannot be used with Python 2.x.

The core functionalities and many of the wrappers have been migrated. Still un-migrated are some smaller modules and most of the scripts. The new version is found in (lower case) biskit. All the modules that have not yet been migrated are in the old Biskit2 folder (which cannot be imported any longer). After installation, the new Python 3 Biskit is imported with import biskit

Short Installation Instructions

1. Install (plotting) dependencies

The biskit library itself does not strictly need biggles and you can safely install it later. However, biggles (https://biggles-plot.github.io/) is an excellent plotting library with a relatively intuitive syntax that is used throughout biskit and several unittests depend on it. So you may as well get it set up right from the start:

On Debian / Ubuntu:

  • sudo apt-get install libplot-dev plotutils  ## needed for biggles compilation
    pip3 install biggles

On Mac OS-X:

2. Install biskit

git clone https://github.com/graik/biskit.git biskit3
pip3 install -e biskit3

Note: The -e option will create an "editable" biskit installation where the git-controlled biskit3 folder is not copied but sym-linked into your system's (or virtualenv) python site-packages folder see explanation. Alternatively, run python3 biskit3/setup.py install in order to create an actual copy of the biskit source code inside your Python 3 site-packages folder.

Depending on your environment, pip install -e will always install all the needed dependencies but it may or may not also create the link for putting biskit into the $PYTHONPATH. It seems to work within the virtualenv but not, e.g. in the OSX terminal. Test by changing to another folder, run python and run the following import command:

>>> import biskit

Should this fail, you can instead add the biskit3 folder manually to your PYTHONPATH. Assuming you cloned the biskit project into ~/py/biskit3, the following would work:

export PYTHONPATH=$PYTHONPATH:~/py/biskit3

Append this line to your .bashrc or .bash_profile file. zsh users should put it into .zshenv.

3. Test your installation

Biskit comes with a unittest suite that can be run using the test.py script that is part of the library. First you have to figure out where your biskit installation went. If you used the pip3 install -e command above, biskit will still be in the same location where your git clone created it. Otherwise, it will be in something like /usr/local/lib/python3.7/site-packages/biskit. If you have no idea, open a python interpreter and ... :

  • >>> import biskit
    >>> biskit.__path__
    ['/usr/local/lib/python3.7/site-packages/biskit']

Now run the biskit test suite, except those tests that require external programs (-e exe) or are tagged as old or fails:

~> python3 biskit/test.py -e exe old fails

Once you have installed third-party software such as Pymol, Delphi, Xplor-NIH, DSSP, surfaceRacer, etc, you can re-run the test without the -e exe option. If you want to test individual biskit wrappers for a given program, simply call the wrapping python module which will execute this particular test. For example, if you have just installed Pymol, you can now run the biskit.exe.pymoler test case to ensure biskit and Pymol are properly working together:

~> python3 biskit/exe/pymoler.py

This should open a Pymoler window with a short MD movie and will, generally, give you a much more detailed test output.

License

Biskit is distributed under the GNU GPL version 3. See LICENSE.txt. Contact us, in case you prefer a different licensing model.