Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexkalderimis/intermine-ws-ruby
Ruby InterMine client
https://github.com/alexkalderimis/intermine-ws-ruby
Last synced: 11 days ago
JSON representation
Ruby InterMine client
- Host: GitHub
- URL: https://github.com/alexkalderimis/intermine-ws-ruby
- Owner: alexkalderimis
- License: lgpl-3.0
- Created: 2011-07-02T16:56:36.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-07-04T14:23:13.000Z (over 11 years ago)
- Last Synced: 2024-04-09T22:22:37.712Z (10 months ago)
- Language: Ruby
- Homepage: www.intermine.org
- Size: 379 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rdoc
Awesome Lists containing this 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
endFor 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: [email protected]
== License
This code is Open Source under the LGPL. Source code for all InterMine code
can be checked out from svn://subversion.flymine.org/flymine