Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
@biothings-explorer/api-response-transform
Advanced tools
a NodeJS library to transform API responses into biolink model
A NodeJS module to transform the JSON output from API into BioLink-compatible JSON structure
npm i @biothings-explorer/api-response-transform
This package is desgined to be used as a downstream consumer of @biothings-explorer/smartapi-kg nodejs package. @biothings-explorer/smartapi-kg provides knowledge graph operation info, and when combined with API JSON response, can be consumed as input of the @biothings-explorer/api-response-transform package.
Import and Initialize
const tf = require("@biothings-explorer/api-response-transform")
const axios = require("axios");
Transform
Get API Response
let res = await axios({
method: 'post',
url: 'https://biothings.ncats.io/semmedgene/query',
data: 'q=C1332823, C1332824, 123&scopes=umls',
params: {
fields: 'name,umls,positively_regulates',
size: '5'
}
});
Bind with edge info from @biothings-explorer/smartapi-kg
let input = {
response: res.data,
edge: {
"input": ["C1332824", "C1332823"],
"query_operation": {
"params": {
"fields": "positively_regulates"
},
"request_body": {
"body": {
"q": "{inputs[0]}",
"scopes": "umls"
}
},
"path": "/query",
"path_params": [],
"method": "post",
"server": "https://biothings.ncats.io/semmedgene",
"tags": [
"disease",
"annotation",
"query",
"translator",
"biothings",
"semmed"
],
"supportBatch": true,
"inputSeparator": ","
},
"association": {
"input_id": "UMLS",
"input_type": "Gene",
"output_id": "UMLS",
"output_type": "Gene",
"predicate": "positively_regulates",
"source": "SEMMED",
"api_name": "SEMMED Gene API",
"smartapi": {
"id": "81955d376a10505c1c69cd06dbda3047",
"meta": {
"ETag": "f94053bc78b3c2f0b97f7afd52d7de2fe083b655e56a53090ad73e12be83673b",
"github_username": "kevinxin90",
"timestamp": "2020-05-27T16:53:40.804575",
"uptime_status": "good",
"uptime_ts": "2020-06-12T00:04:31.404599",
"url": "https://raw.githubusercontent.com/NCATS-Tangerine/translator-api-registry/master/semmed/semmed_gene.yaml"
}
}
},
"response_mapping": {
"positively_regulates": {
"pmid": "positively_regulates.pmid",
"umls": "positively_regulates.umls"
}
},
"id": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"
}
}
Transform into biolink-compatible format
let transformer = new tf.default(input);
let res = transformer.transform();
//returns [
//{
// HGNC: '10956',
// pubmed: [ '21685912', '30089514', sequence: true ],
// relation: 'contributes to condition',
// source: [ 'https://archive.monarchinitiative.org/#gwascatalog' ],
// taxid: 'NCBITaxon:9606',
// '$reasoner_edge': undefined,
// '$association': {
// input_id: 'MONDO',
// input_type: 'Disease',
// output_id: 'HGNC',
// output_type: 'Gene',
// predicate: 'related_to',
// api_name: 'BioLink API',
// smartapi: [Object]
// },
// '$input': 'MONDO:678',
// '$output': 'HGNC:10956',
// '$original_input': undefined,
// '$input_resolved_identifiers': undefined,
// publications: [ 'PMID:21685912', 'PMID:30089514' ]
// },
// ...]
npm run test
👤 BioThings team
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
Copyright © 2021 BioThings Team.
This project is ISC licensed.
FAQs
a NodeJS library to transform API responses into biolink model
We found that @biothings-explorer/api-response-transform demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.