<< All versions
Skill v1.0.1
currentAutomated scan100/100internscience/scp/cell-line-assay-analysis
1 files
──Details
PublishedJune 14, 2026 at 12:59 AM
Content Hashsha256:04e9eec05ed55ff1...
Git SHAcea539856403
Bump Typepatch
──Files
Files (1 file, 3.7 KB)
SKILL.md3.7 KBactive
SKILL.md · 111 lines · 3.7 KB
version: "1.0.1" name: cell_line_assay_analysis description: "Cell Line Assay Analysis - Analyze cell line assays: ChEMBL cell line info, assay search, activity data, and target info. Use this skill for cell biology tasks involving get cell line by id search assay search activity get target by name. Combines 4 tools from 1 SCP server(s)."
Cell Line Assay Analysis
Discipline: Cell Biology | Tools Used: 4 | Servers: 1
Description
Analyze cell line assays: ChEMBL cell line info, assay search, activity data, and target info.
Tools Used
- `get_cell_line_by_id` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL - `search_assay` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL - `search_activity` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL - `get_target_by_name` from
chembl-server(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/4/Origene-ChEMBL
Workflow
- Get cell line info
- Search assays for cell line
- Search activity data
- Get target info
Test Case
Input
json
{"cell_id": 1,"assay_query": "MCF7","target": "estrogen receptor"}
Expected Steps
- Get cell line info
- Search assays for cell line
- Search activity data
- Get target info
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"}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")# Execute workflow steps# Step 1: Get cell line inforesult_1 = await sessions["chembl-server"].call_tool("get_cell_line_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: Search assays for cell lineresult_2 = await sessions["chembl-server"].call_tool("search_assay", arguments={})data_2 = parse(result_2)print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")# Step 3: Search activity dataresult_3 = await sessions["chembl-server"].call_tool("search_activity", arguments={})data_3 = parse(result_3)print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")# Step 4: Get target inforesult_4 = await sessions["chembl-server"].call_tool("get_target_by_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())