Project

intermine

0.0
No commit activity in last 3 years
No release in over 3 years
= Webservice Client Library for InterMine Data-Warehouses This library provides an interface to the InterMine webservices API. It makes construction and execution of queries more straightforward, safe and convenient, and allows for results to be used directly in Ruby code. As well as traditional row based access, the library provides an object-orientated record result format (similar to ActiveRecords), and allows for fast, memory efficient iteration of result sets. == Example Get all protein domains associated with a set of genes and print their names: require "intermine/service" Service.new("www.flymine.org/query"). new_query("Pathway") select(:name). where("genes.symbol" => ["zen", "hox", "h", "bib"]). each_row { |row| puts row[:name]} == Who is this for? InterMine data warehouses are typically constructed to hold Biological data, and as this library facilitates programmatic access to these data, this install is primarily aimed at bioinformaticians. In particular, users of the following services may find it especially useful: * FlyMine (http://www.flymine.org/query) * YeastMine (http://yeastmine.yeastgenome.org/yeastmine) * RatMine (http://ratmine.mcw.edu/ratmine) * modMine (http://intermine.modencode.org/release-23) * metabolicMine (http://www.metabolicmine.org/beta) == How to use this library: We have tried to construct an interface to this library that does not require you to learn an entirely new set of concepts. As such, as well as the underlying methods that are common to all libraries, there is an additional set of aliases and sugar methods that emulate the DSL style of SQL: === SQL style service = Service.new("www.flymine.org/query") service.model. table("Gene"). select("*", "pathways.*"). where(:symbol => "zen"). order_by(:symbol). outerjoin(:pathways). each_row do |r| puts r end === Common InterMine interface service = Service.new("www.flymine.org/query") query = service.new_query("Gene") query.add_views("*", "pathways.*") query.add_constraint("symbol", "=", "zen") query.add_sort_order(:symbol) query.add_join(:pathways) query.each_row do |r| puts r end For more details, see the accompanying documentation and the unit tests for interface examples. Further documentation is available at www.intermine.org. == Support Support is available on our development mailing list: dev@intermine.org == License This code is Open Source under the LGPL. Source code for this gem can be checked out from https://github.com/intermine/intermine-ws-ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
 Project Readme

Webservice Client Library for InterMine Data-Warehouses¶ ↑

This library provides an interface to the InterMine webservices API. It makes construction and execution of queries more straightforward, safe and convenient, and allows for results to be used directly in Ruby code. As well as traditional row based access, the library provides an object-orientated record result format (similar to ActiveRecords), and allows for fast, memory efficient iteration of result sets.

Example¶ ↑

Get all protein domains associated with a set of genes and print their names:

require "intermine/service"

Service.new("www.flymine.org/query").
    new_query("Pathway")
    select(:name).
    where("genes.symbol" => ["zen", "hox", "h", "bib"]).
    each_row { |row| puts row[:name]}

Who is this for?¶ ↑

InterMine data warehouses are typically constructed to hold Biological data, and as this library facilitates programmatic access to these data, this install is primarily aimed at bioinformaticians. In particular, users of the following services may find it especially useful:

* FlyMine (http://www.flymine.org/query)
* YeastMine (http://yeastmine.yeastgenome.org/yeastmine)
* RatMine (http://ratmine.mcw.edu/ratmine)
* modMine (http://intermine.modencode.org/release-23)
* metabolicMine (http://www.metabolicmine.org/beta)

How to use this library:¶ ↑

We have tried to construct an interface to this library that does not require you to learn an entirely new set of concepts. As such, as well as the underlying methods that are common to all libraries, there is an additional set of aliases and sugar methods that emulate the DSL style of SQL:

SQL style¶ ↑

service = Service.new("www.flymine.org/query")
service.model.
   table("Gene").
   select("*", "pathways.*").
   where(:symbol => "zen").
   order_by(:symbol).
   outerjoin(:pathways).
   each_row do |r|
     puts r
   end

Common InterMine interface¶ ↑

service = Service.new("www.flymine.org/query")
query = service.new_query("Gene")
query.add_views("*", "pathways.*")
query.add_constraint("symbol", "=", "zen")
query.add_sort_order(:symbol)
query.add_join(:pathways)
query.each_row do |r|
  puts r
end

For more details, see the accompanying documentation and the unit tests for interface examples. Further documentation is available at www.intermine.org.

Support¶ ↑

Support is available on our development mailing list: dev@intermine.org

License¶ ↑

This code is Open Source under the LGPL. Source code for this gem can be checked out from github.com/intermine/intermine-ws-ruby