Web Services REST API

From CoGepedia
Revision as of 17:10, 7 November 2014 by Mbomhoff (Talk | contribs)

Jump to: navigation, search

CoGe's web services API let's you incorporate CoGe's database of organisms, genomes, and data sets into your web site or pipeline.

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


Below are some examples queries (authentication not required) ...


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": [],
}

Experiment Add

curl -H "Content-Type: application/json" -X PUT --data @experiment_add.json "http://genomevolution.org/coge/api/v1/experiments?username=xxx&token=yyy"

Here is a sample JSON request body for experiment_add.json:
{
   "restricted": true,
   "genome_id": 16911,
   "version": "1",
   "name": "DiffExpr1",
   "description": "Expression measurements from tissue X with treatment Y.",
   "source_name": "JGI",
   "items": [
      { "type": "irods", "path": "/iplant/home/coge/coge_data/arabidopsis/experimental_condition1.csv" }
   ]
}

More examples to be added soon!