Squidpy算法

用途

使用 Squidpy 工具包进行全面的空间组学分析,包括细胞交互模式(邻里富集)、共现性分析以及细胞类型的空间分布模式评估(Ripley's 统计)。

运行方式

SDAS spatialRelate squidpy -i st.h5ad -o outdir --label_key anno_cell2location \ 
--spatial_coords_scale 0.5 \
--bin_size 50.0 \
--n_neighs 9 \
--coord_type grid \
--n_perms_enrichment 1000 \
--cooccurrence_interval '100,1000,10' \ 
--n_simulations_ripley 100 \
--ripley_modes 'F,G,L' \
--n_cpus 24 \
--seed 42

输入参数说明

Squidpy 参数
是否必须
默认值
描述

-i / --input

输入的 AnnData h5ad 文件路径。要求包含空间坐标和细胞注释。

-o / --output

分析结果的输出文件夹路径。

--label_key

AnnData 对象中 (adata.obs) 用于细胞类型或区域聚类注释的列名。

--spatial_coords_scale

0.5

应用于空间坐标的全局缩放因子。例如,对于stereo-seq,该值设为0.5,将坐标转为微米,方便结果解读。

--min_cells_per_type

20

为纳入分析,每种细胞类型/聚类所需的最少细胞(或 spot)数量。重要:建议设置为20及以上,过小的值可能导致分析不稳定。

--n_cpus

8

并行计算时可使用的 CPU核心数。CPU核数越多,运行时间相应较少,可根据计算资源合理设置。

--bin_size

50.0

原始数据坐标单位中 spot 的直径。此值将与 spatial_coords_scale 相乘用于确定 spatial_scatter 图中的最终绘图标记大小。

--n_neighs

9

sq.gr.spatial_neighbors 中用于构建空间图的邻居数量。

--coord_type

grid

传递给 squidpy.gr.spatial_neighborscoord_type 参数。可选值为:'generic' (适用于不规则排列的空间数据点,基于实际坐标计算邻接) 或 'grid' (默认,适用于排列在规则网格上的数据点,基于网格位置构建邻接,通常更快)。

--n_perms_enrichment

1000

邻域富集分析中用于置换检验的次数,以评估观察到的富集/耗竭的显著性。必须为正整数。

--cooccurrence_interval

"100,1000,10"

共现分析的距离区间定义,格式为 "起始距离,结束距离,点数"。例如 "50,250,10" 表示从距离50到250,均匀取10个距离点进行分析。起始距离必须非负,结束距离必须大于起始距离,点数必须为正整数。

--n_simulations_ripley

100

计算 Ripley's F, G, 或 L 函数时,用于生成置信区间的模拟次数。必须为正整数。

--ripley_modes

"F,G,L"

需要计算的 Ripley 统计模式,以逗号分隔 (例如 "F,G", "L")。支持的模式包括 "F", "G", "L"。

--seed

42

用于可复现性的随机种子。必须为非负整数。

输出结果展示

结果文件
描述

<input_name>_squidpy_spatial_scatter.pdf/png

根据 --label_key 对细胞/spot 着色的空间分布图。

<input_name>_squidpy_nhood_enrichment_zscores.csv

邻域富集分析的 Z-score 矩阵,表示细胞类型间的空间邻近关系强度。

<input_name>_squidpy_nhood_enrichment.pdf/png

邻域富集分析 Z-score 矩阵的热图可视化。

<input_name>_squidpy_co_occurrence_scores_full.csv

主要定量结果。该文件为长表格式,记录了每一对细胞类型在每个距离分箱下的原始共现得分,字段包括参考细胞类型、邻居细胞类型、距离、距离区间索引、共现得分。

<input_name>_squidpy_co_occurrence_all_types.pdf

所有细胞类型对(或指定细胞类型)的共现概率随距离变化的趋势图 (多页 PDF)。

<input_name>_squidpy_co_occurrence_plots_png/ (文件夹)

包含每个细胞类型与其它类型共现趋势的独立 PNG 图片。

<input_name>_squidpy_co_occurrence.pdf/png

单个细胞类型的共现趋势图。

<input_name>_squidpy_ripley_<mode>_function.pdf/png

Ripley's 统计指定模式 (F, G, 或 L) 的结果图,用于评估细胞类型的空间分布模式(聚集、分散或随机)。为每个在 --ripley_modes 中指定的模式生成一个文件。

<input_name>_squidpy_processed.h5ad

经过 Squidpy 分析和预处理后,包含所有计算结果(通常存储在 adata.uns 中)的最终 AnnData 对象。

  • 邻域富集分析Z-score矩阵<input_name>_squidpy_nhood_enrichment_zscores.csv Squidpy输出结果展示细胞类型间的空间邻近关系强度,Z-score值表示相对于随机分布的富集或耗竭程度

B
Endo
Epi
Fib
Mye
NK
T

B

0.0

-0.5

-1.2

0.8

1.5

2.1

-0.3

Endo

-0.5

0.0

0.7

-0.2

-1.1

0.4

0.9

Epi

-1.2

0.7

0.0

1.8

-0.6

-0.8

0.3

Fib

0.8

-0.2

1.8

0.0

0.5

-0.1

1.2

Mye

1.5

-1.1

-0.6

0.5

0.0

0.7

-0.4

NK

2.1

0.4

-0.8

-0.1

0.7

0.0

1.6

T

-0.3

0.9

0.3

1.2

-0.4

1.6

0.0

  • 共现性分析原始结果表<input_name>_squidpy_co_occurrence_scores_full.csv 记录每一对细胞类型在每个距离分箱下的原始共现得分,适用于后续自定义分析和可视化。

from_celltype
to_celltype
distance
distance_interval_index
cooccurrence_score

B

B

100.0

0

0.5327037

B

B

200.0

1

0.5388954

B

B

300.0

2

0.47285548

B

B

400.0

3

0.44997987

B

B

500.0

4

0.41206497

B

Endo

100.0

0

0.12482233

B

Endo

200.0

1

0.1646443

B

Endo

300.0

2

0.15779616

B

Endo

400.0

3

0.20279443

B

Epi

100.0

0

0.06660331

  • 邻域富集分析热图<input_name>_squidpy_nhood_enrichment.png 可视化邻域富集分析Z-score矩阵,图中颜色表示不同细胞类型对之间的空间邻近关系强度

  • 空间分布散点图<input_name>_squidpy_spatial_scatter.png 根据细胞类型对细胞/spot着色的空间分布图,展示不同细胞类型在空间中的分布模式

  • 共现性分析趋势图<input_name>_squidpy_co_occurrence_B.png 展示B细胞与其他细胞类型的共现概率随距离变化的趋势图,X轴为距离,Y轴为共现概率

  • Ripley's F函数分析<input_name>_squidpy_ripley_F_function.png 展示细胞类型的空间分布模式,与随机分布的期望和置信区间进行比较

结果解读说明

  • 邻域富集分析Z-score:正值表示富集(细胞类型倾向于邻近),负值表示耗竭(细胞类型倾向于远离),绝对值越大表示关系越显著

  • 共现性分析:展示细胞类型随距离变化的共现模式,有助于理解细胞类型间的空间相互作用

  • Ripley's统计:评估细胞类型的空间分布模式,F/G/L函数值高于随机期望表示聚集分布,低于随机期望表示分散分布

调参建议

  • 若样本细胞类型较少或数据稀疏,建议调整n_perms_enrichmentn_simulations_ripley参数以获得更稳定的结果

  • n_perms_enrichment:邻域富集分析的置换次数,建议根据数据规模调整,数据量大时可适当减少以节省计算时间

  • n_simulations_ripley:Ripley's统计的模拟次数,影响置信区间的准确性,可根据需要调整

  • cooccurrence_interval:共现分析的距离区间,建议根据细胞类型的大小和空间分布特征调整

  • bin_size:影响空间散点图的点大小,可根据数据密度和可视化需求调整

Last updated