2026.08.04
PROTAC decomposition: Multi-stage linker extraction
A PROTAC has three parts: a warhead that binds the target, an E3-ligase ligand, and the linker between them. Most teams already keep libraries of warheads and E3 ligands. Almost nobody keeps a library of linkers, even though linker length and composition drive ternary-complex geometry, permeability, and degradation efficiency. To run SAR on the linker region, you first have to cut the linkers out of the PROTACs you already have.

That sounds like a substructure-matching problem, and the matching is indeed the easy part. The work is everything after it. A matched pair may share atoms and so cannot both be excised. A careless cut breaks a ring or leaves three fragments where one linker should be. And once you have a fragment, you still need to record which end faced the warhead and which faced the ligand. In a hand-written RDKit script, all of this is bookkeeping, and none of the decisions it makes are documented anywhere.

Our first case study used Insilico Medicine's Cheminformatics Engine, MolTools, to prepare a dataset for QSAR modeling; the second mapped an activity-cliff landscape. Here, we point the same MolTools MCP connector at PROTAC decomposition, running Claude Science on Opus 5 against a PROTAC set and warhead/E3-ligand libraries assembled by our medicinal chemists.
Asking Before Running
We start with a question:

"I have a PROTAC set plus separate warhead and E3-ligand libraries. What can you do to pull out the linkers, and how do I review the results?"
MolTools describes the pipeline before touching a molecule. One call chain consists of five stages: cleaning all three input files, a strict substructure match, boundary extension, an MCS-based fallback for whatever the strict pass misses, and a relaxed recovery pass. Each stage is also available on its own if you want to run them one at a time.

Four rules apply to every cleavage the engine accepts, at every stage. The matched warhead and ligand regions may not share atoms. A cut that would break a ring is rejected. The linker must come out as one connected fragment. And both cut ends are capped with isotope labels, [98H] on the warhead side and [99H] on the ligand side, so the attachment points stay explicit and side assigned.
One Prompt for the Extraction
Duplicate entries in a reference library quietly inflate coverage: the same warhead listed twice produces two matches for one chemical entity. So, standardization and deduplication run inside the extraction call. On our set of 981 PROTACs, 996 warheads, and 236 E3 ligands, that left 949, 981, and 228 distinct structures: 30 duplicate PROTAC rows collapsed plus 2 standardization failures, 6 duplicate warheads collapsed plus 9 standardization failures, and 4 duplicate ligands collapsed plus 4 standardization failures — each count itemized per file in the run summary. You can turn off the auto-clean stage if you want raw-input coverage numbers on purpose.

Once you are ready, proceed with the prompt:

"I have attached the files. Map the components and extract the linkers."

Matching 949 distinct PROTACs against 981 warheads and 228 ligands took about four minutes. The strict pass resolved 906 of them. The 43 it could not resolve were escalated to the MCS fallback, which recovered 2 more; the relaxed recovery pass then pulled 12 more out of what remained — each of those 12 comes back flagged for manual review, never presented as equivalent to a strict match. That left 29 PROTACs unresolved. Along the way, each accepted cut is grown out to the first heteroatom or nearest ring, so linkers end at a sensible point for a wet-lab synthesis instead of mid-motif.
The result is 920 of 949 distinct PROTACs decomposed, written as 980 linker-combination rows in one CSV (some PROTACs have more than one valid ligand/warhead placement, which is why rows outnumber decomposed molecules). A typical PEG tether comes out as [99H]CCOCCOCCOCCO[98H] — a fragment you can enumerate against, not just look at.
Coverage and a Visual Validation
You can analyze the obtained results with "Please plot the PROTAC resolution outcome by stage and reference library utilization. Also, generate a molecule grid so I can quickly check the results visually."

The coverage chart splits the set by which stage resolved it: 906 strict, 2 fallback, 12 recovered, 29 unresolved. A second panel shows how much of each reference library the run actually needed — roughly 410 of the 981 distinct warheads in the library (about 42%) and roughly 130 of 228 distinct ligands (about 57%) were used in any accepted match, which says more about how broad the libraries are than about the PROTAC set itself.
For the structural check, the engine draws the intact PROTAC with all three regions colored at once — warhead orange, E3 ligand blue, linker green as the complement of the other two. Seeing where each side matched is what exposes a bad cut; an isolated linker fragment tells you very little. Every row indicates how it was resolved: source is primary for the 968 rows resolved by strict or fallback matching, and recovered for the 12 rows that the relaxed pass rescued.
Turning off any single stage is a flag on the same call, not a different pipeline. Skip the boundary extension, stop after the strict pass, or match on raw input, and everything else still runs as before. The already extracted linkers are an ordinary dataset. The same MolTools tools that computed descriptors and activity cliffs in the previous case studies work on them directly, which is what makes linker-region SAR practical rather than aspirational. The isotope caps keep the attachment points unambiguous for enumeration and linker swaps.
The Takeaway: Nine hundred forty-nine distinct PROTACs and two reference libraries became 920 decomposed molecules and 980 recorded cleavages in about four minutes and three plain-language prompts. Ring integrity and fragment connectivity are guaranteed rather than hoped for, ambiguous decompositions are labeled instead of silently resolved, and the 29 PROTACs that could not be matched are listed with a specific reason each — reasons that, on inspection, are structural rather than a library gap: most are ring-partition failures that no additional reference entry would fix. Compared with a custom decomposition script, the difference is not only the time saved: it is that the result comes with its own audit trail, one detailed enough to confirm the headline resolved count against the per-stage tally before that number went into a report.

Ready to try it yourself? Reach out via petrina@insilicomedicine.com
Stay tuned, follow us on social media!