TAFFISH app for Salmon, a fast transcript-level RNA-seq quantification tool from COMBINE-lab.
| Field | Value |
|---|---|
| name | salmon |
| command | taf-salmon |
| kind | tool |
| TAFFISH version | 2.1.1-r1 |
| container image | ghcr.io/taffish/salmon:2.1.1-r1 |
| upstream | COMBINE-lab/salmon |
| upstream release | v2.1.1 |
| runtime version | salmon 2.1.1 |
| native platforms | linux/amd64, linux/arm64 |
This app packages the official Salmon v2.1.1 Rust CLI Linux release binaries:
salmon-cli-x86_64-unknown-linux-gnu.tar.xz- SHA256:
184d87c5f376b33074e5d5a26538201d3ab13a9c7ea57c7862359b0c0d678d0e
- SHA256:
salmon-cli-aarch64-unknown-linux-gnu.tar.xz- SHA256:
dea1432725e8530f90c75c0bcbbb8d7e88d145af23862aeecbbaa98bdb5f89fe
- SHA256:
The Dockerfile selects the correct upstream asset from Docker TARGETARCH,
verifies the checksum, installs the upstream salmon binary under
/opt/salmon/salmon, and exposes it as /usr/local/bin/salmon.
Salmon 2 is a from-scratch Rust rewrite. It keeps the core
salmon index -> salmon quant -> quant.sf workflow and downstream
quantification table formats, but it is a new major version with intentional
breaking changes.
The runtime image uses debian:13-slim and the official Linux GNU binary. The
v2 binary is much lighter than the old C++ distribution and depends only on the
standard GNU runtime libraries available in Debian 13, notably libgcc_s, libm,
and libc.
Show TAFFISH wrapper help:
taf-salmon --helpShow upstream Salmon help and version:
taf-salmon -- --help
taf-salmon -- --version
taf-salmon salmon --help
taf-salmon salmon --versionBuild a Salmon 2 index:
taf-salmon salmon index \
-t transcripts.fa \
-i salmon_index \
-k 31 \
-p 8Quantify single-end reads:
taf-salmon salmon quant \
-i salmon_index \
-l A \
-r reads.fq.gz \
-o sample_quant \
-p 8Quantify paired-end reads:
taf-salmon salmon quant \
-i salmon_index \
-l A \
-1 reads_1.fq.gz \
-2 reads_2.fq.gz \
-o sample_quant \
-p 8Use the Salmon 2 sketch mode:
taf-salmon salmon quant \
-i salmon_index \
-l A \
-r reads.fq.gz \
--sketch \
-o sample_sketch_quant \
-p 8Merge transcript TPMs from multiple quant.sf outputs:
taf-salmon salmon quantmerge \
--quants sample1_quant sample2_quant \
--names sample1 sample2 \
--column TPM \
-o merged_tpm.tsvThis is a normal TAFFISH tool app with command_mode = true.
For Salmon subcommands, prefer the explicit executable form:
taf-salmon salmon index ...
taf-salmon salmon quant ...
taf-salmon salmon quantmerge ...
taf-salmon salmon debug-map ...Do not rely on:
taf-salmon index ...In command mode, a non-option first argument can be interpreted as a container
executable name rather than as a Salmon subcommand. The explicit
taf-salmon salmon ... form is unambiguous and also lets users run the same
container environment directly.
For option-leading arguments to the default upstream command, this also works:
taf-salmon -- --version
taf-salmon -- --helpSalmon 2 accepts --no-version-check and SALMON_NO_VERSION_CHECK for
compatibility with C++ Salmon, but upstream documents them as no-ops: Salmon 2
does not contact the network for version checks. Keeping the flag in scripts is
safe, but no longer necessary.
Packaged upstream command:
salmon index: build a Salmon 2 index from transcript FASTAsalmon quant: quantify transcript abundance from reads or alignmentssalmon quant --sketch: use the Salmon 2 sketch / pseudoalignment pathsalmon quantmerge: merge Salmon quantification tablessalmon debug-map: diagnostic per-read best-mapping detailsalmon alevin: present only as an upstream migration message
Salmon 2 removed the legacy integrated salmon alevin implementation. This
is an upstream change, not a TAFFISH packaging omission. Upstream recommends the
piscem plus alevin-fry ecosystem for current single-cell workflows.
The old top-level salmon --cite command is not present in Salmon 2. Citation
information remains documented upstream and below.
Salmon 2.1.x writes an explicit Salmon index format version in info.json.
This package still writes index_version = 1, matching Salmon 2.1.0. Rebuild
all pre-2.1.0 indices before quantification; indices built by Salmon 2.1.0 are
expected to remain compatible with this 2.1.1 package.
Downstream quantification outputs remain compatible: quant.sf, cmd_info.json,
lib_format_counts.json, aux_info/meta_info.json, and inferential replicate
outputs are intended to stay drop-in for tximport, tximeta, fishpond, and swish.
The Salmon 2 migration guide and v2.1.0 release notes document removed, accepted-but-ignored, and new options. Notable changes include:
--sketchand--sketchStrictOrphansare new Salmon 2 quant options.--minAssignedFragsis removed.--featuresforindexis removed.- several niche C++ inference and alignment options are rejected or accepted only as compatibility no-ops.
Salmon 2.1.1 is a correctness-and-completeness patch over 2.1.0. Upstream
highlights include corrected num_mapped reporting for stranded libraries,
reworked handling of negligible abundance estimates with
inference_truncated_mass metadata, inferential replicate output rows aligned
with quant.sf, and bootstrap / Gibbs support in alignment mode. Standard
point-estimate quant.sf output remains compatible with common downstream
readers.
The preceding 2.1.0 release introduced the Salmon 2 index format marker,
applied -l A library-type filtering, fixed concordant-pairing and
anchored-alignment behavior, added default uni-MEM seeding, improved decoy-aware
indexing and sketch-mode behavior, emitted duplicate_clusters.tsv under
--keepDuplicates, and implemented fragment-length probability behavior around
--noFragLengthDist.
The app supports native Linux amd64 and native Linux arm64 through official
upstream binaries. No Docker platform emulation is required for either declared
platform.
The container includes the upstream binary, upstream README and BSD-3-Clause
license, GNU runtime libraries from Debian 13, and CA certificates. It does not
bundle reference transcriptomes, genomes, decoy lists, annotation files,
piscem, alevin-fry, simpleaf, oarfish, or external aligners.
The smoke tests are independent and run without network access. They check:
salmon 2.1.1runtime version and Rust-port help banner- no-op compatibility behavior for
--no-version-check - help for
index,quant,quantmerge, anddebug-map - dynamic library resolution through
ldd - a tiny Salmon 2 index build that writes
info.json,index.ssi, andindex.ctab, and recordsindex_version = 1 - a tiny single-end selective-alignment
quantrun that writesquant/quant.sf - a tiny
quant --sketchrun that writessketch_quant/quant.sf quantmergeon two syntheticquant.sfdirectories- the upstream
alevinremoval and migration message
These tests verify packaging, command availability, and small real execution paths. They are not a substitute for biological validation on production references and read sets.
- Upstream repository: https://github.com/COMBINE-lab/salmon
- Documentation: https://combine-lab.github.io/salmon/
- Release: https://github.com/COMBINE-lab/salmon/releases/tag/v2.1.1
- Migration guide: https://github.com/COMBINE-lab/salmon/blob/v2.1.1/MIGRATION.md
- Upstream license: BSD-3-Clause
- Citation: Patro et al. 2017, Nature Methods
- DOI:
10.1038/nmeth.4197 - PMID:
28263959