# ENVIRONMENTS —— 分析环境与复现说明

## R 侧（Seurat / CellChat / BayesSpace）
- 版本：R ≥ 4.3（建议 4.4）；Windows 需 Rtools（Bioconductor 编译必需）
- 包：Seurat v5（CRAN）、CellChat v2（GitHub: jinworks/CellChat）、BayesSpace（Bioconductor）、
  SingleCellExperiment、SpatialExperiment、tidyverse、patchwork、ComplexHeatmap、showtext
- 安装脚本：code/01_setup.R（可反复运行，已装包自动跳过）
- 推荐用 `renv` 固定版本：`renv::init()` → `renv::snapshot()`

## Python 侧（scanpy / squidpy / cell2location）
- conda 环境文件：envs/spatial-niche.yaml
- 创建命令：`conda env create -f envs/spatial-niche.yaml`（环境名 spatial-niche）
- 版本：Python 3.10、scanpy ≥ 1.10、squidpy ≥ 1.4、cell2location ≥ 0.9（可选）

## 图件生成环境（本书教学图）
- Python 3.13 + matplotlib 3.10 / numpy 2.3 / scipy 1.16 / scikit-learn 1.7（已在本机验证）
- 脚本：code/figures/gen_figures_partA_schematics.py、gen_figures_partB_analysis.py
- 中文字体：SimHei（黑体）优先，其次微软雅黑/宋体；matplotlib 通过 addfont 注册

## PDF 排版工具链（本书成书）
- pandoc 3.8 + XeLaTeX（MiKTeX 25.12）+ ctexbook 宏包
- 命令见 build 说明（README）与 preamble.tex 头部注释
- 字体：正文宋体（SimSun）、标题黑体（SimHei）、代码 Consolas + 微软雅黑兜底
