# Molclaw Linker Sampling

> Generate new molecules sampling from the input two warhead fragments.

- Skill: `internscience/molclaw-linker-sampling` (Agent Skill)
- Install (CLI): `npx skillmds@latest add internscience/molclaw-linker-sampling`
- Raw SKILL.md: https://api.skillmd.com/api/skills/internscience/molclaw-linker-sampling/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT license
- Author: internscience (https://skillmd.com/u/internscience)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/internscience/molclaw-linker-sampling

---


# Molecule Generation from Warhead Fragments

Note: 
- Local files are not directly accessible by the server. Please upload them to the server using `molclaw-file-transfer` before execution. 
- For PDB file inputs, it is recommended to preprocess them using `molclaw-pdbfixer` before execution.
- Please refer to skill `molclaw-scp-server` to complete tool invocation.

The description of tool *linkinvent_linker_sampling_by_warheads*.

```tex
Generate new molecules sampling from the input two warhead fragments.
Args:
    warheads (str): SMILES of two warheads separated by '|', e.g., '*c1ccc(O)cc1|*N1CCNCC1'
    n (int): Number of molecules for sampling
    filter_preset (str): Required filter preset; options: ['none', 'minimal', 'default', 'strict'] (commonly 'default')
    lipinski (bool): Required flag controlling Lipinski filtering (commonly True)
    min_linker_atoms (int): Required minimum number of atoms in the linker (use 0 for no lower bound)
    max_linker_atoms (int): Required maximum number of atoms in the linker (use 0 for no upper bound)
Return:
    status (str): success/error
    msg (str): message
    save_smiles_file (str): Path to the saved SMILES file
    output_smiles_list (List[str]): List of generated SMILES strings
```

How to use tool *linkinvent_linker_sampling_by_warheads* :

```python
response = await client.session.call_tool(
    "linkinvent_linker_sampling_by_warheads",
    arguments={
        "warheads": warheads,
        "n": n,
        "lipinski": True,
        "filter_preset": filter_type,
        "min_linker_atoms": min_linker_atoms,
        "max_linker_atoms": max_linker_atoms
    }
)
result = client.parse_result(response)
output_smiles_list = result["output_smiles_list"]
```

