<< All versions
Skill v1.0.0
currentAutomated scan100/100internscience/scp/tissue-specific-analysis
──Details
PublishedJune 16, 2026 at 11:17 PM
Content Hashsha256:4dc48b1fab81460a...
Git SHAcea539856403
──Files
Files (1 file, 4.5 KB)
SKILL.md4.5 KBactive
SKILL.md · 116 lines · 4.5 KB
version: "1.0.0" name: tissue_specific_analysis description: "Tissue-Specific Expression Analysis - Analyze tissue-specific expression: ChEMBL tissue data, TCGA cancer expression, Ensembl gene info, and NCBI gene data. Use this skill for tissue biology tasks involving get tissue by id get gene expression across cancers get lookup symbol get gene metadata by gene name. Combines 4 tools from 4 SCP server(s)."
Tissue-Specific Expression Analysis
Discipline: Tissue Biology | Tools Used: 4 | Servers: 4
Description
Analyze tissue-specific expression: ChEMBL tissue data, TCGA cancer expression, Ensembl gene info, and NCBI gene data.
Tools Used
- `get_tissue_by_id` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL - `get_gene_expression_across_cancers` from
tcga-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/11/Origene-TCGA - `get_lookup_symbol` from
ensembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl - `get_gene_metadata_by_gene_name` from
ncbi-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI
Workflow
- Get ChEMBL tissue info
- Get TCGA cancer expression
- Get Ensembl gene info
- Get NCBI gene metadata
Test Case
Input
json
{"gene": "EGFR","tissue_id": "CHEMBL3559723"}
Expected Steps
- Get ChEMBL tissue info
- Get TCGA cancer expression
- Get Ensembl gene info
- Get NCBI gene metadata
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 = {"chembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL","tcga-server": "https://scp.intern-ai.org.cn/api/v1/mcp/11/Origene-TCGA","ensembl-server": "https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl","ncbi-server": "https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI"}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["chembl-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL", "streamable-http")sessions["tcga-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/11/Origene-TCGA", "streamable-http")sessions["ensembl-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl", "streamable-http")sessions["ncbi-server"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI", "streamable-http")# Execute workflow steps# Step 1: Get ChEMBL tissue inforesult_1 = await sessions["chembl-server"].call_tool("get_tissue_by_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 TCGA cancer expressionresult_2 = await sessions["tcga-server"].call_tool("get_gene_expression_across_cancers", arguments={})data_2 = parse(result_2)print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")# Step 3: Get Ensembl gene inforesult_3 = await sessions["ensembl-server"].call_tool("get_lookup_symbol", arguments={})data_3 = parse(result_3)print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")# Step 4: Get NCBI gene metadataresult_4 = await sessions["ncbi-server"].call_tool("get_gene_metadata_by_gene_name", 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())