Lynx Web Services


Introduction

Lynx provides programmatic access to the analytical tools (Enrichment Analysis, and Network-based gene prioritization) and annotations on the genes (integrated from over 35 databases). These web services will help end researchers in building custom applications espcially in the translational research.

Lynx Web Services are implemented as REST (REpresentational State Transfer) services and can be easily accessed from a command line, shell scripts, client programs written in various languages, or even using browsers (annotations).

Following sections describe Analytical Services (tools) and Data Services (annotations) and examples of how it can accessed using a command-line tool such as 'curl' that be installed on various operating systems (https://curl.haxx.se/download.html).

Conventions

  1. All GETs are made to the base URL: "https://lynx.ci.uchicago.edu/gediresources/resources/"
  2. The default return values are in XML objects.
  3. XML and JSON return formats are supported and can be requested.
  4. GENEID can be a Gene Symbol or Entrez ID (e.g: CASK or 8573)


1. Analytical Services: Gene Enrichment Analysis


REST services for enrichment analysis of genes allows users to invoke this analytical tool as a Web service. Users can provide all the parameters required for the analysis as shown below.
1.1 POST /enrichment/wholegenome/general/post
NOTE: The /wholegenome/ part of the URL means that the enrichment analysis is performed against all the genes of the specified TAXID. Currently, we only support all Human genes (taxid=9606) and will support more species in the near future.
Input: application/x-www-form-urlencoded: e.g:  "types= & correction= & pcut=0.05 & bcut=3 & taxid=9606 & seeds=:CASK:AKT1:PXN"

URL: https://lynx.ci.uchicago.edu/gediresources/resources/enrichment/wholegenome/general/post

Example with CURL:
curl -i -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -X POST -d "types=go_bp&correction=1&pcut=0.05&taxid=9606&bcut=3&seeds=:AKT1:CASK:PXN" https://lynx.ci.uchicago.edu/gediresources/resources/enrichment/wholegenome/general/post
                    

1.2 POST /enrichment/space/general/post
NOTE: The /space/ part of the URL means that the enrichment analysis can performed against the user submitted list of genes. These genes can be provided using the parameter: "candis"
Input: application/x-www-form-urlencoded: e.g:  "types= & correction= & pcut=0.05 & bcut=3 & taxid=9606 & seeds=:CASK:AKT1:PXN & candis=:ADH1B:CEACAM8:PRPS1:IL1RL1:IL2RG"

URL: https://lynx.ci.uchicago.edu/gediresources/resources/enrichment/space/general/post

Example with CURL:
curl -i -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -X POST -d "types=go_bp&correction=1&pcut=0.05&taxid=9606&bcut=3&seeds=:AKT1:CASK:PXN&candis=:ADH1B:CEACAM8:PRPS1:IL1RL1:IL2RG" https://lynx.ci.uchicago.edu/gediresources/resources/enrichment/space/general/post
                    

2. Analytical Services: Network-based Gene Prioritization


REST services for Network based gene prioritization that uses STRING9 network as the base network.
2.1 POST /pinta/post
Input: application/x-www-form-urlencoded: e.g:  "algorithm= & random=500 & iteration=2 & diffusion=0.5 & input=CASK,2,AKT1,3,PXN,1"

URL: https://lynx.ci.uchicago.edu/gediresources/resources/pinta/post

Example with CURL:
curl -i -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -X POST -d "algorithm=performGP&random=500&iteration=2&diffusion=0.5&input=AKT1,2,CASK,1,PXN,4" https://lynx.ci.uchicago.edu/gediresources/resources/pinta/post
                    

3. Single Gene Annotations


REST services for single gene annotations are provided for the complete annotations or specific annotations such as pathways, diseases or interactions. These same RESTful resources are used to render the Single-gene page Web interface. E.g: https://lynx.ci.uchicago.edu/gene/?geneid=CASK

4. Multi-Gene Annotations


REST services for multi-gene annotations are provided by a list of genes that are colon (:) separated in the above URLs.
NOTE: GET requests are NOT recommended for large lists of genes. We recommend POST requests for large gene lists.




Search-based REST services take a search term as input. The term can be prefixed by any one of the supported descriptors, such as "SYMBOL", "DISEASES", "PATHWAYS", etc.


GET-based keyword search (requires no prefix):
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene/autism
GET-based disease search:
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene/DISEASES:autism
GET-based pathway search:
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene/PATHWAYS:glycolysis
GET-based tissue search:
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene/TISSUES:brain
GET-based symptom search:
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene/SYMPTOMS:seizures
GET-based combination search (autism AND seizures):
https://lynx.ci.uchicago.edu/gediresources/resources/search/geneDISEASES:autism%20and%20SYMPTOMS:seizures
GET-based combination search (autism OR seizures):
https://lynx.ci.uchicago.edu/gediresources/resources/search/geneDISEASES:autism%20or%20SYMPTOMS:seizures
POST-based keyword search:
Input: JSON Object: e.g. {"input": "autism"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "autism"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        
POST-based disease search:
Input: JSON Object: e.g. {"input": "DISEASES:autism"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "DISEASES:autism"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        
POST-based pathway search:
Input: JSON Object: e.g. {"input": "PATHWAYS:glycolysis"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "PATHWAYS:glycolysis"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        
POST-based tissue search:
Input: JSON Object: e.g. {"input": "TISSUES:brain"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "TISSUES:brain"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        
POST-based symptom search:
Input: JSON Object: e.g. {"input": "SYMPTOMS:seizures"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "SYMPTOMS:seizures"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        
POST-based combination search (autism AND seizures):
Input: JSON Object: e.g. {"input": "DISEASES:autism and SYMPTOMS:seizures"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "DISEASES:autism and SYMPTOMS:seizures"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        
POST-based combination search (autism OR seizures):
Input: JSON Object: e.g. {"input": "DISEASES:autism or SYMPTOMS:seizures"}
URL: https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
Example with CURL:
curl -i -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d "{"input": "DISEASES:autism or SYMPTOMS:seizures"}" \
https://lynx.ci.uchicago.edu/gediresources/resources/search/gene
                        

Downloads

Lynx KB DB dumps and Tables:
The public data is available for downloads at the respective sources and the size of a complete integrated Lynx KB is prohibitively large (> 1 TB) to allow downloading of the full content. However, any part of the public data integrated into Lynx KB is available for download in the form of tab-delimited tables and database dumps upon request. The Platform tab contains the Lynx KB database schema to simplify the selection of the data sets of interest to the user.
The requests should be directed to gedi-dev@ci.uchicago.edu

Individual Lynx pages:
All annotations and results of analysis in Lynx are available for download in CSV format via Download button displayed on every page.

Downloads via Web services:
Any Lynx object or a set of objects as well as the results of annotation and analysis may be downloaded using Web services in JSON and XML format. Please refer to the Web services sections above for instructions.