biofigure-self-evolve
Self-evolving bioinformatics figure library skill: learn plots from papers/PDFs/WeChat articles/screenshots into reusable recipes (R/Python), imitate them when plotting. 自进化的生信 figure 学习库与复用引擎
- Stars
- 0
- Language
- Python
- Created
- Aug 29, 2026
- Updated
- Aug 30, 2026
Introduction
biofigure-self-evolve
自进化的生信 figure 学习库与复用引擎。agent 把文献里看到的图画法存成本地图库条目,你要画图时先查库复用,条目与偏好随使用不断更新。条目组织参考 FigureYa(iMetaMed 2025),差异在于维护交给 agent 而非人工。
工作方式
- 学习:把文献、PDF、文章、截图发给 agent,它判断按单图、成组还是组合版式记录,并优先追溯原始绘图代码(正文内嵌代码 > GitHub 仓库 > 论文 DOI → PMC code availability),都找不到才看图反推且如实标注;
- 复用:画图时按
use_when/data_shape检索相近条目,借鉴其技术骨架,轴、阈值、配色按当前数据重新决定;多候选时按数据形状 > 意图 > 验证状态排序取前三; - 回流:满意的结果回收为新条目;对已有条目的意见写入其模板缺省值并记入演化记录;跨图反复出现的习惯沉淀到
library/PREFERENCES.md。
学习是否完成由完工清单判定。记录格式见 references/figure-record.md,触发行为见 SKILL.md。
安装
git clone https://github.com/Zessi-C/biofigure-self-evolve.git ~/.agents/skills/biofigure-self-evolve
适用于任何遵循 agents/skills 约定的 agent(目录含带 name/description frontmatter 的 SKILL.md 即为技能)。其他 harness 只要能读文件、抓网页、跑脚本即可驱动,有自有插件格式的加一层薄适配。依赖:
- 脚本只需 Python 3 标准库(PyYAML 可选,缺省走内置受限解析器);
- 模板验证需要 R(ggplot2)和/或 Python(matplotlib),缺哪边哪边的条目标
unverified; - 不依赖任何厂商 API、MCP 或联网服务。
仓库结构
SKILL.md # 技能入口:触发、学习/复用/回流的行为规范
library/
├── INDEX.json / INDEX.md # 索引,脚本从所有 figure.md 全量重建,不入公开仓库
├── PREFERENCES.md # 跨图偏好档案(个人数据,不入公开仓库)
└── figures/NNN-slug/
├── figure.md # 唯一事实源:frontmatter + 视觉解剖 + 配方 + 复用要点 + 演化记录
├── reference.png # 原图参考(仅个人学习用)
├── template.R / template.py # 自包含双模板,无参数运行即出图
└── template_output_* # 模板运行产物,作为已知良好输出
references/ # 记录 schema、各来源取图方法、chart_types 受控词表(近 40 种)、偏好档案格式
scripts/ # init_library.py / build_index.py
frontmatter 是刻意收窄的 YAML 子集(标量、单行列表、一层嵌套),没有 YAML 库的环境也能可靠解析。关键字段:chart_types(受控词表选词)、data_shape(一行写清输入格式)、use_when / not_when(复用时的语义匹配依据)、related(同功能条目互指)、verified(只认实际运行结果)。
library/figures/*、INDEX.*、PREFERENCES.md 被 .gitignore 忽略,学到的条目不进公开仓库;随仓库发布的 000-example-grouped-boxplot 是格式示例,也是新建条目的骨架。公开分享学到的条目请注意原文献版权。
脚本
python3 scripts/init_library.py # 初始化图库骨架(幂等;--path 可放别处并自动写配置)
python3 scripts/build_index.py # 全量重建索引并做一致性校验;改过任何 figure.md 后必须重跑
许可
MIT,见 LICENSE。