mcpField
L
literature-search-biorxiv

literature-search-biorxiv

github.com/google-deepmind生产力3.4k2.5k 次安装5 天前更新
代码仓库

关于 literature-search-biorxiv

面向研究者的 bioRxiv 和 medRxiv 预印本检索技能。可按 DOI 获取元数据,也可在较窄日期范围内按类别、关键词和作者筛选论文。

主要功能

  1. 01按 DOI 获取论文元数据
  2. 02按日期范围筛选预印本
  3. 03按类别、关键词或作者筛选
  4. 04可选择包含摘要

适用场景

  1. 01获取已知预印本 DOI 的详细信息
  2. 02浏览特定时间段和类别的预印本
  3. 03筛选后查看匹配论文的摘要

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/google-deepmind/science-skills --skill literature-search-biorxiv

安装后在 Claude Code 中输入/literature-search-biorxiv确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
citation.bib
scripts/
search_by_dates.py
search_by_doi.py

详细介绍

bioRxiv 和 medRxiv 文献搜索

先决条件

  1. uv:阅读 uv 技能,并遵循其设置说明,确保 uv 已安装且位于 PATH 中。
  2. 用户通知:如果工作区根目录中尚不存在 .licenses/literature_search_biorxiv_LICENSE.txt,则 (1) 显著提醒用户查看 https://api.biorxiv.org/ 和 https://www.biorxiv.org/content/about-biorxiv 上的条款,并始终检查此技能检索到的论文许可证是否有任何限制,然后 (2) 创建该文件,记录通知文本和时间戳。

搜索策略指南(请先阅读)

此技能浏览的是按日期归档的预印本库,并非关键词搜索引擎。 请根据你已掌握的信息选择搜索方式:

  • DOI(例如,来自引文):使用 search_by_doi.py。快速且可靠。
  • 大致日期 + 类别:使用 search_by_dates.py,设置 1–4 周的日期范围并指定 --category。
  • 只有主题或关键词,没有日期:请勿使用此技能进行发现。 先使用支持关键词搜索的文献技能查找相关 DOI,然后返回此处获取元数据。

严重反模式——请勿这样做: 请勿使用 --keywords 搜索跨度很大的日期范围(数月或数年),试图找到特定论文。bioRxiv API 不支持服务端关键词搜索。脚本必须下载整个日期范围内的所有元数据,然后在 Python 中进行本地筛选。范围过大会导致数千次 API 调用、超时,并因滥用 API 而被阻止。这是此技能失败的首要原因。

核心规则

  • 使用封装脚本:务必执行提供的辅助脚本来查询数据库,不要直接访问数据库。这些脚本会自动妥善遵守必要的速率限制。
  • 本地筛选(严重警告):与 arXiv 不同,bioRxiv API 不支持服务端关键词或作者搜索。脚本下载指定日期范围内的所有元数据后,才会在本地进行关键词和作者筛选。使用 --keywords 或 --author 搜索时,必须使用较窄的日期范围(例如 1–4 周)并指定 --category 筛选条件。
  • 默认不包含摘要:为节省生成的 JSON 占用的上下文空间,输出默认会移除摘要。如果使用 --keywords 搜索,并希望阅读搜索结果中论文的摘要以了解背景,必须传入 --include_abstracts 标志。
  • 重定向输出:搜索命令会向标准输出生成 JSON 数组。务必将输出重定向到文件(例如 > results.json),并单独解析该文件。
  • 列出来源:如果使用此技能,请确保在输出中提及,并列出生成输出时使用的所有论文 URL。

实用脚本

所有工具都会执行跨进程速率限制,并在失败时采用退避策略重试。 为确保遵守服务条款,请勿编写自定义 curl 查询。

分页:bioRxiv API 会以每页最多 100 篇论文的形式返回结果。search_by_dates.py 脚本会自动获取所有页面,并将分页进度报告到 stderr(例如 [Page 2] Fetched 200/543 papers...)。stdout 中的 JSON 输出包含所有页面中完整的筛选结果集——无需手动分页。

1. 按日期搜索(search_by_dates.py)

在指定日期范围内搜索预印本,也可以按类别、关键词或作者筛选。

# Broad category search over a 2-week period
uv run scripts/search_by_dates.py --server biorxiv \
  --start_date 2024-01-01 --end_date 2024-01-14 \
  --category neuroscience > results.json

# Deep keyword filtering using OR logic and including abstracts
uv run scripts/search_by_dates.py --server medrxiv \
  --start_date 2023-11-01 --end_date 2023-11-30 \
  --category infectious_diseases \
  --keywords "covid" "sars-cov-2" --match_logic OR \
  --include_abstracts > covid_papers.json

# Finding papers by a specific author in a narrow window
uv run scripts/search_by_dates.py \
  --start_date 2024-05-01 --end_date 2024-05-14 \
  --author "Smith" > smith_papers.json

必需参数:

  • --start_date:YYYY-MM-DD
  • --end_date:YYYY-MM-DD

可选参数:

  • --server:biorxiv(默认)或 medrxiv
  • --category:有效的学科类别(见下文)。强烈建议使用——这会大幅减少脚本需要下载和筛选的数据。
  • --keywords:用于搜索标题或摘要的字符串列表。
  • --match_logic:关键词的匹配逻辑,可选 AND(默认)或 OR。
  • --author:作者姓名(不区分大小写的字符串匹配)。
  • --include_abstracts:启用后,在 JSON 输出中包含完整摘要。
2. 按 DOI 获取元数据(search_by_doi.py)

如果你已知某篇论文的 DOI,可获取该论文的详细 JSON 元数据。这是最可靠的入口。

uv run scripts/search_by_doi.py --server biorxiv \
  --doi "10.1101/2023.08.15.551388" \
  --include_abstracts > paper_info.json
下载全文 PDF

此技能不支持下载 PDF。 要下载 bioRxiv 或 medRxiv 预印本的全文 PDF,请使用 literature-search-europepmc 技能。首先,使用论文的 DOI 通过 EuropePMC 查找其 PMCID,然后使用 EuropePMC 的 PDF 检索功能下载文档。

有效的学科类别

可以将以下类别传入 search_by_dates.py 的 --category 标志。脚本会严格校验这些类别。

bioRxiv 类别:

animal_behavior_and_cognition、biochemistry、bioengineering、 bioinformatics、biophysics、cancer_biology、cell_biology、 clinical_trials、developmental_biology、ecology、epidemiology、 evolutionary_biology、genetics、genomics、immunology、microbiology、 molecular_biology、neuroscience、paleontology、pathology、 pharmacology_and_toxicology、physiology、plant_biology、 scientific_communication_and_education、synthetic_biology、 systems_biology、zoology

medRxiv 类别:

addiction_medicine、allergy_and_immunology、anesthesia、 cardiovascular_medicine、dentistry_and_oral_medicine、dermatology、 emergency_medicine、endocrinology、epidemiology、forensic_medicine、 gastroenterology、genetic_and_genomic_medicine、health_informatics、 health_economics_and_outcomes_research、health_policy、 health_systems_and_quality_improvement、hematology、hiv_aids、 infectious_diseases、intensive_care_and_critical_care_medicine、 medical_education、medical_ethics、nephrology、neurology、nursing、 nutrition、obstetrics_and_gynecology、 occupational_and_environmental_health、oncology、ophthalmology、 orthopedics、otolaryngology、pain_medicine、palliative_care、 pathology、pediatrics、pharmacology_and_therapeutics、 primary_care_research、psychiatry_and_clinical_psychology、 public_and_global_health、radiology_and_imaging、 rehabilitation_medicine_and_physical_therapy、respiratory_medicine、 rheumatology、sexual_and_reproductive_health、sports_medicine、surgery、 toxicology、transplantation、urology

评论

支持 Markdown