Direct Installation

You may choose to install dependencies yourself (typically using your distribution’s package manager) or via the lorax_build.sh build script. The latter is recommended because it has pinned dependencies.

Installation via lorax_scripts.sh

We strongly recommend that you do the installation in a clean directory as a non-privileged user. The suggested location for that directory is ~/.lorax/build. If you agree with this choice, you can start your installation by issuing the following commands:

mkdir -p ~/.lorax/build
cd ~/.lorax/build
curl -L -o lorax_tool https://raw.githubusercontent.com/LegumeFederation/lorax/master/install/lorax_tool.sh
chmod 755 lorax_tool

If you wish to customize anything about the installation, you should issue the following command:

./lorax_tool create_scripts

Then, review and edit the my_build.sh script to reflect the directories you wish to use for your installation.

After you are happy with the configuration, run:

./lorax_tool build

to do the build. After the build completes without error, follow the configuration instructions.

Installation via Package Manager

The following are the dependencies for installing and running lorax, with tested versions shown in parentheses:

Dependency Version
C compiler clang (8.1.0 on MacOS and 3.4.1 on FreeBSD) gcc (7.1.0 on linux and 4.8.5 on MacOS). Note that MacOS requires BOTH clang and gcc.
git Any version supported by GitHub should work.
python python 3 with numpy (3.6.2, minimum of 3.4.0)
hmmer 3.1b2
raxml 8.2.11
redis 4.0.1
nginx 1.13.4

lorax requires a more recent version of setuptools than that distributed with python 3.6, as well as the use of pip. Both of these may break distro package manager assumptions, so you will need to either create a working virtual environment or a root environment in user space.

I prefer to use the name loraxenv for the virtual environment to prevent confusion between package and environment names. You should create this environment as the user under which you intend the web server to run, using the python version you wish to use selected as default, with the following commands:

python3.6 -m virtualenv loraxenv
cd loraxenv
source bin/activate

Make sure that the python and pip commands run python and pip from the virtual environment; if not, you will need to create symlinks in the virtual environment binary directory.

Next use pip to install dependencies:

pip install -U setuptools
pip install -e 'git+https://github.com/LegumeFederation/supervisor.git@4.0.0#egg=supervisor==4.0.0'
pip install -U lorax

The lorax_env script is the only executable that you will need to control lorax and associated process. You should usually not put the entire lorax bin/ directory into your path, as this may cause binaries from the virtual environment such as python to be used in contexts where they were not intended to be used. The easiest way to do this is with a symlink to a directory on your path, typically ~/bin:

ln -s /path/to/loraxenv/bin/lorax_env ~/bin

You no longer need to work inside the virtual environment you created. Leave the virtual environment with the following command:

deactivate

Next, follow the configuration instructions.