Interactive DNA Repair Visualization

Base excision repair of an oxidized base, and how PARP1 signals the single-strand break it leaves behind, as an animated SVG figure you can step through. The whole figure is generated from one YAML file.

PARP1-mediated SSB repair

Step through the mechanism with the controls or the arrow keys, or open it in the viewer for the timeline, the thumbnails and SVG or PNG export.

PARylationActivated PARP1 consumes NAD+ to build negatively charged poly(ADP-ribose) chains on itself. Shown: PARP1 (active, bound to DNA (lesion), carrying PAR). Lesions: Single-strand break (SSB) at DNA (lesion).
PARP1-mediated SSB repair: PARylation.

The mechanism

Reactive oxygen species oxidize guanine to 8-oxoguanine, one of the most common oxidative lesions in DNA. Base excision repair removes the damaged base: the glycosylase OGG1 cuts it out and leaves an abasic site, and the endonuclease APE1 cuts the backbone there, which turns the lesion into a single-strand break.

That break is detected by PARP1. Binding to it activates the enzyme, which uses NAD+ to build branched chains of poly(ADP-ribose) on itself. The chains recruit the scaffold protein XRCC1, which brings DNA polymerase β to fill the one-nucleotide gap and DNA ligase IIIα to seal the nick. PARP inhibitors block this signalling and trap PARP1 on the DNA, which is selectively toxic to cells without functional BRCA1 or BRCA2.

  1. 1 Intact DNA

    The double helix is intact; no repair factors are engaged.

  2. 2 DNA lesion

    Reactive oxygen species oxidize a guanine to 8-oxoguanine, a mutagenic base lesion.

    • ROS oxidize guanine to 8-oxoguanine (8-oxoG)
    • The damaged base remains paired in the duplex
  3. 3 BER processing

    The glycosylase OGG1 flips out and removes the damaged base, leaving an abasic (AP) site.

    • OGG1 recognizes and binds 8-oxoG
    • The N-glycosidic bond is cleaved
    • An abasic (AP) site remains
  4. 4 Single-strand break

    APE1 replaces OGG1 and incises the backbone at the AP site, generating a single-strand break.

    • OGG1 is released from the AP site
    • APE1 incises the backbone 5′ to the AP site
    • A single-strand break is formed
  5. 5 PARP1 binding

    PARP1 rapidly recognizes the single-strand break and binds to the damaged DNA.

    • APE1 hands over the break
    • PARP1 zinc fingers bind the DNA at the SSB
  6. 6 PARP1 activation

    Binding to the break induces a conformational change that activates the PARP1 catalytic domain, and NAD+ enters the active site.

    • DNA binding reorganizes the PARP1 domains
    • The catalytic domain is activated
    • NAD+ is positioned in the catalytic site
  7. 7 PARylation

    Activated PARP1 consumes NAD+ to build negatively charged poly(ADP-ribose) chains on itself.

    • PARP1 transfers ADP-ribose units from NAD+
    • Branched PAR chains grow on PARP1 (auto-modification)
  8. 8 XRCC1 recruitment

    The scaffold protein XRCC1 recognizes PAR and is recruited to the break.

    • XRCC1 binds PAR on PARP1
    • XRCC1 assembles the downstream repair machinery
  9. 9 POLβ activity

    POLβ, coordinated by XRCC1, inserts the missing nucleotide and leaves a ligatable nick.

    • POLβ engages the single-nucleotide gap
    • The missing nucleotide is inserted
    • A ligatable nick remains
  10. 10 LIG3 sealing

    LIG3, in complex with XRCC1, seals the nick and restores the phosphodiester backbone.

    • LIG3 is recruited through XRCC1
    • The nick is sealed
  11. 11 Repaired DNA

    The repair factors dissociate and PAR is removed, leaving intact DNA.

    • PAR chains are degraded
    • Repair factors dissociate
    • DNA integrity is restored

A schematic, explanatory model: it shows the order of events, not stoichiometry or kinetics.

How Molecular Motion represents it

The DNA is one dna actor of 100 base pairs with a guanine site at coordinate 50 on the top strand. Everything that happens to the DNA happens at that site: damage marks the base as damaged, excise leaves an abasic site, cleave breaks the backbone, fill-gap and ligate restore it. The renderer draws each state of the lesion differently, so the helix shows the damaged base, the abasic site, the break and the repaired strand without any drawing instructions in the file.

Proteins are protein actors that bind the site or are recruited to another protein. activate changes the state of PARP1, and parylate grows a poly(ADP-ribose) chain of a given length on it. NAD+ is a molecule actor drawn with its own small-molecule glyph.

The compiler checks the biology it can check. A document that ligates a site with no break, or binds an actor that was degraded, is rejected with the path of the action at fault. Each step is folded into an immutable snapshot, so going back and forward always shows the same state.

From examples/parp1-ssb-repair.yaml
actors:
  - id: dna
    type: dna
    label: DNA
    compartment: nucleus
    nucleic: { length: 100 }
    sites:
      - id: lesion
        type: guanine
        at: 50
        strand: top

  - id: parp1
    type: protein
    label: PARP1
    description: DNA damage sensor and poly(ADP-ribose) polymerase.
    color: "#8b78d0"
    compartment: nucleus
    initial: { activity: inactive }

steps:
  - id: binding
    title: PARP1 binding
    summary: PARP1 detects and binds SSB
    description: PARP1 rapidly recognizes the single-strand break and binds to the damaged DNA.
    keyEvents:
      - APE1 hands over the break
      - PARP1 zinc fingers bind the DNA at the SSB
    references: [ray-chaudhuri-2017, langelier-2012]
    actions:
      - parallel:
          - sequence:
              - type: unbind
                actor: ape1
              - type: hide
                actor: ape1
          - type: bind
            actor: parp1
            target: dna.lesion

  - id: parylation
    title: PARylation
    summary: Synthesis of PAR chains
    description: Activated PARP1 consumes NAD+ to build negatively charged poly(ADP-ribose) chains on itself.
    keyEvents:
      - PARP1 transfers ADP-ribose units from NAD+
      - Branched PAR chains grow on PARP1 (auto-modification)
    references: [gibson-kraus-2012, ray-chaudhuri-2017]
    actions:
      - type: parylate
        actor: parp1
        length: 12
        by: parp1
      - sequence:
          - type: unbind
            actor: nad
          - type: hide
            actor: nad

That is part of the complete file. Showing it on a page takes a few lines:

Figure.tsx
import { parseMechanism } from '@molecular-motion/core/yaml';
import { MolecularMechanism } from '@molecular-motion/react';
import source from './parp1-ssb-repair.yaml?raw';   // Vite; any way of reading the file as text works

export function Figure() {
  return <MolecularMechanism definition={parseMechanism(source)} controls />;
}

The language describes actors, sites and coordinates, and Actions lists every action used here. To change this mechanism and see the result, paste the file into the playground.

References

All examples · About Molecular Motion · Source on GitHub