Skip to content

Releases: pdpppd/proteinmotion

ProteinMotion 0.12.0 — cutaways, depth tunnels, and threading

Choose a tag to compare

@pdpppd pdpppd released this 26 Sep 15:51

ProteinMotion 0.12.0 adds cutaways, depth tunnels, and threading animations.

python -m pip install --upgrade proteinmotion
  • Cutaways. Reveal(camera, region) opens a window onto a hidden selection that follows the camera; Conceal(camera) closes it. Atoms are hidden for display only; nothing moves. Molecular surfaces are carved down to the selection.
  • Depth tunnels. shape="tunnel" drills a tunnel fixed to the molecule, with a ring every 5 Å from the surface, to show how deep a selection lies. camera.animate.depth_cue(...) eases the distance fog, and camera.clearest_view(region) finds the least-occluded view.
  • Threading. Thread(protein, camera) flies a wire in for each chain from its own side of the screen; each wire enters at the C terminus, traces the backbone to the N terminus, and the protein fades in. Unthread reverses it. Options include stagger, easing, and glowing tips with glow, glow_color, and glow_brightness.

Cutaways, tunnels, and the glow are drawn by the native renderer; EEVEE renders the full molecule and plain wires.

Validation: 205 tests passed on Apple silicon with EEVEE enabled; five NVIDIA-only tests were skipped. A fresh installation of the release wheel passed dependency, CLI, packaged-resource, starter-scene, and skill checks, then rendered and decoded a Metal/VideoToolbox movie.

Cutaways and tunnels · Threading · Gallery · Validation details

ProteinMotion 0.11.0 — ligands, ions, and side chains

Choose a tag to compare

@pdpppd pdpppd released this 23 Sep 02:46

ProteinMotion 0.11.0 adds ligands, ions, and side chains drawn as ball-and-stick over cartoons and ribbons.

python -m pip install --upgrade proteinmotion
  • Ligands and ions by default. Atoms outside the traced chains (ligands, metal ions, and loaded waters) now appear with the cartoon. Use protein.hide_atoms() or region.hide_atoms() to remove them.
  • Side chains and any atoms. ShowSideChains, HideSideChains, ShowAtoms, and HideAtoms animate atoms in or out, with residue_delay, reverse, and easing. Side chains join the cartoon at Cα.
  • New selectors. select(ligands=True), ions=True, water=True, resname="ATP", and within=4.0, of=region.
  • Colors. Heteroatoms use element colors over a cartoon; carbons keep the cartoon color. Ions draw 1.3× larger.
  • Works with the native renderer and Blender EEVEE.

Rendering change: scenes with ligands or ions render differently from 0.10.1, because those atoms now appear on cartoons by default.

Validation: 198 tests passed on Apple silicon with EEVEE enabled; five NVIDIA-only tests were skipped. A fresh installation of the release wheel passed dependency, CLI, packaged-resource, starter-scene, and skill checks, then rendered and decoded a Metal/VideoToolbox movie.

Guide: ligands, ions, and side chains · Example film script · Validation details

ProteinMotion 0.10.1 — PyPI and Windows/NVIDIA support

Choose a tag to compare

@pdpppd pdpppd released this 22 Sep 15:08

ProteinMotion 0.10.1 is available on PyPI. This release includes Windows/NVIDIA rendering support.

Install the Python package:

python -m pip install proteinmotion

Install the command for use from any directory:

pipx install proteinmotion
pipx ensurepath

The package supports proteins, DNA, and RNA, with native GPU rendering and an optional Blender EEVEE backend. Windows/NVIDIA uses Vulkan and NVENC; Apple silicon uses Metal and VideoToolbox. Blender is installed separately for EEVEE.

This release also adds PyPI metadata, portable README links, pipx instructions, a tested GitHub Trusted Publishing workflow, and a platform-specific Blender discovery fix.

Validation: 187 tests passed on Apple silicon with EEVEE enabled; five NVIDIA-only tests were skipped. Release checks passed on Linux with Python 3.11–3.14 and on Windows and macOS with Python 3.12. A fresh installation from PyPI passed dependency, CLI, packaged-resource, starter-scene, and skill checks, then rendered and decoded a 60-frame Metal/VideoToolbox movie. A separate pipx installation passed CLI and GPU diagnostics.

Documentation · Examples · Validation details

ProteinMotion 0.10.0 — DNA and RNA

Choose a tag to compare

@pdpppd pdpppd released this 18 Sep 17:03

ProteinMotion 0.10.0 adds DNA and RNA animation to the existing protein scene API.

  • Draw nucleotide backbones with base slabs, filled rings, sticks, ladder rods, or backbone-only views.
  • Use ball-and-stick and molecular surfaces, with residue colors, animated color changes, opacity, labels, region focus, and trajectories.
  • Render the new geometry with the native GPU backend or Blender EEVEE.
  • Morph DNA/RNA using C1′ contact maps, alignment, and whole-residue motion. Configure delays along each strand and fades for unmatched residues. Protein morphs continue to use Cα.
  • Load modified nucleotides with deposited parent-base annotations. Use numerical properties, sequence tracks, contact maps, and distance labels with nucleotide selections.

The gallery includes DNA base styles, tRNA, and a C1′ morph. The DNA/RNA guide shows full scripts beside rendered output. The existing calmodulin homepage film is unchanged.

Matching selects one strand per endpoint. Automatic DNA/RNA matching skips residues without C1′; explicit correspondences require it. Morphs interpolate coordinates for visualization and do not calculate a physical pathway.

Validation: 174 tests passed on Apple M3 Max, including native GPU and EEVEE checks. The installed wheel was checked outside the source checkout. All frames of the three new documentation videos decoded successfully. The website build, TypeScript check, and local link/media verification passed.

Install the wheel below with Python 3.11+. Blender 4.5+ is an optional, separate dependency for EEVEE. The source archive, updated AI-agent skill, nucleotide example scripts and structures, and SHA-256 checksums are included.

ProteinMotion 0.9.1 — plot appearance

Choose a tag to compare

@pdpppd pdpppd released this 17 Sep 21:46

ProteinMotion 0.9.1 updates plot appearance. Traces, contact maps, color legends, and sequence tracks now draw directly on the scene background.

  • Manim-style axes with readable ticks, larger labels, and optional arrowheads.
  • A filled cursor point and dashed projection to the time axis.
  • Slim color legends and sequence strips. Selected residues have colored letters and an underline.
  • TimeSeriesPlot(..., grid=True) adds faint horizontal grid lines; tips=False uses plain axis ends.

All three data visualization examples have been rendered again at 1280×720 and 60 fps. The plot guide shows the complete script beside the new output.

The plots use ProteinMotion's native vector renderer with both the Metal and EEVEE backends. Manim is not required.

Validation: 149 tests passed, including native GPU and EEVEE checks. The installed wheel was checked outside the checkout with both renderers. Every frame of the updated videos was decoded and checked.

Install the wheel below with Python 3.11+. The agent-skill ZIP includes the updated plotting guidance. The data-examples ZIP contains the three scripts and their input files.

v0.9.0 — Residue properties, plots, and density maps

Choose a tag to compare

@pdpppd pdpppd released this 17 Sep 21:36

ProteinMotion 0.9.0 adds numerical residue styling, synchronized plots, and density maps. These features work with the native GPU renderer and Blender EEVEE.

  • Map B factors, aligned RMSF, and custom residue values to colors and cartoon thickness. Animate the change with optional residue delays and show a shared color legend.
  • Add time-series traces, exact current-distance markers, live Cα contact maps, and sequence strips. Plots follow the scene clock or trajectory playback, including reverse playback and frame seeking.
  • Read MRC/CCP4 grids with physical axes, spacing, cell geometry, and origins preserved. Animate isosurface levels and sampled slices. Full crystallographic grids support periodic sampling and local crops.

The website includes complete scripts beside their rendered 60 fps output:

Install the wheel below with Python 3.11+. The existing package dependencies cover the new features. EEVEE requires a separate Blender 4.5+ installation.

The data-examples ZIP contains three runnable scripts and their input files. The agent-skill ZIP includes guidance for the new APIs. SHA256SUMS lists the asset hashes.

Validation includes native Metal and EEVEE renders, backward seeking, map axis permutations and byte orders, numerical checks, complete movie decoding, and an isolated wheel installation.

ProteinMotion 0.8.0 — EEVEE rendering and residue focus

Choose a tag to compare

@pdpppd pdpppd released this 17 Sep 20:49

ProteinMotion 0.8.0 adds an optional Blender EEVEE renderer with depth of field.

  • Export with --renderer eevee or scene.render(..., renderer="eevee").
  • Focus on a protein, residue, residue range, atom selection, or world point with camera.set_focus().
  • Animate focus with FocusPull, including during camera movement and protein deformation.
  • Render cartoons, ribbons, ball-and-stick models, surfaces, labels, and annotations through the same scene API.
  • Use smooth group fades and configurable sampling quality.

Blender 4.5 or later is installed separately. EEVEE is included in Blender. On macOS, rendering uses Metal. The native renderer remains the default.

EEVEE guide with code and output · API reference

Validation: 116 tests passed on Apple M3 Max, including actual EEVEE and native GPU renders. The eight-second documentation movie was decoded through all 480 frames. The built wheel was installed outside the checkout and rendered through both backends. Website build, type checks, and 13,455 local links/media references passed.

Install the wheel below with Python 3.11+. The skill ZIP includes the updated instructions for AI agents.

ProteinMotion 0.7.0 — installable package and Codex movie skill

Choose a tag to compare

@pdpppd pdpppd released this 17 Sep 15:50

ProteinMotion can now be installed and used without a repository checkout. This release bundles a starter movie project and a Codex skill for authoring protein animations.

Install

python -m pip install \
  https://github.com/pdpppd/proteinmotion/releases/download/v0.7.0/proteinmotion-0.7.0-py3-none-any.whl
proteinmotion doctor
proteinmotion init my-movie
proteinmotion render my-movie/film.py ProteinMovie --fps 60 -o my-movie/film.mp4

Python 3.11+ and a native GPU are required. Apple silicon with native arm64 Python is the verified platform. For native preview and MD trajectory readers, install the same URL with proteinmotion[preview,md] @ ....

Codex skill

proteinmotion install-skill

Start a new Codex conversation and invoke $proteinmotion-movies. The skill is also available as a standalone ZIP and as committed source under skills/proteinmotion-movies.

The skill covers representations, camera focus, vector writing, residue styling, trajectories, contact-map morphs, distance rulers, hydrogen bonds and imported-charge electrostatics. Its starter scene and 1UBQ structure are shared with proteinmotion init.

Validation

  • 107 local tests pass, including native GPU checks and six new authoring/installation cases.
  • Built the wheel from the source distribution and installed it into a fresh environment with preview/MD extras.
  • Verified shaders, fonts, licenses, skill resources, CLI entry points and an actual Metal/VideoToolbox movie outside the source checkout.
  • Validated the skill with skill-creator and an independent 10-second movie-making trial (300 decoded frames).
  • Added an isolated wheel installation check to CI.

The release assets include the wheel, source distribution, skill ZIP and SHA-256 checksums. Installation guide · Codex skill guide.