作者,追风少年i
周五了,一周的收官之战,马上国庆了,希望大家有个好的假期,一切都会好起来,周星驰有一句台词,虽然我们都是路人甲乙丙丁,但是一样是有生命,有灵魂的。
书接上文,空间多组学分析破译胶质母细胞瘤中的双向肿瘤-宿主相互依赖性(空间微环境),我们来进行方法拾遗并复现。
这里我们主要关注空间转录组的分析,关于空间代谢和空间蛋白,仍然需要不断的学习。
第一点,空间CNV分析。
- CNA estimation
通过将基因与其染色体位置对齐并对相对表达值应用移动平均值来估计拷贝数变异 (CNV),每个染色体内有 100 个基因的滑动窗口(跟inferCNV的原理一致),首先,使用 InferCNV 包根据它们各自的基因组定位排列基因。 作为非恶性细胞的参考集,使用了来自非恶性皮层样本的空间转录组数据集(注意这里ref的选择)。 为了提高速度和计算能力,subsample是可选的。 为了避免任何特定基因对移动平均线的相当大的影响,将相对表达值限制在 [-2.6,2.6] 的范围内,将所有高于/低于 exp(i) = |2.6| 的值替换为 exp(i) = |2.6|。然后重新导入导出的 .RDS 输出文件,并按估计的 CNA 的染色体平均值进行分组,并使用 SPATA 对象的 fdata slot与它们的空间位置对齐。使用 SPATA::joinWithFeatures() 函数,然后提取了集群比较。空间数据的 CNA 分析是通过 SPATA2::runCnvAnalysis() 命令在 SPATA2 中实现的。在下一步中,估计的 CNA 值重新排列到定义的染色体bin中。这些 bin 由 SPATAwrappers 函数 Create.ref.bins() 创建,使用 SPATA 对象和给定 bin 的大小作为输入。在本研究中,使用了 1Mbp 的 bin 大小,产生 3847 个染色体 bin,每个 bin 平均覆盖 5.5 个基因。使用 10kbp 滑动窗口进行重新缩放和插值。对于标准化,使用了一个 loess 回归模型,用于确定来自 InferCNV 输出的拷贝数值。使用 SPATAwrappers::run-CNV.Normalization() 函数进行Interpolation和归一化。
SPATA分析CNV的代码如下
library(SPATA2)
spata_obj <- loadSpataObject("data/