Opened 3 weeks ago

Closed 2 weeks ago

Last modified 13 days ago

#20576 closed defect (fixed)

Boltz requires older Python versions <= 3.12.

Reported by: Tom Goddard Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Structure Prediction Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

We plan to update ChimeraX to Python 3.14 after the update to numpy 2. Boltz installation only works with Python 3.10-3.12 since the pyproject.toml file says "requires-python = ">=3.10,<3.13"". I think the best solution will be to install a dedicated Python for Boltz when Boltz is installed instead of using a virtual environment based of ChimeraX Python.

An alternative would be to update the RBVI Boltz fork to work with Python 3.14. This could probably be done since the Novel Therapeutics boltz-community repository has changed the Python requirement to >=3.10. But it also unpinned many other dependent package versions and may require newer versions of other packages. I think this is a less desirable solution because it puts the burden on us for keeping Boltz working, and the original jwohlwend/boltz github has largely been abandoned by the developers after the formed the Boltz Bio company.

Change History (4)

comment:1 by Tom Goddard, 3 weeks ago

I could probably fetch and install a prebuilt Python from the Astral project

https://gregoryszorc.com/docs/python-build-standalone/main/running.html#obtaining-distributions

comment:2 by Tom Goddard, 2 weeks ago

Astral Python builds just require fetching and extracting a tar.gz file. This is easy and in my tests on Mac, Windows and Linux worked well. I think this is the best approach. It avoid trying to debug and maintain Boltz with newer Python versions when the original developers appear to have abandoned it.

I tested on ARM Mac and Intel Windows and Intel Linux. I put in code to also handle ARM Windows and Linux but I don't have machines to test those. Also there is no Torch 2.7.1 binary for Intel Mac, so ChimeraX Boltz has not supported Intel Mac.

comment:3 by Tom Goddard, 2 weeks ago

Resolution: fixed
Status: assignedclosed

Fixed.

I made Boltz install use Astral Python 3.11 instead of the ChimeraX Python.

I may in the future want to make OpenFold install use the same approach. But I believe OpenFold works with the latest Python 3.14 so it can wait.

comment:4 by Tom Goddard, 13 days ago

I made the same change to OpenFold installation so it installs a dedicated Astral Python 3.11 build.

OpenFold installation failed in a ChimeraX using Python 3.14. It installed all the packages, but then trying to import openfold to download the model parameters failed with an error importing deepspeed. This could probably be fixed in our RBVI OpenFold github but it seemed wise to decouple OpenFold python from ChimeraX python.

Version 0, edited 13 days ago by Tom Goddard (next)
Note: See TracTickets for help on using tickets.