Phen2Gene is a real-time phenotype-based gene prioritization tool from HPO IDs or clinical notes on patients.
The instructions below summarize how to use Phen2Gene's RESTful API to prioritize candidate disease genes using HPO IDs. Phen2Gene can also take Phenopackets as input. Click here to check it out.
To access the API, make a GET request to the following URL:
https://phen2gene.wglab.org/api
The resource will return the following response object:
{ results: a list of genes ranked by association to the HPO ID(s), errors: a list of error messages }
Response formats: JSON
Requires authentication: No
Name | Required | Description | Default Value | Example |
HPO_list | Yes | HPO ID(s) separated by a semicolon | None | HP:0002459 or HP:0002459;HP:0010522;HP:0001662 |
weight_model | No | Method to weigh gene scores | sk | sk (weighted by skewness), w (ontology-based information content), ic (information content by Sanchez), or u (unweighted) |
curl -i -H "Accept: application/json" -H "Content-Type: application/json" "https://phen2gene.wglab.org/api?HPO_list=HP:0002459"
curl -i -H "Accept: application/json" -H "Content-Type: application/json" "https://phen2gene.wglab.org/api?HPO_list=HP:0002459;HP:0010522;HP:0001662"
curl -i -H "Accept: application/json" -H "Content-Type: application/json" "https://phen2gene.wglab.org/api?HPO_list=HP:0002459;HP:0010522;HP:0001662&weight_model=sk"
The following response is for the request https://phen2gene.wglab.org/api?HPO_list=HP:0002459
. Only the first three genes and the last three genes are shown to save space.
{
"results": [
{
"Gene": "ALK",
"Rank": "1",
"Gene ID": "238",
"Score": "1.0",
"Status": "SeedGene"
},
{
"Gene": "ATP7A",
"Rank": "2",
"Gene ID": "538",
"Score": "0.815589",
"Status": "SeedGene"
},
{
"Gene": "TTR",
"Rank": "3",
"Gene ID": "7276",
"Score": "0.728405",
"Status": "SeedGene"
},
...
{
"Gene": "PNKP",
"Rank": "12870",
"Gene ID": "11284",
"Score": "0.0",
"Status": "Predicted"
},
{
"Gene": "TCERG1",
"Rank": "12871",
"Gene ID": "10915",
"Score": "0.0",
"Status": "Predicted"
},
{
"Gene": "ZHX1",
"Rank": "12872",
"Gene ID": "11244",
"Score": "0.0",
"Status": "Predicted"
}
],
"errors": [
"HP:0002459 (obsolete Dysautonomia) is obsolete, and replaced by HP:0012332.\nPhen2Gene gave the weight of HP:0012332 to HP:0002459 ."
]
}
To use a Phenopacket as the input into Phen2Gene, make a POST request to one of the two endpoints below and pass in the Phenopacket binary using the --data-binary
option (see example requests below).
If you want the prioritized genes returned in JSON format, use the following endpoint:
https://phen2gene.wglab.org/phenopacket
Alternatively, if you want the genes returned in tsv format, use this endpoint:
https://phen2gene.wglab.org/phenopacket/tsv
curl -X POST -H "Content-type: application/x-protobuf" https://phen2gene.wglab.org/phenopacket --data-binary @<(curl https://phen2gene.s3.amazonaws.com/testphenopacket)
curl -X POST -H "Content-type: application/x-protobuf" https://phen2gene.wglab.org/phenopacket/tsv --data-binary @<(curl https://phen2gene.s3.amazonaws.com/testphenopacket)
Zhao M., Havrilla J. M., Fang L., Chen Y., Peng J., Liu C., Wu C., Sarmady M., Botas P., Isla J., Lyon G., Weng C., Wang K. (2020). Phen2Gene: Rapid Phenotype-Driven Gene Prioritization for Rare Diseases. NAR Genomics and Bioinformatics, 2(2), lqaa032. doi:10.1093/nargab/lqaa032Liu C., Peres Kury F. S., Li Z., Ta C., Wang K., & Weng C. (2019). Doc2Hpo: a web application for efficient and accurate HPO concept curation. Nucleic Acids Research, 47(W1), W566–W570. doi:10.1093/nar/gkz386