Back to home@Zessi-C

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

English

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