>
How to use Salmon: Ultra-fast RNA-Seq Gene Expression Quantification

How to use Salmon: Ultra-fast RNA-Seq Gene Expression Quantification

Last updated: January 20, 2026

Introduction

Salmon is an ultra-fast software for quantifying gene expression in RNA-Seq. Unlike standard tools that perform time-consuming alignment, Salmon uses a method called "Quasi-Mapping." This approach estimates gene expression without needing full base-to-base alignment, enabling significantly faster processing.

If you would like to know the general flow of RNA-Seq data analysis involving standard mapping processes, please see here.

Installation

Binaries are provided, so if your environment is suitable, it is recommended to use them.

$ wget https://github.com/COMBINE-lab/salmon/releases/download/v1.10.0/salmon-1.10.0_linux_x86_64.tar.gz $ tar -zxvf salmon-1.10.0_linux_x86_64.tar.gz

You can also install via conda.

$ conda install -c bioconda salmon

Let's display the help message.

$ salmon -h

It is successful if the following content is displayed.

salmon -h salmon v1.10.0 Usage: salmon -h|--help or salmon -v|--version or salmon -c|--cite or salmon [--no-version-check] <COMMAND> [-h | options] Commands: index : create a salmon index quant : quantify a sample alevin : single cell analysis swim : perform super-secret operation quantmerge : merge multiple quantifications into a single file

Creating an Index

First, create an index of the reference sequence using the following command.

$ salmon index -t cdna.fasta.gz -i salmon_index

The `cdna.fasta.gz` file is a transcript FASTA file; for humans, you can use Ensembl's Homo_sapiens.GRCh38.cdna.all.fa.

The following files necessary for gene expression quantification are created in the `salmon_index` directory.

complete_ref_lens.bin duplicate_clusters.tsv pos.bin refAccumLengths.bin refseq.bin ctable.bin info.json pre_indexing.log ref_indexing.log seq.bin ctg_offsets.bin mphf.bin rank.bin reflengths.bin versionInfo.json

Gene Expression Quantification

Next, we will quantify gene expression.

$ salmon quant -i salmon_index -l A -1 sample1_1.fastq.gz -2 sample1_2.fastq.gz --validateMappings -o sample1_salmon_result

The `validateMappings` option improves mapping sensitivity and specificity. Although analysis time increases slightly, it is generally recommended to turn it on.

The quantification results are saved in `quant.sf` within the `result` directory as shown below.

Name Length EffectiveLength TPM NumReads AT1G76820.1 3857 3712.468 0.000000 0.000 ATMG00060.1 542 397.697 21.821769 83.000 AT4G16360.1 1685 1540.468 25.317486 373.000 AT5G26800.1 637 492.546 33.540907 158.000 AT4G16110.1 2666 2521.468 16.545652 399.000 AT5G39100.1 808 663.507 0.000000 0.000 AT4G15130.1 1234 1089.468 40.518705 422.188 ATMG01320.1 922 777.486 20.897638 155.391 ...

Preparation for DEG Extraction

Summarize into a table using `tximport` so that it can be analyzed with DESeq2 or edgeR.
library(tximport) files <- file.path(list.files('.', pattern = 'salmon_result'), 'quant.sf') names(files) <- c('sample1', 'sample2', 'sample3', ...) txi <- tximport(files, type = "salmon", txOut = TRUE) head(txi$counts)

You can output to a CSV file as follows.

write.csv(txi$counts, file="counts.csv")

RNA-Seq Data Analysis Software: Accelerate Your Publication

With our RNA-Seq data analysis software, you won't need to outsource or rely on collaborators. You can start analyzing the data yourself right away, without the need for high-spec computers or knowledge of Linux commands.

overview

Users can perform gene expression quantification, identification of differentially expressed genes, gene ontology(GO) analysis, pathway analysis, as well as drawing volcano plots, MA plots, and heatmaps.

BxINFO LLC logo

BxINFO LLC

A research support company specializing in bioinformatics.

We provide tools and information to support life science research, with a focus on RNA-Seq analysis.

→ Learn more