LifeScience Hack

生物系創薬研究者がAI(誇大表示)を手に入れるまでの過程(Python、Deep Learning、ライフサイエンス)

Pythonで論文情報をまとめてゲットする① ~ PubMed APIについて ~ 

ブログのタイトルがLifeScience Hack with AIですが、
AIのことを書く前に、Pythonで研究生活を効率化する方法を書いていきたいと思います。

研究生活の効率化の一つとして、論文調査がありますよね。
それをボタン一つでまとめる方法を細かく連載していきたいと思います。

一から説明していきますので、長く、くどくなるかもしれませんが笑
だけど、終わったときには論文調査だけでなく、
Pythonの色々なことが分かるようになっていくかと思います。

論文調査にはPubmed APIを使いますので、まずはそこから説明していきます。



API | Application Programming Interface

誤解を恐れずに言うと、ウェブデータベース上のデータを取ってくるための文法みたいなものっていう解釈でいいんじゃないでしょうか?
「あなたが欲しいデータは、このように質問したら取れますよ」っていう

APIがあると、普段はChromeなどでブラウジングすることによって1個1個取っていたデータが、Python等のプログラミングによって容易にアクセス可能となります。


Pubmedなどを保有するNCBIPubmedだけではなく、
化合物情報データベースの PubChemなどのAPIも公開しており、
APIを学べば欲しいデータがPythonを使ってサクッと大量に取れてくるわけです。

PubMed APIについて学ぶ

PubMedAPIは以下のリンクをたどれば説明があります。
www.ncbi.nlm.nih.gov

検索方法で分けると、

  • ESearch
  • ESummery
  • EFetch

に分けられるかと思います。

それぞれの違いとしては、取れる論文の情報量が、
EFetch > ESummery > ESearch
の順で多いです。

私の使い方としては、
1. ESearchで検索ワードを入れて条件に合うPMIDを取得し、
2. 取得したPMIDをもとにESummaryより論文のタイトル・ジャーナル名・著者・発表年等の情報をとり、
3. さらにアブストラクトも欲しい場合は、EFetchで取得しています。

データ量はもちろんEFetch > ESummery > ESearchとなり、
EFetch > ESummery > ESearchの順でデータ取得に時間がかかります。

次の記事で具体的な方法をゼロから説明していきますので、
もし、わからないことがあれば、気軽に聞いてくださいね。