Package Exports
- @biothings-explorer/smartapi-kg
- @biothings-explorer/smartapi-kg/built/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@biothings-explorer/smartapi-kg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Welcome to @biothings-explorer/smartapi-kg 👋
Generate a meta knowledge graph of how biomedical concepts are connected based on SmartAPI Specifications with built-in filtering capabilities
🏠 Homepage
Install
npm i @biothings-explorer/smartapi-kg
Usage
Import and Initialize
const kg = require("@biothings-explorer/smartapi-kg") //initiate a new knowledge graph class let meta_kg = new kg.default()
Load the Meta Knowledge Graph (meta-kg)
Option 1: Load Meta-KG from SmartAPI specs with translator tag specified
//async load knowledge graph from SmartAPI await meta_kg.constructMetaKG()
Option 2: Load Meta-KG from SmartAPI specs with translator tag as well as ReasonerStdAPI with /predicates endpoint
await meta_kg.constructMetaKG(includeReasoner=true);
Option 3: Load Meta-KG from SmartAPI specs with tags equal to biothings
await meta_kg.constructMetaKG(includeReasoner = false, {tag: "biothings"});
Option 4: Load Meta-KG from SmartAPI specs with team name equal to Text Mining Provider
await meta_kg.constructMetaKG(includeReasoner = false, {teamName: "Text Mining Provider"});
Option 5: Load Meta-KG from SmartAPI specs with component equal to KP
await meta_kg.constructMetaKG(includeReasoner = false, {component: "KP"});
Option 6: Load Meta-KG for a specific SmartAPI spec with SmartAPI ID
await meta_kg.constructMetaKG(includeReasoner = false, {smartAPIID: "5076f09382b38d56a77e376416b634ca"});
Option 7: Load Meta-KG from a local copy of SmartAPI specs included in the package
//Alternatively, you can also sync load SmartAPI specs from a local copy within the package meta_kg.constructMetaKGSync();
Option 8: Load Meta-KG from file path you specify
const path = require("path"); // provide file path storing your SmartAPI file const file_path = path.resolve(__dirname, '../data/smartapi_multiomics_kp_query.json'); let meta_kg = new MetaKG(file_path); meta_kg.constructMetaKGSync();
Option 9: Load Meta-KG with an api list
meta_kg.constructMetaKGSync(includeReasoner=true, {apiList: [ { id: '09c8782d9f4027712e65b95424adba79', name: 'MyVariant.info API' }, { id: '59dce17363dce279d389100834e43648', name: 'MyGene.info API' } ]});
Filter the Meta-KG for specific associations based on input, output, predicate, or api combinations.
//filter based on predicate meta_kg.filter({predicate: 'treats'}) //filter based on predicate and input_id meta_kg.filter({predicate: 'treats', input_id: 'CHEMBL.COMPOUND'}) //filter based on predicate and input_type meta_kg.filter({predicate: ['treats', 'physically_interacts_with'], input_type: 'SmallMolecule'}) //filter based on input_type, output_type and api meta_kg.filter({ api: "Automat PHAROS API", input_type: "SmallMolecule", output_type: "Gene" });
Run tests
npm run test
Author
👤 Jiwen Xin
- Website: http://github.com/kevinxin90
- Github: @kevinxin90
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
📝 License
Copyright © 2020 Jiwen Xin.
This project is ISC licensed.
This README was generated with ❤️ by readme-md-generator