> For the complete documentation index, see [llms.txt](https://ycl6.gitbook.io/guide-to-rna-seq-analysis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ycl6.gitbook.io/guide-to-rna-seq-analysis/differential-expression-analysis/convert-salmon-to-sleuth-compatible-format.md).

# Convert Salmon output to Sleuth-compatible format

## Program introduction

### What is Sleuth?

[Sleuth](http://pachterlab.github.io/sleuth/) is a program that performs differential expression analysis of gene isoforms using the transcript abundance estimates output from alignment-free methods, such as Sailfish, Salmon and Kallisto.

### What is wasabi?

[Wasabi](https://github.com/COMBINE-lab/wasabi) is a program that converts Sailfish and Salmon output for downstream analysis with [Sleuth](http://pachterlab.github.io/sleuth/).

## Format conversion

We use [Wasabi](https://github.com/COMBINE-lab/wasabi) to prepare Salmon output for downstream analysis with [sleuth](https://github.com/pachterlab/sleuth)

```bash
$ cd /home/USER/SSAPs
$ R
```

Define the file path to Salmon (and STAR+Salmon) quant directories

* The "**Salmon**" mapping strategy is described [here](/guide-to-rna-seq-analysis/raw-read-processing/mapping/alignment-free-method.md#salmon)
* The "**STAR + Salmon**"  strategy is described [here](/guide-to-rna-seq-analysis/raw-read-processing/mapping/alignment-based-method.md#star-salmon-quantification-alignment-based-mode)&#x20;
* The "**Salmon with bootstrap**" strategy is described [here](/guide-to-rna-seq-analysis/raw-read-processing/mapping/alignment-free-method.md#salmon-with-bootstrap)

```r
library(wasabi)

# Salmon
files1 = file.path("salmon", list.files("salmon"))

# STAR + Salmon
files2 = file.path("salmon_star", list.files("salmon_star"))

# Salmon with bootstrap
files3 = file.path("salmon-bs", list.files("salmon-bs"))
```

```r
> files1
 [1] "salmon/ERR2675454" "salmon/ERR2675455" "salmon/ERR2675458"
 [4] "salmon/ERR2675459" "salmon/ERR2675460" "salmon/ERR2675461"
 [7] "salmon/ERR2675464" "salmon/ERR2675465" "salmon/ERR2675468"
[10] "salmon/ERR2675469" "salmon/ERR2675472" "salmon/ERR2675473"
[13] "salmon/ERR2675476" "salmon/ERR2675477" "salmon/ERR2675478"
[16] "salmon/ERR2675479" "salmon/ERR2675480" "salmon/ERR2675481"
[19] "salmon/ERR2675484" "salmon/ERR2675485"

> files2
 [1] "salmon_star/ERR2675454" "salmon_star/ERR2675455" "salmon_star/ERR2675458"
 [4] "salmon_star/ERR2675459" "salmon_star/ERR2675460" "salmon_star/ERR2675461"
 [7] "salmon_star/ERR2675464" "salmon_star/ERR2675465" "salmon_star/ERR2675468"
[10] "salmon_star/ERR2675469" "salmon_star/ERR2675472" "salmon_star/ERR2675473"
[13] "salmon_star/ERR2675476" "salmon_star/ERR2675477" "salmon_star/ERR2675478"
[16] "salmon_star/ERR2675479" "salmon_star/ERR2675480" "salmon_star/ERR2675481"
[19] "salmon_star/ERR2675484" "salmon_star/ERR2675485"

> files3
 [1] "salmon-bs/ERR2675454" "salmon-bs/ERR2675455" "salmon-bs/ERR2675458"
 [4] "salmon-bs/ERR2675459" "salmon-bs/ERR2675460" "salmon-bs/ERR2675461"
 [7] "salmon-bs/ERR2675464" "salmon-bs/ERR2675465" "salmon-bs/ERR2675468"
[10] "salmon-bs/ERR2675469" "salmon-bs/ERR2675472" "salmon-bs/ERR2675473"
[13] "salmon-bs/ERR2675476" "salmon-bs/ERR2675477" "salmon-bs/ERR2675478"
[16] "salmon-bs/ERR2675479" "salmon-bs/ERR2675480" "salmon-bs/ERR2675481"
[19] "salmon-bs/ERR2675484" "salmon-bs/ERR2675485"
```

Run the `prepare_fish_for_sleuth` function to start conversion

```r
prepare_fish_for_sleuth(files1)
prepare_fish_for_sleuth(files2)
prepare_fish_for_sleuth(files3)
```

The function will create `abundance.h5` files in sleuth-compatible format in the same directory as the Salmon `quant.sf` files

```r
> list.files(file.path("salmon", list.files("salmon")), 
full.names = TRUE, pattern = "abundance.h5")
 [1] "salmon/ERR2675454/abundance.h5" "salmon/ERR2675455/abundance.h5"
 [3] "salmon/ERR2675458/abundance.h5" "salmon/ERR2675459/abundance.h5"
 [5] "salmon/ERR2675460/abundance.h5" "salmon/ERR2675461/abundance.h5"
 [7] "salmon/ERR2675464/abundance.h5" "salmon/ERR2675465/abundance.h5"
 [9] "salmon/ERR2675468/abundance.h5" "salmon/ERR2675469/abundance.h5"
[11] "salmon/ERR2675472/abundance.h5" "salmon/ERR2675473/abundance.h5"
[13] "salmon/ERR2675476/abundance.h5" "salmon/ERR2675477/abundance.h5"
[15] "salmon/ERR2675478/abundance.h5" "salmon/ERR2675479/abundance.h5"
[17] "salmon/ERR2675480/abundance.h5" "salmon/ERR2675481/abundance.h5"
[19] "salmon/ERR2675484/abundance.h5" "salmon/ERR2675485/abundance.h5"
```

```r
> list.files(file.path("salmon_star", list.files("salmon_star")), 
full.names = TRUE, pattern = "abundance.h5")
 [1] "salmon_star/ERR2675454/abundance.h5" "salmon_star/ERR2675455/abundance.h5"
 [3] "salmon_star/ERR2675458/abundance.h5" "salmon_star/ERR2675459/abundance.h5"
 [5] "salmon_star/ERR2675460/abundance.h5" "salmon_star/ERR2675461/abundance.h5"
 [7] "salmon_star/ERR2675464/abundance.h5" "salmon_star/ERR2675465/abundance.h5"
 [9] "salmon_star/ERR2675468/abundance.h5" "salmon_star/ERR2675469/abundance.h5"
[11] "salmon_star/ERR2675472/abundance.h5" "salmon_star/ERR2675473/abundance.h5"
[13] "salmon_star/ERR2675476/abundance.h5" "salmon_star/ERR2675477/abundance.h5"
[15] "salmon_star/ERR2675478/abundance.h5" "salmon_star/ERR2675479/abundance.h5"
[17] "salmon_star/ERR2675480/abundance.h5" "salmon_star/ERR2675481/abundance.h5"
[19] "salmon_star/ERR2675484/abundance.h5" "salmon_star/ERR2675485/abundance.h5"
```

```r
> list.files(file.path("salmon-bs", list.files("salmon-bs")), 
full.names = TRUE, pattern = "abundance.h5")
 [1] "salmon-bs/ERR2675454/abundance.h5" "salmon-bs/ERR2675455/abundance.h5"
 [3] "salmon-bs/ERR2675458/abundance.h5" "salmon-bs/ERR2675459/abundance.h5"
 [5] "salmon-bs/ERR2675460/abundance.h5" "salmon-bs/ERR2675461/abundance.h5"
 [7] "salmon-bs/ERR2675464/abundance.h5" "salmon-bs/ERR2675465/abundance.h5"
 [9] "salmon-bs/ERR2675468/abundance.h5" "salmon-bs/ERR2675469/abundance.h5"
[11] "salmon-bs/ERR2675472/abundance.h5" "salmon-bs/ERR2675473/abundance.h5"
[13] "salmon-bs/ERR2675476/abundance.h5" "salmon-bs/ERR2675477/abundance.h5"
[15] "salmon-bs/ERR2675478/abundance.h5" "salmon-bs/ERR2675479/abundance.h5"
[17] "salmon-bs/ERR2675480/abundance.h5" "salmon-bs/ERR2675481/abundance.h5"
[19] "salmon-bs/ERR2675484/abundance.h5" "salmon-bs/ERR2675485/abundance.h5"
```
