Skip to main content

molclaw-diffdock-auto

Run automated DiffDock protein-ligand docking and return confidence-based result summaries.

Quellinformationen

Repository
InternScience/Agents-A1
Letzte Quellaktivität
26. Juni 2026 um 11:28
Erkannte Sprache von SKILL.md
Englisch
Sterne
570
Forks
55

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
molclaw-diffdock-auto
description
Run automated DiffDock protein-ligand docking and return confidence-based result summaries.
license
MIT license
metadata
{"skill-author":"PJLab"}
# DiffDock Automated Protein-Ligand Docking Note: - Local files are not directly accessible by the server. Please upload them to the server using `drugsda-file-transfer` before execution. - For PDB file inputs, it is recommended to preprocess them using `drugsda-fix_pdb` before execution. ## Usage ### 2. DiffDock Auto Docking The description of tool *diffdock_auto*. ```tex Automate DiffDock protein–ligand docking for single or batch inputs, run inference (unless `dry_run`), and return per-complex confidence summaries and produced files for prioritization. Args: protein_path (str|None): Protein PDB file path for single docking. ligand (str|None): SMILES string or ligand file path (.sdf/.mol/.mol2/.pdb) for single docking. protein_sequence (str|None): Protein sequence to trigger ESMFold when no PDB is available. protein_ligand_csv (str|None): CSV path with `protein_path` and `ligand` columns for batch runs. complex_name (str|None): Optional complex identifier for a single docking task. inference_steps (int): Number of diffusion steps. Default: 20. samples_per_complex (int): Number of generated samples per complex. Default: 40. batch_size (int): Batch size for DiffDock inference. Default: 10. device (str): Compute device, 'cuda' or 'cpu'. Default: 'cuda'. dry_run (bool): If True, only validate inputs and skip DiffDock execution. Return: status (str): 'success' or 'error'. msg (str): Human-readable summary or error message. output_dir (str|None): Path to the run-specific output directory under tool_result/diffdoc_result. summary_metrics (dict|None): Global metrics such as num_complexes, best_confidence, average_confidence, median_confidence. quality_distribution (dict|None): Counts grouped by quality labels (Excellent/Good/Medium/Low). complex_results (dict|None): Sanitized per-complex analysis dictionaries. summary_csv (str|None): Path to docking_summary.csv when exported. files (List[str]|None): Sorted file list produced in output_dir. ``` How to use tool *diffdock_auto* : ```python response = await client.session.call_tool( "diffdock_auto", arguments={ "protein_path": "/abs/path/outputok.pdb", "ligand": "CC(C)Cc1ccc(C)cc1", "inference_steps": 20, "samples_per_complex": 40, "batch_size": 10, "device": "cuda", "dry_run": False } ) result = client.parse_result(response) summary_metrics = result["summary_metrics"] ``` #### Example parameter sets ```python # 1) Main mode: single protein-ligand docking (from readme usage/test) { "protein_path": "/abs/path/outputok.pdb", "ligand": "CC(C)Cc1ccc(C)cc1", "dry_run": False } # 2) Variant mode: batch docking with CSV input (from diffdock_auto_main usage) { "protein_ligand_csv": "/abs/path/batch_input.csv", "inference_steps": 20, "samples_per_complex": 60, "batch_size": 15, "dry_run": False } # 3) Variant mode: input validation only (dry run) {`` "protein_path": "/abs/path/outputok.pdb", "ligand": "CC(C)Cc1ccc(C)cc1", "device": "cpu", "dry_run": True } ``` --- ## ⚠ Mandatory Output File Download (L3 Principle 14) **After calling this tool, you MUST download all output structure files** from the MCP server to the local workspace using `server_file_to_base64`. A tool call is NOT considered complete until its output files have been downloaded and verified locally (`ls -la <file>` — size must be > 0). ```python import base64, os response = await client.session.call_tool( "server_file_to_base64", arguments={"file_path": result["output_file"]} # or relevant output field ) dl = client.parse_result(response) local_path = "stepNN_descriptive_name.ext" with open(local_path, "wb") as f: f.write(base64.b64decode(dl["base64_string"])) assert os.path.getsize(local_path) > 0, f"Download failed: {local_path}" ``` **Download policy:** All structure output files are **Category A (user-critical)** — essential for user verification, downstream analysis, and reproducibility. When in doubt, download. Over-collection is always preferred over under-collection. ## ⚠ CRITICAL: Cross-Molecule Ranking Prohibition **DiffDock's confidence score is ONLY valid for comparing poses of the SAME molecule.** NEVER use DiffDock confidence to rank DIFFERENT molecules against each other. For cross-molecule ranking, use QuickVina docking scores, EquiScore, or Boltz-2 binding probability instead.
Auf GitHub ansehen