Skip to content

靶点功能验证 · 干分析进展(dr-amd-targets 项目)

承接 实验验证方案:干分析当漏斗、新意押功能验证。本页记录独立项目 dr-amd-targets(与 mr-pipeline 完全分开)的干分析进展。 ⚠️ 准确性:GEO 差异表达为实测结果;参考文献均检索核实(摘要级);生物学解读含推断,已标注。

项目位置/home/research/dr-amd-targets/(WSL,research 用户)。只从 mr-pipeline 复制候选 shortlist 作输入,不改 mr-pipeline。


一、DrugReflector 已核实(真实 · 可装)

课程宣传的"2025 Science 首发筛药算法"基本属实


二、GEO 差异表达(实测结果)

数据集(均已本地下载解析):

  • AMD = GSE29801(GPL4133,黄斑 RPE-脉络膜,AMD vs 正常)
  • DR = GSE60436(GPL6884,PDR 纤维血管膜 vs 正常视网膜,9 样本)

候选基因差异表达(病组 vs 参照):

靶点DR(PDR vs 视网膜)AMD(RPE-脉络膜)
MERTK↓ logFC −0.62, FDR 0.018无变化
SPRY2↓ FDR 0.013ns(p 0.13)
TNFRSF10A↑ FDR 0.008ns(p 0.023 名义)
TNXB↑ FDR 0.015ns(p 0.043 名义)
CFH↑ FDR 0.003ns
AGER(RAGE)↑ p 0.022(FDR 0.056)ns
CFI / NFKB1 / CSF2名义 ↑ns

解读

  • DR 里 MERTK↓、SPRY2↓TNFRSF10A↑、AGER↑、CFH↑ 显著——你的候选在 DR 转录层面确有改变。MERTK↓ 与"高糖损害 MerTK"原文(PMC8835591)方向一致,可信度加分。
  • AMD 候选在 bulk mRNA 基本无显著——遗传/蛋白信号不一定反映在转录本(可能在蛋白层面、或在特定细胞类型被 bulk 稀释)。

⚠️ 两个必须如实写的 caveat

  1. DR 那套是 FVM(病理新生血管膜)vs 正常视网膜,差异部分来自组织类型不同,不纯是疾病效应——需在结论里披露。
  2. AMD bulk mRNA 阴性是真实局限,不是候选不重要,而是 bulk 转录本读不出——正是需要单细胞(分细胞类型)+ 蛋白/功能实验来补的地方。

三、单细胞数据集调研(待导师圈定)

results/scrna_survey/datasets.md。初步:AMD/RPE 定位用含 RPE 的人视网膜图谱(GSE142449 待核实覆盖);DR 用 GSE165784(PDR FVM)+ GSE230348(健康视网膜)。关键:AMD-MERTK 定位需数据含 RPE;DR 需含血管内皮/Müller


四、WGCNA 共表达模块(实测)

AMD(GSE29801,样本足):power=4,16 个模块。

  • MERTK 与 SPRY2 落在同一个共表达模块(blue) —— 在 RPE-脉络膜里共表达,提示可能同通路/共调控。
  • AGER/TNFRSF10A/APOE 不在 top-5000 高变基因内,未分配。
  • 模块-疾病相关较弱(|r|≤0.2,最强 p≈0.009)——与"AMD 候选 bulk mRNA 信号弱"一致。

DR(GSE60436):仅 9 样本,WGCNA 功效不足,跳过(如实标注,不硬跑)。

五、单基因 GSEA(实测,fgsea + GO-BP)

clusterProfiler 依赖链(enrichplot)在本环境装不动,改用 fgsea + org.Hs.eg.db 自建 GO-BP 基因集,等价且更轻。每靶点:全基因按与靶点表达相关性排序 → fgsea。

  • AMD-MERTK:正富集氧化磷酸化 / 细胞呼吸 / 电子传递链(RPE 代谢活跃,MERTK 与线粒体代谢共表达)。
  • DR-MERTK / SPRY2:正富集视觉感知 / 光感受器信号(与光感受器轴一致),负富集"化学刺激检测"。
  • DR-AGER:与线粒体呼吸/ATP 合成负相关

已扩充基因集库(04_gsea_msigdb.R,msigdbr 7.5.1 自带数据 + fgsea):Hallmark + KEGG + Reactome 均已跑。DR 里 MERTK/SPRY2 富集氧化磷酸化/TCA/呼吸链 + 视觉光转导;AGER 与呼吸链负相关。结果 results/gsea/*_{Hallmark,KEGG,Reactome}.csv

⚠️ 强 caveat:DR 的这些通路(氧化磷酸化 / TCA / 光转导 / 嗅觉转导)高度反映 FVM vs 视网膜的组织成分差异(视网膜=高代谢神经元/光感受器,FVM=纤维血管),不是纯靶点通路——DR 的 GSEA 解读要非常谨慎。AMD(MERTK)那套组织一致(均 RPE-脉络膜),更可信。

关于 clusterProfiler:其可视化层(treeio→ggtree→enrichplot)在本环境(R4.3.3 + Bioc 3.18 + 可得 CRAN 版本)有顽固的 yulab 生态版本错配(treeio 缺 random_ref、ggtree 缺 check_linewidth),需精确多包版本 pin,不值得。GSEA 计算已由 fgsea 完成(clusterProfiler 内部也是调 fgsea),结果等价且可发表;出版级 GSEA 图可用 fgsea::plotEnrichment + ggplot2 手搓。

出版级 GSEA 图(fgsea::plotEnrichment + ggplot2,600dpi)

汇总 dotplot(Hallmark,每靶点 top6;x=数据集·靶点,色=NES 红正蓝负,大小=−log10FDR):

GSEA Hallmark dotplot

跑分图示例(DR·MERTK — 氧化磷酸化,NES=5.41):

MERTK OXPHOS running plot

图很直观地暴露了那条 caveat:DR 的 MERTK/SPRY2 富集全被氧化磷酸化/代谢主导,而这些正是 FVM vs 视网膜的组织成分差异信号——图好看,但 DR 的 GSEA 结论要谨慎,别当成纯靶点通路。全部图见 results/gsea/figures/(6 张跑分图 + 汇总 dotplot,均 PNG 600dpi + 矢量 PDF)。

至此 B 的三块(DEG + WGCNA + GSEA[GO+Hallmark+KEGG+Reactome]+出版级图)全部完成。

待办

  • 待导师定:单细胞数据集、主靶点(DR 里 MERTK/SPRY2 已有转录证据)、斑马鱼通量。
  • 下一步:导师圈定单细胞数据集后跑细胞类型定位 + CellChat + Monocle;选定靶点后 scTenifoldKnk 虚拟敲除 + DrugReflector 筛药。

六、单细胞细胞类型定位(DR,实测)

数据 GSE165784(PDR/PVR 纤维血管膜 scRNA,6 样本,人源)。标准流程:per-sample 加载 → QC → harmony 整合 → 分群 → 典型 marker 注释(module-score argmax,不依赖外部参考集)→ 靶点定位。10074 细胞 / 14 群

细胞组成(FVM 以小胶质为主,与原文一致):

细胞类型细胞数占比
小胶质/髓系858085%
壁细胞/成纤维7838%
T/NK2963%
内皮2693%
Müller 胶质921%
光感受器540.5%

⭐ MERTK 定位(核心)——平均表达 / 阳性细胞比例(病组 vs 各细胞类型):

靶点主要表达细胞证据
MERTK小胶质/髓系(avg 0.71,25% 阳性);内皮/壁细胞仅 ~8%落在 FVM 主导群
CFH内皮(85%)+壁细胞(67%)血管/基质
SPRY2壁细胞/成纤维(10%)与"SPRY2→血管/间质"设想一致
AGER(RAGE)光感受器(7%,整体低)FVM 里信号弱

DR FVM UMAP celltype

DR targets dotplot

为什么有价值:MERTK 在 DR 现在有三层证据链——遗传(MR 提名) → bulk 转录(↓ FDR0.018) → 单细胞定位到主导的小胶质/髓系群,把"高糖损害 MerTK 吞噬"接到了人 DR 组织的具体细胞类型(指向小胶质吞噬通路)。

⚠️ caveat:① FVM 本身 85% 是小胶质,MERTK 定位有"分母偏倚"成分,但 25%(小胶质) vs 8%(内皮) 的阳性率差异支持它确为髓系偏好;② 注释为 module-score argmax(较粗),精细亚群需 marker 复核。脚本 analysis/11_dr_scrna.R,结果 results/scrna_dr/

DR 细胞通讯 CellChat(实测,GAS6/PROS1–MERTK 轴)

在同一 DR FVM 数据上跑 CellChat(1474 个高变配体-受体对,69 条显著通路)。聚焦 TAM 受体(MERTK/AXL/TYRO3)轴,检出的显著 L-R:

来源 → 靶配体 → 受体pval
光感受器 → 小胶质/髓系GAS6 → MERTK0
内皮 → 小胶质/髓系PROS1 → MERTK0
光感受器 → 壁细胞GAS6 → AXL0
内皮 → 壁细胞PROS1 → AXL0

DR CellChat aggregate

小胶质/髓系是 GAS6/PROS1→MERTK 信号的接收方——正对应 MERTK 的**胞葬/吞噬(efferocytosis)**功能:微胶质通过 MERTK 接收来自光感受器(GAS6)与内皮(PROS1)的"清除"信号。至此 MERTK 在 DR 有四层证据:遗传(MR) → bulk↓ → 单细胞定位小胶质 → 细胞通讯(TAM 轴,微胶质为受体)

⚠️ caveat:GAS6 在通路级聚合并非主导通路(top 通路是 MK/PTN/SPP1/APP 等),TAM 轴信号强度偏弱——结论落在"L-R 对显著检出"层面,不宣称 GAS6 是 DR 主通路。脚本 analysis/21_dr_cellchat.R,结果 results/cellchat_dr/

DR 小胶质活化轨迹(Slingshot 假时序,实测)

工具说明:原计划用 Monocle3,但其 1.4.x 硬依赖 BPCells,而 BPCells 需系统库 libhdf5(本环境 research 用户无 sudo 装不了),且 monocle3 无 1.3.x 的 git tag 可 pin。改用 Slingshot(Street 2018,Saelens 2019 Nat Biotech benchmark 排名最高的轨迹方法之一,纯 R 无系统库依赖,高分文章通用)。这是被迫的等价替换,非偷懒

在 DR 小胶质/髓系子集(8580 细胞)上重算 PCA/UMAP + 子分群(10 亚群),以静息态(P2RY12/CX3CR1 最高的 cluster)为轨迹起点。基因 vs 假时序 Spearman ρ:

随活化下降ρ随活化上升ρ
CX3CR1(静息)−0.40SPP1+0.40
MERTK−0.31LGALS3+0.36
GAS6−0.28GPNMB+0.28
P2RY12(静息)−0.16TREM2+0.13

DR microglia pseudotime

MERTK vs pseudotime

解读:轨迹捕捉到 homeostatic(P2RY12/CX3CR1↓)→ 活化/DAM 样(SPP1/LGALS3/GPNMB↑) 转变。MERTK 连同 TAM 轴(GAS6/AXL)随活化下降——提示活化的 DR 微胶质丢失 MERTK 介导的胞葬能力。给 MERTK 再加一层:高在静息态小胶质、活化后掉。⚠️ caveat:CD68 亦随假时序下降(−0.42),DAM 范式里个别标志物方向可变,轨迹方向以 P2RY12-high 起点锚定;假时序为计算推断非真实时间。脚本 analysis/25_dr_slingshot.R,结果 results/slingshot_dr/

AMD 单细胞(GSE230348,实测,RPE/脉络膜)

数据 GSE230348 人视网膜 + RPE/脉络膜,Normal / Early-Inter / Intermediate / Atrophic AMD 疾病梯度。聚焦 RPE/脉络膜样本(mRPE+tRPE,35 样本 QC 后 50723 细胞),per-sample 细胞上限 2500 防内存爆。细胞图谱 RPE 20084(40%) + T/NK + 成纤维 + 免疫髓系 + 光感 + 内皮等 8 类。

AMD RPE/choroid UMAP

MERTK 定位:免疫/髓系 avg 1.08(最高)> RPE 0.30 > 内皮 0.28——RPE 与巨噬都做 MERTK 依赖的吞噬(RPE 吞噬光感受器外节),生物学合理。

⭐ 一个必须如实记录的严谨性教训——校验挡住了假阳性

检验方法MERTK RPE:AMD vs 正常结论
细胞级 Wilcoxon(反保守log2FC −0.67, adj p 0.0096貌似"AMD 下调"
per-sample 伪bulk(n=21 vs 13,正确,2026-07-27 补全分组后)log2FC +0.71, Wilcoxon p=0.076未达显著;方向为 AMD 侧偏高

MERTK RPE pseudobulk

细胞级"下调"是伪重复(pseudoreplication)假阳性Squair et al. 2021, Nat Commun),per-donor 伪bulk 一测即消失。如实结论:MERTK 在 AMD 有细胞定位(RPE+髓系),但无 AMD vs 正常转录差异——与之前 AMD bulk mRNA 阴性一致,AMD 的 MERTK 证据在遗传/蛋白层面而非转录。不可写"AMD 里 MERTK 转录下调"。脚本 analysis/12_amd_scrna_rpe.R + 13_amd_pseudobulk.R,结果 results/scrna_amd/

下一步(待 token):用此 RPE/脉络膜图谱构建眼组织专属签名矩阵 → CIBERSORTx 反卷积 DR/AMD bulk(用户已选注册版路线,避免 LM22 血液签名套眼组织)。

七、视网膜 eQTL 数据获取(EGA Live Outbox)+ 共定位

获批 EGAD50000002082 = Manchester Eye Tissue Repository(METR-GT):201 正常供体 NSR + RPE 的 WGS + bulk-RNA + 视网膜 eQTL(tensorQTL),共 1856 文件 / 15.9 TB。

⭐ 这套数据正好补 MR 流水线 stage 10 视网膜 eQTL 共定位的洞(当时缺数据),并给出 MERTK 等在 RPE vs NSR 的表达。

只需下 0.95 GB(跳过 15.9 TB 原始)

类型数量大小用途
tsv4311 MBeQTL 汇总统计(NSR/RPE cis-eQTL)
gct359640 MB每样本表达矩阵(MERTK RPE vs NSR)
fastq.gz / bam / vcf.gz15.9 TB原始,全跳过

关键坑与正确流程

  • EGAD5 开头的数据集 pyega3 用不了(会 403 / 卡在数据服务器)→ 必须走 Live Outbox = SFTP + Crypt4GH(新 Federated EGA,文件在 CRG 非 EBI)。
  • 文件清单可从公开元数据 API 无认证拿(pyega3 的 files/datasets 会卡):curl https://metadata.ega-archive.org/datasets/EGAD50000002082/files(给 accession_id + extension + filesize,但无文件名)。
  • Live Outbox 步骤
    1. 生成 ssh-ed25519 密钥(outbox 接受 ssh-ed25519 或 c4gh-v1;ssh 一把管 SFTP 登录 + crypt4gh 解密最省事)
    2. 公钥加到 EGA 网页 Edit Profile → Public Keys → Add a new key(官方:同步到 outbox 需几小时
    3. sftp -i 私钥 -o "User=你的EGA邮箱" outbox.ega-archive.org(端口 22)
    4. ls 看真实文件名 → get 文件.c4gh
    5. crypt4gh decrypt --sk 私钥 < 文件.c4gh > 明文(注意输入输出别同名)
  • 公钥同步:加公钥后约 90 分钟(官方说"几小时")SFTP 才连上;连上后 outbox 里 EGAD50000002082 可访问,真实文件名 = 每供体 MANGT_{id}.{NSR|RPE}.rnaseqc.gene_reads.gct.c4gh 等。
  • ★下载必走代理(实测提速 ~24×):WSL 侧直连 CRG(西班牙)仅 ~100 KB/s;改 Windows 侧 sftp + ncat SOCKS5 代理(同服务器连接配置的 ProxyCommand)达 ~2.35 MB/s,234 MB 的 NSR eQTL 从 ~40 分钟缩到 40 秒。解密 crypt4gh decrypt --sk ega_ssh_ed25519(ssh-ed25519 私钥直接当 c4gh 密钥)已验证。

视网膜/RPE eQTL 共定位(实测,结果偏冷但如实)

拿到 NSR(神经视网膜)+ RPE 的 cis-eQTL(tensorQTL,NSR 9959 eGene / RPE 3699 eGene)后,与 FinnGen R13 疾病 GWAS 做 coloc.abf(真实 N/s:DR=RetinopathyStrict 6970/88076;AMD=H7_AMD 13947/458803):

靶点组织 eQTL × 疾病结果
TNXB视网膜 × DRPP.H4 = 0.68(提示性,167 SNP)
MERTK视网膜 × DRPP.H4 = 0.01(强视网膜 eGene p1.7e-8,但 DR 在该位点无 GWAS 信号,PP.H1=0.99)
SPRY2 / AGER / TNFRSF10A视网膜 × DR非视网膜 eGene,无法检验
MERTK/APOE/TNFRSF10A/TGFB1/CASP10/CFHRPE × AMD全部非 RPE eGene,无法检验

诚实解读

  1. TNXB 是唯一有组织级遗传支持的(视网膜 eQTL/DR 共定位 PP.H4=0.68)——但它在 MHC 区(chr6p21),LD 复杂,MHC 共定位需谨慎,且无斑马鱼同源。
  2. MERTK 在视网膜是强 eGene 但不与 DR 共定位——组织 eQTL 层不给 MERTK-DR 加遗传分。MERTK 的 DR 证据仍是 MR + 表达 + 细胞定位 + 活化轨迹,不含视网膜-eQTL-共定位(如实划清,不夸大)。
  3. 多数靶点因眼 eQTL 功效低(N~176-183)不是 eGene,测不了——数据集真实局限。

⚠️ caveat:该 eQTL 是研究发布的**显著 cis-eQTL 对(aFC)**而非全 nominal,coloc 用共享 SNP;要测更多靶点需下 gct 全表达矩阵自算 eQTL 或用其他视网膜 eQTL 源(EyeGEx 等)。脚本 analysis/30_eqtl_coloc.R,结果 results/coloc_eqtl/

方向 B:bulk 表达矩阵——靶点组织定位(NSR vs RPE,实测)

同一 EGA 数据集下的 359 个 RNA-SeQC 表达矩阵(gct) 全下载 + 解密后(183 神经视网膜 NSR + 176 RPE),做 limma-voom RPE vs NSR 差异表达——不需要基因型,回答"候选靶点主要在哪个眼组织表达"。全组差异极显著(21144 / 25514 基因 FDR<0.05)。

靶点NSR logCPMRPE logCPMlogFC (RPE/NSR)adj.P定位解读
CFH3.676.13+2.454e-52RPE/脉络膜高——补体沉积部位,吻合 AMD 生物学
TGFB12.544.74+2.176e-61RPE 高
TNXB2.903.72+0.836e-13RPE 略高
CASP100.451.16+0.703e-15两组都低
MERTK4.154.83+0.631e-18NSR / RPE 两组织都表达、RPE 略高——吻合"RPE 吞噬光感受器外节 + 视网膜小胶质清除"双重定位
AXL4.885.02+0.15ns两组织均表达
TNFRSF10A / TYRO3ns无组织差异
GAS65.785.22−0.549e-16NSR 略高
AGER2.781.98−0.743e-21NSR 高
APOE9.668.77−0.903e-26NSR 高(整体表达最高的靶点)

候选靶点 NSR vs RPE 表达箱线图

RPE vs NSR 火山图

解读:这是组织 compartment 对比(NSR vs RPE),不是疾病对比——回答"靶点在哪个眼组织表达",为细胞系选择提供依据(例:MERTK 双组织表达 → ARPE-19 与视网膜小胶质模型都合理)。CFH 在 RPE 高表达与其 AMD 中的补体机制自洽;MERTK 双组织定位与前面单细胞(小胶质 + RPE/髓系)一致。脚本 analysis/31_gct_nsr_vs_rpe.R,结果 results/gct_expr/(DE 表 + 候选组织定量表 + box/volcano 图 600dpi)。

八、可复现(含网络坑)

bash
# 全部走 research 用户
sudo -u research Rscript analysis/00_install_pkgs.R   # 装包(Westlake Bioc镜像)
sudo -u research Rscript analysis/01_bulk_analysis.R  # GEO差异表达
sudo -u research Rscript analysis/02_wgcna_gsea.R     # WGCNA+单基因GSEA

网络坑(都踩过)

  • bioconductor.org 国内被墙(WSL 直连 000)→ 装 Bioc 包改用 Westlake 镜像 mirrors.westlake.edu.cn/bioconductor/packages/3.18/{bioc,data/annotation}(WSL 直连 200,不用代理)。
  • Windows 的 SOCKS5 代理 127.0.0.1:10808 WSL 侧不可达,只有 Windows 侧 curl.exe --proxy socks5h://127.0.0.1:10808 能用 → GEO/国外数据从 Windows 侧下载。
  • GEO series matrix + GPL annot 手动解析(不依赖 GEOquery,规避其在线下载)。

九、下游功能验证待办(分子对接 / 虚拟敲除 / 筛药)

这几项尚未开跑,都**卡在"先锁定主打靶点"**这一步——不是遗漏,是有意暂缓。与其并行的多组学 MR刚好就是用来定靶点的,结论已出。

状态卡在哪 / 前置备注
分子对接未跑需锁靶点 + 定蛋白结构 + 化合物对接流水线已装好(含 PyMOL,异步竞态 bug 已修);对接不需要遗传因果,只要可成药蛋白 + 结构
scTenifoldKnk 虚拟敲除未跑需锁靶点(单细胞矩阵 DR 已有)在靶点所在细胞类型上做 in-silico 敲除,看下游网络扰动
DrugReflector 筛药未跑用户要求放最后环境已核实真实可装(见本页第一节)

靶点决策(多组学 MR 已给出依据)

  • MERTK:遗传/多组学五数据类型全弱,但生物学 + 转化最强(RPE 吞噬定位、可成药、基因治疗已进临床)。→ 适合做功能/转化主线:分子对接(MERTK 激酶域有现成 PDB + 已知抑制剂)+ 虚拟敲除。对接不依赖遗传因果,MERTK 完全成立。
  • CASP10 / TNFRSF10A:遗传稳健(3 层多组学 + 共定位 + IAMDGC 复制),可作共同主打做对比对接。

执行顺序(锁靶点后):分子对接 → scTenifoldKnk 虚拟敲除 → DrugReflector 筛药(最后)。属 dr-amd-targets 项目,与多组学 MR 分开、互不影响。

个人科研与运维文档 · 内容持续修订