The recommended way to install NGLess is through bioconda:
conda install -c bioconda ngless
This will install the most recent released version
pixi is an alternative to conda that installs NGLess into a
self-contained, per-project environment. The external tools that NGLess drives
(bwa, samtools, minimap2, megahit, prodigal) are dependencies of the
bioconda package, so they are pulled in automatically.
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]
ngless = ">=1.6.0,<2"
Then, from that directory, install and run it with:
pixi install
pixi run ngless --version
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.