Skip to content

Releases: javierbq/RayMol

RayMol 1.11.3

Choose a tag to compare

@javierbq javierbq released this 19 Sep 04:46
2fad985

RayMol 1.11.3

Two ways to turn a selection into its own object, restoring a pair of desktop PyMOL menu items the Objects panel was missing.

Both live on the A menu of a selection row, near the bottom beside Move to Group. They differ in what happens to the structure you selected from:

  • Copy to Object ▸ — leaves the original untouched. Pick New Object… to name a fresh copy, or pick a loaded object to merge the atoms into it (chain, segment and atom IDs are renamed on the way in so nothing collides). The object you copied from stays visible and keeps every atom.
  • Extract ▸ — moves the atoms out of their parent object into a new one, named obj01, obj02, … as PyMOL does. Choose object for the selection alone, or extend 1 / byres extend 1 to bring the bonded neighbourhood along — handy for pulling a ligand out together with the residues it touches. The emptied selection is cleared away afterwards rather than left behind as a row matching nothing.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.11.2

Choose a tag to compare

@javierbq javierbq released this 18 Sep 05:21
2b96490

RayMol 1.11.2

A rendering fix for the lines representation with more than one object on screen.

  • Fixed: only one object's lines were drawn when two or more objects showed
    lines.
    Loading two structures and choosing show ▸ lines on all drew the
    lines of the last object only; the others' lines were missing, and they came
    back the moment you toggled that object off. Every line-drawing object shared a
    single GPU vertex buffer, so whichever object was drawn last overwrote the
    others' geometry before the frame reached the GPU. Each object now draws from
    its own buffer. Sticks were never affected — only lines. The label leader lines
    drawn beside offset labels shared the same flaw and are fixed with it.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.11.1

Choose a tag to compare

@javierbq javierbq released this 13 Sep 15:20
6ab89b7

RayMol 1.11.1

A rendering fix for sticks after using Move mode.

  • Fixed: opening Move mode washed out every stick in the session. The Move
    gizmo's cylinders latched their cap style and color blending onto every
    cylinder drawn afterwards, so bonds picked up flat, notched ends and a
    full-length color ramp instead of the hard color change at the middle of
    the bond. It affected every object, every representation and every frame from
    that point on, and deleting the gizmo did not undo it. The effect grew with
    stick_radius, so it was most obvious on thicker sticks. Cap style and
    coloring are now carried per cylinder, and sticks render the same whether or
    not Move mode has been opened.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.11.0

Choose a tag to compare

@javierbq javierbq released this 10 Sep 05:37
26189d3

RayMol 1.11.0

A feature release: a smoother spline cartoon with real-time ray tracing on by
default, box selection with a live hover readout, a richer color menu, and a
long list of macOS fixes.

Rendering

  • Spline cartoon. A new ChimeraX-style path tessellation removes the
    per-residue creases and facets on strands. On by default; the classic
    cartoon stays selectable as Spline ribbon in the object panel and
    inspector.
  • Real-time ray tracing on by default on Macs that support it, with
    traced shadows and temporal ambient occlusion. The RT pass now costs about
    half as much (new RT resolution control in the Display panel) and caches
    its geometry per object instead of rebuilding it every frame.
  • Fixed: ray-traced shadows and AO ignored moved objects and surface
    clipping
    , and lost the crease shading that ambient occlusion provides.
    Traced shadows no longer show acne, stripes or sawtooth edges on twisted
    strands.
  • Fixed: the key light and shadows now follow PyMOL's light setting.
  • Fixed: settings like Exposure, Outline and the surface clip sliders only
    took effect after the next mouse move.
    Every setting change repaints.
  • Fixed: a horizontally squeezed scene on 1x displays whenever a
    multi-state object was loaded.
  • Fixed: a static scene re-rendered a few times a second on every UI
    poll, and a static frame could steal the drawable from a drag.

Selecting and inspecting

  • Box select. Tools ▸ Box Select (⌃S), or the button on the Selections
    panel: drag a rectangle over the viewport to select what's inside. The
    camera holds still while it's on, and it respects clipping, visibility and
    grid cells the same way a click does.
  • Hover readout. A chip in the viewport's top-right names what the
    cursor is over, at the granularity a click would commit — object, chain,
    residue or atom.
  • Fixed: the sequence viewer listed objects that weren't displayed, and
    now highlights residues live while you drag-select.

Panels and menus

  • PyMOL's tiered color menu is back. The per-object C menu lists one
    row per hue; click the row for the base color or open it for the named
    variants (firebrick, salmon, …).
  • Center all objects. A ▸ Center all objects on the all row stacks
    every object on a common center so you stop re-zooming between unrelated
    structures; a second entry resets them. Command form: center_all.
  • Hydrogens in the S and H menus. Show or hide all/non-polar hydrogens
    where you'd look for them, not only under A.
  • Resizable sidebar. Drag the seam between the viewport and the right
    column; object rows also get a full-name tooltip.
  • One Tools menu. Move, Measure, Box Select, Design and Predict live in a
    single menu with every shortcut visible. New pane toggles: Console ⌘1,
    Sequence ⌘2, Side Panel ⌘3.

Sessions and console

  • Opening a .pse no longer silently replaces your work. Opening a
    session from Finder, drag-and-drop or the Open panel over a non-empty
    session asks to Save and Replace, Replace, or Cancel. Sessions also load
    bare, so a restored session's colors are never re-themed.
  • Fixed: the console showed a stale build number. The banner now reads
    the real version, and you can select and copy across log lines.
  • Fixed: the Background swatch's opacity did nothing. It now drives the
    transparent-background export toggle.
  • Fixed: proline's ring was left open in sidechain sticks.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.10.0

Choose a tag to compare

@javierbq javierbq released this 24 Aug 19:07
8b158e3

RayMol 1.10.0

A feature release: on-device structure prediction, MSA search, per-tool
metrics, and a reworked Design mode selection model — plus a batch of
interface fixes.

Predict

  • Predict a structure right in RayMol. Tools ▸ Predict (or ⌃P) opens
    a bar where you type or select a sequence and fold it on-device with
    Boltz-2 or Protenix — no server round-trip, no export/import.
  • A live progress tray shows weight downloads and running predictions as
    stacked, dismissible cards, with a per-phase ETA.
  • Feed an MSA to a predictor as a declared capability; results load into
    a pending placeholder object you can inspect as it fills in.
  • Failed jobs stay on screen so you can see why, and retry.

Sequence search

  • Search a ColabFold MSA server, public or private, from inside RayMol —
    alignments come back as named, session-stored objects you can browse
    alongside your structures.

Metrics

  • Numbers a tool measures are kept with the object it measured.
    metrics_get / metrics_color surface per-chain and whole-object values
    (Boltz's pLDDT/PAE, for example) without leaving the object panel.

Design mode

  • Selection is now driven by sele, the same selection every other
    RayMol tool uses — pick residues in Design mode the same way you would
    anywhere else, and the two stay in sync.
  • Sidechains show by default on the design target, and the mode reports
    how many selected residues it's ignoring.
  • The old named-selection picker is gone — one selection model, not two.

Interface

  • Move, Measure and Design now live under one Tools menu.
  • Object groups render as a tree in the panel, instead of a flat list.
  • The console remembers its size. It now defaults to 1/5 of the window
    height, and your panel layout (console + inspector) persists across
    launches.
  • Cycle the selection mode with Tab / Shift+Tab.

Notes

  • Inserting no longer kicks you into Preview. Adding an image, view link
    or snippet leaves the editor in whichever mode you were working in.
  • View links show a thumbnail, so you can see where a link goes before
    following it.

Fixes

  • Label backgrounds, outlines and connectors render correctly again.
  • The object panel no longer stalls on large sessions with many objects.
  • A text selection wins over the viewport image on ⌘C.
  • Fixed: cancelling a weight download during unpacking wedged the card.
    The tray could stick at "Unpacking… 67%" forever, and every later download
    of that pack silently did nothing.
  • The prediction countdown says what it measures. A fold's estimate covers
    the current phase, so it now reads "this phase: 2 min left" instead of a
    bare "almost done" that looked like it described the whole run.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.9.1

Choose a tag to compare

@javierbq javierbq released this 11 Aug 04:34
4811c2d

RayMol 1.9.1

A fix release, led by one long-standing gap: keyboard shortcuts now work.

Keyboard shortcuts

  • set_key remapping works again. Bindings in your startup script — or typed
    at the command line — now actually fire. If you have carried a ~/.pymolrc
    full of cmd.set_key bindings from desktop PyMOL for years, copy it to
    ~/.raymolrc.py and it will do what it always did. Function keys, arrows,
    Page Up/Down, Home/End, and ⌃/⌥ combinations are all delivered.
  • PyMOL's own built-in shortcuts are live too. All 125 of them, for the
    first time in RayMol: ←/→ step movie frames, Page Up/Page Down change
    scenes, Home zooms to fit.
  • Typing still wins. While you are editing a command, the command line keeps
    the arrows, Home/End and the usual ⌃A/⌃E/⌃H text-editing keys — they
    only trigger PyMOL bindings once the prompt is empty. Page Up/Down and the
    function keys always work, so a binding is never out of reach.
  • Your bindings beat the app's. If your script binds a key RayMol also uses
    as a menu shortcut (⌃M, ⌃D), yours wins and RayMol tells you so at
    startup. The menu item still works by click.

Two notes. ⌥-key bindings only fire when the command line does not have
focus
— click the viewport first. On macOS, Option is the character-composition
key (⌥L types @ on a German layout), so RayMol cannot safely treat it as a
shortcut while you are typing. And keyboard shortcuts are macOS-only for now.

Fixes

  • Fixed: the camera jumped when showing dots, surface or mesh. Turning on
    one of these representations could re-frame the scene; your view is now
    preserved.
  • Fixed: console spam from the object panel. The panel probed non-molecular
    objects — maps, groups, CGOs — and filled the log with warnings.
  • The sequence toggles are labeled "Seq", which is what they actually do.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.9.0

Choose a tag to compare

@javierbq javierbq released this 04 Aug 20:54
ae642e8

RayMol 1.9.0

A feature release: Design mode brings on-device protein sequence design to
RayMol, scenes now remember where you put things, and RayMol gets a startup
script of its own.

Design mode

  • Redesign sequences on your Mac — offline. A new Design mode (⌃D),
    peer to Move and Measure, runs ProteinMPNN entirely on-device. Nothing is
    uploaded and no server is involved; the model ships inside the app.
  • Per-residue confidence coloring. Color a structure by how well the model
    thinks each position fits the residue that's actually there (Native-fit) or
    by how sure it is of its own pick (Certainty), with a legend and inline
    help.
  • Propensity inspector. Hover or pin any residue to see its full
    20-amino-acid propensity distribution, with element-colored side-chain sticks
    previewed on hover — nothing is modified.
  • Point mutations with live rescore and repack. Mutate a position and
    RayMol immediately re-scores the sequence and repacks the side chain in
    place. Auto-repack is a toggle, and every edit lands in a working copy you
    can keep or discard.
  • Region redesign. Pick a selection and redesign that whole region with the
    rest of the structure held fixed — with one-level revert, and a pill row for
    restricting which amino acids the model may use.

Design mode is macOS-only for now.

Scenes

  • Scenes remember object placement. A scene now stores each object's
    Move-mode position and orientation alongside the camera, so recalling it
    restores the arrangement you built — not just the viewpoint. Movies built
    from scenes interpolate that object motion between keyframes.

Startup

  • ~/.raymolrc startup script. RayMol now runs ~/.raymolrc (or
    ~/.raymolrc.py) at launch, after the theme defaults so your script can
    override them. Bare cmd.… calls work as they do in the command-line PyMOL.
    If you have a ~/.pymolrc and no ~/.raymolrc, RayMol offers — once — to
    import it; declining is remembered.

Fixes

  • Escape exits Move, Design, and Measure mode. Entering a mode by keyboard
    (⌃M / ⌃D) no longer means hunting for a mouse target to leave it. Esc
    dismisses an open sheet or popover first, then leaves the active mode, then
    falls through to clearing the selection.
  • Entering Design mode no longer strands the move gizmo. Switching modes
    now runs each mode's real teardown, so the on-screen gizmo can't be left
    behind in the scene.
  • A multi-file open loads every file. open a.pdb b.pdb c.pdb, Finder's
    "Open With" on a multi-selection, and dropping several files on the Dock icon
    now load all of them as separate structures instead of just the first.
  • Also included for anyone coming from 1.8.0: the 1.8.1 fix for the object
    panel freezing and spamming the log in sessions with many objects or
    selections.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

RayMol 1.8.1

Choose a tag to compare

@javierbq javierbq released this 03 Aug 19:12

RayMol 1.8.1

A stability patch for sessions that hold many objects or selections.

  • Fixed: the object panel stayed empty and the console filled with raw JSON
    on larger sessions.
    Opening a session with roughly sixteen or more objects —
    or a dozen structures each carrying several chain selections — left the side
    panel reporting "No objects loaded" and the No structure loaded placeholder
    sitting on top of structures that had in fact loaded and were being rendered.
    The console meanwhile filled with repeating fragments of raw object data. The
    object list is now handed to the panel out-of-band instead of over a
    length-capped status line, so the panel populates and the log stays clean no
    matter how large the session is.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).

iOS deps a0663ba183cc

iOS deps a0663ba183cc Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jul 00:24
6ca53b9

Prebuilt deps_ios for RayMol iOS builds.

Fingerprint a0663ba183cc covers scripts/{setup_ios_deps,fetch_ios_python,build_ios_deps,build_numpy_ios,bundle_biopython}.sh.
Fetched by swiftui/ci_scripts/ci_post_clone.sh on every Xcode Cloud build.

Pins: Python-Apple-support 3.13-b12, freetype 2.13.3, libpng 1.6.44, numpy 2.4.6, biopython 1.87, iOS deployment target 16.0.

Prerelease so it never becomes latest (that would break the macOS Sparkle appcast feed). Do not delete while any branch still fingerprints to a0663ba183cc.

RayMol 1.8.0

Choose a tag to compare

@javierbq javierbq released this 17 Jul 19:26
692d526

RayMol 1.8.0

A maintenance release: Move-gizmo and rendering fixes, plus stability
refinements. (The iPhone and iPad apps also get a redesigned control-rail
interface in this version.)

Fixes

  • Move gizmo. Ring and axis selection and rigid-body motion are smoother and
    more reliable — the handle you grab responds the way you expect.
  • Move and Measure are now mutually exclusive. Entering one leaves the other,
    so the two interaction modes no longer overlap.
  • No more blank-on-launch. The viewport reliably paints its first frame on
    startup instead of occasionally staying empty until you interact with it.
  • Rendering and stability refinements throughout.

Built on the open-source PyMOL engine. Updates install automatically via the in-app updater (Check for Updates… in the app menu).