生物医学文献の検索・取得・分析を行うスキル。PubMed E-utilities API を使用して、3,600万件以上の医学文献データベースにアクセス。ユーザーが「PubMed で検索」「医学論文を探す」「文献レビュー」「最新の研究を調べる」「関連論文を見つける」などのリクエストをした際に使用。がん、免疫療法、COVID-19、薬剤、臨床試験など、あらゆる生物医学トピックに対応。
このスキルは、PubMed E-utilities API を使用して生物医学文献の検索・取得・分析を効率的に行います。3,600万件以上の論文データベースから、関連性の高い文献を見つけ、詳細情報や抄録を取得できます。
ユーザーのリクエストに基づいて、適切な検索戦略を選択します。
検索タイプ:
キーワード検索 - 一般的な文献検索
scripts/pubmed_search.py search特定論文の取得 - PMID が分かっている場合
scripts/pubmed_search.py fetch関連論文の探索 - 既知の論文から関連文献を見つける
scripts/pubmed_search.py related適切なコマンドとパラメータで検索を実行します。
python scripts/pubmed_search.py --help
python scripts/pubmed_search.py search "cancer immunotherapy" \
--max-results 20 \
--sort pub_date \
検索クエリの構築:
"cancer AND immunotherapy""cancer OR tumor""\"lung cancer\"""cancer[Title] AND 2023[PDAT]""cancer AND Randomized Controlled Trial[PT]"検索の最適化:
Japanese[Language] または Japan[Affiliation] を追加詳細な検索構文は references/api_reference.md を参照。
python scripts/pubmed_search.py fetch 12345678,87654321
複数の PMID をカンマ区切りで指定可能。
python scripts/pubmed_search.py related 12345678 --max-results 10
取得した結果を解析し、ユーザーに分かりやすく提示します。
提示する情報:
分析のポイント:
必要に応じて追加の検索や分析を提案します。
よくあるフォローアップ:
ユーザー: 「COVID-19 ワクチンに関する2023年の最新研究を探してください」
実行:
python scripts/pubmed_search.py search \
'"COVID-19" AND vaccine AND 2023[PDAT]' \
--max-results 20 \
--sort pub_date
ユーザー: 「糖尿病治療のランダム化比較試験を見つけてください」
実行:
python scripts/pubmed_search.py search \
'diabetes treatment AND Randomized Controlled Trial[PT]' \
--max-results 20 \
--sort pub_date
ユーザー: 「日本の研究機関による認知症の研究を探してください」
実行:
python scripts/pubmed_search.py search \
'dementia AND Japan[Affiliation]' \
--max-results 20
ユーザー: 「がん免疫療法のレビュー論文を探してください」
実行:
python scripts/pubmed_search.py search \
'cancer immunotherapy AND (Review[PT] OR Meta-Analysis[PT] OR Systematic Review[PT])' \
--max-results 20
ユーザー: 「山中伸弥氏の最近の論文を探してください」
実行:
python scripts/pubmed_search.py search \
'Yamanaka S[Author] AND "last 2 years"[PDAT]' \
--max-results 20
このスクリプトは 自動的に秒間3リクエスト以下に制限 されています。NCBI の利用規約を遵守するため、各リクエスト間に自動的に待機時間が挿入されます。
NCBI はメールアドレスの指定を推奨しています(問題発生時の連絡用):
python scripts/pubmed_search.py search "cancer" --email [email protected]
多数の論文を処理する場合:
pip install requests
scripts/pubmed_search.py: PubMed API クライアント
search: キーワード検索fetch: 詳細情報取得related: 関連論文検索references/api_reference.md: PubMed E-utilities API の詳細ドキュメント
複数の検索を組み合わせて包括的なレビューを実施:
related コマンドで関連論文を取得fetch で取得年ごとに検索を実行し、研究トレンドを可視化:
for year in {2020..2024}; do
python scripts/pubmed_search.py search \
"CRISPR AND ${year}[PDAT]" \
--max-results 1
done