<< All versions
Skill v1.0.0
currentAutomated scan100/100internscience/scp/admet-druglikeness-report
──Details
PublishedJune 16, 2026 at 11:17 PM
Content Hashsha256:055d66b2a6cacdc8...
Git SHAcea539856403
──Files
Files (1 file, 4.4 KB)
SKILL.md4.4 KBactive
SKILL.md · 119 lines · 4.4 KB
version: "1.0.0" name: admet_druglikeness_report description: "ADMET & Drug-Likeness Report - Generate comprehensive ADMET and drug-likeness report: molecular properties, H-bond analysis, hydrophobicity, topology, and ADMET prediction. Use this skill for medicinal chemistry tasks involving calculate mol basic info calculate mol hbond calculate mol hydrophobicity calculate mol topology pred molecule admet. Combines 5 tools from 2 SCP server(s)."
ADMET & Drug-Likeness Report
Discipline: Medicinal Chemistry | Tools Used: 5 | Servers: 2
Description
Generate comprehensive ADMET and drug-likeness report: molecular properties, H-bond analysis, hydrophobicity, topology, and ADMET prediction.
Tools Used
- `calculate_mol_basic_info` from
server-2(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool - `calculate_mol_hbond` from
server-2(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool - `calculate_mol_hydrophobicity` from
server-2(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool - `calculate_mol_topology` from
server-2(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool - `pred_molecule_admet` from
server-3(streamable-http) -https://scp.intern-ai.org.cn/api/v1/mcp/3/DrugSDA-Model
Workflow
- Calculate basic molecular info
- Analyze H-bonds
- Compute hydrophobicity
- Calculate topology descriptors
- Predict ADMET
Test Case
Input
json
{"smiles": "c1ccc(CC(=O)O)cc1"}
Expected Steps
- Calculate basic molecular info
- Analyze H-bonds
- Compute hydrophobicity
- Calculate topology descriptors
- Predict ADMET
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 = {"server-2": "https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool","server-3": "https://scp.intern-ai.org.cn/api/v1/mcp/3/DrugSDA-Model"}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["server-2"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool", "streamable-http")sessions["server-3"], _, _ = await connect("https://scp.intern-ai.org.cn/api/v1/mcp/3/DrugSDA-Model", "streamable-http")# Execute workflow steps# Step 1: Calculate basic molecular inforesult_1 = await sessions["server-2"].call_tool("calculate_mol_basic_info", arguments={})data_1 = parse(result_1)print(f"Step 1 result: {json.dumps(data_1, indent=2, ensure_ascii=False)[:500]}")# Step 2: Analyze H-bondsresult_2 = await sessions["server-2"].call_tool("calculate_mol_hbond", arguments={})data_2 = parse(result_2)print(f"Step 2 result: {json.dumps(data_2, indent=2, ensure_ascii=False)[:500]}")# Step 3: Compute hydrophobicityresult_3 = await sessions["server-2"].call_tool("calculate_mol_hydrophobicity", arguments={})data_3 = parse(result_3)print(f"Step 3 result: {json.dumps(data_3, indent=2, ensure_ascii=False)[:500]}")# Step 4: Calculate topology descriptorsresult_4 = await sessions["server-2"].call_tool("calculate_mol_topology", arguments={})data_4 = parse(result_4)print(f"Step 4 result: {json.dumps(data_4, indent=2, ensure_ascii=False)[:500]}")# Step 5: Predict ADMETresult_5 = await sessions["server-3"].call_tool("pred_molecule_admet", arguments={})data_5 = parse(result_5)print(f"Step 5 result: {json.dumps(data_5, indent=2, ensure_ascii=False)[:500]}")# Cleanupprint("Workflow complete!")if __name__ == "__main__":asyncio.run(main())