Installation¶
SPyCi-PDB uses only Python-based APIs for which we expect it to run native on any system Python can run, as long as third-party back-calculator installation requirements are met.
Please note that the IDPConformerGenerator library is required for parsing PDB structure coordinates. Details for IDPConformerGenerator can be found here.
Full installation instructures are highlighted below.
Note
As highlighted in requirements.txt
, listed below are all of the Python packages required.
The following list will be updated if more packages are added:
numpy >= 1.22.4, < 2
numba >= 0.53.0, < 1
pybind11 >= 2.9.2, < 3
pandas >= 1.2.4, < 2
scipy >= 1.8.1, < 2
matplotlib >= 3.5.2, < 4
natsort >= 8, < 9
tox >= 3.25.0, < 4
As mentioned above, IDPConformerGenerator
libraries are required.
If you already have an idpconfgen
environment¶
It is recommended to install IDPConformerGenerator first to have the environment prepared for SPyCi-PDB. Please visit the IDPConformerGenerator repository to install IDPConformerGenerator environment first.
Activate the idpconfgen
environment (conda or virtualenv) and
update the environment with the dependencies seen in SPyCi-PDB:
pip install -r existing_requirements.txt --upgrade
Install SPyCi-PDB on top of IDPConformerGenerator:
python setup.py develop --no-deps
Standalone From Source¶
Clone from the official repository:
git clone https://github.com/julie-forman-kay-lab/SPyCi-PDB
Navigate to the new SPyCi-PDB
folder:
cd SPyCi-PDB
Run the following commands to install spycipdb
dependencies if
Anaconda is used as your Python package manager:
conda env create -f requirements.yml
conda activate spycipdb
Note
If you don’t use Anaconda to manage your Python installations, you can use
virtualenv
and the requirements.txt
file following the commands:
virtualenv spycienv --python=3.8
source spycienv/bin/activate
pip install -r requirements.txt
If you have difficulties installing spycipdb
, raise an issue in the
main GitHub repository, and we will help you.
Install spycipdb
in development mode in order for your installation to be
always up-to-date with the repository:
python setup.py develop --no-deps
Note
The above applies also if you used virtualenv
instead of conda
.
Remember to activate the spycipdb
environment every time you open a new
terminal window, from within the repository folder, choose yours:
# Installation with Anaconda
conda activate spycipdb
# Installation with virtualenv
source spycienv/bin/activate
To update to the latest version, navigate to the repository folder, activate the
spycipdb
python environment as described above, and run the commands:
git pull
# if you used anaconda to create the python environment, run:
conda env update -f requirements.yml
# if you used virtual env to create the python environment, run:
pip install -r requirements.txt --upgrade
python setup.py develop --no-deps
Your installation will become up to date with the latest developments.
Please note that IDPConformerGenerator will be installed alongside SPyCi-PDB
as the library is required for processing PDB files. You can find the installation
of IDPConformerGenerator in src/idpconfgen/
.
Updating SPyCi-PDB¶
When new back-calculators are added or when dependencies change from the
GitHub, please update your environment with the latest dependencies after
performing a git pull
.
To update an anaconda environment:
conda env update --file requirements.yml --prune
To update a virtualenv environment:
pip install -r requirements.txt --upgrade
Then perform setup.py
again for good measure:
python setup.py develop --no-deps
Installing Third-party Software¶
Some functionalities of SPyCi-PDB
require third-party software.
These are not mandatory to install unless you want to use such operations.
UCBShift¶
Note
Module is only required if you wish to perform Chemical Shift back-calculations. The following installation will revert Python to version 3.8.15.
You should be in the parent directory where SPyCi-PDB
was cloned to
with the Python environment is deactivated.
Clone the UCBShift repository from Zi Hao Liu’s fork on GitHub.:
git clone https://github.com/menoliu/CSpred
Enter the CSpred
folder and make a models
directory, then download and
extract the latest trained models
to CSpred/models
directory.
Move back into the SPyCi-PDB
directory and enter the thirdparty/ucbshift_reqs
folder:
cd ..
cd SPyCi-PDB
cd ./thirdparty/ucbshift_reqs
Run the following commands to install UCBShift
dependencies if
Anaconda is used as your Python package manager:
conda env update --name spycipdb --file ucbshift_requirements.yml --prune
Run the following commands to install UCBShift
dependencies if
virtualenv was used to install SPyCi-PDB:
pip install -r ucbshift_requirements.txt
Go back to the SPyCi-PDB
directory and reinstall spycipdb
and
idpconfgen
if needed.:
conda activate spycipdb
cd ../..
python setup.py develop --no-deps
cd ./src/idpconfgen/
python setup.py develop --no-deps
The following is the same with virtualenv:
source spycienv/bin/activate
cd ../..
python setup.py develop --no-deps
cd ./src/idpconfgen/
python setup.py develop --no-deps
Currently, reinstallation is required as UCBShift changes the Python version.
We will be working on a fix to streamline this process soon by using package
handlers such as PyPi
. Thank you for your patience.
ATSAS v3.1.1 - CRYSOL v3.0¶
Note
ATSAS installation is only required for the saxs
module.
Please visit the ATSAS website to download v3.1.1 of ATSAS. Theoretically, SPyCi-PDB will work if you already have ATSAS v3.X installed.
Test your installation via:
crysol -h
PALES v6.0¶
Note
PALES installation is only required for the rdc
module.
A package of PALES v6.0 for Linux is already included in the thirdparty/
folder.
Downloaded and extracted from the Ad Bax Group.
For use with x64 bit Linux Ubuntu 20.04.X LTS and 18.04.X, you must install the i386 architecture along with required package libraries:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386
If the last command above fails, run the following instead:
sudo apt install multiarch-support