Gene Lookup API
The Endpoint
The ToppGene API endpoint is at the following URL.
https://toppgene.cchmc.org/API
ToppGene supports both HTTP POST and HTTP PUT methods. Calling these endpoints with the GET method returns an HTML page describing how to use the endpoints.
Sample Enrichment Call
https://toppgene.cchmc.org/API/lookup
This is about the most minimal API call possible. Three gene symbols are shown below. The first, FLDB, is an obsolete symbol for APOB. The third is an Ensembl human gene symbol for HAND1. The fourth symbol is the mouse Mpg gene.
curl -H 'Content-Type: text/json' -d '{"Symbols":["FLDB","APOE","ENSG00000113196","ENSMUSG00000020287"]}' https://toppgene.cchmc.org/API/lookup
The returned results from this call follows. Please note that in the case of ENSMUSG00000020287
the system returned the human ortholog MPG symbol and the human Entrez ID value.
{
"Genes": [
{
"OfficialSymbol": "APOB",
"Entrez": 338,
"Submitted": "FLDB"
},
{
"OfficialSymbol": "APOE",
"Entrez": 348,
"Submitted": "APOE"
},
{
"OfficialSymbol": "HAND1",
"Entrez": 9421,
"Submitted": "ENSG00000113196"
},
{
"OfficialSymbol": "MPG",
"Entrez": 4350,
"Submitted": "ENSMUSG00000020287"
}
]
}
Normally, results are returned with as little whitespace as possible. For example, {"Genes":[{"OfficialSymbol":"APOE","Entrez":348,"Submitted":"APOE"}]}
.
Passing pretty=true
as a query parameter will indent results.
Alternative Formats
Passing as=xml
as a query parameter will serialize the results as XML.
<GeneLookupResult>
<genes>
<gene>
<officialSymbol>APOB</officialSymbol>
<geneId>338</geneId>
<submittedSymbol>FLDB</submittedSymbol>
</gene>
<gene>
<officialSymbol>APOE</officialSymbol>
<geneId>348</geneId>
<submittedSymbol>APOE</submittedSymbol>
</gene>
<gene>
<officialSymbol>HAND1</officialSymbol>
<geneId>9421</geneId>
<submittedSymbol>ENSG00000113196</submittedSymbol>
</gene>
<gene>
<officialSymbol>MPG</officialSymbol>
<geneId>4350</geneId>
<submittedSymbol>ENSMUSG00000020287</submittedSymbol>
</gene>
</genes>
<missing></missing>
</GeneLookupResult>
Performing Symbol Lookup using an XML request looks like this
<GeneLookup>
<symbols>APOE</symbols>
<symbols>APOB</symbols>
</GeneLookup>
Compression
The API provides limited support for transparent compression (RFC2616) if the client supplies a Accept-Encoding: gzip
header.
Modern implementations of curl
support this with the --compressed
option.