drugsda-drug-likeness
Compute the drug-likeness metrics (QED score and Number of violations of Lipinski's Rule of Five) of the input candidate molecules (SMILES format).
Best use case
drugsda-drug-likeness is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Compute the drug-likeness metrics (QED score and Number of violations of Lipinski's Rule of Five) of the input candidate molecules (SMILES format).
Teams using drugsda-drug-likeness 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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/drugsda-drug-likeness/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How drugsda-drug-likeness Compares
| Feature / Agent | drugsda-drug-likeness | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Compute the drug-likeness metrics (QED score and Number of violations of Lipinski's Rule of Five) of the input candidate molecules (SMILES format).
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 Drug-likeness Metrics Calculation
## Usage
### 1. MCP Server Definition
```python
import json
from contextlib import AsyncExitStack
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._stack = AsyncExitStack()
await self._stack.__aenter__()
self.read, self.write, self.get_session_id = await self._stack.enter_async_context(self.transport)
self.session_ctx = ClientSession(self.read, self.write)
self.session = await self._stack.enter_async_context(self.session_ctx)
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):
"""Disconnect from server"""
try:
if hasattr(self, '_stack'):
await self._stack.aclose()
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. Drug-likeness Calculation
The description of tool *calculate_mol_drug_chemistry*.
```tex
Compute key drug-likeness metrics for each SMILES.
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"])
Return:
status (str): success/error
msg (str): message
metrics (List[dict]): List of dict, each containing feature keys.
--smiles (str): A SMILES string of smiles_list
--qed (float): Quantitative Estimate of Drug-likeness (QED) score
--lipinski_rule_of_5_violations (int): Number of violations of Lipinski's Rule of Five
```
How to use tool *calculate_mol_drug_chemistry* :
```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(
"calculate_mol_drug_chemistry",
arguments={
"smiles_list": smiles_list
}
)
result = client.parse_result(response)
druglikeness_metrics = result["metrics"]
await client.disconnect()
```Related Skills
protein_drug_interaction
Protein-Drug Interaction Profiling - Profile protein-drug interactions: protein properties, drug structure, binding affinity prediction, and interaction data. Use this skill for molecular pharmacology tasks involving calculate protein sequence properties ChemicalStructureAnalyzer boltz binding affinity PredictDrugTargetInteraction. Combines 4 tools from 4 SCP server(s).
pediatric_drug_safety
Pediatric Drug Safety Review - Evaluate pediatric drug safety: pediatric use info, child safety, dosage forms, and overdosage info from FDA. Use this skill for pediatric pharmacology tasks involving get pediatric use info by drug name get child safety info by drug name get dosage forms and strengths by drug name get overdosage info by drug name. Combines 4 tools from 1 SCP server(s).
orphan_drug_analysis
Orphan Drug & Rare Disease Analysis - Analyze orphan drugs: Monarch disease phenotypes, OpenTargets targets, FDA drug data, and clinical studies. Use this skill for orphan drug development tasks involving get joint associated diseases by HPO ID list get associated targets by disease efoId get clinical studies info by drug name pubmed search. Combines 4 tools from 4 SCP server(s).
gene_variant_drug_nexus
Gene-Variant-Drug Nexus - Connect gene variants to drugs: variant effect, gene-disease link, drug associations, and clinical evidence. Use this skill for translational genomics tasks involving get vep hgvs get associated targets by disease efoId get associated drugs by target name clinvar search. Combines 4 tools from 3 SCP server(s).
gene_to_drug_pipeline
Gene-to-Drug Discovery Pipeline - Full gene-to-drug pipeline: gene lookup, protein structure, binding pocket, virtual screening, and drug-likeness. Use this skill for translational medicine tasks involving get gene metadata by gene name pred protein structure esmfold run fpocket boltz binding affinity calculate mol drug chemistry. Combines 5 tools from 3 SCP server(s).
fda-drug-risk-assessment
Assess drug risks and adverse effects using FDA drug database to retrieve safety information and risk profiles.
epigenetics_drug
Epigenetics & Drug Response - Link epigenetics to drug response: gene regulation, variant effects, drug interactions, and expression. Use this skill for epigenetic pharmacology tasks involving get overlap region get vep hgvs get drug interactions by drug name get gene expression across cancers. Combines 4 tools from 3 SCP server(s).
drugsda-target-retrieve
Search the protein information from the input gene name and downloads the optimal PDB or AlphaFold structures.
drugsda-rgroup-sampling
Generate new molecules sampling from the input scaffold.
drugsda-prosst
Given a protein sequence and its structure, employ ProSST model to predict mutation effects and obtain the top-k mutated sequences.
drugsda-peptide-sampling
Generate new peptide molecules sampling from the input peptide sequence.
drugsda-p2rank
No description provided.