Web Services REST API

From CoGepedia
Revision as of 15:35, 14 April 2014 by Mbomhoff (Talk | contribs) (2. CoGe Web Services API (RESTful))

Jump to: navigation, search

There are two main ways a programmer can interact with CoGe:

  1. Through the web pages via URLs
  2. Through CoGe's web services API (Application Programming Interface)

1. Linking to CoGe

Each web application of CoGe is designed for a particular task, and provides links to other web applications in CoGe. This is how CoGe's Open-ended Analysis Network works. To get information on how to link to a particular web application, please see that application's wiki. If the information you are seeking is not immediately apparent, please feel free to e-mail Eric Lyons and for help.

2. CoGe Web Services API (RESTful)

We are currently developing public web services for accessing and loading data in CoGe!

Here is our draft API specification document:
http://docs.google.com/document/d/1GXOPIVvyTwoGR2IRjDNmdd2nj_6d8db7jx9hG8RxTDc


Below are some examples queries ...

Organism Search

curl http://genomevolution.org/coge/api/v1/organisms/search/col-0
{
   "organisms":
      [
         {
            "id": "1",
            "name": "Arabidopsis thaliana Col-0 (thale cress)",    
            "description": "Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis"
         }
      ]
}

Organism Fetch

curl http://genomevolution.org/coge/api/v1/organisms/1
{
   "id": 1,
   "name": "Arabidopsis thaliana Col-0 (thale cress)",
   "description": "Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis"
   “genomes” : [ 16911, ... ]
}

Genome Fetch

curl http://genomevolution.org/coge/api/v1/genomes/16911
{
   "id": 16911
   "name": "",
   "description": "",
   "version": "10.02",
   "link": "",
   "restricted": false,
   "sequence_type": {
      "name": "unmasked",
      "description": "unmasked sequence data"
   },
   "experiments": [31,32,33, ...],
   "metadata": [],
}