Downloading and Installing SHORE

From SHORE wiki
Revision as of 18:58, 14 July 2011 by Felo80 (Talk | contribs)

Jump to: navigation, search

Download

Download the latest SHORE binary or source code release

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).

For example, in a typical bash environment, add a similar line to the file $HOME/.bashrc:

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 - 1.47.0 libboost-filesystem-dev
boost iostreams 1.34.1 - 1.47.0 libboost-iostreams-dev
boost thread 1.34.1 - 1.47.0 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
 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

 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 also 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 alignment 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 alignment tools, it needs to know where these are located on the respective system. The easiest way to achieve this is making sure the alignment tools are installed in a location that is pointed to by the $PATH environment variable (exemplary description for the bash environment; for tcsh or any other shell, users have to set the environment variables in an equivalent way).

Add one or more similar lines to the file $HOME/.bashrc:

export PATH=$PATH:/ALIGNMENT_TOOL/INSTALL/DIRECTORY

Alternatively, individual environment variables may be set up for each specific alignment tool that should be used:

export GENOMEMAPPER=/GENOMEMAPPER/INSTALL/DIRECTORY

third-party tools:

export BWA=/BWA/INSTALL/DIRECTORY
export BOWTIE=/BOWTIE/INSTALL/DIRECTORY
export ELAND=/CASAVA/INSTALL/DIRECTORY

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 disk 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=/DIRECTORY/WITH/SUFFICIENT/SPACE