| name | gene_therapy_target |
| description | 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). |
| i18n | {"zh":{"description":"基因治疗靶点分析。"}} |
Gene Therapy Target Analysis
Discipline: Gene Therapy | Tools Used: 4 | Servers: 4
Description
Analyze gene therapy target: gene info, variant pathogenicity, protein structure, and clinical evidence.
Tools Used
get_gene_metadata_by_gene_name from ncbi-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/9/Origene-NCBI
get_vep_hgvs from ensembl-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/12/Origene-Ensembl
Protein_structure_prediction_ESMFold from server-1 (sse) - https://scp.intern-ai.org.cn/api/v1/mcp/1/VenusFactory
clinvar_search from search-server (streamable-http) - https://scp.intern-ai.org.cn/api/v1/mcp/7/Origene-Search
Workflow
- Get gene info
- Predict variant effect
- Predict protein structure
- Search ClinVar pathogenicity
Test Case
Input
{
"gene": "CFTR",
"hgvs": "ENSP00000003084.6:p.Phe508del"
}
Expected Steps
- Get gene info
- Predict variant effect
- Predict protein structure
- Search ClinVar pathogenicity
Usage Example
Note: Replace <YOUR_SCP_HUB_API_KEY> with your own SCP Hub API Key. You can obtain one from the SCP Platform.
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",
"server-1": "https://scp.intern-ai.org.cn/api/v1/mcp/1/VenusFactory",
"search-server": "https://scp.intern-ai.org.cn/api/v1/mcp/7/Origene-Search"
}
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)
: (result)
():
sessions = {}
sessions[], _, _ = connect(, )
sessions[], _, _ = connect(, )
sessions[], _, _ = connect(, )
sessions[], _, _ = connect(, )
result_1 = sessions[].call_tool(, arguments={})
data_1 = parse(result_1)
()
result_2 = sessions[].call_tool(, arguments={})
data_2 = parse(result_2)
()
result_3 = sessions[].call_tool(, arguments={})
data_3 = parse(result_3)
()
result_4 = sessions[].call_tool(, arguments={})
data_4 = parse(result_4)
()
()
__name__ == :
asyncio.run(main())