<< All versions
Skill v1.0.0
currentAutomated scan100/100internscience/scp/transcriptome-analysis
──Details
PublishedJune 16, 2026 at 11:16 PM
Content Hashsha256:0c0d09f61808389b...
Git SHAcea539856403
──Files
Files (1 file, 4.0 KB)
SKILL.md4.0 KBactive
SKILL.md · 113 lines · 4.0 KB
version: "1.0.0" name: transcriptome_analysis description: "Transcriptome Analysis Pipeline - Analyze transcriptome: Ensembl transcript lookup, sequence retrieval, haplotype analysis, and UCSC track data. Use this skill for transcriptomics tasks involving get lookup id get sequence id get transcript haplotypes get track data. Combines 4 tools from 2 SCP server(s)."
Transcriptome Analysis Pipeline
Discipline: Transcriptomics | Tools Used: 4 | Servers: 2
Description
Analyze transcriptome: Ensembl transcript lookup, sequence retrieval, haplotype analysis, and UCSC track data.
Tools Used
- `get_lookup_id` from
ensembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl - `get_sequence_id` from
ensembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl - `get_transcript_haplotypes` from
ensembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl - `get_track_data` from
ucsc-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/13/Origene-UCSC
Workflow
- Look up transcript details
- Get transcript sequence
- Analyze transcript haplotypes
- Get UCSC track data
Test Case
Input
json
{"transcript_id": "ENST00000269305","species": "homo_sapiens","genome": "hg38"}
Expected Steps
- Look up transcript details
- Get transcript sequence
- Analyze transcript haplotypes
- Get UCSC track data
Usage Example
Note: Replace<YOUR_SCP_HUB_API_KEY>with your own SCP Hub API Key. You can obtain one from the SCP Platform.
python
import asyncioimport jsonfrom mcp import ClientSessionfrom mcp.client.streamable_http import streamablehttp_clientfrom mcp.client.sse import sse_clientSERVERS = {"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"}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, transportdef 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.textreturn str(result)except: return str(result)async def main():# Connect to required serverssessions = {}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")# Execute workflow steps# Step 1: Look up transcript detailsresult_1 = await sessions["ensembl-server"].call_tool("get_lookup_id", arguments={})data_1 = parse(result_1)print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")# Step 2: Get transcript sequenceresult_2 = await sessions["ensembl-server"].call_tool("get_sequence_id", arguments={})data_2 = parse(result_2)print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")# Step 3: Analyze transcript haplotypesresult_3 = await sessions["ensembl-server"].call_tool("get_transcript_haplotypes", arguments={})data_3 = parse(result_3)print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")# Step 4: Get UCSC track dataresult_4 = await sessions["ucsc-server"].call_tool("get_track_data", arguments={})data_4 = parse(result_4)print(f"Step 4 result: {json.dumps(data_4, indent=2, ensure_ascii=False)[:500]}")# Cleanupprint("Workflow complete!")if __name__ == "__main__":asyncio.run(main())