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 also 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 client libraries.
There is also a Tutorial for the Python API
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).
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:
Documentation on services available from mines: http://iodocs.apps.intermine.org
Authenticated web services are accessed via tokens: either 24-hour anonymous tokens or permanent user API key tokens. See Authentication for more details.