Installation
salmon 2.0 is a single self-contained binary. Pick whichever method fits your environment.
The release install script
downloads the right prebuilt binary for your OS/architecture and puts it on your
PATH:
curl --proto '=https' --tlsv1.2 -LsSf \ https://github.com/COMBINE-lab/salmon/releases/latest/download/salmon-cli-installer.sh | shPrebuilt binaries are provided for Linux and macOS on both x86-64 and aarch64. The x86-64 build targets a broad SIMD floor (SSE4.2-era) and selects AVX2 at runtime where available, so one binary runs on essentially any modern CPU.
If you have a Rust toolchain (≥ 1.91):
cargo install salmon-cliThis builds and installs the salmon binary from crates.io.
conda install -c bioconda -c conda-forge salmonThe salmon package tracks the 2.0 (Rust) line. The final C++ release remains
available as salmon-cpp for reproducibility.
Multi-arch images (linux/amd64 + linux/arm64) are published on every release
to Docker Hub and GHCR:
docker pull combinelab/salmon:latest # or pin a version: :2.2.1# mirror on GHCR:docker pull ghcr.io/combine-lab/salmon:latestThe image’s entrypoint is salmon, so arguments go straight to it (don’t
repeat salmon):
docker run --rm combinelab/salmon:latest --versionMount your data and run as usual — the first argument is the salmon subcommand:
# build an indexdocker run --rm -v "$PWD:/data" -w /data combinelab/salmon:latest \ index -t transcripts.fa -i salmon_index
# quantifydocker run --rm -v "$PWD:/data" -w /data combinelab/salmon:latest \ quant -i salmon_index -l A -1 r1.fq.gz -2 r2.fq.gz -p 8 -o outTags: latest (newest release), X.Y (e.g. 2.2), and exact X.Y.Z (e.g.
2.2.1) — pin X.Y.Z for reproducible pipelines.
git clone https://github.com/COMBINE-lab/salmoncd salmoncargo build --release# binary at target/release/salmonThe repository ships a .cargo/config.toml that pins the portable SIMD floor;
release builds use it automatically.
Verify
Section titled “Verify”salmon --versionsalmon --help