Skip to content

REST API

Matt Holt edited this page May 4, 2018 · 3 revisions

REST API

To allow for extension and greater use of the application the web application was built on top of a RESTful API.

Paths

Query HPO terms

Field Value
Description returns a JSON presentation of the HPO terms that match user typed text
Method GET
Path /terms
Return JSON
Query Parameters term = string of text to search for; can be HPO ID or disease/phenotype text

Example Call:

/terms?term=HP%3A0001234

Example results:

{
  "results": [
    {
      "id": "HP:0001234",
      "text": "HP:0001234 Hitchhiker thumb; Hitchhiker thumb; Abducted thumb"
    }
  ]
}

Query Gene Symbols

Field Value
Description returns a JSON presentation of the genes that match the supplied search string
Method GET
Path /genes
Return JSON
Query Parameters term = string of gene symbol to search for

Example Call:

/genes?term=A2M

Example results:

{
  "results": [
    {
      "id": "A2M",
      "text": "A2M"
    },
    {
      "id": "A2M-AS1",
      "text": "A2M-AS1"
    },
    {
      "id": "A2ML1",
      "text": "A2ML1"
    },
    {
      "id": "A2ML1-AS1",
      "text": "A2ML1-AS1"
    },
    {
      "id": "A2ML1-AS2",
      "text": "A2ML1-AS2"
    },
    {
      "id": "A2MP1",
      "text": "A2MP1"
    }
  ]
}

Query Phenotype to Gene correlation

Field Value
Description Given an input gene and phenotype terms, return the publications associating them
Method POST
Path /phenotypegene
Return JSON
Payload JSON

Example Payload:

{
  "gene": "SPTBN2",
  "phenotypes": [
    "HP:0001251"
  ]
}

Example Call:

/phenotypegene

Example results:

{
  "data": [
    {
      "count": 1,
      "pmid": "10417284",
      "terms": [
        "HP:0001251"
      ]
    },
    {
      "count": 1,
      "pmid": "10434652",
      "terms": [
        "HP:0001251"
      ]
    },
    {
      "count": 1,
      "pmid": "10522902",
      "terms": [
        "HP:0001251"
      ]
    }
  ]
}

Query Rank Genes

Field Value
Description Given an input list of HPO IDs, produce a ranked list of genes associated with said terms in aggregate
Method POST
Path /rank
Return JSON
Payload JSON

Example Payload:

["HP:0001251", "HP:0001744"]

Example Call:

/rank

Example results:

{
  "rankings": [
    {
      "label": "MVK",
      "nodeType": "gene",
      "weight": 0.0025840677844297085
    },
    {
      "label": "SCYL1",
      "nodeType": "gene",
      "weight": 0.0022486806629565823
    },
    ...
  ],
  "usedTerms": [
    "HP:0001251",
    "HP:0001744"
  ],
  "missingTerms": []
}

Query Deeprank Genes

Field Value
Description Given an input list of HPO IDs, produce a ranked list of genes associated with said terms individually and in aggregate
Method POST
Path /deeprank
Return JSON
Payload JSON

Example Payload:

["HP:0001251", "HP:0001744"]

Example Call:

/deeprank

Example results:

{
  "rankings": [
    {
      "HP:0001251": [
        444,
        0.0009026369410655975
      ],
      "HP:0001744": [
        1,
        0.0027041699843090034
      ],
      "label": "MVK",
      "nodeType": "gene",
      "rank": 1,
      "weight": 0.0025840677844297085
    },
    {
      "HP:0001251": [
        59,
        0.0012961879743216367
      ],
      "HP:0001744": [
        12,
        0.0023167158518850595
      ],
      "label": "SCYL1",
      "nodeType": "gene",
      "rank": 2,
      "weight": 0.0022486806629565823
    },
    ...
  ],
  "usedTerms": [
    "HP:0001251",
    "HP:0001744"
  ],
  "missingTerms": []
}

Clone this wiki locally