Installation

Linux is currently the only supported platform (due to pandora). For other platforms, the Docker container is the only option.

Conda

Conda (channel only) bioconda version Conda

conda install -c bioconda drprg

Container

Docker Repository on Quay

A Docker container is available for all commits/branches/versions. To view the available tags, visit https://quay.io/repository/mbhall88/drprg?tab=tags

For example, to use the latest commit on the main branch, the URI is

$ TAG="latest"
$ URI="quay.io/mbhall88/drprg:$TAG"

Docker

To run drprg using the above container with Docker

$ docker pull "$URI"
$ docker run -it "$URI" drprg --help

Singularity

To run drprg using the above container with Singularity

$ singularity exec "docker://$URI" drprg --help

Prebuilt binary

If you use the prebuilt binary, you must have the external dependecies installed separately.

curl -sSL drprg.mbh.sh | sh
# or with wget
wget -nv -O - drprg.mbh.sh | sh

You can also pass options to the script like so

$ curl -sSL drprg.mbh.sh | sh -s -- --help
install.sh [option]

Fetch and install the latest version of drprg, if drprg is already
installed it will be updated to the latest version.

Options
        -V, --verbose
                Enable verbose output for the installer

        -f, -y, --force, --yes
                Skip the confirmation prompt during installation

        -p, --platform
                Override the platform identified by the installer

        -b, --bin-dir
                Override the bin installation directory [default: /usr/local/bin]

        -a, --arch
                Override the architecture identified by the installer [default: x86_64]

        -B, --base-url
                Override the base URL used for downloading releases [default: https://github.com/mbhall88/drprg/releases]

        -h, --help
                Display this help message

Cargo

Crates.io

If installing via cargo, you must have the external dependecies installed separately.

$ cargo install drprg

Local

Minimum supported Rust version: 1.65.0

$ cargo build --release
$ target/release/drprg -h

Dependencies

drprg relies on:

You can install the dependencies using the provided justfile

# all dependencies
$ just deps

# pandora only
$ just pandora

# make_prg only
$ just makeprg

# mafft only
$ just mafft

# bcftools only
$ just bcftools

By default, the external dependencies will be downloaded to src/ext. This can be changed by specifying a path to EXTDIR when installing the external dependencies.

$ just deps EXTDIR="some/other/dir"