Difference between revisions of "Web Services REST API"

From CoGepedia
Jump to: navigation, search
Line 57: Line 57:
 
curl -H "Content-Type: application/json" -X PUT --data @experiment_add.json "http://genomevolution.org/coge/api/v1/experiments?username=xxx&token=yyy"
 
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:
 
{
 
{
   "id": 16911
+
   "restricted": true,
   "name": "",
+
   "types":
  "description": "",
+
    [
   "version": "10.02",
+
        {
   "link": "",
+
          "name" :"xxx",
   "restricted": false,
+
          "description": "xxx"
   "sequence_type": {
+
        }
       "name": "unmasked",
+
    ],
      "description": "unmasked sequence data"
+
  "genome_id": 16911,
  },
+
   "version": "xxx",
  "experiments": [31,32,33, ...],
+
   "name": "xxx",
   "metadata": [],
+
   "description": "xxx",
 +
   "source_name": "xxx",
 +
  "metadata":
 +
       [
 +
        {
 +
            "type_group": "xxx",
 +
            "type": "xxx",
 +
            "text": "xxx",
 +
            "link": "xxx"
 +
        }
 +
      ],
 +
   "items": [
 +
      { "type": "irods", "path": "/iplant/home/coge/coge_data/arabidopsis/experimental_condition1.csv" }
 +
  ]
 
}
 
}
 
</pre>
 
</pre>
  
 
More examples to be added soon!
 
More examples to be added soon!

Revision as of 17:11, 22 May 2014

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 ...


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,
   "types":
     [
        {
           "name" :"xxx",
           "description": "xxx"
        }
     ],
   "genome_id": 16911,
   "version": "xxx",
   "name": "xxx",
   "description": "xxx",
   "source_name": "xxx",
   "metadata":
      [
         {
            "type_group": "xxx",
            "type": "xxx",
            "text": "xxx",
            "link": "xxx"
         }
      ],
   "items": [
      { "type": "irods", "path": "/iplant/home/coge/coge_data/arabidopsis/experimental_condition1.csv" }
   ]
}

More examples to be added soon!