Opened 3 years ago

Closed 3 years ago

#7498 closed defect (not a bug)

_ArrayMemoryError resampling volume

Reported by: chimerax-bug-report@… 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.19044
ChimeraX Version: 1.3 (2021-12-08 23:08:33 UTC)
Description
(Describe the actions that caused this problem to occur here)

Log:
UCSF ChimeraX version: 1.3 (2021-12-08)  
© 2016-2021 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open "E:\\\OneDrive - ahu.edu.cn\\\GPCR_OneDrive\\\SST2\\\ST2\\\final
> structure\\\SST2-OCT-Gi-20210618-3.38-invert.mrc"

Opened SST2-OCT-Gi-20210618-3.38-invert.mrc as #1, grid size 256,256,256,
pixel 0.92, shown at level 0.251, step 1, values float32  

> open "E:/OneDrive - ahu.edu.cn/GPCR_OneDrive/SST2/ST2/final
> structure/ST2-Octreotide-7YAE.pdb"

Chain information for ST2-Octreotide-7YAE.pdb #2  
---  
Chain | Description  
A | No description available  
B | No description available  
C | No description available  
D | No description available  
E | No description available  
S | No description available  
  

> hide atoms

> show cartoons

> volume #1 level 0.4767

> select /E:286,284,279,205,276,294,195,291,102,194,272,208,302,122,126,127

147 atoms, 140 bonds, 16 residues, 1 model selected  

> volume zone #1 nearAtoms sel range 2 newMap true

Opened SST2-OCT-Gi-20210618-3.38-invert.mrc zone as #3, grid size 256,256,256,
pixel 0.92, shown at step 1, values float32  

> show sel atoms

> style sel stick

Changed 147 atom styles  

> color #2 white transparency 0

[Repeated 1 time(s)]

> color #2 #37d7a1 transparency 0

> color #2 #46fec2 transparency 0

> color #2 #3ddfa9 transparency 0

> transparency #2 50 cartoons

> hide #!3 models

> ui mousemode right select

> select clear

> select

9031 atoms, 9228 bonds, 2 pseudobonds, 1150 residues, 6 models selected  

> color sel byhetero

> select clear

> show #!3 models

> volume #3 level 0.2277

> volume resample #3 spacing 0.2

Opened SST2-OCT-Gi-20210618-3.38-invert.mrc zone resampled as #4, grid size
1177,1177,1177, pixel 0.2, shown at step 1, values float32  
Traceback (most recent call last):  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\cmd_line\tool.py", line
297, in execute  
cmd.run(cmd_text)  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\core\commands\cli.py",
line 2856, in run  
result = ci.function(session, **kw_args)  
File "D:\ChimeraX 1.3\bin\lib\site-
packages\chimerax\map_filter\vopcommand.py", line 847, in volume_resample  
cv = combine_operation([v], 'add', subregion, step,  
File "D:\ChimeraX 1.3\bin\lib\site-
packages\chimerax\map_filter\vopcommand.py", line 445, in combine_operation  
rv.combine_interpolated_values(v, op, subregion = subregion, step = step,  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1487, in combine_interpolated_values  
values, const_values = v.interpolate_on_grid(self, subregion, step)  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1547, in interpolate_on_grid  
values = empty(shape, floatc)  
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 6.07 GiB for an
array with shape (1177, 1177, 1177) and data type float32  
  
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 6.07 GiB for an
array with shape (1177, 1177, 1177) and data type float32  
  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1547, in interpolate_on_grid  
values = empty(shape, floatc)  
  
See log for complete Python traceback.  
  

> volume resample #3 spacing 0.2

Traceback (most recent call last):  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\cmd_line\tool.py", line
297, in execute  
cmd.run(cmd_text)  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\core\commands\cli.py",
line 2856, in run  
result = ci.function(session, **kw_args)  
File "D:\ChimeraX 1.3\bin\lib\site-
packages\chimerax\map_filter\vopcommand.py", line 847, in volume_resample  
cv = combine_operation([v], 'add', subregion, step,  
File "D:\ChimeraX 1.3\bin\lib\site-
packages\chimerax\map_filter\vopcommand.py", line 425, in combine_operation  
rg = gv.region_grid(r, value_type = value_type, new_spacing = spacing, clamp =
False)  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1034, in region_grid  
m = zeros(shape, value_type)  
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 6.07 GiB for an
array with shape (1177, 1177, 1177) and data type float32  
  
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 6.07 GiB for an
array with shape (1177, 1177, 1177) and data type float32  
  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1034, in region_grid  
m = zeros(shape, value_type)  
  
See log for complete Python traceback.  
  

> volume resample #3 spacing 0.2

Traceback (most recent call last):  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\cmd_line\tool.py", line
297, in execute  
cmd.run(cmd_text)  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\core\commands\cli.py",
line 2856, in run  
result = ci.function(session, **kw_args)  
File "D:\ChimeraX 1.3\bin\lib\site-
packages\chimerax\map_filter\vopcommand.py", line 847, in volume_resample  
cv = combine_operation([v], 'add', subregion, step,  
File "D:\ChimeraX 1.3\bin\lib\site-
packages\chimerax\map_filter\vopcommand.py", line 425, in combine_operation  
rg = gv.region_grid(r, value_type = value_type, new_spacing = spacing, clamp =
False)  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1034, in region_grid  
m = zeros(shape, value_type)  
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 6.07 GiB for an
array with shape (1177, 1177, 1177) and data type float32  
  
numpy.core._exceptions._ArrayMemoryError: Unable to allocate 6.07 GiB for an
array with shape (1177, 1177, 1177) and data type float32  
  
File "D:\ChimeraX 1.3\bin\lib\site-packages\chimerax\map\volume.py", line
1034, in region_grid  
m = zeros(shape, value_type)  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 457.20
OpenGL renderer: GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Shinelon Computer
Model: Deatroyer-Dx II
OS: Microsoft Windows 10 专业版 (Build 19044)
Memory: 17,019,899,904
MaxProcessMemory: 137,438,953,344
CPU: 6 Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
OSLanguage: zh-CN
Locale: ('zh_CN', 'cp936')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.9.1
    backcall: 0.2.0
    blockdiag: 2.0.1
    certifi: 2021.10.8
    cftime: 1.5.1.1
    charset-normalizer: 2.0.9
    ChimeraX-AddCharge: 1.2.2
    ChimeraX-AddH: 2.1.11
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.2.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.31
    ChimeraX-AtomicLibrary: 4.2
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AtomSearchLibrary: 1.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.0
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.6.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.2
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.2
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5
    ChimeraX-CommandLine: 1.1.5
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.3
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1.5
    ChimeraX-DistUI: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.1
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1.2
    ChimeraX-Help: 1.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
    ChimeraX-Label: 1.1
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.4
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 2.0.4
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.4
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.2.6
    ChimeraX-ModelPanel: 1.2.1
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.2
    ChimeraX-OpenCommand: 1.7
    ChimeraX-PDB: 2.6.5
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.0.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.4.6
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.6.1
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-Struts: 1.0
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1
    ChimeraX-ToolshedUtils: 1.2
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.13.7
    ChimeraX-uniprot: 2.2
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.0.1
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.4
    comtypes: 1.1.10
    cxservices: 1.1
    cycler: 0.11.0
    Cython: 0.29.24
    decorator: 5.1.0
    docutils: 0.17.1
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 3.6.0
    html2text: 2020.1.16
    idna: 3.3
    ihm: 0.21
    imagecodecs: 2021.4.28
    imagesize: 1.3.0
    ipykernel: 5.5.5
    ipython: 7.23.1
    ipython-genutils: 0.2.0
    jedi: 0.18.0
    Jinja2: 3.0.1
    jupyter-client: 6.1.12
    jupyter-core: 4.9.1
    kiwisolver: 1.3.2
    lxml: 4.6.3
    lz4: 3.1.3
    MarkupSafe: 2.0.1
    matplotlib: 3.4.3
    matplotlib-inline: 0.1.3
    msgpack: 1.0.2
    netCDF4: 1.5.7
    networkx: 2.6.3
    numexpr: 2.8.0
    numpy: 1.21.2
    openvr: 1.16.801
    packaging: 21.3
    ParmEd: 3.2.0
    parso: 0.8.3
    pickleshare: 0.7.5
    Pillow: 8.3.2
    pip: 21.2.4
    pkginfo: 1.7.1
    prompt-toolkit: 3.0.23
    psutil: 5.8.0
    pycollada: 0.7.1
    pydicom: 2.1.2
    Pygments: 2.10.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.6
    PyQt5-commercial: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.2
    python-dateutil: 2.8.2
    pytz: 2021.3
    pywin32: 228
    pyzmq: 22.3.0
    qtconsole: 5.1.1
    QtPy: 1.11.3
    RandomWords: 0.3.0
    requests: 2.26.0
    scipy: 1.7.1
    setuptools: 57.5.0
    sfftk-rw: 0.7.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 4.2.0
    sphinx-autodoc-typehints: 1.12.0
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 2.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    suds-jurko: 0.6
    tables: 3.6.1
    tifffile: 2021.4.8
    tinyarray: 1.2.3
    tornado: 6.1
    traitlets: 5.1.1
    urllib3: 1.26.7
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.37.0
    wheel-filename: 1.3.0
    WMI: 1.5.1

Change History (2)

comment:1 by pett, 3 years ago

Component: UnassignedVolume Data
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submission_ArrayMemoryError resampling volume

comment:2 by Tom Goddard, 3 years ago

Resolution: not a bug
Status: assignedclosed

The error message seems clear enough. Out of memory trying to allocate a 6 GB array on Windows 10 with 16 GB of memory.

There are lots of numpy calls to allocate 3D arrays and it would be hard to catch all the memory errors to give an error message without a traceback. I guess some high level try except could treat numpy.core._exceptions._ArrayMemoryError as a UserError and show no traceback. But it is probably helpful to see where it ran out of memory. So I am leaving the code as is.

Note: See TracTickets for help on using tickets.