v2.3.2
salmon 2.3.2
A performance-and-polish patch on 2.3.1. No index rebuild is required and
quant.sf is unchanged. Mapping output is byte-identical to 2.3.1 (verified on
real data), and the --deterministic guarantee — byte-identical results across
thread counts — is preserved and unchanged from 2.3.1.
Faster mapping
- Length-dispatched radix sort for uni-MEM grouping (#1044). The per-read
grouping of uni-MEMs by(transcript, orientation)now uses a radix sort sized
to the key range instead of a comparison sort, shaving ~2% off mapping time on
typical bulk runs. The change is purely a hot-path optimization: results are
output-neutral (byte-identicalquant.sfversus 2.3.1 at single thread, and
byte-identical--deterministicoutput across thread counts).
Richer meta_info.json and input diagnostics
- More run metadata in
aux_info/meta_info.json(#1044). The file gains
several additive fields —detected_library_type,num_orphan,
em_converged,num_em_iterations,range_factorization_bins,
pos_bias_correct,peak_rss_kb,total_time_seconds— and a structured
diagnosticsarray. All existing keys are unchanged, so downstream parsers
(e.g. tximport, pyroe) keep working. - Always-on library-type-mismatch detection (#1044). salmon now always
evaluates whether the observed fragment orientations match the requested
library type and surfaces it viadetected_library_type/diagnostics. It is
a pure observer — it does not change quantification. - The richer metadata and zero-cost bad-input diagnostics now also cover the
alignment (-a) and--radinput paths.
Configurable index-build scratch (--sshashTmpDir, --ramLimit)
salmon index --sshashTmpDir <DIR>(#1048) controls where the SSHash
minimizer sort writes its on-disk scratch. It now defaults to asshash_tmp
subdirectory of--tmpdir(or the index output directory when--tmpdiris
unset) and is cleaned up after the build — fixing the previous behavior of
leaving an emptysshash_tmp/directory in the current working directory. Use
the flag to place the sort scratch on a separate or faster disk.salmon index --ramLimit <GiB>(#1048) caps the RAM the external minimizer
sort may use (default8); a smaller value uses less memory but spills to disk
sooner. This is a cohesive replacement for the fix in #1045 (thanks
@BenjaminDEMAILLE, whose report motivated
the change).
Other changes
- Clarified
salmon quant --threadshelp text to note the auxiliary I/O
thread (#1047, #993) — thanks @BenjaminDEMAILLE. - Internal: salmon is now available in homebrew-core (
brew install salmon),
so the separate brewsci auto-bump workflow was removed.
Upgrading
Drop-in from 2.3.1: no index rebuild, and quantification results are unchanged.
The new --sshashTmpDir / --ramLimit options only affect salmon index
resource placement, not index content.
Install salmon-cli 2.3.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/COMBINE-lab/salmon/releases/download/v2.3.2/salmon-cli-installer.sh | shDownload salmon-cli 2.3.2
| File | Platform | Checksum |
|---|---|---|
| salmon-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| salmon-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| salmon-cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| salmon-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |