快速计算基因表达软件:Salmon
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速计算基因表达软件:Salmon相关的知识,希望对你有一定的参考价值。
参考技术A但最近在做小RNA分析时却遇到了没有参考基因组注释文件(gtf/gff文件)的情况,而注释文件的缺失则意味传统的转录组定量分析是无法进行的。那在缺少注释文件的情况下,该如何进行定量分析呢?在各种搜索后发现了一款无需mapping便可进行定量的软件—— Salmon 。
Salmon软件于2017年发表在Nature Methods,其题目为 《Salmon provides fast and bias-aware quantification of transcript expression》
Salmon 提供2种运行模式,一是quasi-mapping直接读取 reads 文件;二是读取比对文件 sam/bam 进行mapping。
名词解释:
简单来说,k-mer是一段长度为k的序列,而后面的mer即为monomeric unit(单体单元),也就是每个碱基。因k-mer包含k个碱基,若一段核酸序列长度为L,以一个碱基为步长滑动,那么根据这个核酸序列就可以得到L-k+1个k-mer;由于每个位点的碱基可以为(A、T、C、G)中的任意一个,因此k-mer理论上说有个不同的序列。原本一条长片段,就变成了很多短的片段,因此计算机处理的碱基数量也会增加很多倍。而且,每次取k-mer是同一条reads正反取两次,这就是对这条reads的反向互补序列再取一次k-mer。下面的图就形象化了这一过程,长度为15的序列,选取k-mer为5,那么就会得到11(15-5+1=11)个5-mer。
3、输出文件
主要输出文件为 quant.sf ,该文件共有5列,分别是Name,Length ,EffectiveLength,TPM和NumReads。
其他输出文件:
cmd_info.json : JSON格式文件,记录salmon程序运行的命令和参数
lib_format_counts.json : Observed library format counts。当运行salmon是 mapping-based mode时,则会生成改文件。 JSON格式文件,记录有关文库格式和reads比对的情况。
eq_classes.txt : Equivalence class file。当Salmon运行时,应用参数--dumpEq,则会生成此文件。
aux_info : 辅助文件夹,内含多个文件
fld.gz :在辅助文件夹中,该文件记录的是观察到的片段长度分布的近似值
obs5_seq.gz, obs3_seq.gz, exp5_seq.gz, exp5_seq.gz : Sequence-specific bias files
expected_gc.gz, observed_gc.gz : 当Salmon运行时,应用fragment-GC bias correction,在辅助文件夹中则会生成这两个文件。记录Fragment-GC bias。
meta_info.json : JSON格式文件,记录salmon程序运行的统计信息
ambig_info.tsv : tab分隔符的文本文件,含有两列。记录的是每个转录本对应的 the number of uniquely-mapping reads 和 the total number of ambiguously-mapping reads
Transcripts Per Kilobase of exonmodel per Million mapped reads (每千个碱基的转录每百万映射读取的Transcripts),优化的RPKM计算方法,可以用于同一物种不同组织的比较。
TPM概括了基因的长度、表达量和基因数目。TPM可以用于同一物种不同组织间的比较,因为sum值总是唯一的。
计算公式:PMi=(Ni/Li)*1000000/sum(Ni/Li+……..+ Nm/Lm)
其中:Ni:mapping到基因i上的read数; Li:基因i的外显子长度的总和
http://blog.sciencenet.cn/blog-1113671-1038659.html
差异表达基因分析:差异倍数(fold change), 差异的显著性(P-value)
参考技术A Differential gene expression analysis:差异表达基因分析Differentially expressed gene (DEG):差异表达基因
差异表达分析是目前比较常用的识别疾病相关miRNA以及基因的方法,目前也有很多差异表达分析的方法,但比较简单也比较常用的是Fold change方法。
它的优点是计算简单直观,缺点是没有考虑到差异表达的统计显著性;通常以2倍差异为阈值,判断基因是否差异表达。Fold change的计算公式如下:
即用疾病样本的表达均值除以正常样本的表达均值。
差异表达分析的目的: 识别两个条件下表达差异显著的基因,即一个基因在两个条件中的表达水平,在排除各种偏差后,其差异具有统计学意义。我们利用一种比较常见的T检验(T-test)方法来寻找差异表达的miRNA。T检验的主要原理为:对每一个miRNA计算一个T统计量来衡量疾病与正常情况下miRNA表达的差异,然后根据t分布计算显著性p值来衡量这种差异的显著性,T统计量计算公式如下:
差异倍数(fold change)
fold change翻译过来就是倍数变化,假设A基因表达值为1,B表达值为3,那么B的表达就是A的3倍。一般我们都用count、TPM或FPKM来衡量基因表达水平,所以基因表达值肯定是非负数,那么fold change的取值就是(0, +∞).
为什么我们经常看到差异基因里负数代表下调、正数代表上调?因为我们用了log2 fold change。
当expr(A) < expr(B)时,B对A的fold change就大于1,log2 fold change就大于0(见下图),B相对A就是上调;
当expr(A) > expr(B)时,B对A的fold change就小于1,log2 fold change就小于0。
通常为了防止取log2时产生NA,我们会给表达值加1(或者一个极小的数),也就是log2(B+1) - log2(A+1). 【需要一点对数函数的基础知识】
为什么不直接用表达之差,差值接有正负啊?
假设A表达为1,B表达为8,C表达为64;直接用差值,B相对A就上调了7,C就相对B上调了56;用log2 fold change,B相对A就上调了3,C相对B也只上调了3.
通过测序观察我们发现,不同基因在细胞里的表达差异非常巨大,所以直接用差显然不合适, 用log2 fold change更能表示相对的变化趋势。
虽然大家都在用log2 fold change,但显然也是有缺点的:
一、到底是5到10的变化大,还是100到120的变化大?
二、5到10可能是由于技术误差导致的。所以当基因总的表达值很低时,log2 fold change的可信度就低了,尤其是在接近0的时候。
A disadvantage and serious risk of using fold change in this setting is that it is biased[7] and may misclassify differentially expressed genes with large differences (B − A) but small ratios (B/A), leading to poor identification of changes at high expression levels. Furthermore, when the denominator is close to zero, the ratio is not stable, and the fold change value can be disproportionately affected by measurement noise.
差异的显著性(P-value)
这就是统计学的范畴了,显著性就是根据假设检验算出来的。
假设检验首先必须要有假设,我们假设A和B的表达没有差异(H0,零假设),然后基于此假设,通过t test(以RT-PCR为例)算出我们观测到的A和B出现的概率,就得到了P-value, 如果P-value<0.05,那么说明小概率事件出现了,我们应该拒绝零假设,即A和B的表达不一样,即有显著差异。
显著性只能说明我们的数据之间具有统计学上的显著性,要看上调下调必须回去看差异倍数。
对于得到的显著性p值,我们需要进行多重检验校正(FDR),比较常用的是BH方法(Benjamini and Hochberg, 1995)。
这里只说了最基本的原理,真正的DESeq2等工具里面的算法肯定要复杂得多。
这张图对q-value(校正了的p-value)取了负log,相当于越显著,负log就越大,所以在火山图里,越外层的岩浆就越显著,差异也就越大。
只需要看懂DEG结果的可以就此止步,想深入了解的可以继续。
下面可以继续讨论的问题有:
1、RNA-seq基本分析流程/2、
2、DEG分析的常用算法/3、
3、常见DEG工具的方法介绍和相互比较
前言
做生物生理生化生信数据分析时,最常听到的肯定是“差异(表达)基因分析”了,从最开始的RT-PCR,到基因芯片microarray,再到RNA-seq,最后到现在的single cell RNA-seq,统统都在围绕着差异表达基因做文章。
(开个脑洞:再下一步应该会测细胞内特定空间内特定基因的动态表达水平了)
表达量 :我们假设基因转录表达形成的mRNA的数量反映了基因的活性,也会影响下游蛋白和代谢物的变化。我们关注的是 基因的表达 ,不是结构,也是不是isoform。
为什么差异基因分析这么流行?
一是中心法则得到了确立,基因表达是核心的一个环节,决定了下游的蛋白组和代谢组;
二是建库测序的普及,获取基因的表达水平变得容易。
在生物体内,基因的表达时刻都在动态变化,不一定服从均匀分布,在不同时间、发育程度、组织和环境刺激下,基因的表达肯定会发生变化。
差异基因分析主要应用在:
发育过程中关键基因的表达变化 - 发育研究
突变材料里什么核心基因的表达发生了变化 - 调控研究
细胞在受到药物处理后哪些基因的表达发生了变化 - 药物研发
目前我们对基因和转录组的了解到什么程度了?
基本的建库方法?建库直接决定了我们能测到什么序列,也决定了我们能做什么分析!
基因表达的normalization方法有哪些?
第一类错误、第二类错误是什么?
多重检验的校正?FDR?
10x流程解释
The mean UMI counts per cell of this gene in cluster i
The log2 fold-change of this gene's expression in cluster i relative to other clusters
The p-value denoting significance of this gene's expression in cluster i relative to other clusters, adjusted to account for the number of hypotheses (i.e. genes) being tested.
The differential expression analysis seeks to find, for each cluster, genes that are more highly expressed in that cluster relative to the rest of the sample. Here a differential expression test was performed between each cluster and the rest of the sample for each gene.
The Log2 fold-change (L2FC) is an estimate of the log2 ratio of expression in a cluster to that in all other cells. A value of 1.0 indicates 2-fold greater expression in the cluster of interest.
The p-value is a measure of the statistical significance of the expression difference and is based on a negative binomial test. The p-value reported here has been adjusted for multiple testing via the Benjamini-Hochberg procedure.
In this table you can click on a column to sort by that value. Also, in this table genes were filtered by (Mean UMI counts > 1.0) and the top N genes by L2FC for each cluster were retained. Genes with L2FC < 0 or adjusted p-value >= 0.10 were grayed out. The number of top genes shown per cluster, N, is set to limit the number of table entries shown to 10000; N=10000/K^2 where K is the number of clusters. N can range from 1 to 50. For the full table, please refer to the "differential_expression.csv" files produced by the pipeline.
不同单细胞DEG鉴定工具的比较
Comparative analysis of differential gene expression analysis tools for single-cell RNA sequencing data
For data with a high level of multimodality, methods that consider the behavior of each individual gene, such as DESeq2, EMDomics, Monocle2, DEsingle, and SigEMD, show better TPRs. 这些工具敏感性高,就是说不会漏掉很多真的DEG,但是会包含很多假的DEG。
If the level of multimodality is low, however, SCDE, MAST, and edgeR can provide higher precision. 这些工具精准性很高,意味着得到的DEG里假的很少,所以会漏掉很多真的DEG,不会引入假的DEG。
time-course DEG analysis
Comparative analysis of differential gene expression tools for RNA sequencing time course data
参考:
Question: How to calculate "fold changes" in gene expression?
Exact Negative Binomial Test with edgeR
Differential gene expression analysis
以上是关于快速计算基因表达软件:Salmon的主要内容,如果未能解决你的问题,请参考以下文章
差异表达基因分析:差异倍数(fold change), 差异的显著性(P-value)
转录组表达定量- Read count?CPM? RPKM? FPKM?