欢迎关注”生信修炼手册”!
salmon 是sailfish 的升级版,其内存消耗更少,速度更快,准确度更高。官网如下
https://combine-lab.github.io/salmon/
github提供了编译好的二进制包,下载解压缩即可。安装过程如下
wget https://github.com/COMBINE-lab/salmon/releases/download/v0.11.3/salmon-0.11.3-linux_x86_64.tar.gz
tar xzvf salmon-0.11.3-linux_x86_64.tar.gz
可执行文件的名称为salmon
, 和sailfish
的用法是类似的,分为indexing
和quantification
两步。
基本用法如下
salmon index \
-t hg19_refGeneMrna.fa \
-k 31 \
-p 10 \
-i hg19_salmon_db
-t
参数指定参考基因组转录本的fasta格式的文件,-k
参数指定kmer的长度,-p
参数指定线程数,-i
参数指定索引的输出目录,在该目录下,会生成如下文件
├── duplicate_clusters.tsv
├── hash.bin
├── header.json
├── indexing.log
├── quasi_index.log
├── refInfo.json
├── rsd.bin
├── sa.bin
├── txpInfo.bin
└── versionInfo.json
相比sailfish, salmon能够读取gzip压缩的序列文件, 而且也支持从bam文件中读取序列,基本用法
salmon quant \
-i hg19_salmon_db \
-l IU \
-1 R1.fq.gz \
-2 R2.fq.gz \
-p 10 \
-o out_dir
-i
参数指定转录本索引所在的目录,-l
参数指定文库类型library type, -1
和-2
参数用于指定双端测序的reads, 单端测序的reads用-r
参数指定 ,bam格式的输入文件用-a
参数指定,-p
参数指定线程数,-o
参数指定输出结果的目录。
在输出目录会生成quant.sf
文件,保存了转录本水平的定量结果,内容如下
Name | Length | EffectiveLength | TPM | NumReads |
---|---|---|---|---|
NR_024540 | 1769 | 1609.620 | 7.074884 | 387.930 |
NR_110022 | 3187 | 3027.620 | 0.597137 | 61.587 |
NR_033380 | 2915 | 2755.620 | 0.899148 | 84.404 |
由于读长的限制,测序reads比对的最小单位都是exon, 对于转录本的定量,直接根据各个exon的水平去计算一个最终的丰度就好了,但是对于基因水平的定量而言,由于一个基因会对应多个转录本,不同转录本的 eoxn会存在overlap,冗余等现象,所以通常的做法是根据转录本的定量结果去推算基因的表达量,这就依赖于转录本注释的完整性和准确性。
相对而言,转录本水平的定量和差异分析会更加的灵敏,所以现在很多的软件都会给出转录本水平的定量结果。
salmon只输出转录本水平的定量结果,后续的差异分析可以使用DESeq2
, edgeR
, limma
, sleuth
等软件。
·end·
—如果喜欢,快分享给你的朋友们吧—