BayesSpace

爱德华·赵任,马特•斯通和拉斐尔Gottardo

2023-01-19

图书馆(SingleCellExperiment)图书馆(ggplot2)图书馆(BayesSpace)

为BayesSpace准备实验

加载数据

BayesSpace支持三种加载方式SingleCellExperiment进行分析。

Visium数据集处理空间管理员可以直接通过加载readVisium ()函数。这个函数只需要空间管理员输出目录的路径(包含空间/filtered_feature_bc_matrix /子目录),并返回一个SingleCellExperiment

第二,所有数据集分析BayesSpace手稿很容易通过的getRDS ()函数。这个函数有两个参数,数据集的名称,并在数据集样本的名称。

最后,SingleCellExperiment人工构造的对象可以从数矩阵和表的行和列的数据。BayesSpace只要求提供现货阵列坐标列命名上校colData。(注意,增强Visium数据集另外需要组织中的每个点图像的像素坐标,但在这种情况下,数据集应该装满readVisium ()自动加载这些数据。)

我们将继续与黑色素瘤样本2018空间转录组论文剩下的例子在这个描述。

数据预处理

BayesSpace需要最小的数据预处理,但我们为自动化提供一个helper函数。

spatialPreprocess ()log-normalizes数矩阵并进行PCA在顶部n.HVGs高度可变的基因,使顶部n.PCs主要组件。此外,空间添加元数据的测序平台SingleCellExperiment为下游分析。如果你不希望重新运行PCA,运行spatialPreprocess ()的国旗skip.PCA = TRUE只会增加BayesSpace需要的元数据。

在这里,我们省略log-normalization所有可用数据集通过getRDS ()已经包括log-normalized计数。

聚类

选择集群的数量

我们可以使用qTune ()qPlot ()函数来帮助选择集群的数量在我们的分析使用。

集群与BayesSpace

spatialCluster ()功能集群,并添加预测集群标签SingleCellExperiment。通常,当我们做的分析,我们建议使用至少10000次迭代(nrep = 10000),但是我们使用1000迭代演示为了运行时。(注意,随机种子必须设置为了结果是可再生的。)

mclust初始化(cluster.init)和BayesSpace集群作业(spatial.cluster)现在SingleCellExperiment中可用的colData

可视化空间集群

我们可以画出集群作业的空间位置点clusterPlot ()

作为clusterPlot ()返回一个ggplot对象,它可以通过组合定制与熟悉ggplot2功能。此外,参数调色板设置每个集群使用的颜色clusterPlot ()需要附加参数geom_polygon ()大小颜色控制现场的美学的境界。

提高分辨率

集群在提高分辨率

spatialEnhance ()函数将提高分辨率的主要组件,并添加这些电脑以及预测集群subspot分辨率提高到一个新的标签SingleCellExperiment。与我们的演示spatialCluster ()以上,我们用更少的迭代这个例子的目的(nrep = 1000比我们建议在实践中)(nrep = 100000或更高版本)。请注意,jitter_scale参数应该调整,建议更新subspot-level表达接受大约30%的时间。这可以评估使用mcmcChain(黑色素瘤。增强,“Ychange”),链应该稳定0.25 - -0.40。通常1000 - 2500次迭代都能充分评估jitter_scale应该增加如果接受过高或减少接受太低了。调优后,继续全面运行spatialEnhance有更多的迭代。

增强的SingleCellExperiment包括索引到父的原创南加州爱迪生公司(spot.idx),以及一个subspot指数。它增加了补偿到原始点坐标,并提供增强的集群标签(spatial.cluster)。

我们可以画出上面的增强集群作业。

增强基因表达的决议

BayesSpace作用于基因表达矩阵的主成分spatialEnhance ()因此电脑向量计算更高的分辨率。直接增强基因表达不是计算,而是使用回归算法估算。对于每一个基因,使用每个点的PC向量模型是预测现货价格基因表达训练,和拟合模型用于预测subspot subspot PC的表达式。

基因表达增强的实现enhanceFeatures ()函数。BayesSpace预测表达式xgboost默认情况下,但线性和狄利克雷回归也可以通过模型论点。当使用xgboost,我们建议自动调整nrounds参数被设置为0,尽管这是在运行时增加的成本(~ 4 x低于预先确定nrounds在实践中)。

enhanceFeatures ()可用于转嫁subspot-level所有基因表达,或者感兴趣的基因的一个子集。在这里,我们将演示通过提高四个标记基因的表达:PMEL(黑色素瘤)、张(t细胞),CD19 (b细胞)和COL1A1(成纤维细胞)。

默认情况下,log-normalized表达式(logcounts (sce))估算,虽然其他化验可以指定或任意特性矩阵。

从每个预测模型诊断措施,如rmse当使用xgboost添加到rowData增强的数据集。

可视化增强基因表达

空间基因表达与可视化featurePlot ()

在这里,我们比较空间估算标记基因的表达。

我们可以与现货价格表达式。

访问马尔可夫链

如果save.chain被设置为真正的在这两种spatialCluster ()spatialEnhance (),获得与各自相关的连锁经营作为HDF5保存到磁盘文件中。这个文件的路径是存储在SingleCellExperiment的元数据元数据(sce) h5.chain美元,可以直接阅读使用mcmcChain ()

链作为一个提供coda:密度对象,它可以分析TidyBayes或者是一个矩阵。每个迭代的对象有一行,参数的值连接的行。列是命名参数名称和索引(如果有的话)。

链< -mcmcChain(黑色素瘤)链(1:5,1:5]# >λλ[1][1,2]λ[1,3]λλ[1,4][1,5]# > [1]0.01000000 0.000000000 0.00000000 0.00000000 0.000000000# > [2]0.08757829 -0.005798093 0.04594761 0.05789615 -0.019023472# > (3)0.10063323 -0.008922653 0.05061634 0.05269334 -0.004028245# > [4]0.13708014 -0.016090349 0.06626887 0.02779234 -0.022475194# > [5]0.12768109 -0.006919337 0.06831921 0.03047754 -0.027188932

从磁盘删除HDF5文件和删除元数据的路径,使用removeChain ()