Opened 4 years ago

Closed 4 years ago

#4828 closed defect (fixed)

3kds assembly 1: index is out of bounds

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

Description

The following bug report has been submitted:
Platform:        macOS-10.15.7-x86_64-i386-64bit
ChimeraX Version: 1.3.dev202106260206 (2021-06-26 02:06:40 UTC)
Description
Tried to genrate biological assembly by klicking on the "mmCIF assemblies" in the main log

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

> open 3kds format mmcif fromDatabase pdb

3kds title:  
apo-FtsH crystal structure [more info...]  
  
Chain information for 3kds #1  
---  
Chain | Description  
E F G | Cell division protein FtsH  
  
Non-standard residues in 3kds #1  
---  
NHX —
N-{(2R)-2-[2-(hydroxyamino)-2-oxoethyl]-4-methylpentanoyl}-3-naphthalen-2-yl-
L-alanyl-L-alaninamide  
ZN — zinc ion  
  
3kds mmCIF Assemblies  
---  
1| author_and_software_defined_assembly  
2| author_and_software_defined_assembly  
  

> sym #1 assembly 1

> view

Traceback (most recent call last):  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/widgets/htmlview.py", line 324, in interceptRequest  
self._callback(info)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/widgets/htmlview.py", line 85, in _intercept  
return interceptor(request_info, *args)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/log/tool.py", line 204, in link_intercept  
chimerax_intercept(request_info, *args, session=self.session, view=self, **kw)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/widgets/htmlview.py", line 453, in chimerax_intercept  
session.ui.thread_safe(defer, session, qurl.url(no_formatting), from_dir)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 366, in thread_safe  
func(*args, **kw)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/widgets/htmlview.py", line 444, in defer  
cxcmd(session, topic)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/widgets/htmlview.py", line 462, in cxcmd  
run(session, cmd)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/commands/run.py", line 36, in run  
results = command.run(text, log=log, return_json=return_json)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/commands/cli.py", line 2854, in run  
result = ci.function(session, **kw_args)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 50, in view  
undo = UndoView("view", session, models)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/std_commands/view.py", line 555, in __init__  
self._before = NamedView(v, v.center_of_rotation, models)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/view.py", line 664, in _get_cofr  
cofr = self._compute_center_of_rotation()  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/view.py", line 691, in _compute_center_of_rotation  
p = self._front_center_cofr()  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/view.py", line 759, in _front_center_cofr  
cr = self._front_center_point() # Can be None  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/view.py", line 768, in _front_center_point  
p = self.picked_object(0.5 * w, 0.5 * h, max_transparent_layers = 0,
exclude=View.unpickable)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/view.py", line 787, in picked_object  
p = self.picked_object_on_segment(xyz1, xyz2, exclude = exclude, beyond =
beyond,  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/view.py", line 819, in picked_object_on_segment  
p = self.drawing.first_intercept(xyz1, xyz2, exclude=exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/drawing.py", line 1036, in first_intercept  
p = self.first_intercept_children(self.child_drawings(), mxyz1, mxyz2,
exclude=exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/drawing.py", line 1053, in first_intercept_children  
p = d.first_intercept(cxyz1, cxyz2, exclude=exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/drawing.py", line 1036, in first_intercept  
p = self.first_intercept_children(self.child_drawings(), mxyz1, mxyz2,
exclude=exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/drawing.py", line 1053, in first_intercept_children  
p = d.first_intercept(cxyz1, cxyz2, exclude=exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/atomic/structure.py", line 600, in first_intercept  
ppicks = self._position_intercepts(self.positions[pn], mxyz1, mxyz2, exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/atomic/structure.py", line 633, in _position_intercepts  
p = d.first_intercept(xyz1, xyz2, exclude=exclude)  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/atomic/ribbon.py", line 686, in first_intercept  
r = self._residues[tranges[n-1][0]]  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/atomic/molarray.py", line 156, in __getitem__  
v = self._object_class.c_ptr_to_py_inst(self._pointers[i])  
IndexError: index 636 is out of bounds for axis 0 with size 427  
  
IndexError: index 636 is out of bounds for axis 0 with size 427  
  
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/atomic/molarray.py", line 156, in __getitem__  
v = self._object_class.c_ptr_to_py_inst(self._pointers[i])  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 NVIDIA-14.0.32 355.11.11.10.10.143
OpenGL renderer: NVIDIA GeForce GTX 775M OpenGL Engine
OpenGL vendor: NVIDIA CorporationHardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac14,2
      Processor Name: Quad-Core Intel Core i5
      Processor Speed: 3.4 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 6 MB
      Memory: 16 GB
      Boot ROM Version: 431.0.0.0.0
      SMC Version (system): 2.15f7

Software:

    System Software Overview:

      System Version: macOS 10.15.7 (19H1217)
      Kernel Version: Darwin 19.6.0
      Time since boot: 5:23

Graphics/Displays:

    NVIDIA GeForce GTX 775M:

      Chipset Model: NVIDIA GeForce GTX 775M
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x16
      VRAM (Total): 2 GB
      Vendor: NVIDIA (0x10de)
      Device ID: 0x119d
      Revision ID: 0x00a2
      ROM Revision: 3782
      Metal: Supported, feature set macOS GPUFamily1 v4
      Displays:
        iMac:
          Display Type: LCD
          Resolution: 2560 x 1440 (QHD/WQHD - Wide Quad High Definition)
          UI Looks like: 2560 x 1440
          Framebuffer Depth: 24-Bit Color (ARGB8888)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          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.0
    chardet: 4.0.0
    ChimeraX-AddCharge: 1.1.4
    ChimeraX-AddH: 2.1.8
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-AltlocExplorer: 1.0
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.25.1
    ChimeraX-AtomicLibrary: 3.3
    ChimeraX-AtomSearch: 2.0
    ChimeraX-AtomSearchLibrary: 1.0
    ChimeraX-AxesPlanes: 2.0
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 1.1.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.5.2
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.1
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.1
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.3.2
    ChimeraX-CommandLine: 1.1.4
    ChimeraX-ConnectStructure: 2.0
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.3.dev202106260206
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2
    ChimeraX-Dicom: 1.0
    ChimeraX-DistMonitor: 1.1.4
    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
    ChimeraX-Help: 1.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.1
    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: 1.2.1
    ChimeraX-MDcrds: 2.3
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.3
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.0.2
    ChimeraX-ModelPanel: 1.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.6
    ChimeraX-PDB: 2.4.3
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.1
    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
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.4
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.4.1
    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
    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.10
    ChimeraX-uniprot: 2.1
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.0.1
    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.0
    cycler: 0.10.0
    Cython: 0.29.23
    decorator: 4.4.2
    distlib: 0.3.1
    docutils: 0.17.1
    filelock: 3.0.12
    funcparserlib: 0.3.6
    grako: 3.16.5
    h5py: 3.3.0
    html2text: 2020.1.16
    idna: 2.10
    ihm: 0.20
    imagecodecs: 2021.4.28
    imagesize: 1.2.0
    ipykernel: 5.5.5
    ipython: 7.23.1
    ipython-genutils: 0.2.0
    jedi: 0.18.0
    Jinja2: 2.11.3
    jupyter-client: 6.1.12
    jupyter-core: 4.7.1
    kiwisolver: 1.3.1
    lxml: 4.6.3
    lz4: 3.1.3
    MarkupSafe: 1.1.1
    matplotlib: 3.4.2
    matplotlib-inline: 0.1.2
    msgpack: 1.0.2
    netCDF4: 1.5.6
    networkx: 2.5.1
    numexpr: 2.7.3
    numpy: 1.20.3
    numpydoc: 1.1.0
    openvr: 1.16.801
    packaging: 20.9
    ParmEd: 3.2.0
    parso: 0.8.2
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 8.2.0
    pip: 21.1.1
    pkginfo: 1.7.0
    prompt-toolkit: 3.0.19
    psutil: 5.8.0
    ptyprocess: 0.7.0
    pycollada: 0.7.1
    pydicom: 2.1.2
    Pygments: 2.9.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.2
    python-dateutil: 2.8.1
    pytz: 2021.1
    pyzmq: 22.1.0
    qtconsole: 5.1.0
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.25.1
    scipy: 1.6.3
    setuptools: 57.0.0
    sfftk-rw: 0.7.0.post1
    six: 1.16.0
    snowballstemmer: 2.1.0
    sortedcontainers: 2.4.0
    Sphinx: 4.0.1
    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.0.5
    urllib3: 1.26.6
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.36.2
    wheel-filename: 1.3.0

Change History (2)

comment:1 by pett, 4 years ago

Component: UnassignedHigher-Order Structure
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submission3kds assembly 1: index is out of bounds

Reported by Ulrich Baumann

comment:2 by Tom Goddard, 4 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Opened 3kds and clicked log assemblies table assembly 1. Error was reproducible. The log table executed the sym command successfully and then got this error because it also ran the "view" command. The error was in the ribbon code. When the view command tried to determine the center of rotation by seeing what was in the center of view the graphics was showing a copy of the structure made by the sym command that had 2/3 of its residues deleted, because assembly 1 only used 1 of the 3 chains. But the ribbon being shown was for all 3 chains. The part of the ribbon in the center of view corresponded to a deleted residue. The ribbon code kept a Collection of the residues and the corresponding triangles, but the residue Collection automatically shrunk when the residues were deleted. I added a check to pick nothing if the residue collection has shrunk.

Note: See TracTickets for help on using tickets.