Getting started (Linux)

Check your python version

First, open a terminal.

easYPipe needs at least Python 3.6.

You may already have Python installed – you can check which version by doing:

$ python --version

If the version is < 3.0, do:

$ python3 --version

If that fails or Python 3 version is <3.6, install a version of Python >= 3.6 using the package manager of your distribution. For example for Ubuntu 16.10 or newer:

Installing add-apt-repository (if add-apt-repository command not found):

$ sudo apt update
$ sudo apt install software-properties-common

Then:

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt-get install python3.6

If you’ve updated you Python version from 3.5 to 3.6, you can change default Python 3 to Python 3.6:

$ update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
$ update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

Check that Python 3 has been correctly installed:

$ python3 --version
Python 3.6

To swap between versions of Python, run the following:

$ update-alternatives --config python3

Check if pip is installed

pip is a package management tool for Python.

Check if pip3 is installed:

$ which pip3

If that fails, install pip3 using the package manager of your distribution. For example for Ubuntu:

$ sudo apt-get install python3-pip

Check if pip3 is linked to Python >= 3.6:

$ pip3 --version
pip 21.0.1 from /home/username/.local/lib/python3.6/site-packages/pip (python 3.6)

If it’s not the case, you can try:

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
then check:
$ pip3 --version

Software requirements

easYPipe is a pipeline that requires other software.

Phenix

You need Phenix [1] installed and to modify PHENIX_PATH value in config.py file accordingly.

Example for PHENIX_PATH in config.py:

PHENIX_PATH = "/usr/local/phenix-1.18.2-3874/"

Open Babel

Open Babel [2] is a chemical toolbox needed for ligands.

Example for BABEL_PATH in config.py:

BABEL_PATH =  "/usr/local/OPENBABEL/openbabel-2-4-1/build/bin/"

Important

paths to these software have to be modified in config.py file accordingly to your installation (see next step)

Download and install easypipe package

Download the zip archive that should look like easypipe-1.4.2.tar.gz.

Go where is the archive and unzip:

$ tar -xvzf easypipe-1.4.2.tar.gz

Go to folder easypipe-1.4.2:

$ cd easypipe-1.4.2

Modify (open in a text editor) config.py file (in easypipe-1.4.2 folder), in particular ‘Software used by modules’ part since nothing will work without links to software.

Warning

config.py file modifications have to be done before installation !! If you want to modify it afterwards, just launch installation again.

Then install:

$ sudo python setup.py install # if your default python version is >=3.6
or
$ sudo python3 setup.py install # if your python3 version is >=3.6
or
$ sudo python3.6 setup.py install # if your python3 version is linked to python3.5

If you’ve updated you Python version from 3.5 to 3.6, you may encountered some dependecies and conflict problems. Read carefully the error messages. These commands can help you:

$ sudo apt-get install libffi-dev

$ sudo pip3 uninstall PyNaCl
$ sudo pip3 install PyNaCl

$ sudo pip3 install setuptools_rust

$ cd /usr/lib/python3/dist-packages
$ sudo ln -s apt_pkg.cpython-{35m,36m}-x86_64-linux-gnu.so

Check easypipe installation

You can test if installation is successfull doing:

$ easypipe.py -h

If you get no error but the help message, easypipe installation is successfull.

If you’ve updated you Python version from 3.5 to 3.6, you may encountered the following error:

$ PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/easypipe-1.4.2-py3.6.egg/EGG-INFO/requires.txt'

In this case, this command should help:

$ cd /usr/local/lib/python3.6/dist-packages/easypipe-1.4.2-py3.6.egg/EGG-INFO/
$ sudo chmod a+r requires.txt

In the way, if you have 3.8 Python version (in Ubuntu 20.04 for example), you may encountered the following error:

$ PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/easypipe-1.4.2-py3.8.egg/EGG-INFO/requires.txt'

In this case, this command should help:

$ cd /usr/local/lib/python3.8/dist-packages/easypipe-1.4.2-py3.8.egg/EGG-INFO/
$ sudo chmod a+r requires.txt

Uninstall easypipe package

To uninstall easypipe package properly, do:

$ sudo pip3 uninstall easypipe
or
$ sudo python3 -m pip uninstall easypipe
or
$ sudo python3.6 -m pip uninstall easypipe

Note

‘pip3 freeze’ lists the names of all python packages installed.