drug_target_identification

Drug Target Identification Pipeline - Identify drug targets for a disease by querying OpenTargets for associated targets, then retrieve detailed target info from ChEMBL and protein data from UniProt. Use this skill for drug discovery tasks involving get associated targets by disease efoId get target by name get general info by protein or gene name. Combines 3 tools from 3 SCP server(s).

Best use case

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

Drug Target Identification Pipeline - Identify drug targets for a disease by querying OpenTargets for associated targets, then retrieve detailed target info from ChEMBL and protein data from UniProt. Use this skill for drug discovery tasks involving get associated targets by disease efoId get target by name get general info by protein or gene name. Combines 3 tools from 3 SCP server(s).

Teams using drug_target_identification 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/drug_target_identification/SKILL.md --create-dirs "https://raw.githubusercontent.com/SpectrAI-Initiative/InnoClaw/main/.claude/skills/drug_target_identification/SKILL.md"

Manual Installation

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

How drug_target_identification Compares

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

Frequently Asked Questions

What does this skill do?

Drug Target Identification Pipeline - Identify drug targets for a disease by querying OpenTargets for associated targets, then retrieve detailed target info from ChEMBL and protein data from UniProt. Use this skill for drug discovery tasks involving get associated targets by disease efoId get target by name get general info by protein or gene name. Combines 3 tools from 3 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

# Drug Target Identification Pipeline

**Discipline**: Drug Discovery | **Tools Used**: 3 | **Servers**: 3

## Description

Identify drug targets for a disease by querying OpenTargets for associated targets, then retrieve detailed target info from ChEMBL and protein data from UniProt.

## 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_target_by_name`** from `chembl-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL`
- **`get_general_info_by_protein_or_gene_name`** from `uniprot-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/10/Origene-UniProt`

## Workflow

1. Query OpenTargets for lung cancer targets
2. Get EGFR target details from ChEMBL
3. Get EGFR protein info from UniProt

## Test Case

### Input
```json
{
    "disease_efo_id": "EFO_0000311",
    "disease_name": "lung cancer"
}
```

### Expected Steps
1. Query OpenTargets for lung cancer targets
2. Get EGFR target details from ChEMBL
3. Get EGFR protein info from UniProt

## 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",
    "chembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL",
    "uniprot-server": "https://scp.intern-ai.org.cn/api/v1/mcp/10/Origene-UniProt"
}

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)
        sessions["chembl-server"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL", stack)
        sessions["uniprot-server"] = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/10/Origene-UniProt", stack)

        # Execute workflow steps
        # Step 1: Query OpenTargets for lung cancer 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 EGFR target details from ChEMBL
        result_2 = await sessions["chembl-server"].call_tool("get_target_by_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 EGFR protein info from UniProt
        result_3 = await sessions["uniprot-server"].call_tool("get_general_info_by_protein_or_gene_name", arguments={})
        data_3 = parse(result_3)
        print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")

        # Cleanup
        print("Workflow complete!")

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

Related Skills

protein_drug_interaction

370
from SpectrAI-Initiative/InnoClaw

Protein-Drug Interaction Profiling - Profile protein-drug interactions: protein properties, drug structure, binding affinity prediction, and interaction data. Use this skill for molecular pharmacology tasks involving calculate protein sequence properties ChemicalStructureAnalyzer boltz binding affinity PredictDrugTargetInteraction. Combines 4 tools from 4 SCP server(s).

pediatric_drug_safety

370
from SpectrAI-Initiative/InnoClaw

Pediatric Drug Safety Review - Evaluate pediatric drug safety: pediatric use info, child safety, dosage forms, and overdosage info from FDA. Use this skill for pediatric pharmacology tasks involving get pediatric use info by drug name get child safety info by drug name get dosage forms and strengths by drug name get overdosage info by drug name. Combines 4 tools from 1 SCP server(s).

orphan_drug_analysis

370
from SpectrAI-Initiative/InnoClaw

Orphan Drug & Rare Disease Analysis - Analyze orphan drugs: Monarch disease phenotypes, OpenTargets targets, FDA drug data, and clinical studies. Use this skill for orphan drug development tasks involving get joint associated diseases by HPO ID list get associated targets by disease efoId get clinical studies info by drug name pubmed search. Combines 4 tools from 4 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.

gene_variant_drug_nexus

370
from SpectrAI-Initiative/InnoClaw

Gene-Variant-Drug Nexus - Connect gene variants to drugs: variant effect, gene-disease link, drug associations, and clinical evidence. Use this skill for translational genomics tasks involving get vep hgvs get associated targets by disease efoId get associated drugs by target name clinvar search. Combines 4 tools from 3 SCP server(s).

gene_to_drug_pipeline

370
from SpectrAI-Initiative/InnoClaw

Gene-to-Drug Discovery Pipeline - Full gene-to-drug pipeline: gene lookup, protein structure, binding pocket, virtual screening, and drug-likeness. Use this skill for translational medicine tasks involving get gene metadata by gene name pred protein structure esmfold run fpocket boltz binding affinity calculate mol drug chemistry. Combines 5 tools from 3 SCP server(s).

gene_therapy_target

370
from SpectrAI-Initiative/InnoClaw

Gene Therapy Target Analysis - Analyze gene therapy target: gene info, variant pathogenicity, protein structure, and clinical evidence. Use this skill for gene therapy tasks involving get gene metadata by gene name get vep hgvs Protein structure prediction ESMFold clinvar search. Combines 4 tools from 4 SCP server(s).

fda-drug-risk-assessment

370
from SpectrAI-Initiative/InnoClaw

Assess drug risks and adverse effects using FDA drug database to retrieve safety information and risk profiles.

epigenetics_drug

370
from SpectrAI-Initiative/InnoClaw

Epigenetics & Drug Response - Link epigenetics to drug response: gene regulation, variant effects, drug interactions, and expression. Use this skill for epigenetic pharmacology tasks involving get overlap region get vep hgvs get drug interactions by drug name get gene expression across cancers. Combines 4 tools from 3 SCP server(s).

drugsda-target-retrieve

370
from SpectrAI-Initiative/InnoClaw

Search the protein information from the input gene name and downloads the optimal PDB or AlphaFold structures.

drugsda-rgroup-sampling

370
from SpectrAI-Initiative/InnoClaw

Generate new molecules sampling from the input scaffold.

drugsda-prosst

370
from SpectrAI-Initiative/InnoClaw

Given a protein sequence and its structure, employ ProSST model to predict mutation effects and obtain the top-k mutated sequences.