Releases: COMBINE-lab/salmon
salmon 2.0.1
salmon 2.0.1
A patch release with two internal accuracy improvements to selective-alignment
quantification. No breaking changes, no new options, and no output-format
changes — indices built with 2.0.0 work unchanged (no rebuild needed), and
quant.sf / inferential-replicate outputs are produced exactly as before.
What changed
Both changes refine how fragments are weighted across multimapping
transcripts (paralogs and alternative isoforms), bringing the estimates closer to
C++ salmon's:
- Fragment-length probability in the equivalence-class weights. The
selective-alignment equivalence-class weights now include the fragment-length
term (salmon'slogFragProb), which had been omitted. Without it the
conditional weights were flattened for transcripts whose implied insert size
differs, slightly degrading how shared reads are split. - Abundance-aware fragment-length-distribution training. The fragment-length
distribution is now trained from fragments sampled by their abundance-aware
posterior (matching salmon), so reads shared between near-duplicate transcripts
contribute the dominant transcript's implied length. This concentrates the
learned distribution as C++ salmon does.
Impact
On benchmark data the per-transcript agreement with C++ salmon improves, and the
remaining difference sits at the run-to-run noise floor:
- Real data (GEUVADIS
ERR188044, GRCh38 cDNA): per-transcript Spearman vs C++
salmon 0.9705 → 0.9710; NumReads Pearson 0.9996; mapping rate
unchanged. - Simulated ground truth (human, polyester): the per-transcript Spearman gap to
C++ salmon shrinks to ≤ 0.002 across difficulty levels and both the default
(VBEM) and--useEMoptimizers — at/near the noise floor.
Performance and memory are unchanged, and runs remain reproducible (run-to-run
variation is unaffected). Existing 2.0.0 results are still valid; re-quantifying
picks up the slightly improved estimates.
Installation
Unchanged from 2.0.0:
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/COMBINE-lab/salmon/releases/latest/download/salmon-cli-installer.sh | sh
# or: cargo install salmon-cli | conda install -c bioconda -c conda-forge salmonDocumentation
Full docs at https://combine-lab.github.io/salmon.
salmon 2.0.0 — the Rust rewrite
salmon 2.0.0 — the Rust rewrite
salmon 2.0.0 is the first release of a from-scratch Rust reimplementation of
salmon. It keeps the workflow you know (salmon index → salmon quant →
quant.sf) and the output formats your downstream tools already read, while
shipping as a single portable binary that is far easier to build, install, and
maintain. This is a new major version, so it makes a few deliberate breaking
changes; please read below and consult the documentation.
⚠️ Breaking change: rebuild your index
2.0 uses a new index format and cannot read C++ (pufferfish) indices. Rebuild
with salmon index from 2.0. Pointing 2.0 at a C++ index — or C++ salmon at a
2.0 index — is detected and rejected with a clear, actionable error rather than
failing cryptically.
Your results files are unchanged: quant.sf, cmd_info.json,
lib_format_counts.json, and aux_info/meta_info.json are drop-in, and the
inferential-replicate output (bootstrap and Gibbs) is written in the same
format C++ salmon used — so tximport / tximeta / fishpond / swish keep working
without changes.
Highlights
- Single portable binary. No Boost, no CMake, no system libraries to install.
Get it via a one-line install script,cargo install, conda, or Docker. - Same workflow and outputs, validated against C++ salmon: selective-alignment
quantification matches the C++ result to a per-transcript Pearson ≈ 0.999. - New alignment-free
--sketchmode implementing an even lighter-weight variant of pseudoalignment for maximum throughput when you want it. - Based on sshash-rs and piscem-rs unifying the underlying index and mapping speed, and frugal size with the piscem mapper.
- Live progress during mapping (a progress display on an interactive terminal; arguably nicer than the C++ progress display).
- Now BSD-3-Clause licensed (was GPL-3.0).
- Feature / command line changes Some of the least-frequently used or niche features were removed (some have stubbed command line parameters) to clean up the implementation and reduce complexity for uncommon features. Please let us know if this affects your workflow as we consider new features and what features warrant being added back.
Installation
# prebuilt binary (Linux & macOS, x86-64 & aarch64)
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/COMBINE-lab/salmon/releases/latest/download/salmon-cli-installer.sh | sh
# or via cargo (Rust ≥ 1.91)
cargo install salmon-cli
# or via conda (once the 2.0 recipe lands on bioconda)
conda install -c bioconda -c conda-forge salmon
# or Docker
docker run --rm combinelab/salmon:latest salmon --versionPrebuilt binaries are attached to this release for x86_64/aarch64 Linux and
macOS.
Migrating from C++ salmon
See MIGRATION.md
for the full flag-by-flag mapping. The essentials:
- Rebuild your index (above).
salmon alevinis removed — single-cell quantification now lives in the
alevin-fry ecosystem;salmon alevin …prints a redirect.- A handful of options are removed (with a helpful error) or accepted and
ignored where the behavior is now the default or handled differently — the
migration guide lists each. salmon swimstill swims. 🐟
Performance & accuracy
salmon 2.0 was developed and validated by cross-checking against C++ salmon
throughout. On our benchmarks (human GEUVADIS ERR188044 against a GRCh38 cDNA
index, and yeast ERR458493), selective-alignment quantification reproduces C++
salmon to per-transcript Pearson ≈ 0.999, index construction is faster, and peak
memory is lower. The new --sketch mode is competitive in accuracy with
dedicated pseudoaligners while integrating salmon's full bias-aware abundance
model.
The final C++ release
salmon 1.12.0 is the last C++ release. Its source is preserved on the
cpp branch, and it remains
installable as the salmon-cpp conda package for reproducibility or
emergency fixes. New development happens here, in Rust.
Documentation
Full docs — installation, library types, selective-alignment vs. sketch mode,
inferential replicates, the migration guide, the CLI reference, and a precise
specification of every output file — are at
https://combine-lab.github.io/salmon.
Citation
If you use salmon, please cite:
Patro, R., Duggal, G., Love, M. I., Irizarry, R. A., & Kingsford, C. (2017).
Salmon provides fast and bias-aware quantification of transcript expression.
Nature Methods, 14(4), 417–419. https://doi.org/10.1038/nmeth.4197
Acknowledgements
Thank you to the salmon user community, and to everyone whose bug reports,
feature requests, and feedback over the C++ years shaped this rewrite.
salmon 1.12.0 — final C++ release
salmon 1.12.0 — release notes
This is the final release of the C++ implementation of salmon. Future
development continues in salmon 2.0, a from-scratch Rust rewrite that is
faster, easier to build and install, and that fixes the issues below natively.
The 1.12.0 line will remain available for reproducibility and emergency fixes
(see "Continuity" below), but new features and performance work land in 2.0.
1.12.0 is a correctness-focused release. Every fix here was discovered while
building and cross-validating the Rust rewrite against C++ salmon, and then
backported to C++ so existing 1.11.x users benefit immediately. Indices built
with salmon 1.11.x are compatible — no reindexing is required for 1.12.0.
Correctness fixes
1. Selective alignment: k-mer orientation in the SSHash streaming lookup
The SSHash streaming k-mer lookup reused the canonical-relative orientation
formula for a query-relative result, flipping hitFW for non-canonical query
k-mers. Reads whose seed support reduced to a single k-mer (e.g. short reads with
one sequencing error) could be mis-placed on the wrong strand and discarded.
- Affected versions: SSHash-based releases only (salmon ≥ 1.11.0).
- pufferfish pinned to the streaming
getRefPosorientation fix (5dce7f4).
2. --seqBias: observed sequence-bias model was never trained
Fix: numBiasSamples was zeroed in the pipeline context before option parsing applied
its default, so the bias-sampling gate never fired. The observed ("foreground")
model stayed uniform and the correction degenerated to 1 / P_expected(context),
inflating effective lengths (often beyond transcript length). Fixed for both
the reads path and the alignment-based (-a) path.
- Affected versions: salmon ≥ 1.11.0 only.
- Impact: yeast
ERR458493— observed-bias samples collected 0 → ~430k;
transcripts witheffLen > length4,015/6,571 → 117/6,571; bias-corrected
effective lengths now match an independent re-implementation at Pearson
0.91 → 0.99943.--numBiasSamplesnow also takes effect (it previously did
not). Clean non-bias runs are unaffected.
3. Alignment mode: pair mates by mate fields, not stream adjacency
Improvement: This was not a correctness bug, but was a laxity in assuming the precise structure of the input.
BAMQueue assumed paired-end records are adjacent in the BAM stream. Aligners
that emit all R1 records then all R2 records within a name-collated group
(e.g. bowtie2 -k/-a) violated this, causing salmon to pair read1-with-read1
(same-orientation) and silently drop fragments. Mates are now paired via
reciprocal RNEXT/PNEXT (disambiguated by the HI tag) using a small
read-ahead interleave buffer.
4. Positional bias: additive-smoothed factor + 3′ coordinate fix
Improvement: Corrected the positional-bias factor to use additive smoothing and fixed the 3′
coordinate computation used when applying the positional model.
5. --writeMappings: always flush SAM records to disk
Fix: The SAM/BAM sink could retain buffered records at shutdown; output is now
force-flushed so all mapping records are written.
6. BAMQueue: do not pre-allocate a 2M-object pool at startup
Improvement: Removed an unconditional ~2M-object pool allocation at process start, reducing
startup memory and latency for alignment-mode runs.
Continuity
- salmon 1.12.0 is the last C++ release. Development moves to salmon 2.0
(Rust): a single portable binary,cargo/conda installation, the same
quant.sfoutput (drop-in for tximport), compatible inferential-replicate
output (bootstrap/Gibbs), and a new alignment-free--sketchmode. - The C++ source is preserved on the
cppbranch; asalmon-cppconda package
may be provided for users who need the C++ line for reproducibility or
emergency fixes. - salmon 2.0 indices must be rebuilt (new index format); 1.12.0 indices are
unchanged from 1.11.x.
Acknowledgements
These fixes came out of the salmon Rust rewrite effort and the cross-validation
between the two implementations.
Full Changelog: v1.11.4...v1.12.0
v1.11.4
Released: 2026-03-11
Full Changelog: v1.10.3...v1.11.4
Overview
Salmon v1.11.2 is a major release representing the most substantial architectural overhaul of the salmon codebase since the transition to the pufferfish index in v1.0.0. The changes span the full source tree — from the core indexing data structure to the build system — and are motivated by a commitment to long-term maintainability and future extensibility. At the same time, the bulk RNA-seq quantification functionality and all output formats are fully preserved; users upgrading from v1.10.3 should expect identical results from salmon quant on the same data, modulo the index rebuild described below.
⚠️ Action required: Due to a fundamental change in the underlying index format (see below), all users must rebuild their salmon indices before using v1.11.2. Indices built with v1.10.3 or earlier are not compatible with this release.
🗑️
salmon alevinhas been removed. See the migration guidance below.
New SSHash-based Index
The most significant change in this release is the adoption of a fundamentally new and more efficient k-mer index based on SSHash, a space-efficient and highly cache-friendly dictionary for k-mer sets. This replaces the prior colored compacted de Bruijn graph (ccDBG) index built on top of pufferfish / TwoPaCo.
The SSHash index offers:
- Reduced memory footprint at both index construction and query time
- Faster k-mer lookup via a more cache-friendly hash-based design
- Simpler and more robust index construction — relies on SShash's external memory minimizer bucket based index construction.
- A cleaner foundation for future algorithmic development
The SSHash data structure is described in:
Giulio Ermanno Pibiri. Sparse and skew hashing of k-mers. Bioinformatics, 38(Supplement 1):i185–i194, 2022. https://academic.oup.com/bioinformatics/article/38/Supplement_1/i185/6617506
The integration of SSHash into salmon's mapping pipeline, and its performance and accuracy relative to the previous index, is described in the following preprint:
Pibiri GE, and Patro R. Optimizing sparse and skew hashing: faster k-mer dictionaries. bioRxiv 2026.01.21.700884. Optimizing sparse and skew hashing: faster k-mer dictionaries
https://www.biorxiv.org/content/10.64898/2026.01.21.700884v1
Because the index format has changed fundamentally, all previously built salmon indices must be rebuilt using salmon index with this new version. Rebuilding is straightforward and does not require any changes to your reference files or workflow commands beyond directing salmon to a fresh output directory.
Removal of salmon alevin — Migration to piscem → alevin-fry
salmon alevin, the integrated single-cell RNA-seq processing subcommand, has been permanently removed in this release. This decision reflects the maturation of purpose-built, actively developed alternatives that substantially outperform the legacy salmon alevin pipeline in speed, memory efficiency, protocol flexibility, and accuracy.
Users who previously used salmon alevin should migrate to the piscem + alevin-fry pipeline, which has been the recommended approach for single-cell processing since the introduction of alevin-fry in salmon v1.4.0. The piscem → alevin-fry stack:
- Provides the same (and extended) protocol support (10x Chromium, Drop-seq, sci-RNA-seq, SPLiT-seq, etc.)
- Uses the same RAD file format as
salmon alevin --rad/--sketchfor downstream processing - Offers dramatically improved memory efficiency and throughput
- Is actively maintained and receives new features and protocol support
- Supports decoy-aware mapping via piscem's built-in genome+transcriptome index
For documentation and tutorials, see:
- piscem: https://github.com/COMBINE-lab/piscem
- alevin-fry: https://github.com/COMBINE-lab/alevin-fry and https://alevin-fry.readthedocs.io/en/latest/
- simpleaf (recommended end-to-end workflow tool): https://github.com/COMBINE-lab/simpleaf
Major Source-Tree Refactoring and Build System Modernization
Alongside the index overhaul, this release incorporates a comprehensive, multi-stage refactoring of the entire salmon source tree. The goal of this work is to reduce technical debt accumulated since the project's origin, establish clearer module boundaries, and make the codebase more approachable for contributors and more tractable for future algorithmic additions. No changes to salmon's quantification logic, algorithms, or output formats were made as part of this refactoring.
Key refactoring work includes:
Source Tree Reorganization
- All internal implementation headers have been moved under a dedicated
salmon/internal/namespace, clearly separating the public API surface from implementation details. - Headers were consolidated into logical groupings:
- Model headers (
salmon/internal/model/) - Alignment and output headers (
salmon/internal/alignment/, collapsed from multiple sub-directories) - Inference headers (
salmon/internal/inference/) - Core state and utility headers (
salmon/internal/core/,salmon/internal/util/) - Transcript state moved to
salmon/internal/
- Model headers (
- Legacy top-level "wrapper" headers (thin shims that re-included internal headers) have been completely removed.
CMake Build System Overhaul
- The monolithic top-level
CMakeLists.txthas been split into focused, single-responsibility modules, dramatically improving build system readability and maintainability. - Global build state in
src/CMakeLists.txthas been reduced; target properties are now propagated explicitly viatarget_*directives. - CMake module dependencies have been tightened so that each module declares only what it directly requires.
- The dependency fallback integration has been modernized, improving behavior when system-installed versions of libraries are absent.
- Stale linker search paths that accumulated over many releases have been pruned.
- The staged external include directory preference, which could cause subtle order-of-inclusion bugs, has been removed.
I/O Modernization
- The legacy
FastxParserFASTQ/FASTA reading layer has been replaced with a newFQFeederadapter, providing a cleaner interface and resolving latent compatibility issues with newer compilers.
Dependency Updates
- Eigen vendored dependency updated to v3.4.1 (from an older embedded copy); Eigen vendor extras and unnecessary files have been pruned, and file modes normalized.
- spdlog (vendored) has been updated with fixes for compatibility with modern versions of
{fmt}. - libgff dependency pinned to v2.0.1.
- pufferfish submodule pinned to a dedicated
for-salmonbranch commit, decoupling salmon's build from upstream pufferfish development velocity.
Compatibility and Output
With the exception of the index format change and the removal of salmon alevin:
- All
salmon quantfunctionality is preserved. The selective-alignment algorithm, EM/VB inference, bias correction models, library type detection, equivalence class output, and all other bulk quantification features are unchanged. - All output formats are unchanged.
quant.sf,meta_info.json,lib_format_counts.json,aux_info/, bootstrap output, and all other outputs are bit-for-bit compatible with v1.10.3 output (given identical inputs and a freshly built index). - Command-line interface is unchanged for
salmon quantandsalmon index. No flags have been added or removed. - Alignment-based mode (
salmon quant -a) is fully preserved.
Upgrading from v1.10.3
- Replace your salmon binary with the v1.11.2 release.
- Rebuild your index:
(Passing multiple threads with
salmon index -t transcriptome.fa -d decoys.txt -i salmon_index_v1.11.2/
-pis recommended to reduce index build time.) - If you use
salmon alevin, migrate to piscem + alevin-fry. Allsalmon quantand other commands are otherwise drop-in compatible.
Downloads
Pre-compiled binaries are available below for:
| Platform | File |
|---|---|
| Linux x86_64 | salmon-linux-x86_64.tar.gz |
| Linux aarch64 | salmon-linux-aarch64.tar.gz |
| macOS arm64 (Apple Silicon) | salmon-macos-arm64.tar.gz |
| macOS x86_64 | salmon-macos-x86_64.tar.gz |
References
-
Pibiri GE. Sparse and skew hashing of K-mers Bioinformatics. 2022;38(Supplement 1):i185–i194. https://academic.oup.com/bioinformatics/article/38/Supplement_1/i185/6617506
-
Pibiri GE, Patro R. Optimizing sparse and skew hashing: faster k-mer dictionaries bioRxiv 2026. https://www.biorxiv.org/content/10.64898/2026.01.21.700884v1
-
He D, Zakeri M, Sarkar H, Soneson C, Srivastava A, Patro R. Alevin-fry unlocks rapid, accurate and memory-frugal quantification of single-cell RNA-seq data. Nat Methods. 2022. https://www.nature.com/articles/s41592-022-01408-3
v1.11.3
Full Changelog: v1.11.2...v1.11.3
v1.11.2
Salmon v1.11.2 Release Notes
Released: 2026-03-11
Full Changelog: v1.10.3...v1.11.2
Overview
Salmon v1.11.2 is a major release representing the most substantial architectural overhaul of the salmon codebase since the transition to the pufferfish index in v1.0.0. The changes span the full source tree — from the core indexing data structure to the build system — and are motivated by a commitment to long-term maintainability and future extensibility. At the same time, the bulk RNA-seq quantification functionality and all output formats are fully preserved; users upgrading from v1.10.3 should expect identical results from salmon quant on the same data, modulo the index rebuild described below.
⚠️ Action required: Due to a fundamental change in the underlying index format (see below), all users must rebuild their salmon indices before using v1.11.2. Indices built with v1.10.3 or earlier are not compatible with this release.
🗑️
salmon alevinhas been removed. See the migration guidance below.
New SSHash-based Index
The most significant change in this release is the adoption of a fundamentally new and more efficient k-mer index based on SSHash, a space-efficient and highly cache-friendly dictionary for k-mer sets. This replaces the prior colored compacted de Bruijn graph (ccDBG) index built on top of pufferfish / TwoPaCo.
The SSHash index offers:
- Reduced memory footprint at both index construction and query time
- Faster k-mer lookup via a more cache-friendly hash-based design
- Simpler and more robust index construction — eliminating the multi-stage TwoPaCo ccDBG build pipeline and its associated intermediate files and disk usage
- A cleaner foundation for future algorithmic development
The SSHash data structure is described in:
Giulio Ermanno Pibiri. SSHash: Locality-Preserving Minimal Perfect Hashing of k-mers. Bioinformatics, 38(Supplement 1):i185–i194, 2022. https://academic.oup.com/bioinformatics/article/38/Supplement_1/i185/6617506
The integration of SSHash into salmon's mapping pipeline, and its performance and accuracy relative to the previous index, is described in the following preprint:
Pibiri GE, Patro R, et al. [preprint title]. bioRxiv 2026.01.21.700884. https://www.biorxiv.org/content/10.64898/2026.01.21.700884v1
Because the index format has changed fundamentally, all previously built salmon indices must be rebuilt using salmon index with this new version. Rebuilding is straightforward and does not require any changes to your reference files or workflow commands beyond directing salmon to a fresh output directory.
Removal of salmon alevin — Migration to piscem → alevin-fry
salmon alevin, the integrated single-cell RNA-seq processing subcommand, has been permanently removed in this release. This decision reflects the maturation of purpose-built, actively developed alternatives that substantially outperform the legacy salmon alevin pipeline in speed, memory efficiency, protocol flexibility, and accuracy.
Users who previously used salmon alevin should migrate to the piscem + alevin-fry pipeline, which has been the recommended approach for single-cell processing since the introduction of alevin-fry in salmon v1.4.0. The piscem → alevin-fry stack:
- Provides the same (and extended) protocol support (10x Chromium, Drop-seq, sci-RNA-seq, SPLiT-seq, etc.)
- Uses the same RAD file format as
salmon alevin --rad/--sketchfor downstream processing - Offers dramatically improved memory efficiency and throughput
- Is actively maintained and receives new features and protocol support
- Supports decoy-aware mapping via piscem's built-in genome+transcriptome index
For documentation and tutorials, see:
- piscem: https://github.com/COMBINE-lab/piscem
- alevin-fry: https://github.com/COMBINE-lab/alevin-fry and https://alevin-fry.readthedocs.io/en/latest/
- simpleaf (recommended end-to-end workflow tool): https://github.com/COMBINE-lab/simpleaf
Major Source-Tree Refactoring and Build System Modernization
Alongside the index overhaul, this release incorporates a comprehensive, multi-stage refactoring of the entire salmon source tree. The goal of this work is to reduce technical debt accumulated since the project's origin, establish clearer module boundaries, and make the codebase more approachable for contributors and more tractable for future algorithmic additions. No changes to salmon's quantification logic, algorithms, or output formats were made as part of this refactoring.
Key refactoring work includes:
Source Tree Reorganization
- All internal implementation headers have been moved under a dedicated
salmon/internal/namespace, clearly separating the public API surface from implementation details. - Headers were consolidated into logical groupings:
- Model headers (
salmon/internal/model/) - Alignment and output headers (
salmon/internal/alignment/, collapsed from multiple sub-directories) - Inference headers (
salmon/internal/inference/) - Core state and utility headers (
salmon/internal/core/,salmon/internal/util/) - Transcript state moved to
salmon/internal/
- Model headers (
- Legacy top-level "wrapper" headers (thin shims that re-included internal headers) have been completely removed.
CMake Build System Overhaul
- The monolithic top-level
CMakeLists.txthas been split into focused, single-responsibility modules, dramatically improving build system readability and maintainability. - Global build state in
src/CMakeLists.txthas been reduced; target properties are now propagated explicitly viatarget_*directives. - CMake module dependencies have been tightened so that each module declares only what it directly requires.
- The dependency fallback integration has been modernized, improving behavior when system-installed versions of libraries are absent.
- Stale linker search paths that accumulated over many releases have been pruned.
- The staged external include directory preference, which could cause subtle order-of-inclusion bugs, has been removed.
I/O Modernization
- The legacy
FastxParserFASTQ/FASTA reading layer has been replaced with a newFQFeederadapter, providing a cleaner interface and resolving latent compatibility issues with newer compilers.
Dependency Updates
- Eigen vendored dependency updated to v3.4.1 (from an older embedded copy); Eigen vendor extras and unnecessary files have been pruned, and file modes normalized.
- spdlog (vendored) has been updated with fixes for compatibility with modern versions of
{fmt}. - libgff dependency pinned to v2.0.1.
- pufferfish submodule pinned to a dedicated
for-salmonbranch commit, decoupling salmon's build from upstream pufferfish development velocity.
Compatibility and Output
With the exception of the index format change and the removal of salmon alevin:
- All
salmon quantfunctionality is preserved. The selective-alignment algorithm, EM/VB inference, bias correction models, library type detection, equivalence class output, and all other bulk quantification features are unchanged. - All output formats are unchanged.
quant.sf,meta_info.json,lib_format_counts.json,aux_info/, bootstrap output, and all other outputs are bit-for-bit compatible with v1.10.3 output (given identical inputs and a freshly built index). - Command-line interface is unchanged for
salmon quantandsalmon index. No flags have been added or removed. - Alignment-based mode (
salmon quant -a) is fully preserved.
Upgrading from v1.10.3
- Replace your salmon binary with the v1.11.2 release.
- Rebuild your index:
(Passing multiple threads with
salmon index -t transcriptome.fa -d decoys.txt -i salmon_index_v1.11.2/
-pis recommended to reduce index build time.) - If you use
salmon alevin, migrate to piscem + alevin-fry. Allsalmon quantand other commands are otherwise drop-in compatible.
Downloads
Pre-compiled binaries are available below for:
| Platform | File |
|---|---|
| Linux x86_64 | salmon-linux-x86_64.tar.gz |
| Linux aarch64 | salmon-linux-aarch64.tar.gz |
| macOS arm64 (Apple Silicon) | salmon-macos-arm64.tar.gz |
| macOS x86_64 | salmon-macos-x86_64.tar.gz |
References
-
Pibiri GE. SSHash: Locality-Preserving Minimal Perfect Hashing of k-mers. Bioinformatics. 2022;38(Supplement 1):i185–i194. https://academic.oup.com/bioinformatics/article/38/Supplement_1/i185/6617506
-
Pibiri GE, Patro R, et al. [preprint]. bioRxiv 2026. https://www.biorxiv.org/content/10.64898/2026.01.21.700884v1
-
He D, Zakeri M, Sarkar H, Soneson C, Srivastava A, Patro R. Alevin-fry unlocks rapid, accurate and memory-frugal quantification of single-cell RNA-seq data. Nat Methods. 2022.
v1.11.1
Full Changelog: v1.11.0...v1.11.1
Full Changelog: v1.11.0...v1.11.1
v1.11.0
Salmon v1.10.1
This release is a very minor update, intended entirely to address #835 (a problem raised by deb med maintainers running into build problems upstream). This release bumps the included version of the cereal headers in the corresponding pufferfish tag to v1.3.2 and also updates the required version for salmon to match this (i.e. cereal v1.3.2). Since the prior version included in pufferfish in past releases, the cereal library had made 2 patch releases which, nonetheless, were not backwards compatible. This lead to problems when mixing cereal v1.3.2 with v1.3.0. This release bumps everything to v1.3.2 to match the latest package on debian testing. If salmon 1.10.0 is working fine for you, there's no need to update to this release (but obviously no harm in doing so). It adds no new features or bug fixes within salmon itself.
Salmon v1.10.0
Fixes
-
This releases addresses a bug in deserializing the
compact_vector(discovered by @jamshed) that could lead to undefined behavior. In fact, this bug was underlying a relatively rare but longstanding issue with the previous biconda build of salmon where a segmentation fault could occur during indexing. -
This release addresses #806, where several output counters used 32-bit values and could produce incorrect values if they exceeded the maximum representable 32-bit integer. These counters have been changed to be 64-bits wide. It is worth noting that this was an issue with the reported values with the output report, but not with the internal representations (i.e. the actual quantifications were not affected).
-
This release incorporates PR #817 by @Gaura that addresses an issue in the processing of some sci-sea 3 data where having a read1 length of 33 or 34 would result in error while being valid lengths. This resulted in salmon refusing to process this data; this has now been fixed (addresses #813).
Improvements
-
Substantial refactoring has been made to parts of the mapping code to clean up redundant code and to make future additions easier.
-
Substantial improvements have been made to the CMake files to reduce the need for redundant copies of files and to propagate target properties more faithfully.
-
Several dependencies have been updated, including
libstadenioanditlib.
Full Changelog: v1.9.0...v1.10.0