molclaw-equiscore-docking
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__convert_complex_cif_to_pdb`, `mcp__molclaw-scp__convert_pdb_to_pdbqt_dock`…
Skill by InternScience
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/internscience-molclaw-equiscore-docking
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/molclaw-equiscore-docking
What's inside
- Skill name
molclaw-equiscore-docking- Description
- Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__convert_complex_cif_to_pdb`, `mcp__molclaw-scp__convert_pdb_to_pdbqt_dock`, `mcp__molclaw-scp__convert_smiles_to_format`. End-to-end docking-score ranking using EquiScore for candidate molecules against a target protein.
- License
- MIT
- Metadata
- skill-author: PJLab
- Instructions
- 121 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# 1. EquiScore Docking Ranking Skill
## Invocation
Use the exact tool name and parameter schema exposed by the current harness. Tool names in SDK examples below are raw MCP names, not model-facing aliases. Local files must be uploaded with `molclaw-file-transfer` before a server tool can use them. Repair PDB inputs first when the workflow requires it.
step 1. Retrieve target protein structure (skip if user already provides PDB).
- Use skill `molclaw-protein-structure-retrieve`.
step 2. Optional chain extraction (only if specific chains are required).
```python
response = await client.session.call_tool(
"extract_and_save_chains",
arguments={"pdb_file_path": pdb_path, "chain_ids": chain_ids}
)
result = client.parse_result(response)
pdb_path = result["out_file"]
```
step 3. Fix receptor structure with PDBFixer.
```python
response = await client.session.call_tool(
"fix_pdb",
arguments={
"input_path": pdb_path,
"add_hydrogens": True,
"ph": 7.0,
"remove_heterogens": True,
"remove_water": True,
"replace_nonstandard": True
}
)
result = client.parse_result(response)
fixed_pdb_path = result["output_file"]
```
## 2. EquiScore-based Ranking Flow
step 4. Drug-likeness filtering.
- Keep molecules satisfying: `QED >= 0.2` and `lipinski_rule_of_5_violations <= 2`.
- Always compute from returned `result["metrics"]`; do not use manually copied values.
- Assert `len(metrics) == len(candidate_smiles_list)` before filtering.
```python
response = await client.session.call_tool(
"calculate_mol_drug_chemistry",
arguments={"smiles_list": candidate_smiles_list}
)
result = client.parse_result(response)
metrics = result["metrics"]
filtered_smiles = [
m["smiles"] for m in metrics
if m["qed"] >= 0.2 and m["lipinski_rule_of_5_violations"] <= 2
]
```
step 5. Build EquiScore docking input.
Important:
- EquiScore needs a docking-result SDF (ligand poses relative to receptor).
- Raw SDF converted directly from SMILES is not sufficient for `equiscore_pocket`.
Two valid modes:
- Mode A: user already provides `docking_result_sdf_path` -> use directly.
- Mode B: only SMILES provided -> first generate docking poses using `molecule_docking_quickvina_fullprocess`, then perform a **pose-preserving** PDBQT-to-SDF conversion and set `docking_result_sdf_path` to that converted docked file before continuing to step 6.
The deployed `convert_smiles_to_format` tool accepts SMILES strings or `.smi` files; it does **not** convert an existing docked PDBQT pose. Using it here would regenerate ligand coordinates and lose the receptor-relative pose. Perform the file conversion with a pose-preserving converter such as Open Babel where available, then upload the resulting SDF with `molclaw-file-transfer`. If no such conversion path is available, require an already docked SDF instead of substituting a raw SMILES-derived SDF.
step 6. Run EquiScore pocket extraction first.
- Use `molclaw-equiscore-tool` -> `equiscore_pocket`.
- Before first call, verify tool argument names from schema (`list_tools` + `inputSchema`) if uncertain.
```python
response = await client.session.call_tool(
"equiscore_pocket",
arguments={
"docking_result": docking_result_sdf_path,
"receptor_pdb": fixed_pdb_path,
"pocket_cutoff": None,
"dry_run": False
}
)
pocket_res = client.parse_result(response)
pocket_dir = pocket_res["pocket_dir"]
```
If `split_sdf_count == 0` or `pocket_item_count == 0`, fix docking input first and rerun this step.
step 7. Run EquiScore screening.
- Use `molclaw-equiscore-tool` -> `equiscore_screen`.
```python
response = await client.session.call_tool(
"equiscore_screen",
arguments={
"pocket_dir": pocket_dir,
"ngpu": 1,
"batch_size": 128,
"num_workers": 8,
"multi_pose": False,
"pose_num": 1,
"debug": False,
"dry_run": False
}
)
screen_res = client.parse_result(response)
predictions_path = screen_res["predictions_path"]
score_field = screen_res.get("score_field")
```
step 8. Rank and return.
- Prefer direct CSV read from `predictions_path`.
- If direct read fails, use `molclaw-file-transfer` (`server_file_to_base64`) to fetch CSV and parse locally.
- Preserve `ligand_to_smiles_map`; do not assume CSV always has a `smiles` column.From InternScience/MolClaw, MIT.
More from InternScience/MolClaw
- 0.618score
molclaw-mmpbsa-toolkit
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__analyze_mmpbsa`, `mcp__molclaw-scp__gmx_mmpbsa_propro`, `mcp__molclaw-scp__prepare_complex`…
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-admet
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__pred_mol_admet`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-drug-likeness
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__calculate_mol_drug_chemistry`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-compound-retrieve
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__retrieve_smiles_by_compoundname`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-chai1-predict
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__chai1_predict`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-dleps
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__calculate_dleps_score`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-chroma-toolkit
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__chroma_complex`, `mcp__molclaw-scp__chroma_monomer`, `mcp__molclaw-scp__chroma_symmetry`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-equiscore-tool
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__equiscore_pipeline`, `mcp__molclaw-scp__equiscore_pocket`, `mcp__molclaw-scp__equiscore_screen`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-esmfold
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__pred_protein_structure_esmfold`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-evobind-tool
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__evobind_tool`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-extract-chains
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__extract_and_save_chains`, `mcp__molclaw-scp__extract_pdb_chains`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-boltz2-affinity
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__pred_binding_affinity_boltz2`.
SkillBFreshness: B★ 38Claude Code +9
Signals
- Stars
- 38
- Forks
- 5
- Open issues
- 0
- Last commit (this folder)
- Sep 24, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/InternScience/MolClaw
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from InternScience
- 0.618score
molclaw-mmpbsa-toolkit
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__analyze_mmpbsa`, `mcp__molclaw-scp__gmx_mmpbsa_propro`, `mcp__molclaw-scp__prepare_complex`…
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-boltz2-affinity
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__pred_binding_affinity_boltz2`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-chai1-predict
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__chai1_predict`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-chroma-toolkit
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__chroma_complex`, `mcp__molclaw-scp__chroma_monomer`, `mcp__molclaw-scp__chroma_symmetry`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-compound-retrieve
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__retrieve_smiles_by_compoundname`.
SkillBFreshness: B★ 38Claude Code +9 - 0.613score
molclaw-admet
InternScience
Use when calling these MolClaw MCP tools: `mcp__molclaw-scp__pred_mol_admet`.
SkillBFreshness: B★ 38Claude Code +9
Cite this page
molclaw-equiscore-docking skill. Agent Mart. https://agentmart.dev/skills/internscience-molclaw-equiscore-docking (last updated 2026-10-24)