Difference between revisions of "Web Services REST API"

From CoGepedia
Jump to: navigation, search
m
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
CoGe's web services API let's you incorporate CoGe's database of organisms, genomes, and data sets into your web site or pipeline.   
+
Our web services let you incorporate CoGe's database of organisms, genomes, and other data sets into your web site or pipeline.  You can also run any type of analysis on CoGe.
  
Here is our draft API specification document:<br>
+
==Documentation==
http://docs.google.com/document/d/1GXOPIVvyTwoGR2IRjDNmdd2nj_6d8db7jx9hG8RxTDc
+
* Interactive documentation:  https://genomevolution.org/apidocs
 
+
** Live-test API endpoints using simple web interface
 
+
** A tad out of date and doesn't include all API endpoints
Below are some examples queries:
+
* Specification document: http://docs.google.com/document/d/1GXOPIVvyTwoGR2IRjDNmdd2nj_6d8db7jx9hG8RxTDc
 +
** Up-to-date documentation of all API endoints
 +
* [[Embedding CoGe JBrowse in your website]]
 +
* Automated Testing ([http://robotframework.org/ Robot Framework]): https://geco.iplantcollaborative.org/coge/test/log.html
  
 +
==Examples==
  
 
'''Organism Search'''
 
'''Organism Search'''
Line 23: Line 27:
 
</pre>
 
</pre>
  
'''Organism Fetch'''
+
'''Genome Search'''
 
<pre>
 
<pre>
curl https://genomevolution.org/coge/api/v1/organisms/1
+
curl https://genomevolution.org/coge/api/v1/genomes/search/col-0
{
+
[
  "id": 1,
+
    {
  "name": "Arabidopsis thaliana Col-0 (thale cress)",
+
        "name": "",
  "description": "Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis"
+
        "chromosome_count": 7,
  “genomes” : [ 16911, ... ]
+
        "sequence_type": {
}
+
            "id": "1",
 +
            "description": "unmasked sequence data",
 +
            "name": "unmasked"
 +
        },
 +
        "info": "Arabidopsis thaliana Col-0 (thale cress) (v10.02, id16911): unmasked",
 +
        "description": "",
 +
        "organism": {
 +
            "id": 1,
 +
            "description": "Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis",
 +
            "name": "Arabidopsis thaliana Col-0 (thale cress)"
 +
        },
 +
        "restricted": false,
 +
        "organism_id": 1,
 +
        "version": "10.02",
 +
        "id": 16911,
 +
        "link": ""
 +
    },
 +
    ...
 +
]
 
</pre>
 
</pre>
  
Line 50: Line 72:
 
   "experiments": [31,32,33, ...],
 
   "experiments": [31,32,33, ...],
 
   "metadata": [],
 
   "metadata": [],
 +
  ...
 
}
 
}
 
</pre>
 
</pre>
  
'''Experiment Add'''
+
'''Genome Sequence Download'''
<pre>
+
 
curl -H "Content-Type: application/json" -X PUT --data @experiment_add.json "https://genomevolution.org/coge/api/v1/experiments?username=xxx&token=yyy"
+
Full Genome:
 +
<pre>curl https://genomevolution.org//coge/api/v1/genomes/16911/sequence</pre>
 +
 
 +
Partial Genome:
 +
<pre>https://genomevolution.org/coge/coge/api/v1/genomes/16911/sequence/<chr>?start=<x>&stop=<y></pre>
  
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" }
 
  ]
 
}
 
</pre>
 
  
 
More examples to be added soon!
 
More examples to be added soon!

Latest revision as of 16:53, 23 March 2017

Our web services let you incorporate CoGe's database of organisms, genomes, and other data sets into your web site or pipeline. You can also run any type of analysis on CoGe.

Documentation

Examples

Organism Search

curl https://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"
         }
      ]
}

Genome Search

curl https://genomevolution.org/coge/api/v1/genomes/search/col-0
[
    {
        "name": "",
        "chromosome_count": 7,
        "sequence_type": {
            "id": "1",
            "description": "unmasked sequence data",
            "name": "unmasked"
        },
        "info": "Arabidopsis thaliana Col-0 (thale cress) (v10.02, id16911): unmasked",
        "description": "",
        "organism": {
            "id": 1,
            "description": "Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons; rosids; eurosids II; Brassicales; Brassicaceae; Arabidopsis",
            "name": "Arabidopsis thaliana Col-0 (thale cress)"
        },
        "restricted": false,
        "organism_id": 1,
        "version": "10.02",
        "id": 16911,
        "link": ""
    },
    ...
]

Genome Fetch

curl https://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": [],
   ...
}

Genome Sequence Download

Full Genome:

curl https://genomevolution.org//coge/api/v1/genomes/16911/sequence

Partial Genome:

https://genomevolution.org/coge/coge/api/v1/genomes/16911/sequence/<chr>?start=<x>&stop=<y>


More examples to be added soon!