scTenifoldKnk 虚拟敲除

SKILLAI 工具
AI 工具 未标注权限 许可证不明确
安装这个技能

Chat2Research Al科研工作台:Use when predicting gene function by in-silico knockout (scTenifoldKnk). Builds a WT scGRN, zeroes the target gene's out-edges, finds perturbed genes.(Skill由Chat2Research Al科研工作台:https://icell.abiosciences.cn/?source=20e0489c 提供,登录平台可享免费算力和Token及更多分析组学Skills)

一句话选型结论

按资料字段整理

scTenifoldKnk 虚拟敲除是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_7ece4fea/sctenifoldknk-virtual-knockout
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_7ece4fea仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791623265
正文体量10.3 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
scTenifoldKnk 虚拟敲除当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

10.3 KB
模型实际读到的说明书原文,来自技能仓库

scTenifoldKnk 虚拟基因敲除(In-Silico Knockout)

When to Use

  • 想预测某个基因的功能,但没有敲除/干扰实验数据时——用野生型(WT)单细胞数据在计算上模拟敲除,看哪些基因被扰动。
  • 已有一个野生型/对照条件的单细胞数据(不需要 KO 样本),想评估候选基因(如差异表达得到的 hub 基因、转录因子)的调控影响。
  • 需要对多个候选基因做批量筛选(transcriptomeWide 模式,一次建网、逐个敲除)。
  • 已有真实的 KO 实验数据,想用虚拟敲除做交叉验证或排序。

不适用:只有归一化/批次校正后的表达值(必须用原始 counts);细胞数极少(< 数百,网络不稳);想比较两个条件间的差异表达(那是 DE 分析的工作)。

Overview

scTenifoldKnk 建在 scTenifoldNet 之上,三步:

  1. 构建 WT scGRN:主成分回归为每个基因拟合其调控关系,重复 nc_nNet 次(每次随机抽 nc_nCells 个细胞),用张量分解(CP/ALS,秩 td_K)去噪,得到权重平均的调控网络。
  2. 虚拟敲除:把目标基因在邻接矩阵中的出度边全部置零(假设敲除消除了该基因对其靶基因的调控),得到 KO 网络。
  3. 流形对齐 + 差异调控:对 WT/KO 两个网络做非线性流形对齐,计算每个基因在两套坐标间的欧氏距离;距离经 Box-Cox 变换标准化后按卡方分布(1 自由度)算 p 值,BH 校正得到 p.adj。距离相对期望值放大最多的基因即虚拟敲除扰动基因。

注意:logFC = log2(FC) 中的 FC 是流形对齐距离相对期望值的倍数,不是表达量的差异倍数。

依赖

脚本运行时需要 R 环境中安装:scTenifoldKnk, scTenifoldNet, Seurat, Matrix, matrixStats, ggplot2, dplyr。

> scTenifoldKnk / scTenifoldNet 均不在 CRAN/Bioconductor,需从 GitHub 安装(cailab-tamu/scTenifoldKnk、cailab-tamu/scTenifoldNet)。见 abio-r-package-install skill。

Steps

可复用脚本:scripts/sctenifoldknk.R.txt(纯命令行参数,无硬编码路径)。

  1. 准备输入:确认是原始 counts(整数、未归一化),基因为行名、细胞为列名。
  2. 子集到高变基因(强烈建议,--hvg TRUE 默认):基因数直接决定耗时与内存(张量是 nGenes × nGenes × nNet)。可用 --n-genes 进一步限制到方差最大的前 N 个。
  3. 确认目标基因在矩阵内:gKO 必须在 rownames 中,否则报错。若目标基因不在 HVG 里,需 --hvg FALSE 或重新 FindVariableFeatures 把它纳入。
  4. 运行:scTenifoldKnk(countMatrix, gKO, ...)(QC → 建网 → 张量分解 → 敲除 → 流形对齐 → 差异调控)。
  5. 整理结果:取 res$diffRegulation(列:gene, distance, Z, FC, p.value, p.adj),算 logFC = log2(FC),剔除被敲除基因自身,按 p 值排序。
  6. 筛选与可视化:p.value < 阈值(默认 0.05)为扰动基因;输出 top N 横条图 + 火山图;同时看 p.adj 作为保守参考。
  7. 保存:完整结果 RDS(含 WT/KO 网络与流形对齐坐标)+ CSV + markdown 报告。

Parameters to Customize

参数 说明 默认
--input 输入 RDS(Seurat 对象,或 基因×细胞 counts 矩阵) 必填
--output 输出根目录(自动创建 Img/Stat/Rdata) .
--gene 要敲除的基因符号(gKO) 必填
--assay Seurat assay(对象里没有该 assay 时回落到 DefaultAssay) RNA
--hvg 是否只用高变基因 TRUE
--n-genes 再按方差取前 N 个基因(0 = 不限制) 0
--min-lib QC:最小文库大小(qc_minLibSize) 1000
--max-mt QC:线粒体比例上限(qc_maxMTratio) 0.1
--min-pct QC:基因至少在多少比例的细胞中表达(qc_minPCT) 0.05
--remove-outliers QC:剔除文库大小离群细胞(qc_removeOutlierCells) TRUE
--n-net 构建的网络数(nc_nNet) 10
--n-cells 每次建网抽样的细胞数(nc_nCells) 500
--n-comp 主成分回归的 PC 数(nc_nComp,须 >2 且 < 基因数) 3
--k 张量分解秩(td_K) 3
--lambda 网络稀疏化强度(nc_lambda,0–1;0 表示不稀疏化) 0
--n-cores 并行核数(硬性 ≤4) 4
--p-cutoff 扰动基因的 p 值阈值 0.05
--top 报告中展示的 top 基因数 10
--empirical-null 用 Efron 经验零分布代替卡方(需 locfdr 包) FALSE
--seed 随机种子(建网抽样) 42

Evidence Criteria / Expected Output

  • Stat/diffRegulation_all.csv:全部基因的 distance / Z / FC / logFC / p.value / p.adj
  • Stat/diffRegulation_p&lt;cutoff&gt;.csv:通过阈值的扰动基因
  • Img/knk_top_genes_barplot.pdf|png:top 扰动基因的 logFC 横条图
  • Img/knk_volcano.pdf|png:logFC vs -log10(p)
  • Rdata/scTenifoldKnk_result_&lt;gene&gt;.rds:完整结果(tensorNetworks WT/KO 网络、manifoldAlignment、diffRegulation)
  • Stat/knk_report.md:参数、规模、显著基因数与 Top 表
  • 判读:p.value < 0.05 的基因视为被扰动。p.value 基于卡方分布、偏激进,务必同时看 p.adj(BH)——若 p 显著但 p.adj 全不显著,说明扰动信号弱,应调大 --n-net/--n-cells 或谨慎下结论。

Pitfalls / Notes

  • ⚠️ 参数名陷阱(原脚本常见错误):正确写法是 qc_maxMTratio(不是 qc_mtThreshold)和 qc_minLibSize(不是 qc_minLSize)。scTenifoldKnk() 签名里没有 ...,写错名字会直接报 unused argument 而中断,不会静默忽略。
  • ⚠️ 必须显式限制线程数,且旋钮不是 nCores:detectCores() 与 blas_get_num_procs() 在容器里都返回宿主机核数(本机 64)。而 scTenifoldNet 的计算量主要走 pcNetCoreRcpp 编译后端(OpenMP),它完全不受 nCores 控制;nCores 只在 Rcpp 后端失败时的 furrr::future_map 兜底路径生效。实测不限流单进程直接吃到 5766% CPU(≈57 核)。正确做法是设置 OMP_NUM_THREADS / OPENBLAS_NUM_THREADS / MKL_NUM_THREADS(必须在加载相关包之前)+ RhpcBLASctl::blas_set_num_threads()/omp_set_num_threads(),并把传给 scTenifoldKnk() 的 nCores 固定为 1(防止兜底路径再乘一层)。脚本已按此实现,--n-cores 即 OpenMP 线程预算(硬上限 4)。实测:修复前单进程 5766%(≈57 核);修复后单进程 CPU 峰值 403%(≈4 核,符合配额),进程树仅 1 个进程。注意 OpenMP/OpenBLAS 的线程池仍会按宿主核数建(/proc/&lt;pid&gt;/status 里可见 64 线程),但活跃并发被限制在 4,空闲线程不耗 CPU。
  • 输入必须是原始 counts:不要传归一化/log 化的表达值。scTenifoldKnk 内部自己做 QC 和 CPM 归一化。
  • 规模决定可行性:耗时与内存约按 nGenes² × nNet 增长。实测基准(631 基因 × 1253 细胞 QC 后,4 核,nc_nCells=500):--n-net 3 → 3.6 分钟;--n-net 10 → 11.9 分钟(网络构建占 ~95%)。两版结果的 top 扰动基因完全一致、log10(p) 相关系数 r=1.000,说明该数据上结果对 nNet 稳健;但发表级分析仍建议 nNet≥10。5000 基因时张量约 2GB、耗时显著上升。脚本会打印预估张量内存并在 >20GB 时告警(上限 50GB)。
  • QC 可能大幅削减基因数:qc_minPCT 按全部细胞计算表达比例,只在稀有细胞类型中表达的基因会被剔除。实测 1500 个 HVG + 7546 细胞,经 minLibSize=1000 / MT<0.1 / minPCT=0.05 后只剩 631 基因 × 1253 细胞。若目标基因或关键调控因子被 QC 掉,需放宽 --min-pct / --min-lib,或先用 --hvg FALSE 检查。
  • nc_nCells 要 ≤ 实际细胞数(脚本会自动截断并提示)。抽样细胞越多网络越稳,但单次回归更慢。
  • nc_nComp 必须 >2 且 < 基因数;td_K 为 CP 张量分解秩,默认 3。
  • 可复现性:建网阶段有随机抽样(每次抽 nc_nCells 个细胞),固定 --seed 才可复现。
  • 线粒体基因识别:scQC 按基因名以 MT- 开头(大小写不敏感)计算线粒体比例;基因名不是这种命名规范时该 QC 实际不生效。
  • 结果是计算预测,不是实验证据:虚拟敲除只能给出候选基因排序和假设,需后续实验(qPCR / 敲低 / 敲除)验证。报告中不要把它写成"证实"。
  • 单基因模式 vs 全转录组模式:脚本用单基因模式(transcriptomeWide=FALSE,结果返回 WT/KO 两套网络)。若要批量敲多个基因,改为 transcriptomeWide=TRUE 会一次建网、逐个扰动,返回 perturbationDistances 矩阵(效率高得多,但不再返回 KO 网络)。
  • 不要用结果反推"表达量变化":FC 是流形对齐距离比,与表达 fold change 不同尺度,不能直接与其他工具的 logFC 比较。

> Packaging note. Scripts and tables in this skill carry a .txt suffix on their
> original extension (e.g. .R.txt, .tsv.txt) because the SkillHub upload allowlist
> does not accept .R or .tsv. This is cosmetic: Rscript is extension-agnostic, so
> Rscript scripts/&lt;name&gt;.R.txt ... behaves exactly like .R, and tab-separated data
> parses identically from .tsv.txt. Keep the suffix when repackaging.

常见问题

5 问
答案由本站依据条目字段整理
scTenifoldKnk 虚拟敲除怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_7ece4fea/sctenifoldknk-virtual-knockout。安装方式为未标注。装完刷新技能列表或重开客户端。

scTenifoldKnk 虚拟敲除支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

scTenifoldKnk 虚拟敲除权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

scTenifoldKnk 虚拟敲除收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

scTenifoldKnk 虚拟敲除用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。