Drkcore

13 05 2011 bioinformatics Python Tweet

pubmedのidをdoiに変換する

pubmedのidからdoiを調べたい。

BeautifulSoupでXMLをパースするのが良いのだが、ソース見たらげんなりした(preってなんやねん)。というわけで、MEDLINE形式のデータから正規表現でdoiを抜き出してます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python

import urllib2
import re,sys

def pmid2doi(pmid):
   url = "http://www.ncbi.nlm.nih.gov/pubmed/%s?dopt=MEDLINE" % pmid
   r = re.compile('AID - (10.\d+/.+?) \[doi\]')
   response = urllib2.urlopen(url)
   if response.code == 200:
       s = response.read()
       m = r.search(s)
       return m.group(1)
   else:
       return "error: %d" % response.code

if __name__ == '__main__':
   if len(sys.argv) == 2:
       print pmid2doi(sys.argv[1])
   else:
       print "usage: %s [pmid]" % sys.argv[0]

コマンドラインから使う場合には

$ pmid2doi.py 20053000
10.1021/ci900416a

ProductName Bioinformatics Programming Using Python
Mitchell L. Model
Oreilly & Associates Inc / 5119円 ( 2009-12-23 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021