PyBioShell Installation¶
PyBioShell is a set of Python bindings to BioShell library. It allows use of BioShell classes like any other Python modules. The closest tool similar by functionality is Biopython, which however is partially written in Python.
The easiest option to get PyBioShell on your machine is to download precombiled library, available for Python3.5 and Python3.7 from this page
Another way is to compile it from sources, following the steps given below. The procedure assumes your bioshell-release
repository is located in src.git/bioshell-release/
and binder
in src.git/binder/
; these paths are arbitrary but the commands must be adjusted accordingly
0. Prequisities¶
In order to compile binder
, you need to have Ninja
building tool (website) and cmake. You will also need python headers,
available from python-dev
package or similar (e.g. python3.5-dev
). On Ubuntu Linux you can install them with apt-get
:
sudo apt-get install ninja-build cmake python-dev
The use of clang
compiler is advised. Try to get clang-6.0
or newer (see this link)
1. Clone and compile binder
¶
To clone binder from its github repository:
git clone https://github.com/RosettaCommons/binder
cd binder
python3 ./build.py -j 4
where the last command actually builds binder using four CPU cores for that. Note, that binder uses more than 1GB of disc space and its compilation may take a few hours.
2. Build PyBioShell¶
Open BuildPython.py
file and edit variables, adapting it to your system. In particular, you most likely have to fix
clang++
version (LINKER_CMD
variable) as well as the path where the binder
executable is located (BINDER_PATH
variable)
Make a directory build_bindings
in the main BioShell directory, i.e in the directory where pybioshell.config
is located.
There are three scripts availble for other Python versions BulidPython27.py, BuildPython35 and BuildPython37.py. Choose your Python version
and run the compilation as follow:
python BuildPython37.py
You should find your compiled version in bin/pybioshell.so
. If you have any problems with compilation, please do not hesitate to contact us.