5.3 KiB
5.3 KiB
P2 预研:MitoCarta3.0 结构化资产 + liana+ 复用要点
日期:2026-09-17 | 状态:预研完成,待 P2 执行 P2 聚焦两方向:MitoCarta 线粒体通路精细分析 + liana+ 细胞通讯
1. MitoCarta3.0 结构化资产(已提取,script/18_mitocarta_extract.py)
ref/Mouse.MitoCarta3.0.xls(Rath et al. 2021, NAR)→ ref/mitocarta3.0/:
| 文件 | 内容 |
|---|---|
Mouse_MitoCarta3.0_genes.csv |
1140 个小鼠线粒体基因:亚线粒体定位(Matrix 528 / MIM 354 / MOM 110 / IMS 52)、通路归属、证据 |
MitoPathways.csv |
149 条 MitoPathway,层级拆为 L1/L2/L3 |
MitoPathways_long.csv |
基因 × 通路长表(3894 行,1037 基因) |
MitoPathways.gmt |
全层级 GMT → gseapy prerank 直接可用 |
MitoPathways_L1.gmt |
7 个一级大类 GMT → 模块打分 |
L1 七大类:Metabolism(72 子通路/1659 基因次)、Mitochondrial central dogma(21/787)、OXPHOS(20/672)、Mitochondrial dynamics and surveillance(11/238)、Protein import/sorting/homeostasis(13/275)、Signaling(7/108)、Small molecule transport(5/155)。
P2 中用法(对现有分析的增量)
- GSEA prerank 补 Hallmark 盲区:Hallmark 只有 OXPHOS 一条线粒体通路;用
MitoPathways.gmt对已有de_*.csv重跑 prerank,可分辨 Complex I–V 各复合体、mtDNA maintenance、mito-ribosome、Fe-S cluster、线粒体动力学(融合/分裂,OPA1 本体所在)等精细通路的方向。 - 与手工基因集交叉核对:P0/P1 的 ETC/CI/糖酵解模块是手工整理,用 MitoCarta L2(如
OXPHOS > Complex I)重打分做敏感性核对——若结论一致,正面回应"基因集选择偏倚"质疑。 - OPA1 通路定位:OPA1 属
Mitochondrial dynamics and surveillance,检查该大类在 RGC2-like 的整体方向(预期受扰),及线粒体自噬条目与作者 fig. S5 的对照。
⚠️ 注意:ref/ 目录原约定只读,本次按用户明确指示将结构化产物存回 ref/mitocarta3.0/(原始 xls 未动),后续同类资产沿用此例。
2. liana+ 复用要点(来自 D:\个人文档\PROJECTS\mg_liana+)
该仓库是用户此前课题(microglia Opa1-cko → neuron,LIANA+ 0.1.9 全流程),以下直接复用:
2.1 关键兼容性补丁(必须照抄,否则 scipy 1.17/numpy 2.x 下直接报错)
import liana.method._liana_pipe as _lp
def _patched_trimean(a, axis=0):
arr = a.toarray() if hasattr(a, "toarray") else a.A
return np.mean(np.quantile(arr, q=[0.25, 0.5, 0.5, 0.75], axis=axis), axis=axis)
_lp._trimean = _patched_trimean
import liana.method.sc._cellchat as _cc
_cc.np.product = np.prod # numpy 2.x 移除了 np.product
# Windows 控制台 UTF-8
sys.stdout.reconfigure(encoding="utf-8"); sys.stderr.reconfigure(encoding="utf-8")
2.2 核心调用
li.mt.rank_aggregate(adata, groupby="cell_type", resource_name="mouseconsensus",
expr_prop=0.1, min_cells=5, n_perms=...)
li.pl.dotplot(liana_res=..., source_groups=..., target_groups=...)
- 资源优先
mouseconsensus(内置小鼠 LR 库);不足时用li.rs.get_hcop_orthologs()映射 human consensus。 - 差异通讯的务实策略:各条件分别跑 rank_aggregate → 比较 Δmagnitude_rank / Δlr_means(mg_liana+ 的 script/03 即此路线;
li.multi.df_to_lr需 liana≥0.2.0,本环境 0.1.9 不可用,不依赖)。 - 参考文档已就位:
mg_liana+/ref/(api.md、Steady-state LR、Prior Knowledge、CCC best practices)。
2.3 迁移到本项目的设计调整
| mg_liana+ 做法 | 本项目调整 | 原因 |
|---|---|---|
| cko vs flox 两条件 | WT / S1 / S2 三条件分别跑 | 沿用方向一致性框架:S1∩S2 方向一致且 S1-S2 不"差异"的 LR 对才可信 |
| min_cells=5 | microglia WT 仅 8 核、RGC2-like WT 仅 7 核 → 这两类的 WT 侧 LR 近乎不可用,结论限于方向性,与第三轮裁决一致 | 小样本硬约束 |
| expr_prop=0.1 | ⚠️ 深度混杂直接污染 lr_means(WT 非杆核深度 2 倍),Δlr_means 解释须谨慎,优先看 rank 相对变化而非绝对值 | P1 已证深度是主 confounder |
| 分组用 cell_type | 分组用 cmp_group(Müller / RGC1-like / RGC2-like / Microglia / 其余细胞类型) |
与 P1 分组口径一致 |
| 聚焦 MG→Neuron | 聚焦 Müller ↔ Microglia ↔ RGC 三角 + 候选轴:C3–C3aR、Apoe–Trem2、Spp1–CD44/Itg 家族、补体级联;另可加 Müller→RGC 代谢支持轴(Glul/Slc1a3 谷氨酸循环) | AGENTS.md 假设(b)线粒体损伤→炎症→神经元 |
2.4 复用文件清单
script/02_steady_state_lr.py→ 改造为本项目script/19_liana_steady_state.py(补丁 + 三条件循环)script/03_differential_ccc.py→ 改造为script/20_liana_diff.py(三向比较 + 一致性过滤)- dotplot/tileplot 可视化模式参考其
05/06/07脚本(plotnine)
3. P2 建议执行顺序
script/19MitoCarta GSEA prerank(复用 de_*.csv,纯增量,半天内)script/20MitoCarta L2 模块敏感性核对(对照手工 ETC/CI 列表)script/21liana 三条件稳态 LR(先 3000 核采样跑通,再全量)script/22liana 差异通讯 + 一致性过滤 + 候选轴可视化- 汇总进
doc/第一轮分析报告_P2.md