---
author: Sam White
toc-title: Contents
toc-depth: 5
toc-location: left
date: 2017-10-30 20:46:39+00:00
layout: post
slug: software-installation-pb-jelly-suite-and-blasr-on-emu
title: Software Installation - PB Jelly Suite and Blasr on Emu
categories:
  - 2017
  - Miscellaneous
tags:
  - blasr
  - emu
  - PacBio
  - pbjelly
---

I followed along with what [Sean previously did when installing on Emu](https://genefish.wordpress.com/2017/04/06/pbjelly-pt-2/), but it appears he didn't install it in the shared location to make it accessible to all users. So, I'm installing it in the `/home/shared/` directory.



### First, I need to install legacy blasr from PacBio:



Installed in 

    
    <code>cd /home/shared
    git clone https://github.com/PacificBiosciences/pitchfork.git
    cd pitchfork
    git checkout legacy_blasr
    make init PREFIX=/home/shared
    make blasr  PREFIX=/home/shared</code>



Ran into this error:


    
    <code>make[1]: Leaving directory '/home/shared/pitchfork/ports/thirdparty/zlib'
    make -C ports/thirdparty/hdf5 do-install
    make[1]: Entering directory '/home/shared/pitchfork/ports/thirdparty/hdf5'
    /home/shared/pitchfork/bin/pitchfork fetch --url https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.16/src/hdf5-1.8.16.tar.gz
    fetching https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.16/src/hdf5-1.8.16.tar.gz
    tar zxf hdf5-1.8.16.tar.gz -C /home/shared/pitchfork/workspace
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    Makefile:23: recipe for target '/home/shared/pitchfork/workspace/hdf5-1.8.16' failed
    make[1]: *** [/home/shared/pitchfork/workspace/hdf5-1.8.16] Error 2
    make[1]: Leaving directory '/home/shared/pitchfork/ports/thirdparty/hdf5'
    Makefile:211: recipe for target 'hdf5' failed
    make: *** [hdf5] Error 2</code>



Luckily, I came across [this GitHub Issue that addresses this exact problem.](https://github.com/PacificBiosciences/pitchfork/issues/289)

I found the functional URL and downloaded the [hdf5-1.8.16.tar.gz file](https://hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.16/src/hdf5-1.8.16.tar.gz) to `pitchfork/ports/thirdparty/hdf5`. Re-ran `make blasr  PREFIX=/home/shared` and things proceeded without issue. As [Sean noted, this part takes a long time.](https://genefish.wordpress.com/2017/04/06/pbjelly-pt-2/)

Load the setup-env.sh (this is located here: `/home/shared/pitchfork/setup-env.sh`


    
    <code>source setup-env.sh</code>



Blasr install is complete!



### Then, install networkx v1.1, [per the PB Jelly documentation](https://sourceforge.net/p/pb-jelly/wiki/Home/):



`python pip -m install networkx==1.1`



### On to PB Jelly!



Edited the `setup.sh` file and entered in the path to the PB Jelly install on Emu (`/home/shared/PBSuite_15.8.24/`):

[code lang=text]
#/bin/bash

#If you use a virtual env - source it here
#source /hgsc_software/PBSuite/pbsuiteVirtualEnv/bin/activate

#This is the path where you've install the suite.
export SWEETPATH=/home/shared/PBSuite_15.8.24
#for python modules 
export PYTHONPATH=$PYTHONPATH:$SWEETPATH
#for executables 
export PATH=$PATH:$SWEETPATH/bin
[/code]

Test it out with the test data:





  1. Edit the following file to reflect the paths on Emu to find this test data: `/home/shared/PBSuite_15.8.24/docs/jellyExample/Protocol.xml`




    
    <code>
    <jellyProtocol>
        <reference>/home/shared/PBSuite_15.8.24/docs/jellyExample/data/reference/lambda.fasta</reference>
        <outputDir>/home/shared/PBSuite_15.8.24/docs/jellyExample/</outputDir>
        <blasr>-minMatch 8 -minPctIdentity 70 -bestn 1 -nCandidates 20 -maxScore -500 -nproc 4 -noSplitSubreads</blasr>
        <input baseDir="/home/shared/PBSuite_15.8.24/docs/jellyExample/data/reads/">
            <job>filtered_subreads.fastq</job>
        </input>
    </jellyProtocol>
    </code>



I went through all the stages of the test data and got through it successfully. Seems ready to roll!
