Targeted Protein Degradation

SkillAI & models

Work on bifunctional degraders and molecular glues, where potency comes from a ternary complex rather than occupancy. Use this skill to apply the property rules that govern this beyond-rule-of-five space, reason about linker length, attachment vector and E3 ligase choice, prepare inputs for ternary complex structure prediction, and interpret degradation readouts — DC50, Dmax, cooperativity, and the hook effect that makes a dose-response curve turn over. Also trigger on PROTAC, molecular glue, targeted protein degradation, E3 ligase, cereblon, VHL, ternary complex, DC50, Dmax, hook effect, cooperativity, or PROTAC-DB.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Targeted Protein Degradation skill

What this skill tells your AI

The instructions your AI receives, as published by k-dense-ai/drug-discovery-agent-skills in skills/degraders/SKILL.md and read by ahel’s review.

A degrader does not inhibit a protein — it recruits an E3 ligase to it, the protein is destroyed, and the degrader is released to do it again. That single change makes an "undruggable" target tractable, because a degrader needs only a binding site, not a functional pocket. It is the largest expansion of small-molecule target space in the last decade, and almost every developability heuristic you know is calibrated for something else.

No installation, no network, no key for the bundled scripts — they implement the property rules, linker arithmetic, and dose-response analysis. Ternary complex prediction needs an external tool (PRosettaC, DeepTernary, AlphaFold3) with its own licence and usually a GPU.

Read references/degrader-modalities.md for how this pharmacology differs, references/ternary-complex.md before modelling or designing a linker, and references/degrader-developability.md before judging a molecule — that one is judgement, not syntax.

The three scripts

ScriptAnswers
protac_properties.pyIs this molecule inside the bRo5 habitable band?
ternary_setup.pyWhat do the prediction tools need, and what linker lengths do I make?
degrader_triage.pyWhat do DC50, Dmax, and the curve shape actually say?

Occupancy versus event

InhibitorDegrader
Requirescontinuous occupancya transient encounter
Stoichiometry1:1catalytic
Removesone functionthe whole protein, scaffolding included
Durationdrug half-lifeprotein resynthesis rate
Needsa functional pocketany ligandable surface

The last row is the point. No catalytic site, no allosteric mechanism, no functional consequence of binding required — which is why binding-site-analysis names degradation first when a target scores undruggable.

The duration row has a practical sting: a degrader can be fully cleared while its effect persists for days, so the usual exposure-response framing does not transfer.

Lipinski rejects every PROTAC

python skills/degraders/scripts/protac_properties.py windows
PropertyWindowFailure belowFailure above
MW700–1100not a complete bifunctionalpermeability collapses
cLogP3–7too polar at this sizeaggregation, promiscuity
TPSA150–250check the molecule is completepassive permeability lost
Rotatable bonds8–20a degrader has a linkerentropic cost of the ternary complex

Every window is two-sided, so optimising any of them in one direction is wrong. Filtering a degrader series on Ro5 discards all of it, including the molecules that work.

Permeability is the binding constraint and TPSA cannot see it. Successful oral degraders are molecular chameleons — polar in water, and in a membrane they fold to form intramolecular hydrogen bonds that shield that polarity. Measure PAMPA or Caco-2; do not predict it.

Model the right construct

VHL does not fold without Elongin B/C. CRBN needs DDB1. Predicting against the isolated domain gives a complex that cannot exist:

python skills/degraders/scripts/ternary_setup.py manifest --target 6BOY --e3 vhl
python skills/degraders/scripts/ternary_setup.py tools

This is not pedantry. Benchmarking against curated crystallographic ternaries found AlphaFold3's apparent performance inflated by exactly those accessory proteins contributing interface area that has nothing to do with the degrader — while PRosettaC outperforms it on the degrader-specific interface. Tool choice here disagrees with the obvious default.

The other setup trap: the attachment atom is not the exit vector. A linker must leave each ligand from a solvent-exposed atom pointing at the partner. Buried atoms cannot be linked from, whatever the docking says.

Scan the linker; do not predict it

Length has a pair-specific window of roughly 4–20 heavy atoms. Too short and the proteins clash; too long and the entropic cost of ordering the complex swamps the interface enthalpy.

python skills/degraders/scripts/ternary_setup.py linkers --min 4 --max 16 --chemistry peg

Find the window with a flexible PEG or alkyl series, then rigidify at the optimum — that is where oral exposure comes from, and rotatable bonds are charged twice here, once against permeability and once against cooperativity. Rigidifying first locks in a conformation before you know which one you want.

The hook effect breaks the dose-response

python skills/degraders/scripts/degrader_triage.py curve \
    --conc 0.1,1,10,100,1000,10000 --remaining 95,70,25,8,15,60
# HOOK EFFECT: degradation falls by 52.0 points above 100. At high concentration the
# degrader saturates both proteins separately, forming binary complexes that cannot
# become ternary.
dmax_pct  92.0
dc50      2.7826

A sigmoid fit through a hooked curve returns a confident, meaningless DC50 — the script fits the descending limb only. And "no hook observed" may just mean the range stopped two logs early.

Dmax usually matters more than DC50. DC50 1 nM at 40% leaves most of the protein; DC50 100 nM at 95% removes it. Below ~50% degradation a phenotype is unlikely whatever the potency.

Four things that surprise people

  1. Degradation potency need not track binary affinity. A weaker binder forming a better ternary complex often degrades better. Ranking a series by target Kd is an expensive mistake.
  2. A complex that forms may not ubiquitinate. Lysines must be presented to the E2 in the right geometry; forming the interface does not guarantee it.
  3. CRBN degrades IKZF1/3 whether you asked or not. The IMiD scaffold brings its own neosubstrates.
  4. Off-target degradation has no inhibitor analogue. Global proteomics is the standard selectivity experiment and there is no computational substitute. Run it early.

Composing with the rest of the bundle

  • binding-site-analysis → here: when the pocket scores undruggable, this is the first alternative — a degrader needs a binding site, not an inhibitory pocket.
  • rdkit / datamol → before: compute the descriptors protac_properties.py check reads.
  • medchem → carefully: its rule sets are calibrated for Ro5 chemistry and will reject degraders.
  • uniprot-rcsb → before: co-crystal structures for both ligands, to read the exit vectors.
  • admet-prediction → carefully: every public ADMET model is extrapolating on bRo5 chemistry.
  • pkpd-translation → after, with a protein-turnover compartment added.

Reporting results honestly

Give DC50 and Dmax, say whether a hook was seen and over what range, and give cooperativity if measured. Name the E3 and the linker. Report permeability as measured, never inferred from TPSA. Say whether global proteomics selectivity has been run. And when quoting property windows, call them bRo5 conventions — the molecule is supposed to violate Lipinski.

Signals

GitHub stars
28
Forks
3
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
degraders
Source
github.com/k-dense-ai/drug-discovery-agent-skills