Opened 14 hours ago

Last modified 13 hours ago

#20573 assigned defect

Boltz fails with numpy 2.4 due to numba requiring numpy version <= 2.1

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

Description

The following bug report has been submitted:
Platform:        macOS-26.5.2-arm64-arm-64bit
ChimeraX Version: 1.13.dev202606302219 (2026-06-30 22:19:15 UTC)
Description
Boltz structure prediction fails with numpy 2.  Boltz reports that numba requires numpy 2.1 or less while ChimeraX is providing numpy 2.4.

Log:
UCSF ChimeraX version: 1.13.dev202606302219 (2026-06-30)  
© 2016-2026 Regents of the University of California. All rights reserved.  

> open /Users/goddard/Desktop/test.cxs format session

Log from Wed Jul 1 15:28:34 2026UCSF ChimeraX version: 1.13.dev202606302219
(2026-06-30)  
© 2016-2026 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 8ef5 format mmcif fromDatabase pdb

8ef5 title:  
Fentanyl-bound mu-opioid receptor-Gi complex [more info...]  
  
Chain information for 8ef5 #1  
---  
Chain | Description | UniProt  
A F | Guanine nucleotide-binding protein G(i) subunit alpha-1 | GNAI1_HUMAN 1-354  
B | Guanine nucleotide-binding protein G(I)/G(S)/G(T) subunit beta-1 | GBB1_RAT 2-340  
C | Guanine nucleotide-binding protein G(I)/G(S)/G(O) subunit gamma-2 | GBG2_BOVIN 1-68  
E | scFv16 |   
M R | Mu-type opioid receptor | OPRM_HUMAN 2-368  
  
Non-standard residues in 8ef5 #1  
---  
7V7 — N-phenyl-N-[1-(2-phenylethyl)piperidin-4-yl]propanamide  
CLR — cholesterol  
  

> ui tool show "Render/Select by Attribute"

> color byattribute a:bfactor #!1 target absc palette
> 63.64,blue:98.675,white:133.71,red

11705 atoms, 1453 residues, atom bfactor range 63.6 to 134  

> close

> open 1a0m

1a0m title:  
1.1 angstrom crystal structure of A-conotoxin [TYR15]-epi [more info...]  
  
Chain information for 1a0m #1  
---  
Chain | Description | UniProt  
A B | ALPHA-CONOTOXIN [TYR15]-EPI | CXA1_CONEP 1-16  
  
Non-standard residues in 1a0m #1  
---  
NH2 — amino group  
  
8 atoms have alternate locations. Control/examine alternate locations with
Altloc Explorer [start tool...] or the altlocs command.  

> ui tool show "Crystal Contacts"

> crystalcontacts #1

10 pairs of asymmetric units of 1a0m contact at distance 3.0 A

    
    
      Atoms  MTRIX  SMTRY   Unit cell  MTRIXref  Copies
        16     0      5      0  0  0      0         1
        16     0      5      0  0 -1      0         1
         8     0      7      0  0  0      0         1
         6     0      6      0 -1 -1      0         1
         6     0      2      0  0  0      0         1
         4     0      7      0  0 -1      0         1
         4     0      6      0 -1  0      0         1
         4     0      3      0  0  0      0         1
         4     0      2      1  0  0      0         1
         3     0      3      0  1  0      0         1
    

  

> close

> open 9sgj coordsets true

Summary of feedback from opening 9sgj fetched from pdb  
---  
note | Fetching compressed mmCIF 9sgj from https://files-beta.wwpdb.org/pub/wwpdb/pdb/data/entries/sg/pdb_00009sgj/structures/pdb_00009sgj.cif.gz  
  
9sgj title:  
Fd3 tentative ancient version of modern ferodoxin fold [more info...]  
  
Chain information for 9sgj #1  
---  
Chain | Description  
A | Fd3  
  
9sgj has 30 coordinate sets  

> md cluster #!1 start 1 step 1 end 30

> close

> open 1a0m

1a0m title:  
1.1 angstrom crystal structure of A-conotoxin [TYR15]-epi [more info...]  
  
Chain information for 1a0m #1  
---  
Chain | Description | UniProt  
A B | ALPHA-CONOTOXIN [TYR15]-EPI | CXA1_CONEP 1-16  
  
Non-standard residues in 1a0m #1  
---  
NH2 — amino group  
  
8 atoms have alternate locations. Control/examine alternate locations with
Altloc Explorer [start tool...] or the altlocs command.  

> usage swapaa

swapaa residues resTypes [angleSlop a number] [bfactor a number] [criteria
criteria] [density a density map specifier] [distSlop a number]
[hbondAllowance a number] [ignoreOtherModels true or false] [rotLib rotLib]
[log true or false] [preserve preserve] [relax true or false] [retain true or
false] [scoreMethod scoreMethod] [overlapCutoff a number]  
— Swap amino acid side chain(s)  
resTypes: some text strings  
criteria: some an integer ≥ 0 or a text string  
rotLib: one of Dunbrack, Dynameomics, Richardson.common, or Richardson.mode  
preserve: a number ≥ 0  
scoreMethod: one of num or sum

swapaa interactive residues resTypes [rotLib rotLib] [log true or false]  
— Show possible side-chain rotamers  
resTypes: some text strings  
rotLib: one of Dunbrack, Dynameomics, Richardson.common, or Richardson.mode

swapaa mousemode residues restypes  
— Replace residue with specified amino acid  
restypes: a collection of one of ALA, ARG, ASN, ASP, CYS, GLN, GLU, GLY, HIS,
ILE, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR, or VAL  

> show atoms

> swapaa /A:9 HIS

Using Dunbrack library  
/A ASN 9: phi -57.7, psi -50.2 trans  
Applying HIS rotamer (chi angles: -179.8 96.8) to /A HIS 9  

> ui mousemode right swapaa

> swapaa mousemode /A:9 MET

> close

> open 8ef5 format mmcif fromDatabase pdb

8ef5 title:  
Fentanyl-bound mu-opioid receptor-Gi complex [more info...]  
  
Chain information for 8ef5 #1  
---  
Chain | Description | UniProt  
A F | Guanine nucleotide-binding protein G(i) subunit alpha-1 | GNAI1_HUMAN 1-354  
B | Guanine nucleotide-binding protein G(I)/G(S)/G(T) subunit beta-1 | GBB1_RAT 2-340  
C | Guanine nucleotide-binding protein G(I)/G(S)/G(O) subunit gamma-2 | GBG2_BOVIN 1-68  
E | scFv16 |   
M R | Mu-type opioid receptor | OPRM_HUMAN 2-368  
  
Non-standard residues in 8ef5 #1  
---  
7V7 — N-phenyl-N-[1-(2-phenylethyl)piperidin-4-yl]propanamide  
CLR — cholesterol  
  

> usage findclash

"findclash" is not a command name  

> style stick

Changed 11705 atom styles  

> ui tool show Clashes

> clashes sel restrict #1 overlapCutoff 0.0 ignoreHiddenModels true select
> true

No atoms match given atom specifier  

> ui tool show Clashes

> select /R

2474 atoms, 2551 bonds, 293 residues, 1 model selected  

> clashes sel restrict #1 overlapCutoff 0.0 ignoreHiddenModels true select
> true

253 clashes  

> ui tool show Scenes

> scenes save ""

> hide sel atoms

> select clear

> show cartoons

> hide atoms

> scenes save ""

> scenes restore 1

> scenes restore 2

> show surfaces

> scenes save ""

> scenes restore 1

> scenes restore 2

> scenes restore 3

> save test.cxs

——— End of log from Wed Jul 1 15:28:34 2026 ———

> view name session-start

opened ChimeraX session  

> scenes restore 2

> scenes restore 1

> scenes restore 2

> scenes restore 3

> hide #!1 models

> ui tool show "Cage Builder"

> view

> close

> open 9sgj format mmcif fromDatabase pdb coordsets true

9sgj title:  
Fd3 tentative ancient version of modern ferodoxin fold [more info...]  
  
Chain information for 9sgj #1  
---  
Chain | Description  
A | Fd3  
  
9sgj has 30 coordinate sets  

> ui tool show OpenFold

> openfold predict protein /A name 9sgj

Running OpenFold prediction of protein with 75 residues on gpu  
Using multiple sequence alignment server https://api.colabfold.com  
Confidence pTM 0.61, , pLDDT 71  
OpenFold prediction completed in 67 seconds (start openfold 12 sec, initialize
neural net 29 sec, sequence search 0 sec, structure inference 17 sec)  
Please cite OpenFold-1 Democratizing Biomolecular Interaction Modeling.
BioRxiv https://doi.org/10.1101/2024.11.19.624167 if you use these
predictions.  

> open
> /Users/goddard/Desktop/openfold/9sgj/9sgj/seed_42/9sgj_seed_42_sample_1_model.cif
> logInfo false

Matchmaker 9sgj, chain A (#1) with 9sgj_seed_42_sample_1_model.cif, chain A
(#2), sequence alignment score = 344  
RMSD between 66 pruned atom pairs is 0.704 angstroms; (across all 75 pairs:
3.037)  
  

> ui tool show Boltz

> boltz predict protein #1/A name 9sgj

Running Boltz prediction of protein with 75 residues on gpu  
Using multiple sequence alignment server https://api.colabfold.com  
Running boltz prediction failed with exit code 1:  
command:  
/Users/goddard/boltz22/bin/boltz predict
/Users/goddard/Desktop/boltz/boltz_9sgj/9sgj.yaml --use_msa_server
--accelerator gpu --no_kernels  
stdout:  
  
stderr:  
/Users/goddard/boltz22/lib/python3.11/site-
packages/torchmetrics/__init__.py:31: UserWarning: A NumPy version >=1.22.4
and <2.3.0 is required for this version of SciPy (detected version 2.4.6)  
import scipy.signal  
Traceback (most recent call last):  
File "/Users/goddard/boltz22/bin/boltz", line 5, in <module>  
from boltz.main import cli  
File "/Users/goddard/boltz22/lib/python3.11/site-packages/boltz/main.py", line
23, in <module>  
from boltz.data.module.inference import BoltzInferenceDataModule  
File "/Users/goddard/boltz22/lib/python3.11/site-
packages/boltz/data/module/inference.py", line 11, in <module>  
from boltz.data.feature.featurizer import BoltzFeaturizer  
File "/Users/goddard/boltz22/lib/python3.11/site-
packages/boltz/data/feature/featurizer.py", line 5, in <module>  
import numba  
File "/Users/goddard/boltz22/lib/python3.11/site-packages/numba/__init__.py",
line 59, in <module>  
_ensure_critical_deps()  
File "/Users/goddard/boltz22/lib/python3.11/site-packages/numba/__init__.py",
line 45, in _ensure_critical_deps  
raise ImportError(msg)  
ImportError: Numba needs NumPy 2.1 or less. Got NumPy 2.4.  
  




OpenGL version: 4.1 Metal - 90.5
OpenGL renderer: Apple M2 Ultra
OpenGL vendor: Apple

Python: 3.11.9
Locale: en_US.UTF-8
Qt version: PyQt6 6.11.0, Qt 6.11.0
Qt runtime version: 6.11.1
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: Mac Studio
      Model Identifier: Mac14,14
      Model Number: Z1800003VLL/A
      Chip: Apple M2 Ultra
      Total Number of Cores: 24 (16 Performance and 8 Efficiency)
      Memory: 64 GB
      System Firmware Version: 18000.121.3
      OS Loader Version: 18000.121.3

Software:

    System Software Overview:

      System Version: macOS 26.5.2 (25F84)
      Kernel Version: Darwin 25.5.0
      Time since boot: 1 day, 22 hours, 59 minutes

Graphics/Displays:

    Apple M2 Ultra:

      Chipset Model: Apple M2 Ultra
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 60
      Vendor: Apple (0x106b)
      Metal Support: Metal 4
      Displays:
        PHL 278B1:
          Resolution: 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    accessible-pygments: 0.0.5
    aiohappyeyeballs: 2.6.2
    aiohttp: 3.13.4
    aiosignal: 1.4.0
    alabaster: 1.0.0
    annotated-types: 0.7.0
    anyio: 4.14.1
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 3.0.1
    attrs: 26.1.0
    babel: 2.18.0
    beautifulsoup4: 4.13.5
    blockdiag: 3.0.0
    blosc2: 4.7.0
    build: 1.5.0
    certifi: 2025.8.3
    cftime: 1.6.5
    charset-normalizer: 3.4.7
    ChimeraX-AddCharge: 1.5.20
    ChimeraX-AddH: 2.3.1
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.6.2
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 3.2.2
    ChimeraX-AlphaFold: 1.0.1
    ChimeraX-AltlocExplorer: 1.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Animations: 1.0
    ChimeraX-Aniso: 1.3.2
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.69.2
    ChimeraX-AtomicLibrary: 14.4.1
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.3
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 3.0.0
    ChimeraX-Boltz: 1.1
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.2
    ChimeraX-BuildStructure: 2.13.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.6.0
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4.1
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.5
    ChimeraX-ChemGroup: 2.0.2
    ChimeraX-Clashes: 2.4
    ChimeraX-Cluster: 1.0
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.8
    ChimeraX-CommandLine: 1.3.1
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.13.dev202606302219
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.6
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DAQplugin: 1.0.0
    ChimeraX-DataFormats: 1.2.4
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.2.2
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ESMFold: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.3
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.4.1
    ChimeraX-Hbonds: 2.5.4
    ChimeraX-Help: 1.3
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.4
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-KVFinder: 1.8.3
    ChimeraX-Label: 1.5
    ChimeraX-LightingGUI: 1.0
    ChimeraX-ListInfo: 1.3.1
    ChimeraX-Log: 1.2.2
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.3
    ChimeraX-Map: 1.3
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0.1
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.2
    ChimeraX-MatchAlign: 1.2.1
    ChimeraX-MatchMaker: 2.4.1
    ChimeraX-MCopy: 1.0
    ChimeraX-MCPServer: 0.2.0
    ChimeraX-MDcrds: 2.19.1
    ChimeraX-Meeting: 1.0.1
    ChimeraX-Minimize: 1.4.2
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.17
    ChimeraX-MMTF: 2.2
    ChimeraX-ModelArchive: 1.0
    ChimeraX-Modeller: 1.5.24
    ChimeraX-ModelPanel: 1.6.1
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0.3
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0.1
    ChimeraX-MutationScores: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.16.2
    ChimeraX-OpenFold: 1.0
    ChimeraX-OrthoPick: 1.0.1
    ChimeraX-PDB: 2.7.13
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.5
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.4
    ChimeraX-ProfileGrids: 1.10.2
    ChimeraX-ProNA3D: 0.1
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.8.2
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.3.3
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.2
    ChimeraX-Scenes: 0.3.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.3
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.5.12
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.19.1
    ChimeraX-Shape: 1.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.2.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-SimilarStructures: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SNFG: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.20
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.2.4
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.52
    ChimeraX-Umap: 1.0
    ChimeraX-uniprot: 2.3.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDock: 1.6.4
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-vrml: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.2
    ChimeraX-WebServices: 1.1.5
    ChimeraX-Zone: 1.0.1
    click: 8.4.2
    colorama: 0.4.6
    comm: 0.2.3
    contourpy: 1.3.3
    coverage: 7.14.3
    cxservices: 1.2.3
    cycler: 0.12.1
    Cython: 3.2.4
    debugpy: 1.8.21
    decorator: 5.3.1
    docutils: 0.21.2
    executing: 2.2.1
    filelock: 3.19.1
    flatbuffers: 25.12.19
    fonttools: 4.63.0
    frozenlist: 1.8.0
    funcparserlib: 2.0.0a0
    glfw: 2.10.0
    grako: 3.16.5
    h11: 0.16.0
    h5py: 3.16.0
    html2text: 2025.4.15
    httpcore: 1.0.9
    httpx: 0.28.1
    httpx-sse: 0.4.3
    idna: 3.18
    ihm: 2.2
    imagecodecs: 2024.6.1
    imagesize: 2.0.0
    iniconfig: 2.3.0
    ipykernel: 7.3.0
    ipython: 9.14.1
    ipython_pygments_lexers: 1.1.1
    jedi: 0.20.0
    Jinja2: 3.1.6
    jsonschema: 4.26.0
    jsonschema-specifications: 2025.9.1
    jupyter_client: 8.9.1
    jupyter_core: 5.9.1
    kiwisolver: 1.5.0
    line_profiler: 5.0.0
    llvmlite: 0.47.0
    lxml: 6.0.2
    lz4: 4.3.2
    Markdown: 3.8.2
    markdown-it-py: 4.2.0
    MarkupSafe: 3.0.3
    matplotlib: 3.10.7
    matplotlib-inline: 0.2.2
    mcp: 1.18.0
    mdurl: 0.1.2
    mlx: 0.31.2
    mlx-metal: 0.31.2
    mrcfile: 1.5.4
    msgpack: 1.1.1
    multidict: 6.7.1
    ndindex: 1.10.1
    nest-asyncio2: 1.7.2
    netCDF4: 1.7.4
    networkx: 3.3
    numba: 0.65.1
    numexpr: 2.14.1
    numpy: 2.4.6
    onnxruntime: 1.26.0
    OpenMM: 8.4.0
    openvr: 1.26.701
    packaging: 25.0
    ParmEd: 4.2.2
    parso: 0.8.7
    pep517: 0.13.1
    pexpect: 4.9.0
    pickleshare: 0.7.5
    pillow: 11.3.0
    pip: 26.1.2
    pkginfo: 1.12.1.2
    platformdirs: 4.10.0
    pluggy: 1.6.0
    prompt_toolkit: 3.0.52
    propcache: 0.5.2
    protobuf: 7.34.1
    psutil: 7.0.0
    ptyprocess: 0.7.0
    pure_eval: 0.2.3
    py-cpuinfo: 9.0.0
    pybind11: 3.0.1
    pycollada: 0.8
    pydantic: 2.13.4
    pydantic-settings: 2.14.2
    pydantic_core: 2.46.4
    pydata-sphinx-theme: 0.19.0
    Pygments: 2.18.0
    pynmrstar: 3.5.1
    PyOpenGL: 3.1.10
    PyOpenGL-accelerate: 3.1.10
    pyopenxr: 1.1.4501
    pyparsing: 3.3.2
    pyproject_hooks: 1.2.0
    PyQt6: 6.11.0
    PyQt6-Qt6: 6.11.1
    PyQt6-WebEngine: 6.11.0
    PyQt6-WebEngine-Qt6: 6.11.1
    PyQt6_sip: 13.11.1
    pytest: 9.1.1
    pytest-cov: 7.1.0
    python-dateutil: 2.9.0.post0
    python-dotenv: 1.2.2
    python-multipart: 0.0.32
    pyzmq: 27.1.0
    qtconsole: 5.7.2
    QtPy: 2.4.3
    qtshim: 1.2.2
    RandomWords: 0.4.0
    referencing: 0.37.0
    requests: 2.32.5
    rich: 15.0.0
    roman-numerals: 4.1.0
    rpds-py: 2026.6.3
    scipy: 1.17.1
    setuptools: 82.0.1
    sfftk-rw: 0.8.1
    six: 1.17.0
    snowballstemmer: 3.1.1
    sortedcontainers: 2.4.0
    soupsieve: 2.8.4
    Sphinx: 9.0.4
    sphinx-autodoc-typehints: 3.6.1
    sphinxcontrib-applehelp: 2.0.0
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 2.0.0
    sphinxcontrib-htmlhelp: 2.1.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 2.0.0
    sphinxcontrib-serializinghtml: 2.0.0
    sse-starlette: 3.4.5
    stack-data: 0.6.3
    starlette: 1.3.1
    superqt: 0.7.6
    tables: 3.11.1
    threadpoolctl: 3.6.0
    tifffile: 2025.3.13
    tinyarray: 1.2.5
    tornado: 6.5.7
    traitlets: 5.15.1
    typing-inspection: 0.4.2
    typing_extensions: 4.15.0
    urllib3: 2.7.0
    uvicorn: 0.49.0
    wcwidth: 0.8.2
    webcolors: 24.11.1
    wheel: 0.47.0
    wheel-filename: 1.4.2
    yarl: 1.24.2

Change History (4)

comment:1 by Tom Goddard, 13 hours ago

Component: UnassignedStructure Prediction
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionBoltz fails with numpy 2.4 due to numba requiring numpy version <= 2.1

comment:2 by Tom Goddard, 13 hours ago

The RBVI Boltz and jwohlwend/Boltz pyproject.toml specifies numpy>=1.26,<2.0. So there may be other reasons Boltz will not run with numpy 2. I wonder if when I create the virtual environment for Boltz and it requires numpy 1.26 while ChimeraX has numpy 2 if it will put numpy 1.26 into the virtual environment. Need to try that. If that works then I could add a check to the ChimeraX boltz tool to see if numpy is missing from the boltz venv and in that case install boltz 1.26 or maybe tell the user they need to reinstall Boltz to work with this new version of ChimeraX.

If the user gets a new version of ChimeraX I think the current boltz tool checks that the Boltz venv uses the ChimeraX Python and explains they need to reinstall Boltz if it was installed with ChimeraX in from a different path. But if the user updates their ChimeraX and uses the same path that check I think will not catch the mismatch.

comment:3 by Tom Goddard, 13 hours ago

I installed boltz from a numpy 2 ChimeraX and it correctly put boltz 1.26 into the boltz virtual environment and Boltz predictions from ChimeraX then worked.

I think the best solution for adding numpy 2 to ChimeraX is to improve the ChimeraX boltz command to check that the installed Boltz has numpy, and if not tell them how to reinstall boltz. Another options would be to pip install numpy 1.26 in the boltz venv, but there may be other PyPi package conflicts where ChimeraX has updated to a newer version than what Boltz can use.

comment:4 by Tom Goddard, 13 hours ago

Currently the boltz/predict.py routine _check_venv_valid() only checks that the Python executable pointed to by the pyvenv.cfg file of the Boltz virtual environment exists. If the user gets a new numpy 2 ChimeraX and replaces the numpy 1 ChimeraX they used to install Boltz then it will give an error in predictions. But if we update to Python 3.14 then the python3.11 executable will not be found and it will say you need to reinstall Boltz. I think I should still put in a check for the missing numpy 1 in this checking code if ChimeraX is using numpy 2.

Note: See TracTickets for help on using tickets.