作者,Evil Genius
这一节课我们来更新第六节课的代码。
大家要注意,“共定位”不完全等于“细胞互作”(Cell-cell Interaction)。共定位是互作发生的空间前提,它提供了细胞间“有机会对话”的证据。但要证明它们真的在“对话”,通常还需要结合配体-受体对(Ligand-Receptor)的表达分析。
共定位分析的生物学意义
量化指标:
基于比例的指标(如比值比 Odds Ratio):判断在某个空间单位(如Visium的一个spot)内,细胞A存在时,细胞B出现的概率,是否显著高于细胞A不存在时细胞B出现的概率。
基于距离的指标:计算两种细胞的空间距离分布,如果它们的实际距离显著小于随机期望,则说明存在共定位。
基于多元回归的指标(如mistyR):通过模型评估细胞B的丰度在多大程度上能被细胞A的丰度所解释,这种解释力(如贡献度R²)越高,说明两者的空间依赖性越强。
当然,我们在分析过程可以分析大类细胞类型的共定位,例如
大类的细胞共定位一般就是公司项目展示,或者有些培训的结果展示,但是没有达到项目分析的目的,真正的项目分析,需要我们做到多样本亚类vs亚类的多样本共定位比较分析。
光有结果还不行,还必须结合生物学进行解读,挖掘其中的生物学问题,更加考验个人能力了,而且这时候Ai没办法提供有效帮助。
我们来实现以下,先来大类的共定位,后面分析多样本亚类vs亚类的。
大类的共定位,数据格式
adata
AnnData object with n_obs × n_vars = 4113 × 17703
obs: 'in_tissue', 'array_row', 'array_col', 'sample', 'n_genes_by_counts', 'log1p_n_genes_by_counts', 'total_counts', 'log1p_total_counts', 'pct_counts_in_top_50_genes', 'pct_counts_in_top_100_genes', 'pct_counts_in_top_200_genes', 'pct_counts_in_top_500_genes', 'mt_frac', 'celltype_niche', 'molecular_niche'
var: 'gene_ids', 'feature_types', 'genome', 'SYMBOL', 'n_cells_by_counts', 'mean_counts', 'log1p_mean_counts', 'pct_dropout_by_counts', 'total_counts', 'log1p_total_counts', 'mt', 'rps', 'mrp', 'rpl', 'duplicated'
uns: 'spatial'
obsm: 'compositions', 'mt', 'spatial'
adata.obsm['compositions']
Adipo CM Endo Fib Lymphoid ... Myeloid Neuronal PC prolif vSMCs
AAACAAGTATCTCCCA-1 2.107631e-05 1.951450e-01 0.037791 0.563484 0.008058 ... 0.083479 0.072724 0.006092 0.019511 0.013270
AAACAATCTACTAGCA-1 1.188437e-05 2.041634e-06 0.098946 0.765965 0.007576 ... 0.078732 0.002379 0.015299 0.028458 0.000600
AAACACCAATAACTGC-1 1.838391e-05 8.812308e-08 0.069911 0.502140 0.039207 ... 0.273766 0.000020 0.038670 0.000942 0.000059
AAACAGAGCGACTCCT-1 3.114097e-03 2.159587e-01 0.213653 0.230822 0.016849 ... 0.099339 0.052346 0.092069 0.071544 0.004137
AAACAGCTTTCAGAAG-1 2.983595e-04 1.267548e-05 0.076673 0.816055 0.011416 ... 0.075597 0.000312 0.003877 0.015338 0.000239
... ... ... ... ... ... ... ... ... ... ... ...
TTGTTTCACATCCAGG-1 6.959537e-06 4.421105e-04 0.041338 0.655764 0.000937 ... 0.267563 0.000774 0.031481 0.000603 0.001043
TTGTTTCATTAGTCTA-1 1.559013e-07 3.313197e-07 0.003303 0.775004 0.000081 ... 0.107446 0.000009 0.083642 0.000060 0.030448
TTGTTTCCATACAACT-1 1.143080e-03 1.976377e-02 0.024830 0.717483 0.049930 ... 0.113926 0.000968 0.025508 0.046201 0.000155
TTGTTTGTATTACACG-1 3.129225e-07 8.639157e-03 0.002634 0.557810 0.005110 ... 0.420333 0.000051 0.005335 0.000073 0.000013
TTGTTTGTGTAAATTC-1 1.768438e-05 1.498564e-03 0.004997 0.888998 0.000322 ... 0.061898 0.000160 0.006080 0.005161 0.012245
[4113 rows x 11 columns]
实现的脚本