算法描述篇
从这张幻灯片中可以发现存在有输入和输出集合,并且最后可以计算出对应的疾病评分和对照评分从而发现存在有关联的细胞和细胞集合。
Step1:获取候选疾病基因集合,通过GWAS数据来计算MAGMA中的基因的z-score数值,这些数值可以和疾病还曾都有相关联程度,接着选择出来前1000个基因判断为这些基因和疾病存在有强大的关联,在每个疾病评估后面存在有对这个基因对应的基因数值。
Step2: 选取大约有ngene个数据,从这些数据中可以发现对应的z-score值,在候选基因集合之外可以选择大约有B * ngene个对照基因集合,每个集合中存在有ngene个数值,从这些数值中计算对照评分和疾病评分
Step3:如果想计算出来原始对照评分和原始疾病评分,必须对两个矩阵进行标准化,具体的标准化的公式为:对个体差异进行标准化的计算公式
说明了这些基因对应的基因方差
Step4:对全局无关变量进行标准化
对对照组计算相对应的均值和标准方差,
Step5:再次对个体差异进行标准化
对于所有经过sc-RNA seq的n_cell个细胞,我们得到了n_cell个疾病评分和n_cell×B个对照评分。
Step6:计算出疾病评分和对照评分,得到对应的p-value
不妨设B = n_cell= 1000, 在n_cell×B个对照评分中,考虑第c个细胞的疾病评分s_c:
当所有对照评分都小于s_c ,分子为1,分母接近10^6, p_c ≈ 10^−6≪0.01,细胞c与疾病的相关性显著;
当所有对照评分都大于s_c ,分子为1+n_cellB ,与分母相等, p_c=1,细胞c与疾病基本不相关;
当有9.5 ×10^5个对照评分小于s_c,分子接近 5×104,分母接近106, p_c ≈ 0.05,达到95%置信水平
Step7:scDRS, cell type-diseases associations were computed using the MC test
上面一步骤获取数据有细胞水平P值pc,标准化疾病评分sc,和标准化对照评分s ctrl c1,...,sctrl cB,怎么知道那些细胞具有和疾病关联性强弱,可以通过计算pvalue值,具体公式看第一个可以看出来,对同一细胞类型中的基因查看对应和对照组中t分数,如果大于得到的值为1,否则得到的值为0,从而计算pvalue,不同细胞类型存在有不同的pvalue,对pvalue进行排序,拿top5-10的细胞类型数据用于后续分析
Step8: Assessing within-cell-type heterogeneity in association with disease
在相同的细胞类型中,接着想知道相同细胞类型中是否存在异质性,异质的一方面理解为同一细胞的不同阶段,而引起的细胞异质。Geary’s C是一种统计度量,用于量化属于同一细胞类型或细胞簇的一组细胞之间疾病评分的空间自相关性。最高分位数是指疾病评分最高的细胞子集(例如,前5%的细胞),选择最上面的分位数,该方法专注于最相关的单元格,同时对潜在的注释错误或错误标记具有鲁棒性,然后将这些高度显著的细胞用作检验统计量,以评估细胞类型与疾病之间的关联。
值显著低于1表明在给定集合内的细胞之间疾病关联的异质性很高。换句话说,如果相邻细胞的疾病评分不同,则表明疾病与给定细胞组之间存在高度的异质性。
程序模拟篇
PartI: 从网上加载所需要的数据,具体加载的数据集合有
SCZ: 从GWAS汇总统计中获得的精神分裂症(SCZ)基因集,这是本演示中感兴趣的疾病。
Dorsal: 从Cembrowski等人的2016年研究中获得的背侧CA1锥体细胞中差异表达的基因,我们将使用这些基因构建背侧得分,以指示与背侧CA1的接近程度,我们认为这对于了解SCZ疾病富集的空间分布很有用。
Height: 从GWAS汇总统计中获得的身高基因集,我们将其作为负控制性状。
PartII:
1、加载单细胞数据集,data/expr.h5ad
2、子集化基因集合,将数据拆分为三个部分,SCZ、Dorsal、Height并将数据进行存储为csv format
PartIII:
1、对单个细胞进行疾病富集的scDRS分析
2、代码解释为用scDRS计算得分,需要的数据有单细胞数据.h5ad,并添加对应的物种,前面数据拆分的三个数据集合,数据协变量信息,别的参数为查看是否需要过滤数据,查看是否为原始count数,是否需要返回原始ctrl-raw-score和ctrl-norm-score,并指定数据输出文件夹名称为data
PartIV: 用上面代码获取的数据用图画出来
首先,执行细胞类型级别分析, 可视化了几个可视化观察(从最上面的UMAP图可以看出来不同颜色说明了什么细胞),(三张图中的第一张图)SCZ组CA1锥体神经元呈病变富集。其次,在Dorsal panel中,在CA锥体神经元内,我们观察到(三张图中的第二张图)Dorsal评分从左到右的梯度,这表明UMAP右侧的细胞富集于CA1的背侧区域。第三,结合SCZ和Dorsal区,我们可以推测SCZ富集于CA1背侧区。身高作为一种负调控,展示了很少的信号。
代码部分得分计算几个不同特征(SCZ, Dorsal, Height)的应对不同疾病的细胞相对应响应程度(本质上来说:对应细胞类型中marker基因的表达强弱,反应了这些细胞类型的颜色深浅),计算出得分之后,用参数sc.pl.umap进行相对应的绘图设置。
PartV: 对群体值进行计算
Scdrs perform downstream这个参数可以获取群体水平的统计值
Group说明了不同类型的细胞,
列assoc_mcp说明了不同类型疾病关联的得分值;
列chetero_mcp 在一个细胞类型中是否存在与疾病相关联的异质性细胞;
列n_fdr_0.1说明了显著关联的细胞数目到底有多少
PartVI: 代码解读:将细胞类型和两大性状进行关联代码,并且可以呈现出对应图
图:
1、热图颜色反应了每个细胞类型,每种细胞类型-疾病对的热图颜色表示显著相关细胞的比例。SCZ和Astrocyte、pyramidal CA1 和 pyramidal SS存在相关的细胞数目的多少
2、方形表示细胞类型与疾病的显著关联(FDR)所有细胞类型对和疾病/性状对均为0.05,说明相对应Height和细胞Astrocyte存在显著相关性,SCZ和 Astrocyte、pyramidal CA1 和 pyramidal SS存在显著相关
3、交叉符号表示在给定细胞类型中与疾病相关的单个细胞的显著异质性。
PartVII:
代码:将感兴趣的细胞类型单独画图,看在这几种SCZ, Dorsal 和 Height中细胞存在的异质性的源泉
图:看到在SCZ中相关性最强的细胞分布;Dorsal中可以看出来对应的相关性细胞分布位置和强弱;Height变化对细胞中基因影响没有那么大
PartVIII:
代码:将相同细胞区域区分为五个部分,看各个部分和SCZ和height的相关性大小-评分
图:与之前的观察结果一致,SCZ似乎富集于CA1的背侧。当我们将SCZ平均疾病评分与Height评分进行对比时,这一点更为明显。
PartVIIII: 代码:执行严格的统计检验,量化趋势的p值(偶然发生的概率)。
SCZ v.s. Dorsal, Pearson's r=0.43 (p=0.001)
Height v.s. Dorsal, Pearson's r=0.04 (p=0.37)
计算出的数值:我们可以将疾病评分(SCZ)和背侧评分(Dorsal)的Pearson相关性与对照评分(Height)和背侧评分(Dorsal)的Pearson相关性进行比较,得出p值。
结论:事实上,SCZ与背侧(Dorsal)之间的关联非常显著。
拓展:除了评估相关性的显著性外,控制分数还可以帮助评估任何统计数据的显著性。
python版本的代码