A. 检测基因表达水平差异的方法有哪些
基因的表达是dna-rna-蛋白,期间有转录水平调控、转录后调控、翻译后调控等多种调控机制影响该基因的表达.
所以蛋白水平高低的原因就可能是多方面的.蛋白表达多,可能是mrna多,也可能mrna变化不大,而是翻译多了;蛋白表达少,原因亦然.
从2个水平检测一个基因的表达,可以更全面地了解该基因在该组织某个时期或某种条件下的变化受到什么水平的调控.
所谓基因表达,就是从dna到mrna再到蛋白的一个过程,基因表达水平一般是通过该基因转录的mrna的多少来衡量的.
每个基因转录产生的mrna的量,是受到时空等多种因素调控的,个体在不同的生长发育阶段,或者不同的组织水平,基因转录出mrna的量都是不一样的.
例如,当某种植物长期生长在高盐的环境里,该植物体内与抗盐相关的基因的表达量就会增加,以适应这种高盐环境,是植物能够生存下来,这时植物抗盐相关的基因表达水平就相对高
检测基因表达的方法:
转录水平检测:rt-pcr,real-time pcr,northern blot
翻译水平检测:western blot
还有直接检测,如报告基因、融合荧光蛋白等。
rt-pcr是反转录pcr,是半定量方式。real-time pcr可以精确定量。 二者不同。后者为了区别于rt-pcr,一般不缩写。
各位观众老爷们大家好!我是吆五,打算从今以后不定期分享一些生物类的专业知识。
一方面供自己学习积累,另一方面也希望对大家有所帮助。
生物是很枯燥的呢
B. 基因差异表达分析方法
问题一:怎么判断差异表达的基因 判断差异表达的基因:
不同基因控制合成的蛋白质不同,蛋白质不同表现的生物性状就不同,从而表达出了差异.
问题二:怎么判断差异表达的基因 真核生物中,从个体的生长、发育、衰老、死亡,到组织的得化、调亡以及细胞对各种生物、理化因子的应答,本质上都涉及基因的选择性表达。高等生物大约有30000个不同的基因,但在生物体内任意8细胞中只有10%的基因的以表达,而这些基因的表达按特定的时间和空间顺序有序地进行着,这种表达的方式即为基因的差异表达。其包括新出现的基因的表达与表达量有差异的基因的表达。生物体表现出的各种特性,主要是由于基因的差异表达引起的。
由于基因的差异表达的变化是调控细胞生命活动过程的核心机制,通过比较同一类细胞在不同生理条件下或在不同生长发育阶段的基因表达差异,可为分析生命活动过程提供重要信息。研究基因差异表达的主要技术有差别杂交(differential hybridization)、扣除(消减)杂交(subtractive hybridization of cDNA,SHD)、mRNA差异显示(mRNA differential display, DD)、抑制消减杂交法(suppression subtractive hybridization,SSH)、代表性差异分析(represential display *** ysis,RDA)、交互扣除RNA差别显示技术(reciprocal subtraction differential RNA display)、基因表达系列分析(serial *** ysis of gene expression,SAGE)、电子消减(electronic subtraction)和DNA微列阵分析(DNA microarray)等。
一、差别杂交与扣除杂交
差别杂交(differential hybridization)又叫差别筛选(differential screening),适用于分离经特殊处理而被诱发表达的mRNA的cDNA克隆。为了增加这种方法的有效性,后来又发展出了扣除杂交(subtractive hybridization)或扣除cDNA克隆(subtractive cDNA cloning),它是通过构建扣除文库(subtractive library)得以实现的。
(一)差别杂交
从本质上讲,差别杂交也是属于核酸杂交的范畴。它特别适用于分离在特定组织中表达的基因、在细胞周期特定阶段表达的基因、受生长因子调节的基因、以及在特定发育阶段表达的或是参与发育调节的基因,同时亦可有效地用来分离经特殊处理而被诱发表达的基因。目前,差别杂交筛选法在克隆基因的分离工作中有着相当广泛的用途。
差别杂交的技术基础十分简单,它不需要任何有关的目的基因的核苷酸序列信息,而重要的是耍拥有两种不同的细胞群体:在一个细胞群体中目的基因正常表达,在另一个细胞群体中目的基因不表达。在这种情况下便可制备到两种不同的mRNA提取物。其一是含有一定比例的目的基因mRNA类型的总mRNA群体,其二是不含有目的基因mRNA类型的总mRNA群体。因此,可以通过这两种总mRNA(或是它们的cDNA拷贝)为探针的平行杂交,对由表达目的基因的细胞总mRNA构建的克隆库进行筛选。当使用存在目的基因的mRNA探针时,所有包含着重组体的菌落都呈阳性反应,在X光底片上呈现黑色斑点,而使用不存在目的基因的mRNA探针时,除了含有目的基因的菌落外,其余的所有菌落都呈阳性反应,在X光底片上呈现黑色斑点。比较这两种底片并对照原平板,便可以挑选出含目的基因的菌落,供作进一步研究使用。
差别杂交筛选技术已被成功地用于分析爪蟾和粘菌的发育问题。这两个应用例子表明,处于不同发育状态或阶段的......>>
问题三:请教关于韦恩图分析差异表达基因的问题 差异表达基因分析是根据表型协变量(分类变量)鉴定组间差异表达,它属于监督性分类的一种。在鉴定差异表达基因以前,一般需要对表达值实施非特异性过滤(在机器学习框架下属于非监督性分类),因为适当的非特异性过滤可以提高差异表达基因的检出率、甚至是功效。R分析差异表达基因的library有很多,但目前运用最广泛的Bioconctor包是limma。
鉴定差异表达基因是表达谱芯片分析pipeline中必须的分析步骤。差异表达基因分析是根据表型协变量(分类变量)鉴定组间差异表达,它属于监督性分类的一种。在鉴定差异表达基因以前,一般需要对表达值实施非特异性过滤(在机器学习框架下属于非监督性分类),因为适当的非特异性过滤可以提高差异表达基因的检出率、甚至是功效。R分析差异表达基因的library有很多,但目前运用最广泛的Bioconctor包是limma。
本专题示例依然来自GEO数据库中检索号为GSE11787 的Affymetrix芯片的数据,数据介绍参阅专题一。
>library(limma)
>design colnames(design) fit contrast.matrix fit fit2 fit2 resultssummary(results)
>vennCounts(results)
>vennDiagram(results)
比较遗憾的是,目前limma自带的venn作图函数不能做超过3维的高维venn图,只能画出3个圆圈的venn图,即只能同时对三个coef进行venn作图。上面的venn图只有一个coef,太简单了。下面是一个由本实验室芯片数据得出的三个coef的venn图例:
>heatDiagram(results,fit2$coef)
红色为control中(与LPS相比)的高表达基因,绿色为control中(与LPS相比)的低表......>>
问题四:有做基因差异表达分析的么 有做基因差异表达分析的
利用基因芯片研究干旱胁迫下玉米基因表达
玉米是全球第一大作物、中国第二大作物,而干旱是影响其产量的重要限制因素。山东大学生命科学院张举仁教授的课题组利用基因芯片技术研究了开花期玉米顶叶干旱胁迫下基因的表达。开花期是玉米需水临界期,对干旱胁迫反应最敏感,此时逢干旱会使产量下降幅度最大。张教授的课题组以开花期玉米为材料,分别对其进行短期和长期的干旱胁迫,采用全基因组芯片研究了顶叶中基因的表达情况。分析的结果表明,有197个基因在短期胁迫下差异表达(53%上调),而在长期胁迫下,则有1009个基因差异表达(32%上调)。分离得到的差异表达基因中约有一半的基因功能未知,其他基因按功能则可分为:代谢相关;细胞信号转导;转录相关;蛋白质合成;细胞防御;细胞运输;亚细胞定位等几大类。分析实验表明,在短期胁迫下上调表达的基因中,约有1/3的已知功能基因属于信号转导功能的分类范畴,参与细胞内不同的信号转导途径,这表明信号转导相关基因在玉米对干旱的早期反应中起重要作用。而在长期干旱条件下,顶叶中大量的代谢相关基因差异表达。
吸烟者肺细胞的基因表达模式有助于肺癌的早期诊断
在全世界癌症患者的死亡率中,肺癌的死亡率位居前列。肺癌高死亡率的主要原因之一是缺乏早期诊断工具。研究人员在3月出版的《自然―医学》中报道:吸烟者肺细胞的基因表达模式也许有助于肺癌的早期诊断。
众所周知,吸烟是肺癌的风险因子,因此吸烟者被认为是肺癌的高风险人群。吸烟者的正常上皮细胞的基因表达模型是否可用于肺癌存在状态的一种生物标志呢?AvrumSpira和同事进行了这一研究。在预测患者是否会向癌症发展时,他们研究的生物标志的准确率达到90%。当与其他历史数据结合在一起,准确率可增加到95%。
问题五:怎么判断差异表达的基因 细胞分化就是基因表达差异,同一个体各个细胞内的基因是相同的,但它们的形态结构和功能不同,就是基因选择性表达的结果,造成基因差异
问题六:如何从转录组数据找出差异表达基因 转录本是一个基因序列通过一种剪切后所得的能RNA.以前说转录本都是说表达蛋白的.现在LncRNA的研究多了,也说是一个转录本了.还有没有参考基因组序列的,一般是不可能去GO功能注释的.因为去功能注释的时候要有一个背景.
问题七:如何分析差异表达基因的ma-plot图 差异表达基因分析是根据表型协变量(分类变量)鉴定组间差异表达,它属于监督性分类的一种。在鉴定差异表达基因以前,一般需要对表达值实施非特异性过滤(在机器学习框架下属于非监督性分类),因为适当的非特异性过滤可以提高差异表达基因的检出率、甚至是功效。R分析差异表达基因的library有很多,但目前运用最广泛的Bioconctor包是limma。
鉴定差异表达基因是表达谱芯片分析pipeline中必须的分析步骤。差异表达基因分析是根据表型协变量(分类变量)鉴定组间差异表达,它属于监督性分类的一种。在鉴定差异表达基因以前,一般需要对表达值实施非特异性过滤(在机器学习框架下属于非监督性分类),因为适当的非特异性过滤可以提高差异表达基因的检出率、甚至是功效。R分析差异表达基因的library有很多,但目前运用最广泛的Bioconctor包是limma。
问题八:求助基因差异表达结果分析 是不是误差造成的,可以做一次重复看一下差异是否真的是不明显。也或许在你说的那个浓度,你所检测的基因表达不敏感,是一个临界浓度? 我只是推测的。仅供参考。
C. 转载--基因表达水平及差异表达分析
基因表达水平分析
一个基因表达水平的直接体现就是其转录本的丰度情况,转录本丰度越高,则基因表达水平越高。在RNA-seq分析中,我们可以通过定位到基因组区域或基因外显子区的测序序列(reads)的计数来估计基因的表达水平。Reads计数除了与基因的真实表达水平成正比外,还与基因的长度和测序深度成正相关。为了使不同基因、不同实验间估计的基因表达水平具有可比性,人们引入了FPKM的概念,FPKM(expected number of Fragments Per Kilobase of transcript sequence per Millions base pairssequenced)是每百万fragments中来自某一基因每千碱基长度的fragments数目,其同时考虑了测序深度和基因长度对fragments计数的影响,是目前最为常用的基因表达水平估算方法(Trapnell, Cole, et al., 2010)。
差异表达分析
通过所有基因的FPKM分布图以及盒形图对不同实验条件下的基因表达水平进行比较。对于同一实验条件下的重复样品,最终的FPKM为所有重复数据的平均值。
基因差异表达的输入数据为基因表达水平分析中得到的readcount数据。对于有生物学重复的样品,我们采用DESeq(Anders et al, 2010)进行分析:
该分析方法基于的模型是负二项分布,第 i 个基因在第 j 个样本中的 read count 值为Kij,则有Kij ~ NB(µij,σij2)
对于无生物学重复的样品,先采用TMM对read count数据进行标准化处理,之后用DEGseq进行差异分析。差异表达基因列表如下:
用火山图可以推断差异基因的整体分布情况,对于无生物学重复的实验,为消除生物学变异,从差异倍数和显着水平两个方面进行评估,对差异基因进行筛选,
阈值设定一般为: |log2(FoldChange)| > 1 且 qvalue < 0.005。对于有生物学重复的实验,由于DESeq已经进行了生物学变异的消除,我们对差异基因筛选的标准一般为:
padj < 0.05。
差异基因维恩图
差异基因维恩图展示了各比较组间差异基因的个数,以及比较组间的重叠关系。
差异基因聚类分析
聚类分析用于判断差异基因在不同实验条件下的表达模式;通过将表达模式相同或相近的基因聚集成类,从而识别未知基因的功能或已知基因的未知功能;因为这些同类的基因可能具有相似的功能,或是共同参与同一代谢过程或细胞通路。以不同实验条件下的差异基因的FPKM值为表达水平,做层次聚类(hierarchical clustering)分析,不同颜色的区域代表不同的聚类分组信息,同组内的基因表达模式相近,可能具有相似的功能或参与相同的生物学过程。
原文: 基因表达水平及差异表达分析
D. 差异基因检测方法
差异基因的检测方法很多,但生物学家偏好使用的是fold change(FC)和t-test。猜测因为一是它们比较简单,二来好解释。很多研究表明,改进的t-test可以提高top gene list的质量。现在简单的说一下原理
指两个组group之间每个gene平均值在log2水平的差异。
FC=3=log2A-log2B=log(A/B)
所以,A/B=2^3=8
这样有一个缺点就是高的FC并非真正的差异,而是来自变异,并无生物学意义。
值得注意的是,基于FC的gene list比基于t-test的可重复性强,但这不代表着更准确。
所以,如果关注基因表达的绝对变化,则看FC
如果关注潜在的噪音,则用t-test。
也就是说,FC只考虑到组间差异,二未考虑组内变异。
差异性=signal/noise,期中signal即为组间变异,二noise为组内变异
groupA和groupB的差异XA均值-XB均值,这个同FC的M均值。受3个因素影响
(1)Fold change(M均值):M均值越大,t值越大,也就是说signal大
(2)Variance(s):s越小,t越小,就是组内差异大,即noise大
(3)sample size(n):n越大,t越大,即M均值和s同样的情况下,n越大,结果越精确。
上面可以看出,即使FC不大,但s值足够小,也会有大的t值,所以引入惩罚t-test。初衷是避免将表达水平和变异程度较低的无生物学意义的gene识别为差异gene。
其中,s0是个小的正数。引入s0消除s过小
可见,若S小,则S0作用大,反之,S大,S0作用小。
芯片分析中的SAM(significant analysis of microarrays)即这种方法。
步骤
(1)samples在AB之间随机打乱重拍1000次,d-value依次计算,这些d-value的均值作为整个gene的d-value,观察到的d-value偏离期望d-value越大,越可能是真正的差异gene。
(2)随着作者的cut off(德尔塔value)被选择,需要权衡差异基因数目和假阳性结果的数目(FDR).
继而,有基于贝叶斯理论的moerated t-test。也是最常用的。
包括贝叶斯模型,支持向量或随机森林。
E. 💉🈯[生信基础知识]几种常用的差异表达基因识别方法FC,T检验,SAM
目前常用的几款差异表达进识别方法有:FC、T检验、SAM等
FC(Fold Change) 算法是最早用于识别 两种 不同的实验条件下基因表达水平存在差异的算法,其算法的原理是计算基因在两类样本中平均表达水平的倍数值,若该值达到预先设定的阈值(一般设置为2,在以2为底的对数表达比中为大于1或小于-1),则判定基因为差异表达(DE,different expression)基因,计算公式如下,其中,mean(X(i))与mean(Y(i))代表基因 i 在两类样本中的平均表达值:
在很多实际应用中,常常有人把FC值做log2转换,log2fc 值相较于fc的有点在于:log2fc的值有正负值之分,很容易看出2个group之间的上下调关系>
关于limma包差异分析结果的logFC解释
t检验(t-test) ,常用来识别两类样本中DE基因的算法。其主要原理为:对每一个基因计算一个t统计量来衡量两类样本中基因表达的差异,然后根据t分布计算显着性p值来衡量这种差异的显着性。计算公式如下,其中,分子代表基因i在两类样本中的平均表达差值,分母代表基因i在所有样本中的标准误:
由于t检验要求数据呈现正太分布,所以公式中基因的表达值为测量值经过标准化后的值,反应的是两类样本间基因表达的倍数变化,也存在FC方法同样的偏向性。此外,对基础表达量低的基因来说,一个微小变异程度(标准误)可能导致一个大的绝对t统计值,从而被识别为DE基因,即使在两类条件下这个基因的平均表达水平的差异很小。低表达的基因比高表达的基因更容易产生大的t统计量。已有研究指出,数据的信噪比会随着基因表达量的增高而降低,这就意味着,低表达的基因更容易受到噪声的影响而产生误差。因此,t检验同样倾向于识别表达水平低的基因作为DE基因。
SAM(Significance analysis of microarrays) 算法用于微阵列基因表达谱数据识别DE基因 。SAM算法与t检验相似,但为了使具有较小标准误的基因不会被误判为DE基因,SAM在t统计量的分母中增加了校正值,提高了t检验的稳定性。计算公式如下,其中S0 为样本残差标准误的校正值:
上还有一些关于差异表达的文章,你可以也看看
【r<-生信|实战】用方差分析差异表达基因
基因芯片(Affymetrix)分析3:获取差异表达基因
差异表达基因
差异表达分析图标结果释义
1.赵发林, 闫晓光, 李康. 几种差异基因分析方法及筛选效果的比较[J]. 中国卫生统计, 2008, 25(4):354-356.
2.黄海燕 基于可重复性评价识别与癌相关的高表达基因
F. 差异表达基因分析:差异倍数(fold change), 差异的显着性(P-value)
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 procere.
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 proced 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 indivial 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
G. 从mRNA和蛋白水平来分析基因表达差异的方法有哪些
从mRNA和蛋白水平来分析基因表达差异的方法有哪些
基因的表达是DNA-RNA-蛋白,期间有转录水平调控、转录后复调控、翻译后调控等多种调控机制影响该基因的表达.所以蛋白水平高低的原因就可能是多方面的.蛋白表达多,可能是mRNA多,也可能mRNA变化不大,而是翻译多了;蛋白表达少制,原因亦然.从2个水平检测一个基因的表达,可以更全面地了解该基因在该组织某个时期或某种条件下的变化受到什么水平的调控.
所谓基因表达,就是从DNA到mRNA再到蛋白的一个过程,基因表达水平一般是通过百该基因转录的mRNA的多少来衡量的.每个基因转录产生的mRNA的量,是受到时空等多种因素调控的,个体在不同的生长发育阶段,或者不同的组织水平,基因转录出mRNA的量都是不一样的.例如,当某种植物长期生长在高度盐的环境里,该植物体内与抗盐相关的基因的表达量就会增加,以适应这种高盐环境,是植物能够生存下来,这时植物抗盐相关的基因表达水平就相对高,希望我的回答能够帮你弄清这个问题,
H. 转录组分析5——差异表达分析
• 现在常用的基因定量方法包括:RPM, RPKM, FPKM, TPM。
• 这些表达量的主要区别是:通过不同的标准化方法为转录本丰度提供一个
数值表示,以便于后续差异分析。
• 标准化的主要目的是去除测序数据的技术偏差:测序深度和基因长度。
• 测序深度:同一条件下,测序深度越深,基因表达的read读数越多。
• 基因长度:同一条件下,不同的基因长度产生不对等的read读数,基
因越长,该基因的read读数越高。
https://mp.weixin.qq.com/s/KSMzgKBlgF2qIadME5nWhw
对于泊松分布而言,其均值和方差是相等的,但是我们的
数据确不符合这样的规律。
紫色实线是泊松分布的拟合结果。
橙色实线是负二项分布的拟合结果。 (DESeq2)
橙色虚线是 edgeR 软件的拟合结果。
I. 差异分析
基因的差异表达,即发现一组在正常样本和患病样本中表达不同的基因。
最简单的是阈值法,用倍数分析基因表达水平差异,即计算基因在两个条件下表达水平的比值(癌症和正常),确定比值的阈值,将绝对值大于此阈值的基因判断为差异基因。
最常用的T-test、ANOVA(方差分析)或者称为F检验。
T-test 检验是差异基因表达检测中常用的统计方法,通过合并样本间可变的数据,来评价差异表达,用于判断某一基因在两个样本中是否有差异表达。由于芯片实验成本较高,样本量较少,从而对总体方差的估计不很准确,T检验的检验效能降低。
SAM算法就是通过控制FDR值纠正多重假设检验中的假阳性率。SAM 方法检验差异表达,通过对分母增加一个常量 T 检验过程减小了假阳性发生的概率。根据文献记载,相比较其他算法,SAM算法更为稳定,筛选出的结果也更为准确。SAM方法以q-value< 0.05作为筛选差异表达基因的标准,从公式上来看,p-value和q-value较为相似,而差异筛选是一个典型的多重假设检验过程。对于多重假设检验,单次检验中差异显着基因的假阳性率(p-value较小)可能会较大,而 q-value 和 FDR值较常见的BH校正方法 得到的FDR值而言,改进了其对假阳性估计的保守性。
火山图可反映总体基因的表达情况, 横坐标代表log2(Fold Change),纵坐标表示-log10(P值),每个点代表一个基因,颜色用以区分基因是否差异表达, 图中橙色的点代表差异表达基因,蓝色的点代表没有差异表达的基因。
聚类图可以衡量 样本或基因之间表达的相似性 。 如上图所示的聚类图中, 横坐标代表样本聚类 ,一列代表一个样本,聚类基于样本间基因表达的相似性,样本间基因表达越接近,靠的越近,以此类推。 纵坐标代表基因聚类 ,一行代表一个基因,聚类基于基因在样本中表达的相似性,基因在样本中表达越接近,靠的越近,以此类推。 色阶代表基因表达丰度 ,越红代表上调得越明显,越绿代表下调得越明显。
REF:
https://www.jianshu.com/p/b55276e46f0c
https://blog.csdn.net/u012325865/article/details/87344725
http://college.gcbi.com.cn/archives/1616
https://www.cnblogs.com/leezx/p/7132099.html
J. 转录组入门(7):差异表达分析
原先三个样本的HTSeq-count计数的数据可以在我的GitHub中找到,但是前面已经说过Jimmy失误让我们分析的人类就只有3个样本, 另外一个样本需要从另一批数据获取(请注意batch effect),所以不能保证每一组都有两个重复。
我一直坚信”你并不孤独“这几个字,遇到这种情况的人肯定不止我一个,于是我找到了几种解决方法
以上方法都会在后续进行介绍,但是我们DESeq2必须得要有重复的问题亟待解决,没办法我只能自己瞎编了。虽然是编,我们也要有模有样,不能直接复制一份,要考虑到高通量测序的read是默认符合泊松分布的。我是这样编的。
这仅仅是一种填坑的方法而已,更好模拟数据的方法需要参阅更加专业的文献, 有生之年 我希望能补上这一个部分。
这部分内容最先在 RNA-Seq Data Analysis 的8.5.3节看到,刚开始一点都不理解,但是学完生物统计之后,我认为这是理解所有差异基因表达分析R包的关键。
基本上,统计课都会介绍如何使用 t检验 用来比较两个样本之间的差异,然后在样本比较多的时候使用 方差分析 确定样本间是否有差异。当然前是样本来自于正态分布的群体,或者随机独立大量抽样。
对于基因芯片的差异表达分析而言,由于普遍认为其数据是服从正态分布,因此差异表达分析无非就是用t检验和或者方差分析应用到每一个基因上。高通量一次性找的基因多,于是就需要对多重试验进行矫正,控制假阳性。目前在基因芯片的分析用的最多的就是 limma 。
但是 ,高通量测序(HTS)的read count普遍认为是服从泊松分布(当然有其他不同意见),不可能直接用正态分布的 t检验 和 方差分析 。 当然我们可以简单粗暴的使用对于的 非参数检验 的方法,但是统计力不够,结果的p值矫正之估计一个差异基因都找不到。老板花了一大笔钱,结果却说没有差异基因,是个负结果,于是好几千经费打了水漂,他肯定是不乐意的。因此,还是得要用参数检验的方法,于是就要说到方差分析和线性模型之间的关系了。
线性回归和方差分析是同一时期发展出的两套方法。在我本科阶段的田间统计学课程中就介绍用 方差分析 (ANOVA)分析不同肥料处理后的产量差异,实验设计如下
这是最简单的单因素方差分析,每一个结果都可以看成 yij = ai + u + eij, 其中u是总体均值,ai是每一个处理的差异,eij是随机误差。
注 :方差分析(Analysis of Variance, ANAOVA)名字听起来好像是检验方差,但其实是为了判断样本之间的差异是否真实存在,为此需要证明不同处理内的方差显着性大于不同处理间的方差。
线性回归 一般是用于量化的预测变量来预测量化的响应变量。比如说体重与身高的关系建模:
当然线性回归也可用处理名义型或有序型因子(也就是离散变量)作为预测变量,如果要画图的话,就是下面这个情况。
如果我们需要通过一个实验找到不同处理后对照组和控制组的基因变化,那么基因表达可以简单写成, y = a + b · treament + e。 和之前的 yij = ai + u + eij 相比,你会发现公式是如此的一致。 这是因为线性模型和方差分析都是 广义线性模型 (generalizing linear models, GLM)在正态分布的预测变量的特殊形式。而GLM本身只要采用合适的 连接函数 是可以处理对任意类型的变量进行建模的。
目前认为read count之间的差异是符合负二项分布,也叫gamma-Possion分布。那么问题来了,如何用GLM或者LM分析两个处理件的差异呢?其实可以简单的用上图的拟合直线的斜率来解释,如果不同处理之间存在差异,那么这个拟合线的斜率必定不为零,也就是与X轴平行。但是这是一种便于理解的方式(虽然你也未必能理解),实际更加复杂,考虑因素更多。
注1 负二向分布有两个参数,均值(mean)和离散值(dispersion). 离散值描述方差偏离均值的程度。泊松分布可以认为是负二向分布的离散值为1,也就是均值等于方差(mean=variance)的情况。
注2 这部分涉及大量的统计学知识,不懂就用维基网络一个个查清楚。
聊完了线性模型和方差分析,下面的设计矩阵(design matrix)就很好理解了, 其实就是用来告诉不同的差异分析函数应该如何对待变量。比如说我们要研究的KD和control之间变化,设计矩阵就是
那么比较矩阵(contrast matrix)就是告诉差异分析函数应该如何对哪个因素进行比较, 这里就是比较不同处理下表达量的变化。
其实read count如何标准化的方法有很多,最常用的是FPKM和RPKM,虽然它们其实是错的-- FPKM/RPKM是错的 。
我推荐阅读 Comparing the normalization methods for the differential analysis of Illumina high-throughput RNA-Seq data , 了解不同标准化方法之间的差异。
有一些方法是要求原始数据,有一些则要求经过某类标准化后的数据,记得区分。
关于DESeq2分析差异表达基因,其实在 https://www.bioconctor.org/help/workflows/rnaseqGene/ 里面介绍的非常清楚了。
我们已经准备好了count matrix,接下来就是把数据导入DESeq2。DESeq2导入数据的方式有如下4种,基本覆盖了主流read count软件的结果。
注 DESeq2要求的数据是raw count, 没必要进行FPKM/TPM/RPFKM/TMM标准化。
本来我们是可以用DESeq2为htseq-count专门提供的 DESeqDataSetFromHTSeq ,然而很尴尬数据不够要自己凑数,所以只能改用 DESeqDataSetFromMatrix 了 :cold_sweat:
导入数据,构建 DESeq2 所需的 DESeqDataSet 对象
注 : 这一步到下一步之间可以过滤掉一些low count数据,节省内存,提高运行速度
使用 DESeq 进行差异表达分析: DESeq 包含三步,estimation of size factors(estimateSizeFactors), estimation of dispersion(estimateDispersons), Negative Binomial GLM fitting and Wald statistics(nbinomWaldTest),可以分布运行,也可用一步到位,最后返回 results 可用的DESeqDataSet对象。
用results获取结果: results的参数非常的多,这里不好具体展开 :pensive: 但是你们会自己看的吧
我们可用mcols查看每一项结果的具体含义,比如说 log2FoldChange 表示倍数变化取log2结果,还能画个火山图。一般简单粗暴的用2到3倍作为阈值,但是对于低表达的基因,3倍也是噪音,那些高表达的基因,1.1倍都是生物学显着了。更重要的没有考虑到组内变异,没有统计学意义。 padj 就是用BH对多重试验进行矫正。
用summary看描述性的结果,大致是上调的基因占总体的11%,下调的是7.1%(KD vs control)
画个MA图,还能标注p值最小的基因。
下图是没有经过 statistical moderation平缓log2 fold changes的情况
如果经过 lfcShrink 收缩log2 fold change, 结果会好看很多
当然还有火山图,不过留给其他方法作图,我们先把差异表达的基因找出来。
一般p value 小于0.05就是显着了, 显着性不代表结果正确,只用于给后续的富集分析和GSEA提供排序标准和筛选而已。关于P值的吐槽简直无数, 请多注意。
edgeR在函数说明中称其不但可以分析SAGE, CAGE的RNA-Seq,Tag-RNA,或RNA-seq, 也能分析ChIP-Seq和CRISPR得到的read counts数据。嗯,我信了:confused:!
edgeR使用 DGEList 函数读取count matrix数据,也就说你需要提供一个现成的matrix数据,而不是指望它能读取单独的文件,然后进行合并(当然机智的我发现,其实可以用 tximport 或 DESeqDataSetFromHTSeq 读取单独的文件,然后传递给 DGEList )
第一步: 构建DGEList对象
第二步: 过滤 low counts数据。与DESeq2的预过滤不同,DESeq2的预过滤只是为了改善后续运算性能,在运行过程中依旧会自动处理low count数据,edgeR需要在分析前就要排除那些low count数据,而且非常严格。从生物学角度,有生物学意义的基因的表达量必须高于某一个阈值。从统计学角度上, low count的数据不太可能有显着性差异,而且在多重试验矫正阶段还会拖后腿。 综上所诉,放心大胆的过滤吧。
根据经验(又是经验 :dog: ), 基因至少在某一些文库的count超过10 ~ 15 才被认为是表达。这一步全靠尝试, 剔除太多就缓缓,剔除太少就严格点。 我们可以简单的对每个基因的raw count进行比较,但是建议用CPM(count-per-million) 标准化 后再比较,避免了 文库大小 的影响。
这里的0.5(即阈值)等于 10/(最小的文库的 read count数 /1000000),keep.lib.size=FALSE表示重新计算文库大小。
第三步: 根据组成偏好(composition bias)标准化。edgeR的 calcNormFactors 函数使用 TMM算法 对DGEList标准化
注 大部分的mRNA-Seq数据分析用TMM标准化就行了,但是也有例外,比如说single-cell RNA-Seq(Lun, Bach, and Marioni 2016), 还有就是global differential expression, 基因组一半以上的基因都是差异表达的,请尽力避免,(D. Wu et al. 2013), 不然就需要用到内参进行标准化了(Risso et al. 2014).
第四步: 实验设计矩阵(Design matrix), 类似于DESeq2中的design参数。 edgeR的线性模型和差异表达分析需要定义一个实验设计矩阵。很直白的就能发现是1vs0
第五步: 估计离散值(Dispersion)。前面已经提到负二项分布(negative binomial,NB)需要均值和离散值两个参数。edgeR对每个基因都估测一个经验贝叶斯稳健离散值(mpirical Bayes moderated dispersion),还有一个公共离散值(common dispersion,所有基因的经验贝叶斯稳健离散值的均值)以及一个趋势离散值
还可以进一步通过quasi-likelihood (QL)拟合NB模型,用于解释生物学和技术性导致的基因特异性变异 (Lund et al. 2012; Lun, Chen, and Smyth 2016).
注1 估计离散值这个步骤其实有许多 estimate*Disp 函数。当不存在实验设计矩阵(design matrix)的时候, estimateDisp 等价于 estimateCommonDisp 和 estimateTagwiseDisp 。而当给定实验设计矩阵(design matrix)时, estimateDisp 等价于 estimateGLMCommonDisp , estimateGLMTrendedDisp 和 estimateGLMTagwiseDisp 。 其中tag与gene同义。
注2 其实这里的第三, 四, 五步对应的就是DESeq2的 DESeq 包含的2步,标准化和离散值估测。
第六步: 差异表达检验(1)。这一步主要构建比较矩阵,类似于DESeq2中的 results 函数的 contrast 参数。
这里用的是 glmQLFTest 而不是 glmLRT 是因为前面用了glmQLTFit进行拟合,所以需要用QL F-test进行检验。如果前面用的是 glmFit ,那么对应的就是 glmLRT . 作者称QL F-test更加严格。多重试验矫正用的也是BH方法。
后续就是提取显着性差异的基因用作下游分析,做一些图看看
第六步:差异表达检验(2)。上面找到的显着性差异的基因,没有考虑效应值,也就是具体变化了多少倍。我们也可用找表达量变化比较大的基因,对应的函数是 glmTreat 。
经过上面两个方法的洗礼,基本上套路你也就知道了,我先简单小结一下,然后继续介绍limma包的 voom 。
Limma原先用于处理基因表达芯片数据,可是说是这个领域的老大 :sunglasses: 。如果你仔细看edgeR导入界面,你就会发现,edgeR有一部分功能依赖于limma包。Limma采用经验贝叶斯模型( Empirical Bayesian model)让结果更稳健。
在处理RNA-Seq数据时,raw read count先被转成log2-counts-per-million (logCPM),然后对mean-variance关系建模。建模有两种方法:
数据预处理 : Limma使用edgeR的DGEList对象,并且过滤方法都是一致的,对应edgeR的第一步,第二步, 第三步
差异表达分析 : 使用”limma-trend“
差异表达分析 : 使用”limma-voom“
如果分析基因芯片数据,必须好好读懂LIMMA包。
基本上每一个包,我都提取了各种的显着性基因,比较就需要用韦恩图了,但是我偏不 :stuck_out_tongue: 我要用UpSetR.
感觉limma的结果有点奇怪,有生之年在折腾吧。
好吧,这部分我鸽了
[1] Comparing the normalization methods for the differential analysis of Illumina high-throughput RNA-Seq data
[2] https://www.bioconctor.org/help/workflows/rnaseqGene/
[3] https://www.bioconctor.org/help/workflows/RnaSeqGeneEdgeRQL/
[4] https://www.bioconctor.org/help/workflows/RNAseq123/