跳转至

👨‍🏫 一个完整的文献调研示例

1️⃣ 文献调研的起点:2个来源获取文献

  • 先验文献(我手头上预先有的关于这个topic的文献):预先提供作为起点的文献,而非query检索获取的文献
paperflow paper-fetch  该文献的doi
paperflow pdf-parse -i 该文献pdf -o .  --clear
  • Query检索获取(我手头上没有,想通过该工具到数据库中扩充的):利用本仓库的pubmed-query-builder skill来优化
# ⚠️ 3年研究,截止2026年5月20日,后续每周更新
Query_all_20260520 = """(
  "Intrinsically Disordered Proteins"[Mesh] OR
  "Intrinsically Disordered Protein"[tiab]  OR
  "Intrinsically Disordered Proteins"[tiab]  OR
  "Intrinsically Disordered Region"[tiab]  OR 
  "Intrinsically Disordered Regions"[tiab]  OR 
  "Natively Unfolded Protein"[tiab] OR
  "Natively Unfolded Proteins"[tiab] OR
  "Unstructured Protein"[tiab] OR
  "Unstructured Proteins"[tiab] OR
  "IDR"[tiab] OR 
  "IDP"[tiab]
)
AND 
(
  "Protein Interaction Maps"[Mesh] OR
  "Protein Interaction Maps"[tiab]  OR
  "Protein Interaction Networks"[tiab]  OR
  "Protein-Protein Interaction Map"[tiab] OR
  "Protein-Protein Interaction Network"[tiab] OR

  "Protein Interaction Mapping"[Mesh] OR
  "Protein Interaction Mapping"[tiab]  OR
  "Binding Sites"[tiab] OR
  "Protein Binding"[tiab] OR
  "Protein Interaction Domains and Motifs"[tiab] OR
  "Protein Interaction Maps"[tiab] OR   

  "Protein Interaction Domains and Motifs"[Mesh] OR

  "Protein Interaction"[tiab] OR
  "Protein-Protein Interaction"[tiab] OR
  "PPI"[tiab] OR
  "Interaction"[tiab] OR
  "Binding"[tiab] OR
  "Interface"[tiab] OR
  "Complex"[tiab]
) 
AND 
(
  "Artificial Intelligence"[Mesh] OR
  "Deep Learning"[Mesh] OR
  "Machine Learning"[Mesh] OR
  "Neural Networks, Computer"[Mesh] OR
  "Artificial Intelligence"[tiab] OR
  "Deep Learning"[tiab] OR
  "Machine Learning"[tiab] OR
  "Neural Network"[tiab] 
)                                                                                                                                                                       
  AND 2023/01/01:2026/5/20[dp]
"""
Query_all_20260520 = Query_all_20260520.replace('\n', ' ')

开始检索文献

paperflow pubmed-search '{Query_all_20260520}' --email xxx --api-key xxx -o /paper/IDR_all_20260520 

在多次比较之后固定检索query(可以使用comm检查不同query获取的pmid清单)

确定名单之后开始获取文献

paperflow pubmed-all -f /paper/IDR_all_20260520/pubmed_searched_ids_2026-05-20_17-45-45.txt --email xxx --api-key xxx  -o /paper/IDR_all_20260520

2️⃣提取结构化章节

先合并pubmed获取的文献,统一为1个汇总的json/jsonl文件

# 先merge
paperflow pubmed-merge-json -i /paper/IDR_all_20260520   -o /paper/IDR_all_20260520

这个命令同时会输出PMC全文文本抓取不到的PMID清单(stats.json),

对于这一部分文献我们可以走doi-based路线,或者看看预印本模块能不能抓取到这些文献的预印本版本。

我们主要目的就是为了提取三部分章节

# 再导出
# 对于pubmed,我们提供了4个yaml配置文件,分别用于导出不同部分的内容,满足不同的需求

# 1️⃣ 首先是导出引言部分,用于背景调研(ab_intro)
paperflow pubmed-export-md -i IDR_all_20260520_2026-05-20_18-33-54.json -o ./IDR_all_ab_intro_20260520.md -c ./config/pubmed_export_config_ab_intro.yaml

# 2️⃣ 其次是结语与讨论部分,用于总结研究结果与未来方向(dis_con)
paperflow pubmed-export-md -i IDR_all_20260520_2026-05-20_18-33-54.json -o ./IDR_all_dis_con_20260520.md -c ./config/pubmed_export_config_dis_con.yaml

# 3️⃣ 最后是方法部分,用于了解具体的技术细节和实现方法
paperflow pubmed-export-md -i IDR_all_20260520_2026-05-20_18-33-54.json -o ./IDR_all_method_20260520.md -c ./config/pubmed_export_config_method.yaml

3️⃣文献提取内容解析

对于先验文献,走doi-based或pubmed路线,对于获取的markdown文本内容,使用前面提到的ai4s-skill,单篇补充。

对于批量提取文献,使用pyResearch-ReadingSkill

  1. 分析批量introduction: 输入pubmed-export-md导出的批量introduction md文件,使用intro-analysis skill,进行分析,确定领域内主题,有intro输出报告md文件
  2. 分析批量discussion+conclusion:输入pubmed-export-md导出的批量discussion+conclusion md文件,辅助输入intro输出报告md文件,以及用户自定义的研究主题(可以是intro中总结出来的主题选一,或杂糅主题),使用dc-analysis skill,进行分析,确定领域内真正问题+潜在对应的创新点,有dc输出报告md文件
  3. 分析批量method:输入pubmed-export-md到处的批量method md文件,辅助输入dc输出报告md文件,以及从批量文献中提取的github仓库链接的说明文档md文件(目前github仓库两个来源: 文献元数据提取+gh repo search相关主题词, 导出为readme文档+浅层脚本文件组织结构,使用工具GhResearcher),以及用户自定义的研究问题(可以是dc中总结归纳出来的问题之一,或杂糅问题),使用method-analysis skill,进行分析,确定当前研究问题的完整研究方案

github仓库链接导出,参考新模块功能:github-export