ProteinMotion

RENDERED WITH PROTEINMOTION

Video examples

Each video includes its Python script and render command. Calmodulin in focus plays at 1080p/60 fps. Other previews use 720p, with the feature demo at 60 fps and shorter examples at 30 fps.

01 / EEVEE · DEPTH OF FIELD68 s

Calmodulin in focus

A continuous camera tour with helix close-ups, focus pulls, transparent surroundings, backbone atoms, and a surface colored by B factor. Rendered with Blender EEVEE at 1080p/60 fps.

bash
python examples/calmodulin_in_focus.py \
  --output calmodulin-in-focus.mp4
02 / FEATURE DEMO100.5 s

Calmodulin and troponin C

Calmodulin changes representation, color, and conformation, then morphs into troponin C. The video also shows labels, camera focus, distances, hydrogen bonds, and electrostatic estimates.

bash
proteinmotion render examples/feature_showcase.py FeatureShowcase \
  -o showcase.mp4 --fps 60
03 / ALPHA-HELIX HYDROGEN-BOND TEST23 s

Alpha-helix hydrogen bonds

An idealized backbone with explicit hydrogens. The video shows all 12 expected i-to-i+4 hydrogen bonds, then zooms into one bond to compare H···O and N···O distances.

bash
proteinmotion render examples/alpha_helix_hbonds.py AlphaHelixHBonds \
  -o alpha-helix.mp4 --fps 60
04 / RESIDUE COLOR + MOVING SURFACES24.8 s

Residue colors and surfaces

Residue colors change in sequence across a ubiquitin structure. The video switches between cartoon, ball-and-stick, and surface views, then updates the surface during NMR playback.

bash
proteinmotion render examples/molecular_tools.py StylingAndSurface \
  -o surfaces.mp4 --fps 60
05 / HYDROGEN BONDS + SCREENED ELECTROSTATICS20.2 s

Distances and interactions

Compare 3D and 2D distance lines. Highlight hydrogen bonds using inferred backbone hydrogens, then display screened Coulomb estimates using example formal charges.

bash
proteinmotion render examples/molecular_tools.py InteractionsAndDistances \
  -o interactions.mp4 --fps 60
06 / TEXT + CALLOUTS18.8 s

Residue labels and callouts

Add amino acid names and region labels to ubiquitin. Lines connect the labels to the selected residues as the structure moves.

bash
proteinmotion render examples/labels_and_callouts.py ProteinLabels \
  -o labels.mp4 --fps 60
07 / MANIM-STYLE WRITE10 s

Text writing animation

Write draws each letter’s outline and fills it in. Unwrite erases the text. The example includes Greek letters and delays between letters.

bash
proteinmotion render examples/labels_and_callouts.py WritingStudy \
  -o writing.mp4 --fps 60
08 / FOCUS + HIGHLIGHTS24.1 s

Region focus and highlights

The camera focuses on the helix and tail of ubiquitin. Spheres, boxes, and atom highlights mark the selected regions during NMR playback.

bash
proteinmotion render examples/nmr_regions.py RegionTour \
  -o regions.mp4 --fps 60
09 / NMR · CARTOON24 s

NMR ensemble in cartoon view

All 116 deposited ubiquitin models, aligned using core Cα atoms. The animation interpolates between consecutive models.

bash
proteinmotion render examples/nmr_regions.py NMRStates \
  -o nmr-cartoon.mp4 --fps 60
10 / NMR · BALL & STICK24 s

NMR ensemble in ball-and-stick

The same ensemble with 602 heavy atoms per model and element-colored bonds and spheres.

bash
proteinmotion render examples/nmr_regions.py NMRAtoms \
  -o nmr-atoms.mp4 --fps 60
11 / CONTACT-GUIDED MORPH11.5 s

Calmodulin to troponin C morph

A contact-map match selects 114 Cα pairs. Matched residues move in sequence from N to C; unmatched residues fade out or in.

bash
proteinmotion render examples/backbone_morph.py BackboneDemo \
  -o morph.mp4 --fps 60
12 / MORPH · BALL & STICK11.5 s

Ball-and-stick morph

Each matched residue moves with its Cα atom. Source atoms fade out as target atoms fade in.

bash
proteinmotion render examples/backbone_morph.py BallAndStickDemo \
  -o morph-atoms.mp4 --fps 60
13 / LARGE ASSEMBLY9 s

GroEL/GroES assembly

The complete GroEL/GroES coordinate set: 21 chains, 8,015 Cα residues, and 58,870 selected heavy atoms.

bash
proteinmotion render examples/large_protein.py GroELComplex \
  -o groel.mp4 --fps 60

The NMR examples interpolate between deposited models to show structural variation. The morph examples interpolate between two structures. These animations illustrate coordinate changes; physical dynamics require simulation data.

Rendering methods