biothings / biothings_explorer_archived

BioThings Explorer: a schema-based client for API interoperability
Apache License 2.0
14 stars 14 forks source link

Differences between API and python library for hint module #119

Open andrewsu opened 4 years ago

andrewsu commented 4 years ago

When searching for amyotrophic lateral sclerosis, the API and the python hint module return different results. Qian Zhu from Link Brokers says (and I agree) that the API results are better than the python module. More details below...

API: https://geneanalysis.ncats.io/explorer_api/v1/hint?q=amyotrophic%20lateral%20sclerosis:

"Disease": [
{
"MONDO": "MONDO:0004976",
"DOID": "DOID:332",
"UMLS": "C0002736",
"name": "amyotrophic lateral sclerosis",
"MESH": "D000690",
"ORPHANET": "803",
"primary": {
"identifier": "MONDO",
"cls": "Disease",
"value": "MONDO:0004976"
},
"display": "MONDO(MONDO:0004976) DOID(DOID:332) ORPHANET(803) UMLS(C0002736) MESH(D000690) name(amyotrophic lateral sclerosis)",
"type": "Disease"
},
{
"MONDO": "MONDO:0005144",
"name": "familial amyotrophic lateral sclerosis",
"primary": {
"identifier": "MONDO",
"cls": "Disease",
"value": "MONDO:0005144"
},
"display": "MONDO(MONDO:0005144) name(familial amyotrophic lateral sclerosis)",
"type": "Disease"
},
{
"MONDO": "MONDO:0005145",
"name": "sporadic amyotrophic lateral sclerosis",
"primary": {
"identifier": "MONDO",
"cls": "Disease",
"value": "MONDO:0005145"
},
"display": "MONDO(MONDO:0005145) name(sporadic amyotrophic lateral sclerosis)",
"type": "Disease"
},
{
"MONDO": "MONDO:0017593",
"UMLS": "C3468114",
"name": "juvenile amyotrophic lateral sclerosis",
"ORPHANET": "300605",
"primary": {
"identifier": "MONDO",
"cls": "Disease",
"value": "MONDO:0017593"
},
"display": "MONDO(MONDO:0017593) ORPHANET(300605) UMLS(C3468114) name(juvenile amyotrophic lateral sclerosis)",
"type": "Disease"
},
{
"MONDO": "C1854059",
"UMLS": "C1854059",
"name": "AMYOTROPHIC LATERAL SCLEROSIS, TYPICAL",
"primary": {
"identifier": "MONDO",
"cls": "Disease",
"value": "C1854059"
},
"display": "MONDO(C1854059) UMLS(C1854059) name(AMYOTROPHIC LATERAL SCLEROSIS, TYPICAL)",
"type": "Disease"
}

From python module:

!pip install git+https://github.com/biothings/biothings_explorer.git@call-apis-new

from biothings_explorer.query.predict import Predict
from biothings_explorer.hint import Hint
import nest_asyncio
nest_asyncio.apply()
import warnings
warnings.filterwarnings("ignore") 

ht = Hint()
node = ht.query("amyotrophic lateral sclerosis")['Disease']
node

produces:

[{'DOID': 'DOID:0060194',
  'MESH': 'C565957',
  'MONDO': 'MONDO:0008780',
  'OMIM': '205100',
  'UMLS': 'C1859807',
  'display': 'MONDO(MONDO:0008780) DOID(DOID:0060194) OMIM(205100) UMLS(C1859807) MESH(C565957) name(amyotrophic lateral sclerosis type 2)',
  'name': 'amyotrophic lateral sclerosis type 2',
  'primary': {'cls': 'Disease',
   'identifier': 'MONDO',
   'value': 'MONDO:0008780'},
  'type': 'Disease'},
 {'DOID': 'DOID:0060208',
  'MESH': 'C563708',
  'MONDO': 'MONDO:0013861',
  'OMIM': '614696',
  'UMLS': 'C1836076',
  'display': 'MONDO(MONDO:0013861) DOID(DOID:0060208) OMIM(614696) UMLS(C1836076) MESH(C563708) name(amyotrophic lateral sclerosis type 17)',
  'name': 'amyotrophic lateral sclerosis type 17',
  'primary': {'cls': 'Disease',
   'identifier': 'MONDO',
   'value': 'MONDO:0013861'},
  'type': 'Disease'},
 {'DOID': 'DOID:332',
  'MESH': 'D000690',
  'MONDO': 'MONDO:0004976',
  'ORPHANET': '803',
  'UMLS': 'C0002736',
  'display': 'MONDO(MONDO:0004976) DOID(DOID:332) ORPHANET(803) UMLS(C0002736) MESH(D000690) name(amyotrophic lateral sclerosis)',
  'name': 'amyotrophic lateral sclerosis',
  'primary': {'cls': 'Disease',
   'identifier': 'MONDO',
   'value': 'MONDO:0004976'},
  'type': 'Disease'},
 {'DOID': 'DOID:0060195',
  'MESH': 'C564688',
  'MONDO': 'MONDO:0011691',
  'OMIM': '606640',
  'display': 'MONDO(MONDO:0011691) DOID(DOID:0060195) OMIM(606640) MESH(C564688) name(amyotrophic lateral sclerosis type 3)',
  'name': 'amyotrophic lateral sclerosis type 3',
  'primary': {'cls': 'Disease',
   'identifier': 'MONDO',
   'value': 'MONDO:0011691'},
  'type': 'Disease'},
 {'DOID': 'DOID:0060199',
  'MESH': 'C564300',
  'MONDO': 'MONDO:0011952',
  'OMIM': '608031',
  'UMLS': 'C1842674',
  'display': 'MONDO(MONDO:0011952) DOID(DOID:0060199) OMIM(608031) UMLS(C1842674) MESH(C564300) name(amyotrophic lateral sclerosis type 7)',
  'name': 'amyotrophic lateral sclerosis type 7',
  'primary': {'cls': 'Disease',
   'identifier': 'MONDO',
   'value': 'MONDO:0011952'},
  'type': 'Disease'}]