# Gene and transcript level quant using salmon

**URL:** <https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117>\
**Category:** usegalaxy.org support\
**Tags:** troubleshooting, transcriptomics, salmon\
**Created:** [January 6, 2026, 1:40am UTC](https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117 "2026-01-06T01:40:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![aperreault](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@aperreault](https://help.galaxyproject.org/u/aperreault)\
**Post date:** [January 6, 2026, 1:40am UTC](https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117/1 "2026-01-06T01:40:03Z")

</div>

Hi all! I’m trying to use Salmon quant to get gene and transcript level quantification. Below are the settings I’m using:

- Salmon quant (Galaxy Version 1.10.1+galaxy4)
- “reads” mode
- Using built-in hg38 transcriptome
- paired end dataset collection
- automatic infer for strandedness
- disabled BAM file
- hg38 annotation.gtf from Gencode for “File containing a mapping of transcripts to genes”

The resulting files do NOT have gene or transcript level quantification. Instead, they are divided by chromosome (first column is chr1, chr2, etc. and includes the non-standard chromosomes as well). I’ve tried running the same settings without the annotation.gtf file and get the same result. Please help! Thanks in advance.

---

<div class="post-metadata">

**Author:** ![jennaj](https://sea2.discourse-cdn.com/flex020/user_avatar/help.galaxyproject.org/jennaj/32/27_2.png) [@jennaj](https://help.galaxyproject.org/u/jennaj)\
**Post date:** [January 6, 2026, 2:54am UTC](https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117/2 "2026-01-06T02:54:54Z")

</div>

Welcome @aperreault

Hopefully we can help!

I’m not sure where you are sourcing this but it is likely part of the problem with **Salmon** :

> [@aperreault](#):
>
> Using built-in hg38 transcriptome

Instead, try using a **reference transcriptome fasta** and a **reference annotation GTF** – both based on the [same genome assembly version](https://help.galaxyproject.org/t/reference-genomes-at-public-galaxy-servers-grch38-hg38-example/11616).

However, remember that you will probably _not_ want to include the actual reference genome fasta! My guess is that including it was why you are getting this result:

> [@aperreault](#):
>
> nstead, they are divided by chromosome (first column is chr1, chr2, etc. and includes the non-standard chromosomes as well).

So – try using just the reads, along with the transcript fasta for the alignment portion and then the annotation to group those transcripts into genes. There will be two primary outputs. This is what is usually wanted to perform later downstream steps such as **DESeq2**.

### UCSC is a good choice for human!

> [@Salmon output issue: differences in line numbers of Quantification and Gene Quantification output files](https://help.galaxyproject.org/t/salmon-output-issue-differences-in-line-numbers-of-quantification-and-gene-quantification-output-files/9144/6):
>
> Try with these two files for human as an example of a paired set of reference data.
> 
> These are direct URLs – can be copied and pasted into the Upload tool. Leave all the auto settings at default.
> 
> - Fasta of transcripts [https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/refMrna.fa.gz](https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/refMrna.fa.gz)
> - GTF representing those exact transcripts (plus associated genes) as mapped to the hg38 genomic assembly. [https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/genes/hg38.ncbiRefSeq.gtf.gz](https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/genes/hg38.ncbiRefSeq.gtf.gz)

Please give that a try and let us know if you would like any more help! See the banner topic for how/what to screenshot or to generate for history share link when getting more specific feedback.

Let’s start there! 🙂

---

<div class="post-metadata">

**Author:** ![aperreault](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@aperreault](https://help.galaxyproject.org/u/aperreault)\
**Post date:** [January 8, 2026, 12:34am UTC](https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117/3 "2026-01-08T00:34:43Z")

</div>

Thanks for the quick response! A few follow up questions…

- Why even offer the Galaxy built in transcriptome as an option if it doesn’t work for this tool?
- Does your suggestion to use the reference transcriptome fasta mean I need to download and then use the “use one from history” option?

I don’t think I can run the tool without selecting one of the above options. Some further clarification would be helpful!

---

<div class="post-metadata">

**Author:** ![jennaj](https://sea2.discourse-cdn.com/flex020/user_avatar/help.galaxyproject.org/jennaj/32/27_2.png) [@jennaj](https://help.galaxyproject.org/u/jennaj)\
**Post date:** [January 8, 2026, 2:31am UTC](https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117/4 "2026-01-08T02:31:54Z")

</div>

Hi @aperreault

Hopefully I can explain more. 🙂

> [@aperreault](#):
>
> Why even offer the Galaxy built in transcriptome as an option if it doesn’t work for this tool?

The built-in reference transcriptome fasta for **Salmon** can be used for some use cases. The most common is a quick assessment of abundance across known, expected baseline features. This is often used as a sort of quality assurance step – a scientific assessment of a read library at a higher level than the read quality itself. This is a simple **transcriptome quantification** type of analysis step.

The version hosted in Galaxy is even simpler than that! There is just one “feature” per chromosome! This includes the primary autosomes plus all of the alt and haplotypes. Running the tool against the built-in index can answer the question “Does my library have mappable reads to all components of this species’ reference genome”.

However, if you want to something more sophisticated, such as group the transcripts by gene, then you’ll need to supply both files. This is what is done when generating a **gene quantification** type of analysis step.

**What to do**

There are many different versions of annotation for all species! There is annotation per genome assembly version (the specific basepairs in an assembly) _and_ per labeling scheme. The genome assembly version changes over longer time frames than the annotation. Indexing the genome is common but you can also use a custom genome in Galaxy. Then, getting the current annotation is usually desired, and the files are not very large, plus sourcing this yourself gives you more control as the scientist to choose what you are using: who created the annotation and what it may contain.

You can test this. Try running Salmon with the built-in fasta and without any annotation. You’ll expose the labels used in the output. These can then be compared to your reference annotation sourced from Gencode. This is similar to what you already noticed. The transcripts from the built-in index are based on chromosome names (where the transcript name _should_ be) and the annotation from Gencode uses distinct labels for the chromosome, transcript, and gene identifiers.

Then for your other question here

> [@aperreault](#):
>
> Does your suggestion to use the reference transcriptome fasta mean I need to download and then use the “use one from history” option?

Yes, you will be using the fasta and the GTF from the history. You can use the UCSC versions I linked above or you can get this fasta data from Gencode to go with the GTF you already have at [GENCODE - Human Release 49](https://www.gencodegenes.org/human/).

Hope this helps! Please let us know if you have more questions. 🙂

---

<div class="post-metadata">

**Author:** ![aperreault](https://avatars.discourse-cdn.com/v4/letter/a/c67d28/32.png) [@aperreault](https://help.galaxyproject.org/u/aperreault)\
**Post date:** [January 8, 2026, 11:40am UTC](https://help.galaxyproject.org/t/gene-and-transcript-level-quant-using-salmon/17117/5 "2026-01-08T11:40:19Z")

</div>

This was super helpful! Thanks for giving such detailed background on Salmon and the different reference files. I really appreciated it! 🙂
