关于 depmap
DepMap 技能为癌症研究人员提供分析癌症模型基因依赖性、生物标志物队列和药物反应的流程。它强调版本匹配、数据校验和统计限制,帮助形成待验证的研究假设,而非临床结论。
主要功能
- 01发现并筛选 DepMap 数据版本
- 02读取基因效应与模型注释矩阵
- 03比较预设生物标志物队列
- 04计算共必需性关联
- 05关联 PRISM 化合物反应
适用场景
- 01筛选癌症模型中的候选依赖基因
- 02比较生物标志物阳性与阴性模型
- 03探索基因共必需性关系
- 04分析细胞系对化合物的反应
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill depmap安装后在 Claude Code 中输入/depmap确认已加载。
附带文件references/dependency_analysis.mdscripts/depmap_data.py
详细介绍
DepMap — 癌症依赖图谱
何时使用
使用此技能对癌症模型中的依赖性进行排序、比较预先指定的生物标志物队列、检查共依赖性,或将遗传依赖性与 PRISM 化合物响应关联起来。这些分析会生成靶点和合成致死假设;它们并不能确立临床疗效、治疗窗口或因果相互作用。
DepMap 整合了 Broad 和 Sanger 的 CRISPR 筛选,并托管独立的 RNAi 和药物筛选数据集。将每个问题与其对应的检测方法和固定版本相匹配。RNAi DEMETER2 是一种不同的扰动模式,而不是较旧的 CRISPR 评分方法。
1. 发现一个版本,然后获取其文件
使用 DepMap Downloads 以及所选版本的 README 和发布说明。经审查,实时目录中最新的 DepMap Public 版本为 26Q1,日期为 2026-04-01。在新工作开始前重新发现;版本名称或预期季度并不能证明某个版本可用。
已验证的公共端点
GET https://depmap.org/portal/api/no-captcha/download/files 返回完整的 CSV 目录,无需请求体、API 密钥或分页参数。必需的元数据列为 release、release_date、filename 和 md5_hash。实时响应还包含 url:较旧的文件可以有链接,而近期版本的行链接为空。审查时,26Q1 的全部 85 个条目的 url 值均为空。按行判断可用性,而不是按端点判断。
工作人员公告 于 2026 年 7 月引入了此元数据路由。较旧的 https://depmap.org/portal/api/download/files 目录可以提供下载链接,但在审查期间返回了 HTML 验证页面,包括 HTTP 200 的情况。在解析之前验证内容。当需要验证时,通过门户获取当前文件。在使用前立即刷新即将过期的签名链接;不要虚构存储 URL,也不要假设每个新版本都在 Figshare 上。
对于以前的 /api/gene?gene_id=... 或 /api/data/gene_dependency 示例,未验证到受支持的契约。使用本地版本矩阵进行基因切片。不要假设名为 depmap 的 Python 包是官方门户客户端。
从技能根目录开始,使用捆绑的 helpers:
from scripts.depmap_data import fetch_catalogue, select_file, verify_md5
catalogue = fetch_catalogue()
public = catalogue[catalogue["release"].str.startswith("DepMap Public ")]
print(public[["release", "release_date"]].drop_duplicates()
.sort_values("release_date", ascending=False).head(12))
# Explicit example pin; inspect discovery output before selecting your release.
release = "DepMap Public 26Q1"
record = select_file(catalogue, release, "CRISPRGeneEffect.csv")
print(record[["release", "filename", "md5_hash"]])
# After obtaining this file from the portal:
# verify_md5("CRISPRGeneEffect.csv", record["md5_hash"])
将所选元数据、检索日期、版本引用、本地校验和以及 README 与分析输出一起保存。将源数据集条款与本技能的许可证分开记录;较新版本的条款与较旧的 Figshare 版本不同。对于缺失的已发布校验和,保留本地 SHA-256,并明确说明未与发布者校验和进行比较。
2. 在合并前检查文件契约
以下名称已在 26Q1 目录中核实。在将某个文件视为数值矩阵之前,请查阅该版本的 README,确认单位和标识符层级。
| 文件 | 用途与重要契约 |
|---|---|
CRISPRGeneEffect.csv | 整合的、模型级 Chronos 效应;行是 ModelID,列保留 Symbol (EntrezID) |
CRISPRGeneEffectUncorrected.csv | 未校正效应;不能与校正后的效应互换使用 |
CRISPRGeneDependency.csv | 特定版本的依赖性统计;请在 README 中确认 probability/FDR 的定义和方向 |
Model.csv | 以 ModelID 为键的模型元数据 |
ModelCondition.csv | 以 ModelConditionID 为键的生长/处理条件,映射到 ModelID |
ScreenGeneEffect.csv、ScreenSequenceMap.csv、CRISPRScreenMap.csv | 筛选级效应和映射;一个模型可以属于多个筛选 |
OmicsExpressionTPMLogp1HumanProteinCodingGenes.csv | 带有测序/模型元数据和默认条目标志的表达输出;在表达计算中排除元数据列 |
OmicsSomaticMutationsMatrixDamaging.csv、OmicsSomaticMutationsMatrixHotspot.csv | 不同的突变注释;damaging 和 hotspot 判定回答不同的生物学问题 |
OmicsCNGeneWGS.csv、OmicsCNGeneMC_WES.csv | 单独的 WGS/WES 拷贝数产品;不要将它们拼接为一个统一处理的队列 |
PortalOmicsCNGeneLog2.csv | 转换后的 portal 拷贝数产品;在求逆之前确定确切的变换方式 |
OmicsProfiles.csv、Gene.csv | 组学来源/映射和基因注释 |
AchillesScreenQCReport.csv、AchillesSequenceQCReport.csv | 筛选/序列 QC;应用文档化的合格性规则,而不是自行发明通用阈值 |
当前的模型注释包括 CellLineName、OncotreeLineage、
OncotreePrimaryDisease 和 OncotreeSubtype。旧版 sample_info.csv 字段
(DepMap_ID、lineage、primary_disease)需要显式转换。
Model.csv 包含没有 CRISPR 测量数据的模型:未出现在效应矩阵中并不等于
非依赖性评分。
组学可能以 SequencingID、ModelConditionID 或 ModelID 作为索引。对于
基础模型分析,使用该版本的 IsDefaultEntryForModel == Yes 标志,
然后要求每个 ModelID 只有一行。条件级标志
IsDefaultEntryForMC 回答的是另一个问题。在从映射表中选择默认条目之前,
先对 assay/datatype 进行子集化。在没有明确的科学设计的情况下,绝不要对重复条件取平均
或将它们计为独立模型。
3. 解读 Chronos 并检查目标
Chronos 基因效应是连续且无界的。数值越负表示适应度损失越强。在标准化释放矩阵中,约 0 是非必需对照锚点,−1 是常见必需对照锚点;−1 不是依赖性边界。诸如 ≤ −0.5 之类的过滤条件是探索性的,不是 p 值、FDR 或概率截断值。正效应可能反映生长优势或技术噪声,需要验证。
对于二元判定,检查所选文件的统计量和方向。高依赖概率和低 FDR 是不同的规则。不要默默地在它们之间转换。使用与释放版本匹配的阳性和阴性对照列表以及 QC 输出。参见评分和 QC 注意事项。
以下本地数据示例在针对你选择的文件运行之前仅作说明之用。辅助函数行为使用合成测试数据进行测试;本次审查期间未下载当前批量矩阵。
from scripts.depmap_data import load_gene_effect, load_models, gene_profile
effects = load_gene_effect("CRISPRGeneEffect.csv")
models = load_models("Model.csv")
profile = gene_profile(effects, models, "KRAS (3845)")
print(profile[["CellLineName", "OncotreeLineage", "gene_effect"]].head(20))
# Inspect actual annotation values, then choose an exact cohort.
print(profile["OncotreeLineage"].value_counts())
known = profile.dropna(subset=["OncotreeLineage"])
lung = known.loc[known["OncotreeLineage"].eq("Lung"), "gene_effect"]
other = known.loc[~known["OncotreeLineage"].eq("Lung"), "gene_effect"]
if lung.empty or other.empty:
raise ValueError("Both cohorts require observed effects and known lineage")
print({"n_lung": len(lung), "n_other": len(other),
"other_minus_lung_mean": other.mean() - lung.mean(),
"lung_fraction_below_exploratory_cutoff": (lung <= -0.5).mean()})
这是与其他癌症模型的描述性比较,不是与正常组织的比较。保留分母和缺失计数。保留完整的基因标签;一个符号可能有歧义,并且辅助函数拒绝模糊的符号解析。
4. 测试生物标志物关联
- 在检查目标评分之前定义改变。损伤判定矩阵不能确立双等位基因缺失;激活型 KRAS 热点需要不同于一般损伤突变定义的定义。
- 将图谱映射到正确的模型/条件。仅对已检测的阴性使用
0,对预先指定的生物标志物使用1,对未知状态使用缺失。 - 限制在科学上可比的模型(谱系、培养条件、筛选来源和相关患者结构)。在测试前检查混杂因素。
- 测试计划家族中每个符合条件的基因,然后在选择命中之前调整其所有 p 值。报告组大小、效应大小、p 值和 q 值。
- 使用匹配/同基因扰动和救援或正交证据验证候选合成致死性;仅有关联是不够的。
import pandas as pd
from scripts.depmap_data import biomarker_scan
# User-prepared, release-matched annotation after the mapping and curation above.
status = pd.read_csv("curated_biomarker_status.csv", index_col="ModelID")["status"]
results = biomarker_scan(effects, status, min_n=5)
# Positive effect_size means stronger dependency in biomarker-positive models.
candidates = results.loc[(results["qval"] < 0.1) & (results["effect_size"] > 0)]
这个单侧 Mann–Whitney 筛选是探索性的,不调整协变量。min_n=5 是明确的示例下限,不是功效保证。对于跨谱系的推断,拟合适当的调整模型并检查谱系内的效应稳定性;不要将辅助函数的 q 值报告为经混杂因素调整的。
5. 共必需性和药物敏感性
from scripts.depmap_data import coessentiality
correlates = coessentiality(effects, "KRAS (3845)", min_n=500)
print(correlates[["gene", "n", "r", "pval", "qval"]].head(20))
min_n 可配置,并且应针对分析预先指定。稀疏基因可能因虚假相关性而主导排名;始终保留成对样本计数。辅助函数使用成对完整观测并跳过恒定基因。Pearson/BH 输出仍需要谱系、文库和筛选质量检查;共必需性不能证明物理相互作用或共享通路。DepMap 团队的讨论记录了这个特定的稀疏覆盖失败模式。
对于 PRISM,首先选择确切的筛选/释放版本和终点。治疗信息 CSV 是注释,不是敏感性值。原始初级筛选的 primary-screen-replicate-collapsed-logfold-change.csv 具有以细胞系 row_name 为键的响应行和以治疗 column_name 为键的列。连接相应的细胞系和治疗信息文件;保留化合物、剂量和筛选身份。较低的 log2 倍数变化表示活力损失更大。次级筛选 AUC 来自剂量-反应曲线参数,与单剂量对数倍数变化不是同一量。在加载这些文件之前,参见 PRISM 工作流。
验证与来源
报告前:请核实发布/文件身份、唯一连接、标识符层级、 完整基因标签、队列成员资格、缺失情况、筛选资格、评分 单位/方向、多重检验族,以及证据是否为观察性证据。 表达量、拷贝数和 CRISPR 可能共享技术混杂因素;低表达 并不能保证测得的评分为零。广泛必需性可推动正常 细胞/选择性研究;但其本身并不能证明靶点不可成药。
- 26Q1 发布说明:文库校正和更新注释。
- 25Q2 发布说明:组学/默认映射和 WGS/WES 变更。
- Chronos 上游:归一化、拷贝数校正和命中判定定义。
- Dempster et al., Genome Biology 22:343 (2021):Chronos 方法,PMID 34930405。
- 原始 PRISM Repurposing 资源:针对特定发布版本的数据和 README。
实时无验证码目录和原始 PRISM README 已成功获取。 该辅助工具使用 Python urllib,在审查时成功;同一公共端点 在使用默认 requests 客户端时返回 HTTP 403。应暴露访问失败, 而不是将错误页面当作数据。 受保护的 portal 端点返回了验证页面;经身份验证的下载 和当前矩阵端到端分析仍未验证。本审查不声称存在 可用的 bearer-token API 或未记录的基因查询端点。