Installation
Octopus can be built and installed on most Unix based systems (e.g. Linux and MacOS). Windows has not been tested.
The recommend way to install Octopus for most users is:
You can then optionally add octopus
to your PATH
:
Then check the installation was successful:
#
Requirements- A C++14 compiler and compatibility standard library. Either GCC (version >= 9.3) or Clang (version >= 11.0) are recommended.
- Git version >= 2.5
- Boost version >= 1.65
- htslib version >= 1.4; version != 1.12
- GMP version >= 5.1.0
- CMake version >= 3.9
- Optional:
important
#
PythonFirst clone the git repository in your preferred directory:
The easiest way to install Octopus from source is with the Python3 installer script. To see the options available to this script run scripts/install.py --help
.
If all the requirements are accessible on your PATH
then simply run
otherwise you can specify paths to each dependency, for example, to set the compiler you'd use
By default, this installs to /bin
relative to where octopus is installed. To install to a different location (e.g. /usr/local/bin
) use:
You can also request all dependencies to be installed locally:
tip
If a build isn't working after an update then try adding --clean
to the install command.
#
Setting the build architectureBy default, the binary is optimised for the build machine architecture. If you need to run Octopus on another machine with a different architecture then use the --architecture
option:
This is passed to the -march compiler option.
#
CMakeIf Python3 isn't available, Octopus can be installed directly with CMake:
CMake will try to find a suitable compiler on your system, if you'd like you use a specific compiler use the -D
option, for example:
#
DockerPre-built Docker images are available on DockerHub:
important
The Octopus images on DockerHub are built to a Haswell architecture. This means that they will only work on Haswell (with AVX2) or newer machines.
You can also build a new image from the Dockerfile:
This is especially useful if you need to build to a specific architecture:
#
SingularityTo build a Singularity container directly from the DockerHub images use
#
CondaOctopus is available pre-built for Linux as part of Bioconda:
important
The Octopus package on Bioconda is built to a Haswell architecture. This means that it will only work on Haswell (with AVX2) or newer machines. If you need another architecture then consider using conda-build.