mcpField
D
depmap

depmap

github.com/k-dense-ai数据与数据库55.1k1.9k 次安装2 天前更新
代码仓库

关于 depmap

DepMap 技能为癌症研究人员提供分析癌症模型基因依赖性、生物标志物队列和药物反应的流程。它强调版本匹配、数据校验和统计限制,帮助形成待验证的研究假设,而非临床结论。

主要功能

  1. 01发现并筛选 DepMap 数据版本
  2. 02读取基因效应与模型注释矩阵
  3. 03比较预设生物标志物队列
  4. 04计算共必需性关联
  5. 05关联 PRISM 化合物反应

适用场景

  1. 01筛选癌症模型中的候选依赖基因
  2. 02比较生物标志物阳性与阴性模型
  3. 03探索基因共必需性关系
  4. 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. 测试生物标志物关联

  1. 在检查目标评分之前定义改变。损伤判定矩阵不能确立双等位基因缺失;激活型 KRAS 热点需要不同于一般损伤突变定义的定义。
  2. 将图谱映射到正确的模型/条件。仅对已检测的阴性使用 0,对预先指定的生物标志物使用 1,对未知状态使用缺失。
  3. 限制在科学上可比的模型(谱系、培养条件、筛选来源和相关患者结构)。在测试前检查混杂因素。
  4. 测试计划家族中每个符合条件的基因,然后在选择命中之前调整其所有 p 值。报告组大小、效应大小、p 值和 q 值。
  5. 使用匹配/同基因扰动和救援或正交证据验证候选合成致死性;仅有关联是不够的。
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 可能共享技术混杂因素;低表达 并不能保证测得的评分为零。广泛必需性可推动正常 细胞/选择性研究;但其本身并不能证明靶点不可成药。

实时无验证码目录和原始 PRISM README 已成功获取。 该辅助工具使用 Python urllib,在审查时成功;同一公共端点 在使用默认 requests 客户端时返回 HTTP 403。应暴露访问失败, 而不是将错误页面当作数据。 受保护的 portal 端点返回了验证页面;经身份验证的下载 和当前矩阵端到端分析仍未验证。本审查不声称存在 可用的 bearer-token API 或未记录的基因查询端点。

评论

支持 Markdown