Hi all! 

I've relatively new to RNAseq, so I would really appreciate it if everything can be written as simply as possible. The aim of this post is to clarify a few things with building an index with Salmon, just to ensure that I've done everything correctly. The main gist has to dealing with building an index before quantifying with Salmon. I would be trying to quantify PE total-RNA (.fastq) obtained from Illuminia sequencing experiments downstream.


----------


The reference genome I'm using is that of Arabidopsis thaliana, obtained from Ensemble @ the following [link][1]: 

This is what the code that I've used on a linux-based computer:

./salmon index -t Arabidopsis_thaliana.TAIR10.cdna.all.fa.gz -i aThalianaindex -k 31


----------


I've no issues running the code, but the more I dig online, the more I question the validity of my codes. Could someone clarify the following for me? Or point me towards the right resources, so that I can read up more! (Ps. I've tried reading the salmon documentation but to no avail). 

1) Is the cDNA file I've used for building the index the right transcriptomic file to use? If not, which would be the right file. (Hopefully available through Ensemble). 

2) I've seen [someone][2] merging the cDNA file (presumably the same one that I've used above) and a ncRNA file, and using that merged file to build the index. Why was this done (merging the ncRNA file), should I follow this method instead?

3) I've read on [Salmon's][3] own documentation that there are 2 methods of building a 'decoy-aware transcriptome'. Do I have to follow this method strictly? Would my results be significantly affected if I use my method for building an index mentioned above? 

4) I've read on [Salmon's][4] own documentation that there are 2 methods of building a 'decoy-aware transcriptome'. Referring specifically to the first method using MashMap2, how I do use the script provided on salmon's webpage? (Am actually totally lost on how I should build an index with this method, any guidance from start to end will be helpful)


----------
Any help would be deeply appreciated! Yall can just answer part of the question that you're familiar with. Thanks for your help in advance!

  [1]: ftp://ftp.ensemblgenomes.org/pub/plants/release-48/fasta/arabidopsis_thaliana/cdna/
  [2]: https://github.com/crazyhottommy/RNA-seq-analysis/blob/master/salmon_kalliso_STAR_compare.md
  [3]: https://salmon.readthedocs.io/en/latest/salmon.html
  [4]: https://salmon.readthedocs.io/en/latest/salmon.html
 1. Yes, that is the correct file for your current command.

 2. They were likely interested in non-coding RNAs (lncRNAs, etc) as well. If you don't particularly care about such genes, you do not have to do this. If you do, then yeah, you can concatenate them.

 3. You don't *have to*, and it can be somewhat annoying to put together. It improves quantification accuracy, but I'm not sure to what degree. I've had good success using both decoy-aware and "standard" indices. The method using MashMap2 is wildly resource intensive and takes quite a while. For human, I had to allocate like 128 GB to get it to complete - it is not a task you will be able to do on your local PC. If you don't have access to a compute cluster, just use the standard method. For human/mouse, there are prepared decoy-aware indices already available for download, but that isn't the case for your organism unfortunately.

 4. As for running that script, the usage command is below:

```bash generateDecoyTranscriptome.sh [-j <N> =1 default] [-b <bedtools binary path> =bedtools default] [-m <mashmap binary path> =mashmap default] -a <gtf file> -g <genome fasta> -t <txome fasta> -o <output path>```

You will need bedtools and mashmap installed and added to your PATH before running it, both of which can be easily installed via `conda`. You'll also need the full genome sequence for your organism, which you can create from the [Ensembl files](ftp://ftp.ensemblgenomes.org/pub/plants/release-48/fasta/arabidopsis_thaliana/dna/) by concatenating all the chromosome files together. It will output a `gentrome.fa` and `decoys.txt` file that can then be used for your quantification.

