Volcano Plot Labeler — 火山图标签器
v0.1.0使用排斥算法自动为火山图中最显著的基因添加标签
运行时依赖
安装命令
点击复制技能文档
火山图标签器(ID:148) 自动识别和标记火山图中最重要的10个基因,使用排斥算法防止标签重叠。 功能 智能基因选择:根据p值和倍数变化自动识别最重要的10个基因 排斥算法:使用力导向定位防止文本标签重叠 可定制:可配置阈值、标签样式和定位选项 多种输出格式:支持PNG、PDF、SVG 安装 pip install pandas matplotlib numpy scipy 使用 基本用法 from volcano_plot_labeler import label_volcano_plot import pandas as pd # 加载数据 df = pd.read_csv('differential_expression_results.csv') # 生成标记的火山图 fig = label_volcano_plot( df, log2fc_col='log2FoldChange', pvalue_col='padj', gene_col='gene_name', top_n=10 ) fig.savefig('volcano_plot_labeled.png', dpi=300, bbox_inches='tight') 高级用法 from volcano_plot_labeler import label_volcano_plot fig = label_volcano_plot( df, log2fc_col='log2FoldChange', pvalue_col='padj', gene_col='gene_name', 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' ) 命令行用法 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:基因标识符 算法 重要性计算 计算所有基因的-log10(p值) 根据综合评分对基因进行排名:|log2FC| * -log10(p值) 选择重要性最高的前N个基因 排斥算法 初始放置:将标签放置在基因坐标处 力计算:重叠标签之间的排斥力 弹簧力将标签拉向其基因点 边界力保持标签在图区内 迭代优化:更新位置N次,直到收敛 箭头绘制:从标签到基因点绘制连接线 参数 参数类型默认值描述 dfDataFrame-输入数据 log2fc_colstr'log2FoldChange'Log2倍数变化列名 pvalue_colstr'padj'p值列名 gene_colstr'gene_name'基因列名 top_nint10标记的基因数量 pvalue_thresholdfloat0.05p值截断 log2fc_thresholdfloat1.0Log2FC截断 repulsion_iterationsint100排斥算法迭代次数 repulsion_forcefloat0.05排斥力强度 label_fontsizeint10标签字体大小 figsizetuple(10, 10)图大小 输出 带有标签的火山图,包括: 颜色编码的点(上/下/不显著) 前10个基因标签和引导线 无重叠文本标签 许可证 MIT 风险评估 风险指标评估级别代码执行Python/R脚本在本地执行中等网络访问无外部API调用低文件系统访问读取输入文件,写入输出文件中等指令篡改标准提示指南低数据暴露输出文件保存到工作区低安全检查清单无硬编码凭据或API密钥无未经授权的文件系统访问(../)输出不暴露敏感信息提示注入保护措施到位输入文件路径验证(无../遍历)输出目录限制为工作区脚本执行在沙盒环境中错误消息已清理(无堆栈跟踪暴露)依赖项已审计 先决条件 # Python依赖项 pip install -r requirements.txt 评估标准 成功指标 成功执行主要功能 输出符合质量标准 处理边缘情况时优雅地处理 性能可接受 测试用例 基本功能:标准输入 → 预期输出 边缘情况:无效输入 → 优雅地处理错误 性能:大数据集 → 可接受的处理时间 生命周期状态 当前阶段:草稿 下次审查日期:2026-03-06 已知问题:无 计划改进:性能优化,增加功能支持