【FindAllMarkers】Seruat鉴定差异表达基因的方法与P值的理解

 

目录

差异表达分析

用法简单示例

结果解读

P值与P adjust值的区别

假设检验

Bonferroni校验

reference


差异表达分析

seruat中差异表达分析的函数主要有两个:FindAllMarkers()和FindMarkers(),前者是比较一个cluster与所有其他cluster之间的基因表达,后者比较两个特定cluster之间的基因表达。

用法简单示例

  1. 在RNA assay上做差异表达分析:seruat对象切换到RNA assay,对原始的基因counts矩阵进行NormalizeData和ScaleData,获取归一化的seurat_obj[['RNA]]@data后(对应参数slot = "data"),进行差异基因分析。(推荐)
  2. 直接在SCT assay上做差异表达分析

设置FindAllMarkers的参数only.pos=True,表示只保留当前cluster阳性表达的基因

# lognormalize预处理
DefaultAssay(pbmc)<-"RNA"
pbmc.markers<-findAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)

#sctransform预处理
# method1
DefaultAssay(pbmc)<-"RNA"
pbmc<- NormalizeData(pbmc)
all.genes<- rownames(pbmc )
pbmc<-5caleData(pbmc,features =all.genes)
a1l.markers.RNA<-FindAllMarkers(pbmc, only.pos =T, min.pct = 0.5, logfc.threshold = 0.5)

#使用SCT assay进行差异表达分析
# method2
DefaultAssay(srat)<-"SCT"
a1l.markers.ScT<-findAllMarkers(pbmc, only.pos =T, min.pct = 0.5, logfc.threshold = 0.5)

结果解读

  • gene:基因名称
  • cluster:该基因对应的cluster
  • pct.1:在当前cluster细胞中检测到该基因表达的细胞比例
  • pct.2:在其它cluster细胞中检测到该基因表达的细胞比例
  • avg_logFC:两组间平均logFC,Seurat v4默认log2。正值表示特征在第一组中表达得更高
  • p_val:未调整P-value,数值越小越显著
  • p_val_adj:基于使用数据集中所有特征的bonferroni校正,校正后的p值

P值与P adjust值的区别

假设检验

统计学中的假设检验:用来判断样本与样本,样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。基本是思路类似数学中的“反证法”,是先对总体做出某种假设,然后通过抽样研究的统计推理,对此假设应该是拒绝或者接受。在假设检验中,我们设定原假设H0和备选假设H1:

原假设H0:两组数据没有显著性差异,两组相似
原假设H1:两组数据存在显著性差异,两组不同

在假设检验中,先设定原假设(HO),再设定与其相反的备择假设(H1)。接下来随机抽取样本若在原假设成立的情况下,样本发生的概率(P)非常小,说明原假设不成立,备择假设成立,则拒绝原假设。否则,接受原假设。
判断依据:依据小概率事件的原理,统计学上,把小概率事件在一次实验中看成是实际不可能发生的事件,一般认为等于或小于0.05或0.01的概率为小概率。当P值小于或等于显著性水平时,则拒绝原假设。

Wilcoxon检验:非参的假设检验方法,这意味着它不依赖于任何特定概率分布的数据,它并不需要正态性分布的假设,一般用来检测2个数据集是否来自于相同分布的总体。FindAllMarkers的默认检验方法

Wilcoxon秩和检验:推断连续型变量资料或有序变量资料的两个独立样本代表的两个总体分布
是否有差别。

Bonferroni校验

为什么要进行P值校正?
当同一研究问题下进行多次假设检验时,不再符合小概率原理所说的"一次试验”,需要进行多重检验校正。如果在该研究问题下只要有检验是阳性的,就对该问题下阳性结论的话,对该问题的检验的犯一类错误的概率就会增大。如果同一问题下进行n次检验,每次的检验水准为α(每次假阳性概率为α),则n次检验至少出现一次假阳性的概率会比a大。换句话说,在同时对多组数据进行处理和比较的时候,很可能其中部分数据因为随机效应而超过阈值,造成假阳性结果。而检验的次数越多,出现假阳性的概率就越大。


Bonferroni校正:最严格的多重检验校正方法,该方法是由Carlo Emilio Bonferroni发展的,故称Bonferroni校正。
校正原理:在同一数据集上同时检验n个相互独立的假设,那么用于每一假设的统计显著水平,应为仅检验一个假设时的显著水平的1/n。举个例子:如要在同一数据集上检验两个独立的假设,显著水平设为常见的0.05。此时用于检验该两个假设应使用更严格的0.025。即0.05*(1/2)。假如有10个检验,经过Bonferroni 校正以后,新的p值可以这样计算1-(1-p)^(1/10)=p'p'就是 新的显著性水平。

我们要对数千个基因进行统计测验,所以我们可能只是偶然获得p-values很小的基因(假阳性基因),但是实际,在样本间毫无差异。每个基因的p值只是单一检验(单基因)的结果。检验的基因越多,假阳性率就越高。所以,我们需要对基因的p值进行多重假设检验校正,从而减低假阳性结果在我们的检验中出现的次数。


FindAllMarkers函数默认使用Bonferroni校验。校验的次数取决于测试(基因)的数目,如果我们测试较少的基因,校正就没有那么苛刻。Bonferroni correction: adjusted p-value = raw p-value * number of genes tested

reference

【1】https://www.jianshu.com/p/f5c8f9ea84af

【2】http://www.idata8.com/rpackage/Seurat/FindAllMarkers.html

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值