mcpField
T
tooluniverse-crispr-screen-analysis

tooluniverse-crispr-screen-analysis

github.com/mims-harvard数据与数据库1.8k374 次安装2 天前更新
代码仓库

关于 tooluniverse-crispr-screen-analysis

面向 CRISPR-Cas9 遗传筛选数据的 ToolUniverse 分析技能,可处理 sgRNA 计数并评估基因必需性、合成致死和候选药物靶点。其流程还结合通路富集及 DepMap 等数据,帮助区分统计命中与特定背景依赖。

主要功能

  1. 01检查预计算结果并读取数据
  2. 02质控、过滤与标准化 sgRNA 计数
  3. 03使用 MAGeCK-like 和 BAGEL-like 方法评分
  4. 04比较细胞系以识别合成致死
  5. 05进行通路富集和药物靶点评估

适用场景

  1. 01分析 CRISPR 筛选中的必需基因
  2. 02比较突变型与野生型细胞系依赖
  3. 03从筛选命中中优先排序药物靶点

MCP 相关

该技能通过 ToolUniverse 工具进行文献检索、通路富集、药物-基因查询及蛋白互作分析。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-crispr-screen-analysis

安装后在 Claude Code 中输入/tooluniverse-crispr-screen-analysis确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

ANALYSIS_DETAILS.md
EXAMPLES.md
FALLBACK_PATCH.md
QUICK_START.md
USE_CASES.md
scripts/
CEGv2_core_essential.txt
NEGv1_nonessential.txt
reference_gene_sets.py

详细介绍

ToolUniverse CRISPR 筛选分析

规则零 — 首先检查预计算结果

在遵循以下任何指令之前,先扫描数据文件夹,查找:

  • *_executed.ipynb → 使用 tu run read_executed_notebook '{"data_folder":"<path>","search":"<keyword>"}' 读取,并将其单元格输出作为权威答案引用
  • 预计算结果文件(名称类似 *results*、*deseq*、*enrich*、*stats*、*_simplified.csv 的 CSV/TSV)→ 直接读取并报告所请求的值
  • 标准分析脚本(analysis.R、run_*.py、find_*.R、*.Rmd)→ 按原样执行并读取输出

只有在上述内容均不存在时,才使用此技能下方的重新分析流程。从原始数据重新运行会得到与已发布答案不同的数值,而且耗时更长(通常需要 5–10 倍的轮次)。


这是一项全面的技能,可通过稳健的统计分析和通路富集,分析 CRISPR-Cas9 遗传筛选,以识别必需基因、合成致死相互作用和治疗靶点。

概述

CRISPR 筛选通过系统性扰动基因并测量适应度效应,实现全基因组功能基因组学。本技能提供包含 8 个阶段的工作流,用于:

  • 处理 sgRNA 计数矩阵
  • 质量控制和标准化
  • 基因层面的必需性评分(类似 MAGeCK 和 BAGEL 的方法)
  • 检测合成致死
  • 通路富集分析
  • 结合 DepMap 优先排序药物靶点
  • 整合表达和突变数据

核心工作流

阶段 1:数据导入与 sgRNA 计数处理

加载 sgRNA 计数矩阵(MAGeCK 格式或通用 TSV)。预期列:sgRNA、Gene,以及样本列。创建实验设计表,将样本与条件(基线/处理)关联,并指定重复样本。

阶段 2:质量控制与过滤

评估 sgRNA 分布质量:

  • 文库大小:每个样本的总 reads 数
  • 零计数 sgRNA:统计各样本中的数量
  • 低计数过滤:移除低于阈值的 sgRNA(默认:在超过 N-2 个样本中少于 30 reads)
  • Gini 系数:评估每个样本分布的偏斜程度
  • 报告过滤建议
阶段 3:标准化

对 sgRNA 计数进行标准化,以校正文库大小差异:

  • 中位数比值(类似 DESeq2):计算几何均值参考值,并将比值中位数作为 size factor
  • 总计数(类似 CPM):除以以百万为单位的文库大小

使用伪计数计算处理组与对照组之间的 log2 倍数变化(LFC)。

阶段 4:基因层面评分

两种评分方法:

  • 类似 MAGeCK(RRA):按 LFC 对所有 sgRNA 排名,计算每个基因的平均排名。平均排名越低,表示越必需。包括每个基因的 sgRNA 数量和平均 LFC。
  • 类似 BAGEL(贝叶斯因子):使用参考必需基因/非必需基因集来估计 LFC 分布。计算每个基因的似然比(贝叶斯因子)。BF 越高,表示基因越可能是必需基因。
阶段 5:合成致死检测

比较野生型和突变细胞系的必需性评分:

  • 合并基因评分,计算 delta LFC 和 delta rank
  • 筛选在突变细胞系中必需(LFC < 阈值)、但在野生型中不必需(LFC > -0.5),且排名变化较大的基因
  • 按差异必需性排序

通过 PubMed 搜索查询 DepMap/文献中已知的依赖关系。

阶段 6:通路富集分析

将排名靠前的必需基因提交至 Enrichr,进行通路富集:

  • KEGG 通路
  • GO 生物过程
  • 获取富集条目及其 p 值和基因列表
阶段 7:药物靶点优先级排序

综合评分由以下部分组成:

  • 必需性(权重 50%):CRISPR 筛选中的标准化平均 LFC
  • 表达(权重 30%):RNA-seq 的 log2 倍数变化(如有)
  • 可成药性(权重 20%):DGIdb 中的药物相互作用数量

查询 DGIdb 中的每个候选基因,以查找现有药物、相互作用类型和来源。

阶段 8:报告生成

生成 Markdown 报告,包含:

  • 汇总统计(基因总数、必需基因、非必需基因)
  • 排名前 20 的必需基因表格(排名、基因、平均 LFC、sgRNA、得分)
  • 通路富集结果(每个数据库排名前 10 的条目)
  • 候选药物靶点(排名、基因、必需性、表达 FC、成药性、优先级得分)
  • 方法部分

ToolUniverse 工具集成

使用的关键工具:

  • PubMed_search_articles - 检索有关基因必需性和耐药性的文献
  • ReactomeAnalysis_pathway_enrichment - 通路富集(参数:identifiers 以换行符分隔,page_size)
  • enrichr_gene_enrichment_analysis - Enrichr 富集分析(参数:gene_list 数组,libs 数组)
  • DGIdb_get_drug_gene_interactions - 药物-基因相互作用(参数:genes 为数组)
  • DGIdb_get_gene_druggability - 成药性分类
  • STRING_get_network - 蛋白质相互作用网络
  • kegg_search_pathway - 按关键词搜索通路
  • kegg_get_pathway_info - 按 ID 获取通路详情

癌症背景(对于耐药性筛选至关重要):

  • civic_search_evidence_items - 药物耐药性/敏感性的临床证据
  • COSMIC_get_mutations_by_gene - 体细胞突变图谱
  • cBioPortal_get_mutations - 特定癌症队列中的突变
  • ChEMBL_search_targets - 结构性成药性评估

表达与变异整合:

  • GEO_search_rnaseq_datasets / geo_search_datasets - 表达数据集
  • ClinVar_search_variants - 已知致病变异
  • gnomad_get_gene_constraints - 基因约束指标(pLI、oe_lof)
  • UniProt_get_function_by_accession - 用于命中验证的蛋白质功能

快速开始

import pandas as pd
from tooluniverse import ToolUniverse

# 1. Load data
counts, meta = load_sgrna_counts("sgrna_counts.txt")
design = create_design_matrix(['T0_1', 'T0_2', 'T14_1', 'T14_2'],
                               ['baseline', 'baseline', 'treatment', 'treatment'])

# 2. Process
filtered_counts, filtered_mapping = filter_low_count_sgrnas(counts, meta['sgrna_to_gene'])
norm_counts, _ = normalize_counts(filtered_counts)
lfc, _, _ = calculate_lfc(norm_counts, design)

# 3. Score genes
gene_scores = mageck_gene_scoring(lfc, filtered_mapping)

# 4. Enrich pathways
enrichment = enrich_essential_genes(gene_scores, top_n=100)

# 5. Find drug targets
drug_targets = prioritize_drug_targets(gene_scores)

# 6. Generate report
report = generate_crispr_report(gene_scores, enrichment, drug_targets)

领域推理:命中结果是统计发现,而非生物学结论

筛选命中结果是统计发现,并非对生物学相关性的直接反映。被判定为必需基因,可能是因为它对细胞的普遍生长必不可少(管家基因),也可能是因为它对你筛选的特定表型至关重要(更值得关注)。务必将筛选命中结果与公开的必需性数据进行比较——使用 DepMap 泛癌依赖性评分,过滤掉在所有细胞系中普遍必需的基因。相比在每次筛选中都得分的基因,仅在你的特定背景下必需、但在 DepMap 中并非泛必需的基因,更值得作为后续研究候选对象。

先查证,别猜测:查询 DepMap 依赖性评分、已知核心必需基因集(Hart et al.、Blomen et al.)以及热门命中的 DGIdb 成药性数据。在查阅公开必需性数据库前,不要假定某个命中结果具有背景特异性。

解读框架

证据等级标准验证优先级
A -- 强命中MAGeCK RRA p < 0.001,BAGEL BF > 5,>=3 个 sgRNA 的 LFC 一致立即验证(单独 KO、生长实验)
B -- 中等命中MAGeCK RRA p < 0.01,BAGEL BF 2-5,>=2 个 sgRNA 一致次级验证组
C -- 弱/模糊p > 0.01、BF < 2,或 sgRNA 效应不一致降低优先级;检查拷贝数偏倚或种子效应

解读筛选结果:

  • 某基因在各重复中的平均 LFC < -1.0,且有 >=3 个 sgRNA 效应一致,即为稳健的必需性命中;单个 sgRNA 的效应更可能来自脱靶,应予以标记。
  • 必需基因阈值取决于具体背景:核心适应度基因(如核糖体、剪接体基因)应在任何筛选中耗竭,可用作阳性对照——若它们未出现在命中列表中,则说明存在 QC 问题。
  • 合成致死命中(在突变体中耗竭、而在野生型中不耗竭)要求 delta-LFC > 1.5,并且在提名为治疗靶点之前,须在独立细胞系中确认。

报告中需回答的综合分析问题:

  1. 顶级命中是否聚集在已知通路(Reactome/KEGG)中,还是分散各处——这可能表明存在技术噪声?
  2. 已知必需基因(Hart 参考集)是否被正确识别,从而确认筛选质量?完整的 CEGv2 核心必需基因(约 684 个)和 NEGv1 非必需基因(约 928 个)参考集已打包在 scripts/ 中——使用 from reference_gene_sets import core_essential, nonessential, recovery_rate 加载。recovery_rate(top_depleted_genes) 可得出回收的核心必需基因比例(质量良好的全基因组筛选回收率应 >~0.8)。
  3. 对于候选药物靶点:DGIdb 是否显示已有化合物?DepMap 是否确认其在多种细胞系中存在依赖性?

参考文献

  • Li W, 等(2014)MAGeCK enables robust identification of essential genes from genome-scale CRISPR/Cas9 knockout screens. Genome Biology
  • Hart T, 等(2015)High-Resolution CRISPR Screens Reveal Fitness Genes and Genotype-Specific Cancer Liabilities. Cell
  • Meyers RM, 等(2017)Computational correction of copy number effect improves specificity of CRISPR-Cas9 essentiality screens. Nature Genetics
  • Tsherniak A, 等(2017)Defining a Cancer Dependency Map. Cell (DepMap)

分析约定

重复样本的 Spearman 相关性——匹配论文的汇总层级

不同论文报告重复样本可重复性时采用的层级不同:sgRNA 级 CPM、基因级汇总 CPM,或基因级平均 CPM。预期 GT 几乎总是 sgRNA 级 Spearman(噪声更大,ρ 更低),而非基因级汇总结果。如果得到 ρ ≈ 0.6+,你很可能计算的是基因级结果;请改用每个 sgRNA 的 CPM 配对值。

Reactome GSEA 排序列

对 MAGeCK 输出运行 GSEA 时,应按论文指定的 neg|lfc 或等效效应量列排序(而不是 p 值)。检查 MAGeCK xlsx 中是否有 beta / sgRNA_effect / neg|score 列,并按降序排序。

通路命名

.gmt 包中的 Reactome 通路名称为原始名称(例如 "cGMP effects"、"Signaling by Hippo")。需要匹配 Reactome 术语的答案必须原样使用确切标签——不要改写通路名称。

另请参阅

  • ANALYSIS_DETAILS.md - 所有 8 个阶段的详细代码片段
  • USE_CASES.md - 完整用例(必需性筛选、合成致死、药物靶点发现、表达整合)和最佳实践
  • EXAMPLES.md - 用法示例和快速参考
  • QUICK_START.md - 快速入门指南
  • FALLBACK_PATCH.md - API 问题的回退模式

评论

支持 Markdown