Skip to main content

genome-annotation

Genome Annotation Pipeline - Annotate a genome: NCBI annotation report, Ensembl gene lookup, UCSC tracks, and KEGG pathway links. Use this skill for genomics tasks involving get genome annotation report get lookup symbol list tracks kegg link. Combines 4 tools from 4 SCP server(s).

Quellinformationen

Repository
InternScience/scp
Letzte Quellaktivität
3. März 2026 um 09:51
Erkannte Sprache von SKILL.md
Englisch
Sterne
173
Forks
11

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
genome_annotation
description
Genome Annotation Pipeline - Annotate a genome: NCBI annotation report, Ensembl gene lookup, UCSC tracks, and KEGG pathway links. Use this skill for genomics tasks involving get genome annotation report get lookup symbol list tracks kegg link. Combines 4 tools from 4 SCP server(s).
# Genome Annotation Pipeline **Discipline**: Genomics | **Tools Used**: 4 | **Servers**: 4 ## Description Annotate a genome: NCBI annotation report, Ensembl gene lookup, UCSC tracks, and KEGG pathway links. ## Tools Used - **`get_genome_annotation_report`** from `ncbi-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI` - **`get_lookup_symbol`** from `ensembl-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl` - **`list_tracks`** from `ucsc-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/13/Origene-UCSC` - **`kegg_link`** from `kegg-server` (streamable-http) - `https://scp.intern-ai.org.cn/api/v1/mcp/5/Origene-KEGG` ## Workflow 1. Get NCBI genome annotation 2. Look up gene in Ensembl 3. List UCSC tracks 4. Link to KEGG pathways ## Test Case ### Input ```json { "accession": "GCF_000001405.40", "gene_symbol": "BRCA1", "genome": "hg38" } ``` ### Expected Steps 1. Get NCBI genome annotation 2. Look up gene in Ensembl 3. List UCSC tracks 4. Link to KEGG pathways ## Usage Example > **Note:** Replace `<YOUR_SCP_HUB_API_KEY>` 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 mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client from mcp.client.sse import sse_client SERVERS = { "ncbi-server": "https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI", "ensembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl", "ucsc-server": "https://scp.intern-ai.org.cn/api/v1/mcp/13/Origene-UCSC", "kegg-server": "https://scp.intern-ai.org.cn/api/v1/mcp/5/Origene-KEGG" } async def connect(url, transport_type): transport = streamablehttp_client(url=url, headers={"SCP-HUB-API-KEY": "<YOUR_SCP_HUB_API_KEY>"}) read, write, _ = await transport.__aenter__() ctx = ClientSession(read, write) session = await ctx.__aenter__() await session.initialize() return session, ctx, transport 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(): # Connect to required servers sessions = {} sessions["ncbi-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI", "streamable-http") sessions["ensembl-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl", "streamable-http") sessions["ucsc-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/13/Origene-UCSC", "streamable-http") sessions["kegg-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/5/Origene-KEGG", "streamable-http") # Execute workflow steps # Step 1: Get NCBI genome annotation result_1 = await sessions["ncbi-server"].call_tool("get_genome_annotation_report", arguments={}) data_1 = parse(result_1) print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}") # Step 2: Look up gene in Ensembl result_2 = await sessions["ensembl-server"].call_tool("get_lookup_symbol", arguments={}) data_2 = parse(result_2) print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}") # Step 3: List UCSC tracks result_3 = await sessions["ucsc-server"].call_tool("list_tracks", arguments={}) data_3 = parse(result_3) print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}") # Step 4: Link to KEGG pathways result_4 = await sessions["kegg-server"].call_tool("kegg_link", 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()) ```
Auf GitHub ansehen