参考:Seurat官网:https://satijalab.org/seurat/v3.2/pbmc3k_tutorial.html
来自生信星球刘小泽的个人博客:https://www.jieandze1314.com/
仅用于个人参考学习
高变异基因:highly variable features(HVGs),就是在细胞与细胞间进行比较,选择表达量差别最大的
Seurat中利用FindVariableFeatures函数,会计算一个mean-variance结果,也就是给出表达量均值和方差的关系并且得到top variable features
计算方法主要有三种:
vst(默认):
首先利用loess对log(variance)和log(mean)拟合一条直线,然后利用观测均值和期望方差对基因表达量进行标准化,最后根据保留最大的标准化的表达量计算方差
mean.var.plot:
首先利用mean.function和dispersion.function分别计算每个基因的平均表达量和离散情况,然后根据平均表达量将基因们分散到一定数量(默认是20个)的小区间(bin)中,并且计算每个bin中z-score
dispersion(最直接):
挑选最高离差值的基因
例如:使用Seurat 版本3
# V3 代码来自官方教程
pbmc<-FindVariableFeatures(pbmc, selection.method="vst", nfeatures=2000)
top10<-head(VariableFeatures(pbmc),10)
# 分别绘制带基因名和不带基因名的
plot1<-VariableFeaturePlot(pbmc)
plot2<-LabelPoints(plot=plot1, points=top10, repel=TRUE)
CombinePlots(plots=list(plot1, plot2))
使用Seurat版本2
# V2pbmc<-FindVariableGenes(object=pbmc,
mean.function=ExpMean,
dispersion.function=LogVMR )
length( pbmc@var.genes)
#默认值是:x.low.cutoff = 0.1, x.high.cutoff = 8, y.cutoff = 1,
#就是说取log后的平均表达量(x轴)介于0.1-8之间的;分散程度(y轴,即标准差)至少为1的
V3计算mean.function和FastLogVMR均采用了加速的FastExpMean、FastLogVMR模式
V3横坐标范围设定参数改成:mean.cutoff,整合了原来V2的x.low.cutoff + x.high.cutoff;
纵坐标改成:dispersion.cutoff ,替代了原来V2的y.cutoff
V3默认选择2000个差异基因,检查方法也不同
(V3用VariableFeatures(sce)检查,V2用sce@var.genes检查)