disease_knowledge_graph

Disease Knowledge Graph - Build disease knowledge graph: OpenTargets targets, drugs, publications, and phenotypes. Use this skill for disease informatics tasks involving get associated targets by disease efoId get associated drugs by target name get publications by drug name get associated phenotypes by disease efoId. Combines 4 tools from 1 SCP server(s).

Best use case

disease_knowledge_graph is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Disease Knowledge Graph - Build disease knowledge graph: OpenTargets targets, drugs, publications, and phenotypes. Use this skill for disease informatics tasks involving get associated targets by disease efoId get associated drugs by target name get publications by drug name get associated phenotypes by disease efoId. Combines 4 tools from 1 SCP server(s).

Teams using disease_knowledge_graph should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/disease_knowledge_graph/SKILL.md --create-dirs "https://raw.githubusercontent.com/SpectrAI-Initiative/InnoClaw/main/.claude/skills/disease_knowledge_graph/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/disease_knowledge_graph/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How disease_knowledge_graph Compares

Feature / Agentdisease_knowledge_graphStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Disease Knowledge Graph - Build disease knowledge graph: OpenTargets targets, drugs, publications, and phenotypes. Use this skill for disease informatics tasks involving get associated targets by disease efoId get associated drugs by target name get publications by drug name get associated phenotypes by disease efoId. Combines 4 tools from 1 SCP server(s).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Disease Knowledge Graph

**Discipline**: Disease Informatics | **Tools Used**: 4 | **Servers**: 1

## Description

Build disease knowledge graph: OpenTargets targets, drugs, publications, and phenotypes.

## Tools Used

- **`get_associated_targets_by_disease_efoId`** from `opentargets-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/15/Origene-OpenTargets`
- **`get_associated_drugs_by_target_name`** from `opentargets-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/15/Origene-OpenTargets`
- **`get_publications_by_drug_name`** from `opentargets-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/15/Origene-OpenTargets`
- **`get_associated_phenotypes_by_disease_efoId`** from `opentargets-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/15/Origene-OpenTargets`

## Workflow

1. Get associated targets
2. Get drugs for top target
3. Get publications for top drug
4. Get associated phenotypes

## Test Case

### Input
```json
{
    "disease_efo": "EFO_0000311"
}
```

### Expected Steps
1. Get associated targets
2. Get drugs for top target
3. Get publications for top drug
4. Get associated phenotypes

## Usage Example

> **Note:** Replace `sk-b04409a1-b32b-4511-9aeb-22980abdc05c` with your own SCP Hub API Key. You can obtain one from the [SCP Platform](https://scphub.intern-ai.org.cn).

```python
import asyncio
import json
from contextlib import AsyncExitStack
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
from mcp.client.sse import sse_client

SERVERS = {
    "opentargets-server": "https://scp.intern-ai.org.cn/api/v1/mcp/15/Origene-OpenTargets"
}

async def connect(url, stack):
    transport = streamablehttp_client(url=url, headers={"SCP-HUB-API-KEY": "sk-b04409a1-b32b-4511-9aeb-22980abdc05c"})
    read, write, _ = await stack.enter_async_context(transport)
    ctx = ClientSession(read, write)
    session = await stack.enter_async_context(ctx)
    await session.initialize()
    return session

def parse(result):
    try:
        if hasattr(result, 'content') and result.content:
            c = result.content[0]
            if hasattr(c, 'text'):
                try: return json.loads(c.text)
                except: return c.text
        return str(result)
    except: return str(result)

async def main():
    async with AsyncExitStack() as stack:
        # Connect to required servers
        sessions = {}
        sessions["opentargets-server"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/15/Origene-OpenTargets", stack)

        # Execute workflow steps
        # Step 1: Get associated targets
        result_1 = await sessions["opentargets-server"].call_tool("get_associated_targets_by_disease_efoId", arguments={})
        data_1 = parse(result_1)
        print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")

        # Step 2: Get drugs for top target
        result_2 = await sessions["opentargets-server"].call_tool("get_associated_drugs_by_target_name", arguments={})
        data_2 = parse(result_2)
        print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")

        # Step 3: Get publications for top drug
        result_3 = await sessions["opentargets-server"].call_tool("get_publications_by_drug_name", arguments={})
        data_3 = parse(result_3)
        print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")

        # Step 4: Get associated phenotypes
        result_4 = await sessions["opentargets-server"].call_tool("get_associated_phenotypes_by_disease_efoId", arguments={})
        data_4 = parse(result_4)
        print(f"Step 4 result: {json.dumps(data_4, indent=2, ensure_ascii=False)[:500]}")

        # Cleanup
        print("Workflow complete!")

if __name__ == "__main__":
    asyncio.run(main())
```

Related Skills

rare_disease_genetics

370
from SpectrAI-Initiative/InnoClaw

Rare Disease Genetic Analysis - Analyze rare disease genetics: Monarch phenotype-disease mapping, ClinVar variants, NCBI gene data, and OpenTargets. Use this skill for rare disease genetics tasks involving get HPO ID by phenotype get joint associated diseases by HPO ID list clinvar search get associated targets by disease efoId. Combines 4 tools from 3 SCP server(s).

opentargets-disease-target

370
from SpectrAI-Initiative/InnoClaw

Retrieve disease-associated targets from Open Targets using disease EFO IDs to identify therapeutic targets.

oceanographic-seawater-properties

370
from SpectrAI-Initiative/InnoClaw

Calculate seawater thermodynamic properties using TEOS-10 standard including density, salinity, sound speed, and freezing temperature for oceanography.

infectious_disease_analysis

370
from SpectrAI-Initiative/InnoClaw

Infectious Disease Analysis - Analyze infectious disease: virus data, taxonomy, antimicrobial drugs, and resistance literature. Use this skill for infectious disease tasks involving get virus dataset report get taxonomy get mechanism of action by drug name pubmed search. Combines 4 tools from 3 SCP server(s).

gene_disease_association

370
from SpectrAI-Initiative/InnoClaw

Gene-Disease Association Analysis - Analyze gene-disease associations: NCBI gene metadata, OpenTargets disease associations, TCGA expression, and Monarch phenotypes. Use this skill for medical genetics tasks involving get gene metadata by gene name get associated targets by disease efoId get gene expression across cancers get joint associated diseases by HPO ID list. Combines 4 tools from 4 SCP server(s).

gene-knowledge-integration

370
from SpectrAI-Initiative/InnoClaw

Given a gene symbol (e.g. TPMT), query 3 public databases (ClinGen CAR, PharmGKB, Monarch) to obtain gene registry info, FDA drug labels, clinical annotations, and gene-phenotype associations. Save all results into a JSON file.

disease_protein_profiling

370
from SpectrAI-Initiative/InnoClaw

Disease Protein Profiling - Profile a disease protein: UniProt data, AlphaFold structure, InterPro domains, phenotype associations from Ensembl. Use this skill for medical proteomics tasks involving query uniprot download alphafold structure query interpro get phenotype gene. Combines 4 tools from 2 SCP server(s).

disease_drug_landscape

370
from SpectrAI-Initiative/InnoClaw

Disease-Drug Landscape Analysis - Map the drug landscape for a disease: OpenTargets disease drugs, FDA indications, and clinical studies. Use this skill for drug discovery tasks involving get associated drugs by target name get drug names by indication get clinical studies info by drug name. Combines 3 tools from 2 SCP server(s).

disease_compound_pipeline

370
from SpectrAI-Initiative/InnoClaw

Disease-Specific Compound Screening - Screen compounds for disease: get DLEPS score for disease relevance, predict ADMET, and check drug-likeness. Use this skill for drug discovery tasks involving calculate dleps score pred molecule admet calculate mol drug chemistry get compound by name. Combines 4 tools from 3 SCP server(s).

disease-reversal-prediction

370
from SpectrAI-Initiative/InnoClaw

Predict a molecule's ability to reverse disease states using DLEPS (Disease-Ligand Embedding Projection Score) for drug repositioning and discovery.

wind-site-assessment

370
from SpectrAI-Initiative/InnoClaw

Assess wind energy potential and perform site analysis using atmospheric science calculations.

web_literature_mining

370
from SpectrAI-Initiative/InnoClaw

Scientific Literature Mining - Mine scientific literature: PubMed search, arXiv search, web search, and Tavily deep search. Use this skill for scientific informatics tasks involving pubmed search search literature search web tavily search. Combines 4 tools from 2 SCP server(s).