前言¶
在转录组流程里,同一份生物学样本常会同时有 bulk RNA-seq 和单细胞 RNA-seq。bulk 测的是样本层面的混合表达,单细胞则要按细胞类型或个体等分组汇总成伪 bulk,才能和 bulk 在同一基因维度上对比。手工做 CPM、log2(x+1)、按组求和/平均、再算相关和作图,步骤多且容易在分组名匹配上出错。
DeepSeek Harness(DSH)把能力封装成插件,对话或工作流里可以直接调用工具。下面介绍社区维护的 dsh-bulk-scrna-concordance:在 DSH Host 里注册为 bulk_scrna_concordance,同一套分析也可通过 Python CLI 或 MCP 给 Claude、ChatGPT 等客户端使用。
这是什么¶
Bulk–scRNA Concordance 用于比较 bulk RNA-seq 表达与单细胞按组汇总后的伪 bulk 轮廓是否一致。维护者为 Wanner122333,仓库 wanner122333/dsh-bulk-scrna-concordance,在 SkillHub 插件目录 中归类为模型推理。插件包名为 @local/dsh-bulk-scrna-concordance(package.json 版本 1.0.0)。
工具输出 Pearson、Spearman 相关、线性回归、可选的分组匹配诊断以及图形;每次运行会记录参数、输入输出哈希和依赖包版本。README 明确说明:这是描述性比较,按组汇总不能代替生物学重复变异估计;可选的 matched–mismatched 相关差距可用于提示异常匹配,但不能证明生物学一致。
核心功能¶
输入与分析逻辑¶
- 单细胞原始计数:
.h5ad,或「基因 × 细胞」矩阵 CSV 加细胞 metadata。 - Bulk 表达:基因 × 样本的 CSV/TSV。
- 分组:每个细胞有一列分组标签;bulk 样本名须以精确分隔的 token 包含对应分组名。
按组对细胞计数求和,bulk 在同一组内对样本取平均。默认归一化为 CPM,再 log2(x+1);回归与作图以 bulk 为 x、伪 bulk 为 y,基因集合与变换保持一致。
对 .h5ad,默认计数来自 layers['counts'](若存在),否则用 X;可用 --sc-layer <name> 指定层,或用 --sc-use-raw 使用 raw.X。单细胞输入须为原始计数:非有限、负值、非整数会被拒绝;整数型数据仍可能是已变换矩阵,运行前需自行确认来源。
输出物¶
结果写在 --out-dir 下,主要包括:
| 文件 | 内容 |
|---|---|
<prefix>_results.json |
参数、每组统计、诊断与警告(CLI 需 --results-json) |
<prefix>_bulk_scrna_correlation_stats.csv |
每组统计 |
<prefix>_discriminability.csv |
伪 bulk × bulk 相关矩阵(启用 discriminability 时) |
<prefix>_bulk_scrna_correlation.{png,pdf,svg} |
散点图(回归线与 y=x) |
<prefix>_manifest.json |
代码/输入/输出哈希与环境版本 |
<prefix>_run.log |
经 DSH 或 MCP 调用时的分析日志 |
DSH 与 MCP¶
- DSH:注册工具名
bulk_scrna_concordance;安装后若提示restart-required需重启 DSH。 - MCP:安装
requirements-mcp.txt后运行python/python/mcp_server.py;通过 stdio 或 Streamable HTTP 暴露同一工具。输入文件须在服务端本机存在;HTTP 默认绑定 loopback且无内置认证,需自行隔离或置于认证代理之后。
环境与依赖¶
Python 需 numpy、pandas、scipy、matplotlib;读 .h5ad 还需 anndata、h5py。在仓库根目录安装:
python -m pip install -r requirements.txt
可选 MCP 依赖:
python -m pip install -r requirements-mcp.txt
安装与启用¶
DSH 社区目录与 DeepSeek / 幻方无官方从属关系;安装前请阅读仓库源码与许可证。插件以当前 DSH 进程权限执行 Python 子进程,勿对不可信路径盲目 add。
在 DSH 图形界面¶
打开 Settings → Plugins,选择包含 package.json 的插件目录(绝对路径)安装 bundle。Desktop 自有 profile 可使用应用内安装器。
通过 CLI 管理 profile¶
dsh plugin --profile <profile> add /absolute/path/to/dsh-bulk-scrna-concordance
若 profile 所用环境的 PATH 中没有合适的 Python,在 profile 的插件配置中设置 pythonPath(README 示例):
- id: bulk-scrna-concordance
name: "@local/dsh-bulk-scrna-concordance"
config:
pythonPath: /absolute/path/to/python
defaultTimeoutMs: 1800000
maxLogLines: 40
安装完成后检查安装结果;需要时重启 DSH。
典型用法¶
合成数据快速跑通¶
python python/bulk_scrna_concordance.py \
--sc-matrix-csv examples/synthetic/sc_expr.csv \
--sc-meta-csv examples/synthetic/sc_meta.csv \
--bulk-csv examples/synthetic/bulk.csv \
--group-col Group --discriminability \
--out-dir results --out-prefix example \
--results-json results/example_results.json
真实 .h5ad 数据¶
python python/bulk_scrna_concordance.py \
--sc-h5ad /path/to/counts.h5ad --sc-layer counts \
--bulk-csv /path/to/bulk.csv --group-col Group \
--out-dir results --out-prefix my_run \
--results-json results/my_run_results.json
公开数据示例 GSE77288¶
README 给出 Tung et al. (2017) 人 iPSC 数据(GSE77288):三位供体、未变换 read counts,去除 92 个 ERCC 列。先准备输入再跑与仓库一致的命令:
python examples/gse77288/prepare.py --out-dir results/gse77288/input-data
python python/bulk_scrna_concordance.py \
--sc-h5ad results/gse77288/input-data/sc_read_counts.h5ad \
--bulk-csv results/gse77288/input-data/bulk_read_counts.csv \
--group-col individual --gene-id-key var_names --discriminability \
--out-dir results/gse77288 --out-prefix GSE77288_real \
--results-json results/gse77288/GSE77288_real_results.json
prepare.py 会下载约 13 MB 压缩计数与注释、校验固定 SHA-256,并写入原始计数与 provenance。README 公布的参考运行中,三位供体 Pearson r 约在 0.97 量级(见仓库结果表与 examples/gse77288/results/)。参数、归一化与限制见仓库 docs/usage.md。
MCP 本地服务¶
python python/mcp_server.py --transport stdio --workspace /path/to/data
客户端配置见仓库 docs/mcp.md。
适用场景与注意¶
适合:已有 bulk 与单细胞原始计数、需要按组做表达一致性 QC 或方法验证;希望在 DSH 对话里调用 bulk_scrna_concordance,或让 Claude / ChatGPT 通过 MCP 在本地数据目录上触发同一分析。
注意:
- 分组与 bulk 样本名的 token 匹配规则严格,命名不一致会导致静默错配或诊断告警,需先核对 metadata。
- 分析耗时与矩阵规模相关;DSH 配置里可将
defaultTimeoutMs设为较大值(如 README 的 1800000)。 - MCP 不处理聊天附件上传,只返回统计与产物路径;部署 HTTP 时注意访问控制。
- 更细的 CLI 参数、MCP 部署与限制以 GitHub README 与
docs/为准。
结尾¶
dsh-bulk-scrna-concordance 把 bulk 与单细胞伪 bulk 的一致性检验做成可复现流水线,并接入 DSH 插件与 MCP,方便在智能体工作流里重复同一套统计与出图。目录页:SkillHub - dsh-bulk-scrna-concordance;源码与示例:GitHub - Wanner122333/dsh-bulk-scrna-concordance。