Community研究与数据分析github.com

btrainee/文献综述技能

用于生物信息学文献系统综述的技能。当需要解读生物信息学、基因组学、肿瘤学或相关领域的科学论文PDF时使用。提取全文以及每张主图作为高分辨率PNG,然后生成标准化交付物:Word深度阅读报告、Nature/Cell风格的PPT分享幻灯片,以及可选的科普文章。

文献综述技能 是什么?

这是一个AI代理技能,专门用于将原始英文研究论文PDF转化为一套标准化的高质量中文综述材料,包括嵌入并分析每张主图的Word深度阅读报告、Nature/Cell风格的PPT分享幻灯片,以及可选的微信公众号科普文章。它支持完整的自动化工作流:从PDF文本提取、主图高分辨率提取(利用PyMuPDF的基于标题的区域渲染,已对Nature、Cancer Cell、Cell Press等常见排版变体进行验证和处理),到结构化深度阅读和文档生成。该技能适用于Claude Code、Coder、Cursor、Codex等AI代理平台,用户可以通过自然语言命令触发,例如“解读这篇论文”或“生成Word解读+PPT”。其输出遵循严格的解释原则,包括保留英文缩写、解释技术原理、深度优先分析以及禁止数据捏造。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/btrainee/literature-review-skill/tree/HEAD

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

生物信息学文献系统综述

目的

将原始英文研究论文PDF转化为一套标准化的高质量中文综述材料:包含每张主图嵌入和讲解的Word深度阅读报告、PPT分享幻灯片,以及可选的科普文章。专为需要可重复、深度优先文献解读的生物信息学研究人员设计。

何时使用

当用户提供科学论文PDF(或要求审阅特定论文)并希望获得以下任一内容时触发:

  • Word深度阅读报告(10部分结构化分析)
  • 图表提取——将PDF中的每张主图提取为图像并逐一讲解
  • 小组会分享用的PPT材料
  • 微信公众号科普文章
  • 以上全部(完整流程)

典型的用户短语:

  • "解读这篇论文" / "解析这篇文章"
  • "帮我做个文献精读"
  • "把每张主图提取出来讲解" / "每张Figure都要配图解读"
  • "生成Word解读 + PPT"
  • "整理成科普文章"

前提条件

Python环境

任何Python >= 3.9都可以。使用你代理运行时自带的解释器,或你自己的虚拟环境。

安装依赖(一次性):

pip install pdfplumber pymupdf python-docx python-pptx

如果PyPI速度慢(在中国大陆常见),可使用国内镜像:

pip install pymupdf -i https://mirrors.cloud.tencent.com/pypi/simple
  • pymupdf (PyMuPDF) 用于图表提取——它同时提供页面渲染和坐标级别的文本/图形检查。
  • pdfplumber 用于纯文本提取。
  • python-docx / python-pptx 用于生成交付物。

项目结构约定

每篇论文在工作空间根目录下拥有一个独立文件夹:

NN_YYYY-Journal-Topic/
  Original_Paper.pdf
  Journal_YYYY_Topic_LiteratureReview.docx
  Journal_YYYY_Topic_ArticleSharing.pptx
  full_text.txt              (提取的文本,中间产物)
  figures/                   (提取的主图PNG,中间产物)
    fig1.png, fig2.png, ...
    captions.json            (图编号 -> 标题/页码/边框清单)
  Topic_PopularScience.html   (可选,用于微信公众号)
  • NN: 零填充序号 (01, 02, 03...)
  • YYYY: 发表年份
  • Journal: 简写期刊名 (Nature, Cell, Science...)
  • Topic: 简短的中文主题描述

工作流程

第1步:设置与PDF文本提取

  1. 按照上述命名约定创建输出文件夹
  2. 将源PDF复制到新文件夹中
  3. 运行 scripts/extract_pdf_text.py 提取全文:
    python scripts/extract_pdf_text.py "<pdf_path>" "<output_txt_path>"
    
    这将生成以分页符分隔的提取文本文件 full_text.txt。

第2步:从PDF中提取主图

运行 scripts/extract_figures.py 将每张主图提取为高分辨率PNG(默认300 DPI):

python scripts/extract_figures.py "<pdf_path>" --out "<paper_folder>/figures" --dpi 300
  • 添加 --include-ed 也会提取扩展数据/补充图表。
  • 脚本定位标题("Fig. 1", "Figure 1", "图1"),确定列跨度,合并标题上方的图形区域,并渲染该区域。
  • 已处理布局变体(在Nature / Cancer Cell PDF上验证):
    • 标题在图表下方(最常见);
    • 标题在图表旁边(标题在列顶,图形在另一列);
    • 标题在图表上方;
    • Cell Press "图注在下一页":图形在第N-1页,标题在第N页顶部——脚本检测到标题上方没有图形,自动渲染前一页的图形(状态:prev-page)。
    • 期刊横幅:页面顶部的全宽Cell Press / Cancer Cell彩色条被过滤掉(状态:above 不应包含它)。
  • 如果图表仍包含页眉,增加 --header-frac (例如Cancer Cell / Cell Genomics为 0.13,Nature默认为 0.055)。
  • 正文吸收防护:在"标题在图表旁边"模式下,图表可能渗入其下方流动的正文段落。仅当文本块紧凑(高度短或宽度窄)且 ≤ 4行,并且在beside模式下仅当它们起始于或高于图形底边时才吸收文本块。如果图表仍以一段散文结尾,则需要收紧此规则。
  • 输出:figures/figN.png + figures/captions.json(标题文本、页码、标题页码、边界框、每张图的状态)。
  • 务必通过查看(ViewImage)验证提取的PNG:检查每张图像是否是完整的图形(所有子图,未裁剪,无正文文本混入)。如果图形裁剪不当,手动使用PyMuPDF以 captions.json 中的边界框为起始点重新渲染该区域。不要静默嵌入有缺陷的图像。

第3步:深度阅读论文

分段读取提取的文本(每次读取200行)。对于每张主图,也要查看提取的PNG以了解子图和布局。重点提取:

  • 标题、作者、期刊、DOI、发表日期
  • 摘要和关键发现
  • 所有图表(编号、标题、子图、每个显示的内容)——对照 captions.json 中的标题与实际图像进行核对
  • 方法(测序平台、软件工具、算法、参数)
  • 样本信息(队列规模、组织类型、测序类型)
  • 关键结果和统计显著性
  • 作者提到的局限性

第4步:生成Word深度阅读报告

遵循 references/word_structure.md 中定义的10部分结构。

使用 scripts/generate_word_report.py 作为模板。将其复制到论文文件夹中(例如 generate_word_report.py),用实际分析替换CONTENT块,并用输出路径运行它:

python generate_word_report.py "<paper_folder>/Journal_YYYY_Topic_LiteratureReview.docx"

该脚本演示了:

  • 使用python-docx创建带样式标题的文档
  • 基本信息与术语的表格式样
  • 分析流程的要点列表
  • 关键结果的彩色标注框
  • add_figure_block():嵌入每张提取的图表PNG + 标题 + 4部分分析(研究问题 / 方法 / 关键结果 / 解读)

第7部分(主要研究内容)必须嵌入提取的图表图像(figures/figN.png)——每个图表一张图像,后跟其逐图分析。图像路径和标题来自 figures/ 和 captions.json。

关键格式规则:

  • 标题使用Heading 1/2/3样式并带自定义格式
  • 表格使用"浅色网格强调色1"加上显式的深色标题填充 (shade_cell(cell, "1A3A5C"))——内置样式在应用白色文本时会使标题行无填充,导致标题在Word中不可见
  • 图形适配为宽度15.5厘米,最大高度约18.5厘米(通过PIL保持宽高比)。一个纵向4面板曼哈顿图以全页宽度(21+厘米高)放置会溢出页面并被底部裁剪——务必限制高度
  • 超过一页的表格:keep_rows_together(table) 将标题行标记为 w:tblHeader(每页重复出现),并将每一行标记为 w:cantSplit,因此表格永远不会在行中断开或丢失标题
  • 技术术语保留英文缩写,后跟中文解释
  • 不得捏造数据:不确定的项目标记为"需确认"
  • 通过导出为PDF(Word COM SaveAs(..., 17))并查看2–3页来验证输出:标题行可见,图形完整,无溢出

第5步:生成PPT分享幻灯片

遵循 references/ppt_structure.md 中定义的幻灯片结构。

使用 scripts/generate_ppt_slides.py 作为模板:

python scripts/generate_ppt_slides.py

该脚本演示了:

  • 使用python-pptx创建带自定义布局的幻灯片
  • Nature/Cell风格的极简设计(白色背景,深色文本)
  • 逐图幻灯片:在幻灯片上嵌入提取的 figures/figN.png,然后是图标题 → 研究问题 → 方法 → 结果 → 意义
  • 最后的关键发现 + 科学影响幻灯片

第6步:生成科普文章(可选)

当用户想要微信公众号文章时,编写一个包含以下内容的HTML文件:

  • 内联CSS(微信会剥离 <style> 标签)
  • 移动优先设计(最大宽度:680px)
  • 比喻驱动的科学传播
  • 数据卡片、比较表格、时间线
  • 所有数据必须来自原始论文,不得捏造

详细写作指南请参考 references/popular_science_style.md。

第7步:质量控制

验证:

  • 所有技术术语都有英文缩写 + 解释
  • 所有图表在Word和PPT中均已覆盖
  • Word报告中每张主图的嵌入图像都已验证(完整的子图,无裁剪,无杂散的正文文本)
  • 没有捏造的数据或推测性的结论
  • 分析流程完整(软件 → 算法 → 输入/输出)
  • 统计值与原始论文一致

解读原则

遵循 references/interpretation_principles.md 生成所有内容。核心规则:

  1. 保留英文缩写——不要简单翻译成中文
  2. 解释技术原理——不仅仅是做什么,还要说明为什么以及如何做
  3. 深度优先——回答"为什么用这个方法?"、"数据展示了什么?"、"这意味着什么?"
  4. 目标受众:生物信息学工程师、基因组学研究人员
  5. 不得捏造——不确定的信息标记为"需确认"

文件参考

文件用途
scripts/extract_pdf_text.py使用pdfplumber从PDF提取全文
scripts/extract_figures.py使用PyMuPDF提取主图为高分辨率PNG并生成captions.json清单
scripts/generate_word_report.pyWord文档生成的模板脚本(包含图嵌入)
scripts/generate_ppt_slides.pyPPT幻灯片生成的模板脚本
references/word_structure.mdWord报告10部分结构规范(包含逐图块格式)
references/ppt_structure.mdPPT幻灯片结构规范
references/interpretation_principles.mdAI解读原则和规则
references/popular_science_style.md科普文章写作指南

相关技能