360 Secure SkillHub
360 安全技能中心

Biomedical Literature Search

该 Skill 通过 NCBI E-utilities 按关键词检索 PubMed,并通过 bioRxiv API 按日期范围获取预印本,返回标题、作者、摘要、DOI、PMID、发表日期与链接等字段,并给出错误处理与请求频率提示及可运行 Python 示例。

hollyya
hollyya
热度 63.41
最近更新 2026-05-11 17:41:17
分类:搜索依赖:第三方 API / 代码执行应用场景:研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add biomedical-literature-search
Metadata
name
biomedical-literature-search
description
Search biomedical literature from PubMed and bioRxiv for research papers. Use this skill when: (1) Finding research papers on a specific topic or disease, (2) Retrieving recent preprints from bioRxiv, (3) Getting paper titles, abstracts, and metadata, (4) Literature review for drug discovery or biomedical research.
license
MIT
category
knowledge-retrieval
tags
["literature-search","pubmed","biorxiv","preprints","research-papers"]

Biomedical Literature Search

Search PubMed and bioRxiv for biomedical research papers with titles and abstracts.

When to Use

  • Find research papers on a specific biomedical topic
  • Retrieve recent preprints from bioRxiv
  • Get paper titles, abstracts, authors, and links
  • Literature review for drug discovery or biomedical research

Workflow

PubMed Search (Keyword-based)

import requests
import xml.etree.ElementTree as ET

# Step 1: Search for PMIDs
search_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi"
params = {"db": "pubmed", "term": "PD-1 inhibitor cancer", "retmax": 10, "retmode": "json"}
response = requests.get(search_url, params=params)
pmids = response.json()["esearchresult"]["idlist"]

# Step 2: Fetch paper details
fetch_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi"
response = requests.get(fetch_url, params={"db": "pubmed", "id": ",".join(pmids), "rettype": "abstract", "retmode": "xml"})

bioRxiv Fetch (Date-range based)

import requests

# Fetch papers by date range
url = "https://api.biorxiv.org/details/biorxiv/2026-02-01/2026-03-01"
response = requests.get(url)
papers = response.json()["collection"]

for paper in papers[:5]:
    print(f"Title: {paper['title']}")
    print(f"Abstract: {paper['abstract'][:200]}...")

Expected Outputs

PubMed Results

Returns list of papers with:

Field Description
title Paper title
authors Author list
abstract Full abstract
doi DOI identifier
pmid PubMed ID
date Publication date
link PubMed URL

bioRxiv Results

Returns list of papers with:

Field Description
title Paper title
authors Author list
abstract Full abstract
doi DOI identifier
date Publication date
category Subject category
link bioRxiv URL

Category Filters for bioRxiv

Category Description
cancer_biology Cancer research
immunology Immune system studies
cell_biology Cellular processes
bioinformatics Computational biology
neuroscience Nervous system research
microbiology Microbial studies
genomics Genome analysis

Error Handling

Error Solution
No PubMed results Broaden search terms, check spelling
bioRxiv timeout Reduce date range, retry
Empty abstract Paper may not have abstract available
Rate limiting Add delay between requests (NCBI: 3 req/sec)

API References

Notes

  • PubMed: Keyword search via NCBI E-utilities API
  • bioRxiv: Date-range or category-based fetch via bioRxiv API
  • bioRxiv does not support direct keyword search
  • For comprehensive search, use both sources together

See examples/basic_example.py for complete runnable examples.