A brief introduction of salmon
简介
Salmon是一款定量分析RNA-seq的软件,号称Fast、accurate、bias-aware and Don’t count…quantify定量分析转录本。本文主要简要的介绍一下Salmon。具体的情况可移步 Salmon官网
安装
可以去 Github里下载Salmon进行安装
$ mkdir Salmon && cd Salmon
$ wget https://github.com/COMBINE-lab/salmon/releases/download/v0.8.2/Salmon-0.8.2_linux_x86_64.tar.gz
$ tar zxvf Salmon-0.8.2_linux_x86_64.tar.gz
至于路径则根据自己电脑进行配置,这里不讲,安装成功的话则可以用salmon -h
查看帮助文件。应该可以看到如下输出:
$ salmon -h
Salmon v0.8.1
Usage: salmon -h|--help or
salmon -v|--version or
salmon -c|--cite or
salmon [--no-version-check] <COMMAND> [-h | options]
Commands:
cite Show salmon citation information
index Create a salmon index
quant Quantify a sample
swim Perform super-secret operation
也可以利用conda安装,这样就可以省去很多麻烦。
$ conda install salmon
获取转录组
Salmon是直接将原始序列map到转录组上而不是全基因组上(这是很重要的一点,千万不要搞混了,这也是作者一直在强调的),这里我们就以拟南芥为例下载其转录组。
#Creat a directory
$ mkdir RNA-seq_test cd RNA-seq_test
$ wget ftp://ftp.ensemblgenomes.org/pub/plants/release-28/fasta/arabidopsis_thaliana/cdna/Arabidopsis_thaliana.TAIR10.28.cdna.all.fa.gz -o athal.fa.gz
好了,现在转录组已下载好,接下来就是建立索引了
建立索引
利用Salmon建立索引十分简单,一行命令就搞定
$ salmon index -t athal.fa.gz -i athal_index
这里解释一下几个参数:
- -t: 表示需要用到的转录组,这里是拟南芥的,我们刚下载好的athal.fa.gz
- -i: 表示我们建立的索引的名称,它是一个文件夹
更多的参数设置可以 参考说明
获取序列数据
一次试验数据往往很多,我们可以写一个脚本进行下载,这里简单示例一下:
#!/bin/bash
mkdir data
cd data
for i in 'seq 25 40';
do
madir DRR0161${i};
cd DRR0161${i};
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/DRR016/DRR0161${i}/DRR0161${i}_1.fastq.gz;
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/DRR016/DRR0161${i}/DRR0161${i}_2.fastq.gz;
cd ..;
done
cd ..
将其保存为obtain_reads.sh,将其运行只需以下命令就行:
$ bash obtain_reads.sh
定量样本
这次也写一个简单脚本进行定量
#!/bin/bash
for fn in data/DRR0161{25..40};
do
samp=`basename ${fn}`
echo "Processing sample ${samp}"
salmon quant -i athal_index -l A \
-1 ${fn}/${samp}_1.fastq.gz \
-2 ${fn}/${samp}_2.fastq.gz \
-p 8 -o quants/${samp}_quant
done
这里简单说明一下几个参数:
- -i: 用来告诉salmon哪里寻找索引index
- -l A: 告诉salmon自行决定是何种类型的序列数据
- -1,-2:就是两端测序的两个序列了
- -p 8: 8线程
- -o: 输出文件,这里是所有输出文件都保存至quants,并且文件命名为sample_quant
更多参数选择及说明可以参考
说明文件
这里每个样品文件里都含有一个主文件quant.sf。在后续的差异分析中有重要作用,后续再讲。
定量之后接下来就是进行具体分析了,一般来说都在R里面进行,R&Bioconductor有大量的包进行下游的分析,比如
DESeq2、
edgeR、
limma以及
sleuth等,后续文章我会讲解如何通过
tximport
将定量化的转录组数据导入到R语言中进行差异分析。