JSPM

  • Created
  • Published
  • Downloads 24
  • Score
    100M100P100Q68516F
  • License ISC

create a knowledge graph based on SmartAPI Specifications

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 👋

Coverage Status Version Documentation Maintenance

Test

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" });
    

Runkit Notebook Demo

Run tests

npm run test

Author

👤 Jiwen Xin

🤝 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