The recommended way to install NGLess is through bioconda:
conda install -c bioconda ngless
This will install the most recent released version
Pre-release/beta builds are published as .conda packages on the GitHub
releases page before they
reach bioconda. The easiest way to install one, together with the external tools
that NGLess drives (bwa, samtools, minimap2, megahit, prodigal), is
with pixi and a manifest that pins the beta package by URL.
pixi only reads a manifest named exactly pixi.toml, so create a directory for
the install and put the manifest there as pixi.toml (a ready-to-use copy ships
in the NGLess
repository):
[workspace]
channels = ["conda-forge", "https://conda.anaconda.org/bioconda"]
name = "ngless_test"
platforms = ["linux-64"]
version = "0.1.0"
[dependencies]
prodigal = ">=2.6.3,<3"
megahit = ">=1.2.9,<2"
samtools = ">=1.23.1,<2"
minimap2 = ">=2.31,<3"
bwa = ">=0.7.19,<0.8"
ngless = { url = "https://github.com/ngless-toolkit/ngless/releases/download/v1.6.0-beta2/ngless-1.6.beta2-ha35fb5c_0.conda" }
Then, from that directory, install and run it with:
pixi install
pixi run ngless --version
Update the url to point at the beta release you want to install.
Alternatively, a docker container with NGLess is available at docker hub:
docker run -v $PWD:/workdir -w /workdir -it nglesstoolkit/ngless:1.4.2 ngless --version
Adapt the mount flags (-v) as needed. You can use the latest tag to get a
more up to date version as well.
You can download a statically linked version of NGless 1.4.2.
This should work across a wide range of Linux versions (please report any issues you encounter):
curl -L -O https://github.com/ngless-toolkit/ngless/releases/download/v1.4.2/NGLess-v1.4.2-Linux-static-full
chmod +x NGLess-v1.4.2-Linux-static-full
./NGLess-v1.4.2-Linux-static-full
This downloaded file bundles bwa, samtools and megahit (also statically linked).
Since version 1.6, NGLess is written in Rust and builds with a standard Cargo toolchain (see the Rust implementation page for background).
The following sequence of commands should download and build the software
git clone https://github.com/ngless-toolkit/ngless
cd ngless
cargo build --release
This produces the binary at target/release/ngless. The first build takes a
while as Cargo downloads and compiles all dependencies; subsequent builds are
much faster.
The external tools that NGLess drives (bwa, samtools, minimap2, megahit,
prodigal) are not bundled by a source build: they must be available on your
$PATH (or pointed to via the NGLESS_<TOOL>_BIN environment variables, e.g.
NGLESS_SAMTOOLS_BIN). The versions pinned for testing are listed in pixi.toml.
cargo build --release: compile the optimized ngless binary
cargo test: run the unit tests
cargo fmt --all -- --check: check formatting (enforced in CI)
The functional/parity test suite is run with run-tests.sh, pointed at the build
via the NGLESS_BIN environment variable:
NGLESS_BIN=target/release/ngless ./run-tests.sh
Privacy: Usage of this site follows EMBL’s Privacy Policy. In accordance with that policy, we use Matomo to collect anonymised data on visits to, downloads from, and searches of this site. Contact: bork@embl.de.