Opened 3 years ago
Closed 3 years ago
#7337 closed defect (fixed)
Selection demotion: Values array length does not match objects array length
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | |
| Keywords: | Cc: | Eric Pettersen, Tristan Croll | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-10.16-x86_64-i386-64bit
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 /Users/mengqipan/Desktop/Isodle/28July_Nam_last_frame_rsr2.pdb
Chain information for 28July_Nam_last_frame_rsr2.pdb #1
---
Chain | Description
A B C D E | No description available
> open /Users/mengqipan/Desktop/Isodle/vol_combined_zflip.mrc
Opened vol_combined_zflip.mrc as #2, grid size 168,168,168, pixel 1.7, shown
at level 0.012, step 1, values float32
> select #2
2 models selected
> select #1
6380 atoms, 6525 bonds, 770 residues, 1 model selected
> hide sel atoms
> show sel cartoons
> volume #2 level 0.02842
> volume #2 color #b2b2b281
> ~select #1
Nothing selected
> dssp
> volume #2 level 0.03284
> dssp
> ui tool show ISOLDE
> set selectionWidth 4
ISOLDE: Checking and correcting nomenclature for (pseudo)symmetric side
chains...
ISOLDE: Corrected atom nomenclature of 26 residues in model #1 to IUPAC-IUB
standards.
Chain information for 28July_Nam_last_frame_rsr2.pdb
---
Chain | Description
1.2/A 1.2/B 1.2/C 1.2/D 1.2/E | No description available
Done loading forcefield
Opened vol_combined_zflip.mrc as #1.1.1.1, grid size 168,168,168, pixel 1.7,
shown at step 1, values float32
> clipper spotlight radius 40.00
[Repeated 1 time(s)]
> select up
8 atoms, 7 bonds, 1 residue, 1 model selected
> select up
24 atoms, 23 bonds, 3 residues, 1 model selected
> select up
1276 atoms, 1305 bonds, 154 residues, 1 model selected
ISOLDE: stopped sim
> addh
Summary of feedback from adding hydrogens to 28July_Nam_last_frame_rsr2.pdb
#1.2
---
notes | No usable SEQRES records for 28July_Nam_last_frame_rsr2.pdb (#1.2)
chain A; guessing termini instead
No usable SEQRES records for 28July_Nam_last_frame_rsr2.pdb (#1.2) chain B;
guessing termini instead
No usable SEQRES records for 28July_Nam_last_frame_rsr2.pdb (#1.2) chain C;
guessing termini instead
No usable SEQRES records for 28July_Nam_last_frame_rsr2.pdb (#1.2) chain D;
guessing termini instead
No usable SEQRES records for 28July_Nam_last_frame_rsr2.pdb (#1.2) chain E;
guessing termini instead
Chain-initial residues that are actual N termini: /A PHE 78, /B PHE 78, /C PHE
78, /D PHE 78, /E PHE 78
Chain-initial residues that are not actual N termini:
Chain-final residues that are actual C termini: /A ARG 231, /B ARG 231, /C ARG
231, /D ARG 231, /E ARG 231
Chain-final residues that are not actual C termini:
587 hydrogen bonds
6250 hydrogens added
Populating font family aliases took 709 ms. Replace uses of missing font
family "Carlito" with one that exists to avoid this cost.
ISOLDE: started sim
> select up
12630 atoms, 12775 bonds, 770 residues, 1 model selected
> hide sel atoms
> show sel cartoons
> select down
2526 atoms, 154 residues, 1 model selected
> select down
Traceback (most recent call last):
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/ui/gui.py", line 563, in keyPressEvent
self.session.ui.forward_keystroke(event)
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/ui/gui.py", line 323, in forward_keystroke
run(self.session, 'select down')
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/run.py", line 36, in run
results = command.run(text, log=log, return_json=return_json)
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2856, in run
result = ci.function(session, **kw_args)
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/std_commands/select.py", line 138, in select_down
session.selection.demote(session)
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/selection.py", line 64, in demote
self._promotion.demote_selection()
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/selection.py", line 200, in demote_selection
p.demote()
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/atomic/structure.py", line 1876, in demote
s.atoms.selected = self._prev_atom_sel_mask
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/atomic/molc.py", line 210, in set_prop
raise ValueError('Values array length %d does not match objects array length
%d'
ValueError: Values array length 6380 does not match objects array length 12630
ValueError: Values array length 6380 does not match objects array length 12630
File
"/Users/mengqipan/Desktop/ChimeraX-1.3.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/atomic/molc.py", line 210, in set_prop
raise ValueError('Values array length %d does not match objects array length
%d'
See log for complete Python traceback.
OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1
OpenGL vendor: AppleHardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro17,1
Processor Name: Unknown
Processor Speed: 2.4 GHz
Number of Processors: 1
Total Number of Cores: 8
L2 Cache: 8 MB
Memory: 8 GB
Software:
System Software Overview:
System Version: macOS 12.4 (21F79)
Kernel Version: Darwin 21.5.0
Time since boot: 45 days 5:57
Graphics/Displays:
Apple M1:
Chipset Model: Apple M1
Type: GPU
Bus: Built-In
Total Number of Cores: 8
Vendor: Apple (0x106b)
Metal Family: Supported, Metal GPUFamily Apple 7
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2560 x 1600 Retina
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: Yes
Connection Type: Internal
Locale: (None, 'UTF-8')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
appnope: 0.1.2
Babel: 2.9.1
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2021.5.30
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-Clipper: 0.17.0
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-ISOLDE: 1.3
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
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.0
ParmEd: 3.2.0
parso: 0.8.3
pexpect: 4.8.0
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
ptyprocess: 0.7.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
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
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
Change History (5)
comment:1 by , 3 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Core |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Selection demotion: Values array length does not match objects array length |
comment:2 by , 3 years ago
| Cc: | added |
|---|
comment:3 by , 3 years ago
comment:4 by , 3 years ago
Wouldn't it be better to save Atoms collections of the selected atoms at each level? When switching to that level clear the selection in all atoms and then set the selection in the atoms in the collection.
comment:5 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
If the number of atoms has changed the select up/down will silently do nothing. I'm not sure why the selection code uses atom and bond masks instead of arrays of atoms and bonds. But it is not worth the risk of changing to make select up/down work in such an extremely rare case as this.
Note:
See TracTickets
for help on using tickets.
Selection up/down arrow (and also undo) does not handle addition or deletion of atoms well. In this case some atoms were selected, then 6250 hydrogens were added, then select up (works), select (down) works, select (down) fails with an error. That is because all the selection history knows is an array of true/false values whose length is equals the number of atoms (a mask). So if the number of atoms changes the code no longer knows which atoms were selected.
I'll protect the code against this error. If it finds the remembered selection mask array has a length different from the number of atoms then it won't revert the selection. Might issue a warning too, but I doubt a user would ever notice such a warning or care too much.