Shiny Cage: visualising clathrin triskelia in a lattice

Clathrin is a three-legged protein complex or triskelion that can assemble into lattice-like structures. Inside the cell, this assembly helps to create vesicles: tiny packages of membranes containing proteins and goodies for the cell to use.

Incredibly our first view of assembled clathrin was made in the 1960s, with resolution improving steadily since then. The image below shows these improvements. Our current best view, published in 2019 (after this figure was made) is at 4.6 Å resolution. The 3D coordinates of a full clathrin cage is in the PDB, deposited in 2010 and dating from work done in 2004 at 8 Å. These structures are at dazzling resolution – but what if we want a more simple view?

Taken from doi:10.1038/nrm1786

If we wind the clock back to 1998, Corinne Smith and colleagues had just determined a 21 Å view of the clathrin cage. Soon after, Musacchio et al. used this map to understand how the triskelia were organised in the cage. The figures in this paper are striking for their simplicity.

They show nicely how the triskelia fit together to make a lattice. To make these figures, the triskelia were hand traced from the EM maps using the computer package O. I wanted to recreate this effect for a figure to show triskelia interactions.

This was a computational problem: to downsample a high resolution structure in order to simplify it for display.

Too complicated! We need a simplified view.

There are many graphics packages for looking at protein structures. I wasn’t aware of any that could downsample a file in the way I wanted. So I decided to write my own in IGOR Pro. All the code is available here.

You can skip to my Musacchio-style figures, or read on for details of how the program works.

The code

The program starts by importing a PDB file into Igor. A very basic reader was on IgorExchange that I could modify. We only need the coordinates for the alpha carbon backbone. Next, we need to use symmetry operators to generate the biological assembly. This is straightforward using matrix operations in Igor. At this point the assembly can be displayed in a gizmo.

Basic view of the biological assembly
Simple rotation

Next we need to simplify the chain. The code has two methods 1) “downsample” the backbone by taking every nth residue and/or 2) smooth the backbone in 3D space by averaging using a variable-width window.

The results

Musacchio-style clathrin cage (with a little vesicle)

The colouring of triskelia is to demonstrate how lattice assembly works. The indigo triskelion is centred at a vertex and is shown interacting with six other triskelia with unique colours. Each of the three edges from the vertex is made from four leg segments for four different triskelia: two antiparallel proximal regions on the outer surface and two antiparallel distal regions below.

Animation (click to play)

Next, I wrote a specific script to use IgorPDB to generate the images required for the project.

The views needed for the figure were quite easy to program. The gizmo display is really powerful but obviously molecular graphics software is written especially for this type of work. So manipulating the display is easier in UCSF Chimera or PyMol.


This was a fun project. The import and assembly of PDB files was very straightforward and most of the time was taken in getting the views we wanted. It was definitely worth scripting everything because I regenerated everything many many times. I also learned a lot about how to display things in gizmo windows.

The post title comes from “Shiny Cage” by The Dukes of Stratosphear from their Psonic Psunspot LP.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.