As easy as it is to install PyFBA using the pip command, it can be quite cumbersome to do so when you are working on a system without granted administrative or sudo permissions. Here is a quick guide that has worked for me when installing PyFBA on a CentOS 6.3 system running a SunGrid Engine cluster system. If you are working on a Linux system and you do have admin and sudoĀ permissions, please follow the install guide here.
Perform the following to install each module separately.
# Clone PyFBA from GitHub
cd; git clone https://github.com/linsalrob/PyFBA.git
# Clone ModelSEEDDatabase from GitHub
git clone https://github.com/ModelSEED/ModelSEEDDatabase.git
# As of July 26, 2017, PyFBA is not compatible with the refactored ModelSEED GitHub repo
# so we must roll back to a previous version
# The following commit will checkout the June 1, 2017 snapshot:
# https://github.com/ModelSEED/ModelSEEDDatabase/tree/c4ba1c6a2aa81dae6159323c95a4236619c3d9ce
cd ModelSEEDDatabase
git checkout c4ba1c6
# Create ENV variables and add to the .bashrc file
export ModelSEEDDatabase=${HOME}/ModelSEEDDatabase
echo 'export ModelSEEDDatabase=${HOME}/ModelSEEDDatabase' >> ${HOME}/.bashrc
export PYFBA_MEDIA_DIR=${HOME}/PyFBA/media
echo 'export PYFBA_MEDIA_DIR=${HOME}/PyFBA/media' >> ${HOME}/.bashrc
# In HOME directory, make glpk directory and download glpk
cd; mkdir glpk; cd glpk;
wget ftp://mirrors.kernel.org/gnu/glpk/glpk-4.63.tar.gz
tar xzf glpk-4.63.tar.gz
# Make a glpk binary folder to store make files in since make tries to install in /usr/local/
# where we do not have write permissions
mkdir glpk_bin
cd glpk-4.63
# Configure and make
# configure took about 10 seconds, make took about 2 minutes
# --with-gmp flag enables the simplex solver to use GNU MP bignum library
./configure --with-gmp
make prefix=~/glpk/glpk_bin install
# Add library path to LD_LIBRARY_PATH and add to the .bashrc file
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/glpk/glpk_bin/lib
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/glpk/glpk_bin/lib' >> ${HOME}/.bashrc
# Also need to add glpsol binary to PATH
export PATH=$PATH:${HOME}/glpk/glpk_bin/bin
echo 'export PATH=$PATH:${HOME}/glpk/glpk_bin/bin' >> ${HOME}/.bashrc
# Go back to HOME directory and clone PyGLPK from GitHub
cd; git clone https://github.com/bradfordboyle/pyglpk.git
# Go to PyGLPK folder and run setup
# Again, since this is a local setup we need to add the user flag. This will install module in
# your home directory under the .local/ directory. It should already be in your Python sys path
# Info can be found here:
# https://docs.python.org/3.3/install/index.html#alternate-installation-the-user-scheme
# setup.py took about 5 seconds
cd pyglpk
python3 setup.py install --user
# Check that install works
python3 -c 'import glpk; print("Import works!")'
# You can also run the tests PyGLPK comes with. It should only take about 1 second
# This script runs 265 tests. You should get a message at the end saying:
# 'TESTS PASSED!! 265 tests total'
python3 tests/test_glpk.py
# It is now safe to remove the tarball that was downloaded
rm ../glpk-4.63.tar.gz
# Install Beautiful Soup 4 module
pip3 install --user beautifulsoup4
python3 -c 'import bs4; print("Import works!")'
# Install SBML module
pip3 install --user python-libsbml-experimental
python3 -c 'import libsbml; print("Import works!")'
# Install networkx module
pip3 install --user networkx
python3 -c 'import networkx; print("Import works!")'
# At this point all modules for PyFBA should be installed and set up
# PyFBA comes with a test code to check that PyFBA is behaving as expected
cd ~/PyFBA/PyFBA
nosetests-3.4 tests