drugsda-admet

Predict the ADMET (absorption, distribution, metabolism, excretion, and toxicity) properties of the input molecules.

157 stars

Best use case

drugsda-admet is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Predict the ADMET (absorption, distribution, metabolism, excretion, and toxicity) properties of the input molecules.

Teams using drugsda-admet should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/drugsda-admet/SKILL.md --create-dirs "https://raw.githubusercontent.com/InternScience/DrClaw/main/drclaw/agent_hub/templates/pharmacy/skills/drugsda-admet/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/drugsda-admet/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How drugsda-admet Compares

Feature / Agentdrugsda-admetStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Predict the ADMET (absorption, distribution, metabolism, excretion, and toxicity) properties of the input molecules.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Molecular ADMET Properties Prediction

## Usage

### 1. MCP Server Definition

```python
import json
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession

class DrugSDAClient:    
    def __init__(self, server_url: str):
        self.server_url = server_url
        self.session = None
        
    async def connect(self):
        print(f"server url: {self.server_url}")
        try:
            self.transport = streamablehttp_client(
                url=self.server_url,
                headers={"SCP-HUB-API-KEY": "sk-a0033dde-b3cd-413b-adbe-980bc78d6126"}
            )
            self.read, self.write, self.get_session_id = await self.transport.__aenter__()
            
            self.session_ctx = ClientSession(self.read, self.write)
            self.session = await self.session_ctx.__aenter__()

            await self.session.initialize()
            session_id = self.get_session_id()
            
            print(f"✓ connect success")
            return True
            
        except Exception as e:
            print(f"✗ connect failure: {e}")
            import traceback
            traceback.print_exc()
            return False
    
    async def disconnect(self):
        try:
            if self.session:
                await self.session_ctx.__aexit__(None, None, None)
            if hasattr(self, 'transport'):
                await self.transport.__aexit__(None, None, None)
            print("✓ already disconnect")
        except Exception as e:
            print(f"✗ disconnect error: {e}")
    
    def parse_result(self, result):
        try:
            if hasattr(result, 'content') and result.content:
                content = result.content[0]
                if hasattr(content, 'text'):
                    return json.loads(content.text)
            return str(result)
        except Exception as e:
            return {"error": f"parse error: {e}", "raw": str(result)}
```

### 2. ADMET Prediction

The description of tool *pred_mol_admet*.

```tex
Predict the ADMET (absorption, distribution, metabolism, excretion, and toxicity) properties of the input molecules from smiles list or file.
Args:
    smiles_list (List[str]): List of input SMILES strings, (e.g., ["N[C@@H](Cc1ccc(O)cc1)C(=O)O", "CC(C)C1=CC=CC=C1"]), default is []
    smiles_file (str): Path to a file containing SMILES strings (TXT or CSV format), default is ''
Return:
    status (str): success/error
    msg (str): message
    json_content (List[Dcit]): List of dict, each containing the keys 'smiles', 'physicochemical', 'druglikeness' and 'admet_predictions', where 'admet_predictions' includes over 90 key-value pairs representing various molecular properties 
    json_file (str): Path to the json file saving the ADMET prediction results
```

How to use tool *pred_mol_admet* :

```python
client = DrugSDAClient("https://scp.intern-ai.org.cn/api/v1/mcp/2/DrugSDA-Tool")
if not await client.connect():
    print("connection failed")
    return

response = await client.session.call_tool(
    "pred_mol_admet",
    arguments={
        "smiles_list": smiles_list,
        "smiles_file": ''
    }
)
result = client.parse_result(response)
admet_predictions = result["json_content"]

await client.disconnect() 
```

Related Skills

admet_druglikeness_report

157
from InternScience/DrClaw

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).

drugsda-target-retrieve

157
from InternScience/DrClaw

Search the protein information from the input gene name and downloads the optimal PDB or AlphaFold structures.

drugsda-rgroup-sampling

157
from InternScience/DrClaw

Generate new molecules sampling from the input scaffold.

drugsda-prosst

157
from InternScience/DrClaw

Given a protein sequence and its structure, employ ProSST model to predict mutation effects and obtain the top-k mutated sequences.

drugsda-peptide-sampling

157
from InternScience/DrClaw

Generate new peptide molecules sampling from the input peptide sequence.

drugsda-p2rank

157
from InternScience/DrClaw

No description provided.

drugsda-mol2mol-sampling

157
from InternScience/DrClaw

Generate new molecules sampling from the input molecule.

drugsda-mol-similarity

157
from InternScience/DrClaw

Compute the Tanimoto similarities between a target molecule and a list of candidate molecules using Morgan fingerprints.

drugsda-mol-properties

157
from InternScience/DrClaw

Calculate different types of molecular properties based on SMILES strings, covering basic physicochemical properties, hydrophobicity, hydrogen bonding capability, molecular complexity, topological structures, charge distribution, and custom complexity metrics, respectively.

drugsda-linker-sampling

157
from InternScience/DrClaw

Generate new molecules sampling from the input two warhead fragments.

drugsda-file-transfer

157
from InternScience/DrClaw

Implement data transmission between the local computer and the MCP Server using Base64 encoding

drugsda-esmfold

157
from InternScience/DrClaw

Use ESMFold model to predict 3D structure of the input protein sequence.