User Tools

Site Tools


picrust-software

PICRUSt

PICRUSt is a bioinformatics software package designed to predict metagenome functional content from marker gene (e.g., 16S rRNA) surveys and full genomes.

v1.0.0

Usage

  • Show all available versions of picrust
    module avail picrust
  • Load picrust module:
    module load picrust/1.0.0

Installation

  • picrust has a bunch of python modules dependencies, so we'll just install them in python/2.7.8
    - load python/2.7.8, change ownership of $PYTHONHOME to yourself - 'coz we'll be installing lots of modules there.
    module load python/2.7.8
    scl enable devtoolset-1.1 bash
    sudo chown -R joguya:joguya /export/apps/python/2.7.8
    
    - Download & build matplotlib
    wget https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.4.2/matplotlib-1.4.2.tar.gz
    tar -xvf matplotlib-1.4.2.tar.gz
    cd matplotlib-1.4.2
    python setup.py build
    python setup.py install
    
    - Download & build numpy
    wget "http://downloads.sourceforge.net/project/numpy/NumPy/1.9.1/numpy-1.9.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnumpy%2Ffiles%2FNumPy%2F&ts=1420630876&use_mirror=liquidtelecom" -O "numpy-1.9.1.tar.gz"
    tar -xvf numpy-1.9.1.tar.gz
    cd numpy-1.9.1
    python setup.py build
    python setup.py install
    
    - Download & build scipy
    wget "http://downloads.sourceforge.net/project/scipy/scipy/0.14.1/scipy-0.14.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fscipy%2Ffiles%2Fscipy%2F&ts=1420633642&use_mirror=liquidtelecom" -O"scipy-0.14.1.tar.gz"
    tar xvf scipy-0.14.1.tar.gz
    cd scipy-0.14.1
    python setup.py build
    python setup.py install
    
    - Download & build pycogent
    wget "http://downloads.sourceforge.net/project/pycogent/PyCogent/1.5.3/PyCogent-1.5.3.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpycogent%2F&ts=1420724582&use_mirror=liquidtelecom" -O "PyCogent-1.5.3.tgz"
    tar xvf PyCogent-1.5.3.tgz
    python setup.py build
    python setup.py install
    
    - Download & build mysql-python
    wget "http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmysql-python%2F&ts=1420724977&use_mirror=liquidtelecom" -O MySQL-python-1.2.4b4.tar.gz
    tar xvf MySQL-python-1.2.4b4.tar.gz
    cd MySQL-python-1.2.4b4
    python setup.py build
    python setup.py install
    
    - Download & build sqlalchemy
    wget "https://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.9.8.tar.gz" -O "SQLAlchemy-0.9.8.tar.gz"
    tar -xvf SQLAlchemy-0.9.8.tar.gz
    cd SQLAlchemy-0.9.8
    python setup.py build
    python setup.py install
    
    - Download & build mpi4py
    wget "https://bitbucket.org/mpi4py/mpi4py/downloads/mpi4py-1.3.1.tar.gz" -O "mpi4py-1.3.1.tar.gz"
    tar -xvf mpi4py-1.3.1.tar.gz
    cd mpi4py-1.3.1
    module load openmpi/1.8.2
    python setup.py build
    python setup.py install
    
    - Download & build Sphinx
    wget "https://pypi.python.org/packages/source/S/Sphinx/Sphinx-1.3b2.tar.gz#md5=7ea36c45e795fd49185f8d4c075f6b62" -O "Sphinx-1.3b2.tar.gz"
    tar -xvf Sphinx-1.3b2.tar.gz
    cd Sphinx-1.3b2
    python setup.py build
    python setup.py install
    
    - Donwload & build pyqi
    wget "https://pypi.python.org/packages/source/p/pyqi/pyqi-0.3.2.tar.gz#md5=9507c06eeb22a816d963c860ad8e92ae" -O "pyqi-0.3.2.tar.gz"
    tar -xvf pyqi-0.3.2.tar.gz
    cd pyqi-0.3.2
    python setup.py build
    python setup.py install
    
    - Download & build cython
    wget http://cython.org/release/Cython-0.21.2.tar.gz -O Cython-0.21.2.tar.gz
    tar -xvf Cython-0.21.2.tar.gz
    cd Cython-0.21.2
    python setup.py build
    python setup.py install
    
    - Download hdf5 - already compiled, add lib dir to LD_LIBRARY_PATH. Create module for later use.
    wget "http://www.hdfgroup.org/ftp/HDF5/current/bin/linux-centos6-x86_64-gcc447/hdf5-1.8.14-linux-centos6-x86_64-gcc447-shared.tar.gz" - O hdf5-1.8.14-linux-centos6-x86_64-gcc447-shared.tar.gz
    cd hdf5-1.8.14-linux-centos6-x86_64-gcc447-shared
    module load openmpi/1.8.2
    sudo mkdir -p /export/apps/hdf5/1.8.14/
    sudo chown -R joguya:joguya /export/apps/hdf5/1.8.14/
    cp -r * /export/apps/hdf5/1.8.14/
    sudo chown -R root:root /export/apps/hdf5/1.8.14/
    
    - Download & build h5py
    wget "https://pypi.python.org/packages/source/h/h5py/h5py-2.4.0.tar.gz#md5=80c9a94ae31f84885cc2ebe1323d6758" -O h5py-2.4.0.tar.gz
    tar -xvf h5py-2.4.0.tar.gz
    cd h5py-2.4.0
    python setup.py build
    python setup.py install
    
    - Download & build biom-format - pycrust doesn't support biom-2.0 & above. use 1.3.1 instead
    wget https://pypi.python.org/packages/source/b/biom-format/biom-format-1.3.1.tar.gz -O "biom-format-1.3.1.tar.gz"
    tar -xvf biom-format-1.3.1.tar.gz
    cd biom-format-1.3.1
    python setup.py build
    python setup.py install
    
    - Download picrust
    wget "https://github.com/picrust/picrust/releases/download/1.0.0/picrust-1.0.0.tar.gz" -O "picrust-1.0.0.tar.gz"
    tar -xvf picrust-1.0.0.tar.gz
    cd picrust-1.0.0
    python setup.py build
    sudo mkdir -p /export/apps/picrust/1.0.0/bin/
    sudo chown -R joguya:joguya /export/apps/picrust/1.0.0/bin/
    python setup.py install --install-scripts=/export/apps/picrust/1.0.0/bin/
    sudo chown -R root:root /export/apps/picrust/1.0.0/bin/
    
    - revert permissions of $PYTHONHOME to root
    sudo chown -R root:root /export/apps/python/2.7.8
  • picrust module file
    #%Module1.0
    #####################################################################
    ##
    ## PICRUSt Modulefile
    ## by James Oguya, <j.oguya@cgiar.org>
    ## January, 2015
    ##
    
    set appname         picrust
    set version         1.0.0
    set prefix          /export/apps/${appname}/${version}
    set exec_prefix     ${prefix}/bin
    set url             "http://picrust.github.io/picrust/"
    set msg             "PICRUSt (pronounced “pie crust”) is a bioinformatics software package designed to predict metagenome functional content from marker gene (e.g., 16S rRNA) surveys and full genomes.\nOfficial Site: $url\n"
    
    module-whatis $msg
    
    proc ModulesHelp { } {
        puts stderr "$msg"
    }
    
    conflict            picrust
    
    prepend-path        PATH        ${exec_prefix}
    
    # load picrust dependencies
    if { ![is-loaded python/2.7.8] } {
        module load python/2.7.8
    }
    
    if { ![is-loaded hdf5/1.8.14] } {
        module load hdf5/1.8.14
    }
  • deploy the new module using ansible
    ansible-playbook site.yml -u provisioning -K -s --limit=compute --tags=module
picrust-software.txt · Last modified: 2015/01/08 17:33 by joguya