Install
$ agentstack add skill-internscience-molclaw-molclaw-protein-protein-mmpbsa ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Protein-Protein MM/PBSA Workflow (Execution-Ready)
Note:
- Local files are not directly accessible by the server. Please upload them to the server using
molclaw-file-transferbefore execution. - For PDB file inputs, it is recommended to preprocess them using
molclaw-pdbfixerbefore execution. - Please refer to skill
molclaw-scp-serverto complete tool invocation.
This skill guides agents through the protein-protein MM/GB(PB)SA pipeline with enforced MCP handoffs, file validation, and optional analysis.
Canonical Toolchain & References
- Step 1 —
fix_pdb([referencefixpdb.md](referencefixpdb.md)): repair the protein-protein complex and emit a cleaned PDB. - Step 2 —
prepare_protein_md([referenceprepareproteinmd.md](referenceprepareproteinmd.md)): build the protein-only MD workspace with the requested MD duration. - Step 3 —
gmx_mmpbsa_propro([referencegmxmmpbsapropro.md](referencegmxmmpbsapropro.md)): compute GB/PB binding energies inside the prepared workspace. - Optional Step 4 —
analyze_mmpbsa([referenceanalyzemmpbsa.md](referenceanalyzemmpbsa.md)): aggregate the CSV/plot outputs into a final report.
SCP Tool Names (must use)
fix_pdbprepare_protein_mdgmx_mmpbsa_proproanalyze_mmpbsa(optional)
Entry / Data Handover
Pre-flight checks
- Confirm the raw protein-protein complex PDB and associated restraints are accessible before calling
fix_pdb. - Decide whether
enable_analysiswill turn on Step 4 ahead ofgmx_mmpbsa_propro. - Keep
dry_run=Falsefor any production-grade binding energy request; use dry run only during validation loops. - Prefer a validated quick profile first (
md_time=20,nvt_time=1,npt_time=1) to avoid long blocking runs, then scale up only if needed.
Data Handover Contract
fix_pdb.output_file→prepare_protein_md.protein_pdbprepare_protein_md.run_dir→gmx_mmpbsa_propro.work_dir- Optional analysis consumes the MM/GBSA result workspace:
gmx_mmpbsa_propro.output_dir→analyze_mmpbsa.work_dir gmx_mmpbsa_propro.output_files(e.g.,gb_result_csv,pb_result_csv) are the canonical GB/PB summaries for downstream reporting.
Never request users to provide intermediate GROMACS artifacts (em.gro, md.xtc, md.tpr, topol.top); those files are generated inside the SCP-managed workspace.
Step-by-step Execution Details
Step 1: fix_pdb
- Entry checks
- Verify the complex PDB and supporting files are reachable and correspond to the intended chains.
- Disable
dry_runwhen producing deliverable energies, toggleadd_hydrogensper structural requirements. - Success criteria
status == "success"andoutput_filecontains a non-empty path.atom_count,residue_count, andchain_countprovide diagnostics for downstream validation.- On failure, return
msgand abort before Step 2.
Step 2: prepare_protein_md
- Entry checks
- Accept
protein_pdb = fix_pdb.output_fileas input. full_md=Trueis enforced for this workflow, andtemperature,nvt_time, andnpt_timemust align with resource limits.- Success criteria
status == "success"andrun_dircontains the expected MD workspace.- Ensure the required files (
em.gro,md.xtc,md.tpr,topol.top) exist insiderun_dirbefore Step 3. fileslists the produced artifacts for troubleshooting.
Step 3: gmx_mmpbsa_propro
- Entry checks
work_diris the validatedprepare_protein_md.run_dirand still contains the MD artifacts.- Default to
method="gb"for quick runs ormethod="both"when PB outputs are also desired. - Keep
skip_mmpbsa=Falseunless agents explicitly plan to build indexes only. - Success criteria
statusis"success"or"partial_success"; keep the latter when one method fails.output_files.gb_result_csvand/oroutput_files.pb_result_csvcapture the FINAL_RESULTS.* summary.metricsaggregates the binding energies parsed from GB/PB outputs.
Step 4: analyze_mmpbsa (optional)
- Entry checks
enable_analysismust be true andwork_dirmust point to agmx_mmpbsa_propro.output_dirthat houses themmgbsa/mmpbsadirectories.- Use
work_dir = gmx_mmpbsa_propro.output_dirinstead of the MD preparation directory. - Success criteria
status == "success"andreportslists CSV/PNG/MD artifacts produced underoutput_dir.detected_modeclarifies whether dual, PB-only, or GB-only data were compiled.- Fallback behavior
- If analysis fails, keep Step 3 outputs as the workflow deliverable, log the analyzer
msg, and reportmissing_filesin the summary. - Retry
gmx_mmpbsa_proprowith the missing method before rerunning the analyzer if a branch is absent.
Agent Flow
fix_pdb.output_filefeedsprepare_protein_md.protein_pdb.prepare_protein_md.run_diris the canonicalgmx_mmpbsa_propro.work_dir.gmx_mmpbsa_propro.output_diris the canonicalanalyze_mmpbsa.work_dir.gmx_mmpbsa_propro.output_files.gb_result_csv/pb_result_csvare the verified binding energy CSVs; both should be reported whenmethod="both".- Optional
analyze_mmpbsa.output_dircontains the final plots/tables enumerated inreports/files, anddetected_mode/missing_filesexplain data coverage.
Recommended Sequential Calling
# Step 1: fix_pdb
r1 = client.parse_result(await client.session.call_tool(
"fix_pdb",
arguments={
"input_path": "protein_protein_complex.pdb",
"add_hydrogens": True,
"ph": 7.0,
"remove_heterogens": False,
"remove_water": False,
"replace_nonstandard": False,
"add_missing_residues": False,
"dry_run": False,
},
))
fixed_pdb = r1["output_file"]
# Step 2: prepare_protein_md
r2 = client.parse_result(await client.session.call_tool(
"prepare_protein_md",
arguments={
"protein_pdb": fixed_pdb,
"full_md": True,
"md_time": 20.0,
"temperature": 300.0,
"nvt_time": 1.0,
"npt_time": 1.0,
},
))
md_work_dir = r2["run_dir"]
# Validate required files before MM/PBSA
required_files = ["em.gro", "md.xtc", "md.tpr", "topol.top"]
# Agents should verify these exist under md_work_dir and return an error if missing
# Step 3: gmx_mmpbsa_propro
r3 = client.parse_result(await client.session.call_tool(
"gmx_mmpbsa_propro",
arguments={
"work_dir": md_work_dir,
"method": "gb",
"nproc": 64,
"skip_mmpbsa": False,
"dry_run": False,
},
))
# Step 4: analyze_mmpbsa (optional)
if enable_analysis:
r4 = client.parse_result(await client.session.call_tool(
"analyze_mmpbsa",
arguments={
"work_dir": r3["output_dir"],
},
))
Practical Parameter Sets
- GB-only production run (mirrors the CLI validation command)
fix_pdb:{"input_path": "protein_protein_complex.pdb", "add_hydrogens": True, "dry_run": False}prepare_protein_md:{"protein_pdb": "protein_protein_complex_fixed.pdb", "full_md": True, "md_time": 20.0, "temperature": 300.0, "nvt_time": 1.0, "npt_time": 1.0}gmx_mmpbsa_propro:{"work_dir": "Protein_MD_01", "method": "gb", "nproc": 64, "skip_mmpbsa": False}- Optional
analyze_mmpbsa:{"work_dir": "gmx_mmpbsa_propro_result_dir"}
- Dual-method variant (driven by the dual-mode CLI command)
fix_pdb: same as aboveprepare_protein_md:{"protein_pdb": "protein_protein_complex_fixed.pdb", "full_md": True, "md_time": 50.0, "temperature": 300.0, "nvt_time": 1.0, "npt_time": 1.0}gmx_mmpbsa_propro:{"work_dir": "Protein_MD_02", "method": "both", "nproc": 64, "skip_mmpbsa": False}- Optional
analyze_mmpbsa:{"work_dir": "gmx_mmpbsa_propro_result_dir"}
Agent Safety Checklist
- Enforce
full_md=Trueand realistic MD times before invoking the MM/PBSA stage. - Confirm
em.gro,md.xtc,md.tpr, andtopol.topexist under therun_dir; abort with missing-file names if any are absent. - Surface
partial_successexplicitly whenmethod="both"runs complete only one branch. - Do not propagate
dry_run=Trueoutputs to end users. - If the optional analyzer fails, keep
gmx_mmpbsa_proproresults as the canonical output and append the analyzermsg/missing_filesto the summary. - Do not wait indefinitely for long MD stages: report progress between steps and offer a quick-profile rerun when runtime exceeds expected limits.
- Avoid repeated filesystem polling loops; if required files are missing after one check, fail fast and surface missing filenames.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: InternScience
- Source: InternScience/MolClaw
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.