BayesSpace支持三种加载方式SingleCellExperiment
进行分析。
Visium数据集处理空间管理员可以直接通过加载readVisium ()
函数。这个函数只需要空间管理员输出目录的路径(包含空间/
和filtered_feature_bc_matrix /
子目录),并返回一个SingleCellExperiment
。
第二,所有数据集分析BayesSpace手稿很容易通过的getRDS ()
函数。这个函数有两个参数,数据集的名称,并在数据集样本的名称。
最后,SingleCellExperiment
人工构造的对象可以从数矩阵和表的行和列的数据。BayesSpace只要求提供现货阵列坐标列命名行
和上校
在colData
。(注意,增强Visium数据集另外需要组织中的每个点图像的像素坐标,但在这种情况下,数据集应该装满readVisium ()
自动加载这些数据。)
图书馆(矩阵)rowData < -read.csv(“路径/ / rowData.csv”,stringsAsFactors =假)colData < -read.csv(“路径/ / colData.csv”,stringsAsFactors =假,row.names =1)计数< -read.csv(“路径/ / counts.csv.gz”,row.names =1,check.names =F,stringsAsFactors =假))南加州爱迪生公司< -SingleCellExperiment(化验=列表(数=作为(计数,“dgCMatrix”)),rowData =rowData,colData =colData)
我们将继续与黑色素瘤样本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 ()
函数来帮助选择问
集群的数量在我们的分析使用。
qTune ()
运行BayesSpace聚类算法对多个指定的值问
(默认情况下,3到7)和计算他们的平均pseudo-log-likelihood。它接受任何参数spatialCluster ()
。qPlot ()
情节pseudo-log-likelihood的函数问
;我们建议选择问
在肘部的阴谋。的spatialCluster ()
功能集群,并添加预测集群标签SingleCellExperiment
。通常,当我们做的分析,我们建议使用至少10000次迭代(nrep = 10000
),但是我们使用1000迭代演示为了运行时。(注意,随机种子必须设置为了结果是可再生的。)
set.seed(149年)黑色素瘤< -spatialCluster(黑色素瘤,q =4,平台=“圣”,d =7,init.method =“mclust”,模型=“t”,γ=2,nrep =1000年,burn.in =One hundred.,save.chain =真正的)
mclust初始化(cluster.init
)和BayesSpace集群作业(spatial.cluster
)现在SingleCellExperiment中可用的colData
。
我们可以画出集群作业的空间位置点clusterPlot ()
。
作为clusterPlot ()
返回一个ggplot
对象,它可以通过组合定制与熟悉ggplot2
功能。此外,参数调色板
设置每个集群使用的颜色clusterPlot ()
需要附加参数geom_polygon ()
如大小
或颜色
控制现场的美学的境界。
clusterPlot(黑色素瘤,面板=c(“紫色”,“红色”,“蓝色”,“黄色”),颜色=“黑色”)+theme_bw()+xlab(“列”)+ylab(“行”)+实验室(填补=“BayesSpace\ n集群”,title =“ST_mel1_rep2空间聚类”)
的spatialEnhance ()
函数将提高分辨率的主要组件,并添加这些电脑以及预测集群subspot分辨率提高到一个新的标签SingleCellExperiment
。与我们的演示spatialCluster ()
以上,我们用更少的迭代这个例子的目的(nrep = 1000
比我们建议在实践中)(nrep = 100000
或更高版本)。请注意,jitter_scale
参数应该调整,建议更新subspot-level表达接受大约30%的时间。这可以评估使用mcmcChain(黑色素瘤。增强,“Ychange”)
,链应该稳定0.25 - -0.40。通常1000 - 2500次迭代都能充分评估jitter_scale
应该增加如果接受过高或减少接受太低了。调优后,继续全面运行spatialEnhance
有更多的迭代。
黑素瘤。增强的< -spatialEnhance(黑色素瘤,q =4,平台=“圣”,d =7,模型=“t”,γ=2,jitter_prior =0.3,jitter_scale =3.5,nrep =1000年,burn.in =One hundred.,save.chain =真正的)
增强的SingleCellExperiment
包括索引到父的原创南加州爱迪生公司
(spot.idx
),以及一个subspot指数。它增加了补偿到原始点坐标,并提供增强的集群标签(spatial.cluster
)。
头(colData(melanoma.enhanced))与6 # > DataFrame行9列# >。idx subspot。idx现货。行位置。上校行上校# > <数字> <整数> <整数> <整数> <数字> <数字>1 1 7 # > subspot_1.1 15 7.33333 - 15.3333# > subspot_2.1 2 1 7 16 7.33333 - 16.3333# > subspot_3.1 3 1 7 17 7.33333 - 17.3333# > subspot_4.1 4 1 7 18 7.33333 - 18.3333# > subspot_5.1 5 1 8 13 8.33333 - 13.333314 # > subspot_6.1 6 1 8 8.33333 - 14.3333# > imagerow imagecol spatial.cluster# > <数字> <数字> <数字># > subspot_1.1 7.33333 15.3333 - 1# > subspot_2.1 7.33333 16.3333 - 2# > subspot_3.1 7.33333 17.3333 - 1# > subspot_4.1 7.33333 18.3333 - 2# > subspot_5.1 8.33333 13.3333 - 1# > subspot_6.1 8.33333 14.3333 - 1
我们可以画出上面的增强集群作业。
BayesSpace作用于基因表达矩阵的主成分spatialEnhance ()
因此电脑向量计算更高的分辨率。直接增强基因表达不是计算,而是使用回归算法估算。对于每一个基因,使用每个点的PC向量模型是预测现货价格基因表达训练,和拟合模型用于预测subspot subspot PC的表达式。
基因表达增强的实现enhanceFeatures ()
函数。BayesSpace预测表达式xgboost
默认情况下,但线性和狄利克雷回归也可以通过模型
论点。当使用xgboost
,我们建议自动调整nrounds
参数被设置为0,尽管这是在运行时增加的成本(~ 4 x低于预先确定nrounds
在实践中)。
enhanceFeatures ()
可用于转嫁subspot-level所有基因表达,或者感兴趣的基因的一个子集。在这里,我们将演示通过提高四个标记基因的表达:PMEL(黑色素瘤)、张(t细胞),CD19 (b细胞)和COL1A1(成纤维细胞)。
标记< -c(“PMEL”,“张”,“CD19”,“COL1A1”)黑素瘤。增强的< -enhanceFeatures(melanoma.enhancedmelanoma,feature_names =标记,nrounds =0)
默认情况下,log-normalized表达式(logcounts (sce)
)估算,虽然其他化验可以指定或任意特性矩阵。
logcounts(melanoma.enhanced)[标记,1:5]# > subspot_1.1 subspot_2.1 subspot_3.1 subspot_4.1 subspot_5.1# > PMEL 2.3572879 1.2667019 2.2696812 2.0454569 2.6437354# > CD2 0.4325081 0.6166353 0.3151001 0.2315192 0.2875694# > CD19 0.6170074 0.6239508 0.4075240 0.4075240 0.6170074# > COL1A1 0.1031096 2.9217663 1.2033939 1.0364592 0.1780530
从每个预测模型诊断措施,如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 ()
。