InterMine provides programmatic access to its features via web services. This allows users to automate:
- Data retrieval (custom queries, templated queries, keyword searches).
- List creation/analysis/management
- User profile management
- Data-model introspection
For a full listing of web service capabilities on various mines please see the
HTTP API documentation.
- Install Required Dependencies
- If you are reading this page, we make the assumption you know how to write and
run programs in your language of choice. You will probably want to download
and install the appropriate client library (see API and Client Libraries),
which typically involves the standard package manager for the given platform.
- Look at some example code
- We assume you are already familiar with the InterMine web interface, as provided
by sites such as FlyMine. Each result table in the web
interface includes a mechanism for generating code using one of the client libraries
which generates the same results as those seen in the table (click on the code
button). The generated code is meant to help get you started with the use of the
- Modify the code so it does what you want
- Working from the generated stub, you can edit the code to perform your intended task. You
will probably want to refer to the API documentation for your target
language (see below).
How Do I?
For the kinds of things you will probably be wanting to do, see How Do I?
API and Client Libraries
InterMine exposes its functionality over an HTTP API (generally following RESTful
principles, but there is a bit of RPC there). Client libraries are available in commonly
used languages so you can get started quickly. All our code is hosted on Github,
and contributions are welcome. All InterMine code is free and open-source, released under
the LGPL (see Legal).
For information on the underlying API, and the supported libraries, please visit the following links:
- HTTP API
- Documentation on services available from mines: http://iodocs.apps.intermine.org
- Perl Client
- Download | Docs
- Python Client
- Ruby Client
- Download | Docs