70 likes | 165 Views
Bibliographic Query Service in bioperl. http://industry.ebi.ac.uk/openBQS Martin Senger senger@abi.ac.uk. Last BOSC. Bibliographic Query Service (BQS) is set of query methods set of retrieval methods set of objects representing citations BQS visibility an interface was adopted
E N D
Bibliographic Query Servicein bioperl http://industry.ebi.ac.uk/openBQS Martin Senger senger@abi.ac.uk
Last BOSC... • Bibliographic Query Service (BQS) is • set of query methods • set of retrieval methods • set of objects representing citations • BQS visibility • an interface was adopted • a Java implementation on top of MEDLINE available
What’s new • BQS available as a Web Service • language-independent, programmatic access to MEDLINE (or any other citation repository) • Clients available in Java and Perl, possibly Python, perhaps Ruby • http://industry.ebi.ac.uk/openBQS/Specification_WS.html • contributed to bioperl • http://industry.ebi.ac.uk/openBQS/Client_perl.html
BQS in bioperl • Principles: • bioperl user (programmer) does not see any SOAP details • the same methods are used for more protocols (SOAP and HTTP, at the moment, CORBA possible) • the citation objects and the parsing modules are totally separated from the repository access methods (can be used independently, locally)
bioperl Biblio modules • Modules for querying repositories • Modules for parsing and converting retrieved citations • Storage modules representing individual citations and their parts as pure Perl objects • …and a “tutorial” script biblio.pl showing how to use all BQS methods
Let’s finish with few examples... Say that you are going to use SOAP access and where you want to go today my $biblio = Bio::Biblio (-access => 'soap', -location => 'http://industry.ebi.ac.uk/soap/openBQS', -destroy_on_exit => '0'); “One-liner” for getting a citation by its ID perl -MBio::Biblio -e 'print new Bio::Biblio->get_by_id ("94033980")’ “One-liner” for getting all citation IDs contributed by Brazma perl -MBio::Biblio -e 'print join ("\n", @{ new Bio::Biblio->find ("brazma")->get_all_ids })' “One-liner” showing how a query result can be refined by other query perl -MBio::Biblio -e 'print new Bio::Biblio->find ("Java")->find ("perl")->get_count'