PubMed CentralのデータをBioPerlで取得する

せっかくなので調べてみました。

$ perl -MBio::Biblio -le 'print Bio::Biblio->new(-access => "eutils", db => "pmc")->get_by_id("1913784")'

ワンライナーで、ですが。
比較のために、PubMedの場合の例を示すと

$ perl -MBio::Biblio -le 'print Bio::Biblio->new(-access => "eutils")->get_by_id("17369426")

db => "pmc" のありなしの違いではありますが。-accessの方は - がついて、dbの方はつかない、と。このdbで指定できるのは、「pubmed」(デフォルト)、「pmc」、「journal」の3つっぽい。
PubMedの場合、ここで得られたXMLを、Bio::Biblio::IOで読み込むことでオブジェクト化し、->pmid()とかやってPMIDを呼べたりするのだが、こいつはできないし、そもそも返ってくるXMLも、改行が入っていなくて横に長大な感じだったりするので、s/></>\nの部分の間に改行を入れてみたりしている(つもり)。
結局、ここで自分でXMLをparseするのなら、いっそ、素でLWP::UserAgentモジュールとか使ってeutilsを直接つついた方がいいんじゃないか、みたいな気がしなくもないのですが、まぁ、それは言わない約束で。
http://doc.bioperl.org/releases/bioperl-1.6.0/のBio::DB::Biblio参照のこと。http://bugja.sourceforge.jp/も加筆せんとな。