关于 tooluniverse-crispr-screen-analysis
面向 CRISPR-Cas9 遗传筛选数据的 ToolUniverse 分析技能,可处理 sgRNA 计数并评估基因必需性、合成致死和候选药物靶点。其流程还结合通路富集及 DepMap 等数据,帮助区分统计命中与特定背景依赖。
主要功能
- 01检查预计算结果并读取数据
- 02质控、过滤与标准化 sgRNA 计数
- 03使用 MAGeCK-like 和 BAGEL-like 方法评分
- 04比较细胞系以识别合成致死
- 05进行通路富集和药物靶点评估
适用场景
- 01分析 CRISPR 筛选中的必需基因
- 02比较突变型与野生型细胞系依赖
- 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.mdEXAMPLES.mdFALLBACK_PATCH.mdQUICK_START.mdUSE_CASES.mdscripts/CEGv2_core_essential.txtNEGv1_nonessential.txtreference_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,并且在提名为治疗靶点之前,须在独立细胞系中确认。
报告中需回答的综合分析问题:
- 顶级命中是否聚集在已知通路(Reactome/KEGG)中,还是分散各处——这可能表明存在技术噪声?
- 已知必需基因(Hart 参考集)是否被正确识别,从而确认筛选质量?完整的 CEGv2 核心必需基因(约 684 个)和 NEGv1 非必需基因(约 928 个)参考集已打包在
scripts/中——使用from reference_gene_sets import core_essential, nonessential, recovery_rate加载。recovery_rate(top_depleted_genes)可得出回收的核心必需基因比例(质量良好的全基因组筛选回收率应 >~0.8)。 - 对于候选药物靶点: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 问题的回退模式