- Prerequisites to build from source
- Runtime prerequisites
- Operating System Guidelines
- Linux Package Additions
- Build procedure
- Demo
It is recommended to start from one of the binary distributions on the releases page if a suitable binary is available (note that the CentOS 6 binary is expected to support a large variety of linux systems). If building from source, then start from the release distributions of the source code, also provided on the releases page. Cloning/archiving the source directly from git could result in missing version number entries, undesirably stringent build requirements or an unstable development version between releases. Additional build notes for methods developers can be found in the developer guide.
A C++11 compiler is required. These are the current minimum compiler versions enforced by the build system:
- python 2.6+
- gcc 4.8+ OR clang 3.2+ (OR Visual Studio 2013+, see windows note below)
- libz (including headers)
- python 2.6+
Strelka is known to build and run on the following linux distributions (with additional packages as described below):
- Ubuntu 12.04, 14.04, 16.04
- CentOS 6, 7
Strelka builds and passes basic tests on OS X 10.9, but full WGS analyses are not tested for this platform.
Strelka does not build or run on windows. Library-level compilation is possible for Visual Studio users. See the developer guide for details.
apt-get update -qq
apt-get install -qq bzip2 gcc g++ make python zlib1g-dev
apt-get update -qq
apt-get install -qq bzip2 gcc g++ make python python-software-properties zlib1g-dev
# add gcc 4.8 from ubuntu ppa:
add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt-get update -qq
apt-get install -qq gcc-4.8 g++-4.8
# Prior to build configuration, set CC/CXX to gcc 4.8:
export CC=/usr/bin/gcc-4.8
export CXX=/usr/bin/g++-4.8
yum install -y tar bzip2 make gcc gcc-c++ libstdc++-static zlib-devel
yum install -y tar wget bzip2 make gcc gcc-c++ zlib-devel
# Add gcc 4.9 from developer tools v3:
yum install -y centos-release-scl
yum install -y devtoolset-3-gcc devtoolset-3-gcc-c++
# Prior to build configuration, set CC/CXX to gcc 4.9:
export CC=/opt/rh/devtoolset-3/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-3/root/usr/bin/g++
After acquiring a release distribution of the source code, the build procedure is:
- Unpack source code
- Create and move to a separate
build
directory (out-of-source build is required.) - Configure build
- Compile & Install
Example (building on 4 cores):
wget https://github.com/Illumina/strelka/releases/download/v${STRELKA_VERSION}/strelka-${STRELKA_VERSION}.release_src.tar.bz2
tar -xjf strelka-${STRELKA_VERSION}.release_src.tar.bz2
mkdir build && cd build
# Ensure that CC and CXX are updated to target compiler if needed, e.g.:
# export CC=/path/to/cc
# export CXX=/path/to/c++
../strelka-${STRELKA_VERSION}.release_src/configure --jobs=4 --prefix=/path/to/install
make -j4 install
Note that there are two other dependencies: cmake and boost. These are different than the requirements discussed above, in that they can optionally be provided by the user. They will automatically be built from source if not detected. The minimum required versions of these tools for users planning to provide them to the build process are
- cmake 2.8.12+
- boost 1.58.0+ (must include static libraries)
...the build process will find an existing cmake version on the user's PATH
and an existing boost installation
indicated by the environment variable BOOST_ROOT
.
If not detected, then versions of cmake and boost will be built from source and installed to temporary locations under
the build directory automatically. This step can make installation more convenient, but does increase the time
required for configuration. To accelerate this process the configuration step can be parallelized over multiple cores,
as demonstrated in the example above with the--jobs=4
argument to configure.
On a typical workstation using 4 cores, installation from source should take 5-10 minutes, depending on whether the cmake and boost dependencies discussed above need to be built from source.
To see more configure options, run:
${STRELKA_SRC_PATH}/configure --help
After Strelka is built the installation directory can be relocated to another directory. All internal paths used in the workflow are relative.
To help verify a successful installation, Strelka includes several small demo data sets and test scripts. After completing the installation steps above, the somatic demo can be run as follows:
bash ${STRELKA_INSTALL_PATH}/bin/runStrelkaSomaticWorkflowDemo.bash
This script creates a StrelkaSomaticDemoAnalysis
directory under the current
working directory, runs the Strelka somatic workflow on a small demo dataset,
and compares the somatic small variant output to an expected result. A similar
script is provided for the germline analysis workflow. Both demos should complete
in less than 1 minute on a typical workstation.