返回顶部
v

volcano-plot-labeler火山图基因标注

Automatically label top significant genes in volcano plots with repulsion

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
204
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

volcano-plot-labeler

火山图标签工具 (ID: 148)

使用排斥算法自动识别并标记火山图中前10个最显著的基因,防止标签重叠。

功能特点

  • - 智能基因选择:基于p值和差异倍数自动识别前10个最显著基因
  • 排斥算法:使用力导向定位防止文本标签重叠
  • 可定制化:可配置阈值、标签样式和定位选项
  • 多种输出格式:支持PNG、PDF、SVG格式

安装

bash
pip install pandas matplotlib numpy scipy

使用方法

基本用法

python
from volcanoplotlabeler import labelvolcanoplot
import pandas as pd

加载数据

df = pd.readcsv(differentialexpression_results.csv)

生成带标签的火山图

fig = labelvolcanoplot( df, log2fc_col=log2FoldChange, pvalue_col=padj, genecol=genename, top_n=10 ) fig.savefig(volcanoplotlabeled.png, dpi=300, bbox_inches=tight)

高级用法

python
from volcanoplotlabeler import labelvolcanoplot

fig = labelvolcanoplot(
df,
log2fc_col=log2FoldChange,
pvalue_col=padj,
genecol=genename,
top_n=10,
pvalue_threshold=0.05,
log2fc_threshold=1.0,
figsize=(12, 10),
repulsion_iterations=100,
repulsion_force=0.05,
label_fontsize=10,
label_color=black,
arrow_color=gray,
save_path=output.png
)

命令行使用

bash
python scripts/main.py \
--input data/deseq2_results.csv \
--output volcano_labeled.png \
--log2fc-col log2FoldChange \
--pvalue-col padj \
--gene-col gene_name \
--top-n 10

输入格式

期望的CSV/TSV列:

  • - log2FoldChange:Log2差异倍数值
  • padj 或 pvalue:校正后p值或原始p值
  • gene_name:基因标识符

算法

显著性计算

  1. 1. 计算所有基因的 -log10(pvalue)
  2. 按综合得分排序基因:|log2FC| * -log10(pvalue)
  3. 选择显著性最高的前N个基因

排斥算法

  1. 1. 初始定位:将标签放置在基因坐标位置
  2. 力计算
- 重叠标签之间的排斥力 - 将标签拉向基因点的弹簧力 - 将标签保持在绘图区域内的边界力
  1. 3. 迭代优化:进行N次迭代更新位置直至收敛
  2. 箭头绘制:从标签到基因点绘制连接线

参数

参数类型默认值描述
dfDataFrame-输入数据
log2fc_col
str | log2FoldChange | log2差异倍数列名 | | pvalue_col | str | padj | p值列名 | | genecol | str | genename | 基因名称列名 | | top_n | int | 10 | 标记的顶部基因数量 | | pvalue_threshold | float | 0.05 | 用于着色的p值阈值 | | log2fc_threshold | float | 1.0 | 用于着色的Log2FC阈值 | | repulsion_iterations | int | 100 | 排斥算法迭代次数 | | repulsion_force | float | 0.05 | 排斥力强度 | | label_fontsize | int | 10 | 标签字体大小 | | figsize | tuple | (10, 10) | 图形尺寸 |

输出

  • - 带标签的火山图,包含:
- 颜色编码的点(上调/下调/不显著) - 前10个基因标签及引导线 - 无重叠文本标签

许可证

MIT

风险评估

风险指标评估等级
代码执行Python/R脚本在本地执行中等
网络访问
无外部API调用 | 低 | | 文件系统访问 | 读取输入文件,写入输出文件 | 中等 | | 指令篡改 | 标准提示指南 | 低 | | 数据泄露 | 输出文件保存到工作空间 | 低 |

安全检查清单

  • - [ ] 无硬编码凭据或API密钥
  • [ ] 无未经授权的文件系统访问(../)
  • [ ] 输出不暴露敏感信息
  • [ ] 已实施提示注入保护
  • [ ] 输入文件路径已验证(无../遍历)
  • [ ] 输出目录限制在工作空间内
  • [ ] 脚本在沙盒环境中执行
  • [ ] 错误消息已清理(不暴露堆栈跟踪)
  • [ ] 依赖项已审计

先决条件

bash

Python依赖


pip install -r requirements.txt

评估标准

成功指标

  • - [ ] 成功执行主要功能
  • [ ] 输出符合质量标准
  • [ ] 优雅处理边缘情况
  • [ ] 性能可接受

测试用例

  1. 1. 基本功能:标准输入 → 预期输出
  2. 边缘情况:无效输入 → 优雅的错误处理
  3. 性能:大数据集 → 可接受的处理时间

生命周期状态

  • - 当前阶段:草案
  • 下次审查日期:2026-03-06
  • 已知问题:无
  • 计划改进
- 性能优化 - 额外功能支持

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 volcano-plot-labeler-1775877489 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 volcano-plot-labeler-1775877489 技能

通过命令行安装

skillhub install volcano-plot-labeler-1775877489

下载

⬇ 下载 volcano-plot-labeler v0.1.0(免费)

文件大小: 7.81 KB | 发布时间: 2026-4-12 11:53

v0.1.0 最新 2026-4-12 11:53
Initial release of Volcano Plot Labeler.

- Automatically identifies and labels the Top 10 most significant genes in volcano plots using a repulsion algorithm to prevent label overlap.
- Supports customizable thresholds, label styling, and positioning.
- Generates output in multiple formats (PNG, PDF, SVG).
- Offers both Python API and command-line interface for generating labeled volcano plots.
- Includes a detailed security checklist and risk assessment for safe execution.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部