Opened 15 months ago

Closed 15 months ago

Last modified 15 months ago

#15641 closed defect (not a bug)

Save MRC file of half map: could not broadcast input array from shape

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

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.22631
ChimeraX Version: 1.8 (2024-06-10 23:15:52 UTC)
Description
Trying to save MRC file of half map resulted in an error that didn't allow it to save(Describe the actions that caused this problem to occur here)

Log:
Startup Messages  
---  
warning | QMainWidget::resizeDocks: all sizes need to be larger than 0  
note | available bundle cache has not been initialized yet  
  
UCSF ChimeraX version: 1.8 (2024-06-10)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open "C:\\\Users\\\ebill\\\OneDrive\\\Documents\\\RESEARCH\\\grad
> school_purdue\\\Data\\\chimera_and_coot_density_files\\\ngBAM\\\ngBAM_reproc\\\ngBamACDE_cryosparc_P62_cryosparc_P62_J1297_007_volume_map_half_B.mrc"

Opened ngBamACDE_cryosparc_P62_cryosparc_P62_J1297_007_volume_map_half_B.mrc
as #1, grid size 256,256,256, pixel 1.07, shown at level 0.191, step 1, values
float32  

> zone flip #1

Expected an atoms specifier or a keyword  

> zone flip 1

Expected an atoms specifier or a keyword  

> vop flip 1

> volume flip 1

Missing or invalid "volumes" argument: invalid density maps specifier  

> vop flip #1

Opened ngBamACDE_cryosparc_P62_cryosparc_P62_J1297_007_volume_map_half_B.mrc z
flip as #2, grid size 256,256,256, pixel 1.07, shown at step 1, values float32  

> close #1

> save "C:/Users/ebill/OneDrive/Documents/RESEARCH/grad
> school_purdue/Data/chimera_and_coot_density_files/ngBAM/ngBAM_reproc/ngBamACDE_cryosparc_P62_cryosparc_P62_J1297_007_volume_map_half_B.mrc"
> models #2

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\save_command\dialog.py", line 127, in <lambda>  
lambda *args, ses=session: show_save_file_dialog(ses), tool_tip="Save output
file",  
^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\save_command\dialog.py", line 138, in show_save_file_dialog  
_dlg.display(session, **kw)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\save_command\dialog.py", line 62, in display  
run(session, cmd)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 49, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\save_command\cmd.py", line 86, in cmd_save  
Command(session, registry=registry).run(provider_cmd_text, log=log)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\save_command\cmd.py", line 101, in provider_save  
saver_info.save(session, path, **provider_kw)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map\\__init__.py", line 200, in save  
save_map(session, path, _name, **kw)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map\volume.py", line 4025, in save_map  
save_grid_data(grids, path, session, format_name, options)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\fileformats.py", line 326, in save_grid_data  
ff.save_func(garg, tpath, options = options, progress = p)  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\mrc\writemrc.py", line 73, in
write_mrc2000_grid_data  
matrix = grid_data.matrix((0,0,k), (isz,jsz,1))  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_filter\flip.py", line 39, in matrix  
m = self.data.matrix(origin, ijk_size, ijk_step, progress=progress,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\griddata.py", line 317, in matrix  
m = self.read_matrix(ijk_origin, ijk_size, ijk_step, progress)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\mrc\mrc_grid.py", line 50, in read_matrix  
m = self.mrc_data.read_matrix(ijk_origin, ijk_size, ijk_step, progress)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\mrc\mrc_format.py", line 287, in read_matrix  
matrix = read_array(self.path, self.data_offset,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\readarray.py", line 68, in read_array  
matrix[(k-ko)//kstep,(j-jo)//jstep,:] = slice[::istep]  
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
ValueError: could not broadcast input array from shape (0,) into shape (256,)  
  
ValueError: could not broadcast input array from shape (0,) into shape (256,)  
  
File "C:\Program Files\ChimeraX 1.8\bin\Lib\site-
packages\chimerax\map_data\readarray.py", line 68, in read_array  
matrix[(k-ko)//kstep,(j-jo)//jstep,:] = slice[::istep]  
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 471.41
OpenGL renderer: NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.4
Locale: en_US.cp1252
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.3
Qt platform: windows

Manufacturer: Micro-Star International Co., Ltd.
Model: GE66 Raider 11UE
OS: Microsoft Windows 11 Home (Build 22631)
Memory: 16,866,480,128
MaxProcessMemory: 137,438,953,344
CPU: 16 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
OSLanguage: en-US

Installed Packages:
    alabaster: 0.7.16
    appdirs: 1.4.4
    asttokens: 2.4.1
    Babel: 2.15.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 1.2.1
    certifi: 2024.6.2
    cftime: 1.6.4
    charset-normalizer: 3.3.2
    ChimeraX-AddCharge: 1.5.17
    ChimeraX-AddH: 2.2.6
    ChimeraX-AlignmentAlgorithms: 2.0.2
    ChimeraX-AlignmentHdrs: 3.5
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.12.7
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.57.1
    ChimeraX-AtomicLibrary: 14.0.6
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.4.6
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.12.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.7
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.4
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.4
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.5
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.6
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.8
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2.4
    ChimeraX-DiffPlot: 1.0
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.3
    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.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.10
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.1.6
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.2
    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-MatchMaker: 2.1.3
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7.1
    ChimeraX-MedicalToolbar: 1.0.3
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.17
    ChimeraX-ModelPanel: 1.5
    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
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.2
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.13.5
    ChimeraX-PDB: 2.7.5
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1.1
    ChimeraX-PubChem: 2.2
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.4.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 4.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 3.0.15
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.11.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.16.5
    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
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.39.1
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.4.3
    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.4
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.2
    comtypes: 1.4.1
    contourpy: 1.2.1
    cxservices: 1.2.2
    cycler: 0.12.1
    Cython: 3.0.10
    debugpy: 1.8.1
    decorator: 5.1.1
    docutils: 0.20.1
    executing: 2.0.1
    filelock: 3.13.4
    fonttools: 4.53.0
    funcparserlib: 2.0.0a0
    glfw: 2.7.0
    grako: 3.16.5
    h5py: 3.11.0
    html2text: 2024.2.26
    idna: 3.7
    ihm: 1.0
    imagecodecs: 2024.1.1
    imagesize: 1.4.1
    ipykernel: 6.29.2
    ipython: 8.21.0
    ipywidgets: 8.1.3
    jedi: 0.19.1
    jinja2: 3.1.4
    jupyter-client: 8.6.0
    jupyter-core: 5.7.2
    jupyterlab-widgets: 3.0.11
    kiwisolver: 1.4.5
    line-profiler: 4.1.2
    lxml: 5.2.1
    lz4: 4.3.3
    MarkupSafe: 2.1.5
    matplotlib: 3.8.4
    matplotlib-inline: 0.1.7
    msgpack: 1.0.8
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numexpr: 2.10.0
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 24.1
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pillow: 10.3.0
    pip: 24.0
    pkginfo: 1.10.0
    platformdirs: 4.2.2
    prompt-toolkit: 3.0.47
    psutil: 5.9.8
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.4.4
    pygments: 2.17.2
    pynmrstar: 3.3.4
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3401
    pyparsing: 3.1.2
    pyproject-hooks: 1.1.0
    PyQt6-commercial: 6.6.1
    PyQt6-Qt6: 6.6.3
    PyQt6-sip: 13.6.0
    PyQt6-WebEngine-commercial: 6.6.0
    PyQt6-WebEngine-Qt6: 6.6.3
    python-dateutil: 2.9.0.post0
    pytz: 2024.1
    pywin32: 306
    pyzmq: 26.0.3
    qtconsole: 5.5.1
    QtPy: 2.4.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.13.0
    setuptools: 69.5.1
    sfftk-rw: 0.8.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 7.2.6
    sphinx-autodoc-typehints: 2.0.1
    sphinxcontrib-applehelp: 1.0.8
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.6
    sphinxcontrib-htmlhelp: 2.0.5
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.7
    sphinxcontrib-serializinghtml: 1.1.10
    stack-data: 0.6.3
    superqt: 0.6.3
    tables: 3.8.0
    tcia-utils: 1.5.1
    tifffile: 2024.1.30
    tinyarray: 1.2.4
    tornado: 6.4.1
    traitlets: 5.14.2
    typing-extensions: 4.12.2
    tzdata: 2024.1
    urllib3: 2.2.1
    wcwidth: 0.2.13
    webcolors: 1.13
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.11
    WMI: 1.5.1

Change History (3)

comment:1 by Eric Pettersen, 15 months ago

Component: UnassignedVolume Data
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionSave MRC file of half map: could not broadcast input array from shape

Reported by Evan Billings

comment:2 by Tom Goddard, 15 months ago

Resolution: not a bug
Status: assignedclosed

When you use ChimeraX command "volume flip #1" and then try to save the flipped map, it reads from the MRC file you opened for model #1. In your case that file on disk apparently changed and so the read failed.

In general ChimeraX does not read all the data from MRC files you open, for instance when it shows a subsampled version of the data, so that it can open quickly and handle maps that are larger than your graphics can handle. And it may reread the data to keep memory use below some threshold. So if you open a map and then it changes on disk while you are still using it in ChimeraX you can get this type of error.

comment:3 by Tom Goddard, 15 months ago

In your case it read all of the data for the MRC file you opened as model #1, then you flipped it creating model #2, then you closed model #1 which flushed all of the data for model #1, then when you tried to save model #2 it tried to reread and flip the MRC file for model #1 and failed because that file had changed on disk.

Note: See TracTickets for help on using tickets.