Downloading and Installing SHORE

From SHORE wiki
Revision as of 16:33, 20 April 2011 by Felo80 (Talk | contribs)

Jump to: navigation, search

Download

Download the latest SHORE release from https://sourceforge.net/projects/shore/ or http://1001genomes.org/downloads/ or check out the git repository to compile SHORE from the very latest source:

> git clone git://shore.git.sourceforge.net/gitroot/shore/shore

Installing SHORE using the binary file

Navigate to the folder where you stored the downloaded file:

 > tar xzvf shore_<platform>_<version>.tar.gz

Now, adjust the PATH environment variable to include the extracted shore directory (or copy the shore binary to a location in your PATH).

> export PATH=$PATH:YOUR/SHORE/DIRECTORY

Installing SHORE using the source files

Please make sure that the following libraries and development headers are installed on your system:

Library Version Debian / Ubuntu package name
boost filesystem ≥1.34.1 libboost-filesystem-dev
boost iostreams ≥1.34.1 libboost-iostreams-dev
boost thread ≥1.34.1 libboost-thread-dev
GNU Scientific Library ≥0.11 libgsl0-dev
zlib ≥1.1.3 zlib1g-dev

Navigate to the directory where you stored the downloaded file

> tar xzvf shore_source_<version>.tar.gz
> cd shore_source_<version>

(or navigate to your shore git folder).

Please avoid installing any of the library sources or other third-party files in the SHORE directory, as these may interfere with SHORE's build system.

To build and install SHORE, simply type

 make
 sudo make install

This will install the SHORE binary into /usr/local/bin, the scoring matrix files into usr/local/share/shore and the documentation files into /usr/local/share/doc/shore.

To install into a different directory, use

 sudo make install prefix=<path>

to install SHORE into <path>/bin and <path>/share.

Notes

  • By default it is assumed that the boost libraries on your system are named e.g. libboost_filesystem-mt.so. If the -mt suffix is missing on your system, then SHORE must be built using make BOOST_SUFFIX="".
  • Note that on some platforms (e.g. BSD) the gmake command must be used instead of make.

Building SHORE for distributed Memory Setups

SHORE can be compiled to support distributed memory parallelization through the MPI (Message Passing Interface) standard.

Make sure to have appropriate MPI development files installed, e. g. MPICH2.

First, follow the above instructions for compiling shore from source.

To build and install the MPI-enabled SHORE binary, type

> make WITH_MPI=1
> make install WITH_MPI=1

This will install an additional command shore-mpi, which can be passed to an MPI process manager like mpiexec (see using SHORE with MPI).

Download and install an alignment tool

SHORE can currently be run with five different mapping tools. The native tool of SHORE is GenomeMapper, which can be downloaded from http://1001genomes.org/downloads.

Navigate to the folder where you stored the downloaded file:

> tar xzvf genomemapper.tar.gz
> cd genomemapper
> make

See the GenomeMapper manual for further details.

Now, copy the genomemapper and gmindex binaries to a location in your PATH, or set the GENOMEMAPPER environment variable as described below.

In addition to GenomeMapper, SHORE supports several third party aligners.

Installation of R

SHORE can optionally make use of R (http://www.r-project.org) to provide visualization, e.g. of run statistics. In order to use this feature, R has to be installed and the installation path has to be added to the $PATH environment variable. Note that it is not necessary to have R installed to run SHORE.

Environment variables

Since SHORE supports external mapping tools, it needs to know where these are located on the actual system. At least one environment variable describing the folder where the mapping tool is stored has to be set to run SHORE. Here we describe this exemplarily for the bash and show how to set up SHORE to run with GenomeMapper. Though all four mapping tools could be added at the same time. For tcsh or any other shell, users have to set the environment variables in an equivalent way. Add to your local .bashrc file ($HOME/.bashrc):

required:

export GENOMEMAPPER=/PATH/TO/GENOMEMAPPER/INSTALLATION/FOLDER/

optional:

export BWA=/PATH/TO/BWA/INSTALLATION/FOLDER/ export BOWTIE=/PATH/TO/BOWTIE/INSTALLATION/FOLDER/
export ELAND=/PATH/TO/ELAND/INSTALLATION/FOLDER/ export NOVO=/PATH/TO/NOVOCRAFT/INSTALLATION/FOLDER/

Alternatively the mapping tools may be added to your PATH variable:

export PATH=$PATH:’/PATH/TO/GENOMEMAPPER/INSTALLATION/FOLDER/’

TMP directory

Some files need to be sorted before SHORE can use them. Before using these input files SHORE checks if they are sorted in the appropriate way and in case of inconsistencies SHORE will start to sort them. E.g., initially alignments are sorted by read ids, but to analyze them they need to be sorted by the alignment location. Therefore sorting is required. SHORE implements its own sorting program. By default this program uses /tmp if the files to be sorted are large (which is usually the case). Therefore, it can happen that the disc space in /tmp is not sufficient. We recommend at least 200GB. This can be achieved by setting the TMPDIR environment variable to a file system with sufficient space.

 export TMPDIR=/PATH/TO/A/FOLDER/