#15743 closed defect (fixed)

Index out of bounds morphing morphs

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

Description

The following bug report has been submitted:
Platform:        macOS-14.5-arm64-arm-64bit
ChimeraX Version: 1.8rc202405230136 (2024-05-23 01:36:41 UTC)
Description
Attempting to morph two previous morphs of two strucutres each. Attempting to morph the strucutres directly results in movements that are not physically possible

Log:
UCSF ChimeraX version: 1.8rc202405230136 (2024-05-23)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open "/Users/gemmabrierley/Library/CloudStorage/OneDrive-
> RoyalVeterinaryCollege/Documents/Research/INSR Structure-Function/7sti.pdb1"

7sti.pdb1 title:  
Full-length insulin receptor bound with unsaturated insulin WT (1 insulin
bound) asymmetric conformation [more info...]  
  
Chain information for 7sti.pdb1 #1  
---  
Chain | Description  
A B | No description available  
C | No description available  
  

> delete /C

> select /A /B

13155 atoms, 13509 bonds, 14 pseudobonds, 1630 residues, 2 models selected  

> hide sel atoms

> hide sel cartoons

> show sel surfaces

> colour sel grey

> open "/Users/gemmabrierley/Library/CloudStorage/OneDrive-
> RoyalVeterinaryCollege/Documents/Research/INSR Structure-Function/7stj.pdb1"

7stj.pdb1 title:  
Full-length insulin receptor bound with unsaturated insulin WT (2 insulins
bound) asymmetric conformation (conformation 1) [more info...]  
  
Chain information for 7stj.pdb1 #2  
---  
Chain | Description  
A B | No description available  
C D | No description available  
  

> delete /c /d

> select /A /B

25974 atoms, 26676 bonds, 29 pseudobonds, 3213 residues, 4 models selected  

> colour sel dark grey

> hide sel atoms

> hide sel cartoons

> show sel surfaces

> matchmaker #1 to #2

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7stj.pdb1, chain B (#2) with 7sti.pdb1, chain B (#1), sequence
alignment score = 6110.3  
RMSD between 761 pruned atom pairs is 0.908 angstroms; (across all 792 pairs:
2.589)  
  

> morph #1,2 frames 40

Computed 41 frame morph #3  

> coordset #3 1,41

> show #!3 cartoons

> close session

The cached device pixel ratio value was stale on window expose. Please file a
QTBUG which explains how to reproduce.  

> open "/Users/gemmabrierley/Library/CloudStorage/OneDrive-
> RoyalVeterinaryCollege/Documents/Research/INSR Structure-Function/7sti.pdb1"

7sti.pdb1 title:  
Full-length insulin receptor bound with unsaturated insulin WT (1 insulin
bound) asymmetric conformation [more info...]  
  
Chain information for 7sti.pdb1 #1  
---  
Chain | Description  
A B | No description available  
C | No description available  
  

> delete /c

> open "/Users/gemmabrierley/Library/CloudStorage/OneDrive-
> RoyalVeterinaryCollege/Documents/Research/INSR Structure-Function/7stj.pdb1"

7stj.pdb1 title:  
Full-length insulin receptor bound with unsaturated insulin WT (2 insulins
bound) asymmetric conformation (conformation 1) [more info...]  
  
Chain information for 7stj.pdb1 #2  
---  
Chain | Description  
A B | No description available  
C D | No description available  
  

> delete /c /d

> open "/Users/gemmabrierley/Library/CloudStorage/OneDrive-
> RoyalVeterinaryCollege/Documents/Research/INSR Structure-Function/7sth.pdb1"

7sth.pdb1 title:  
Full-length insulin receptor bound with unsaturated insulin WT (2 insulin
bound) symmetric conformation [more info...]  
  
Chain information for 7sth.pdb1 #3  
---  
Chain | Description  
A B | No description available  
C D | No description available  
  

> delete /c /d

> matchmaker #1,2 to #3

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7sth.pdb1, chain A (#3) with 7sti.pdb1, chain B (#1), sequence
alignment score = 6080.3  
RMSD between 316 pruned atom pairs is 1.316 angstroms; (across all 811 pairs:
8.425)  
  
Matchmaker 7sth.pdb1, chain B (#3) with 7stj.pdb1, chain B (#2), sequence
alignment score = 6043.1  
RMSD between 310 pruned atom pairs is 1.321 angstroms; (across all 796 pairs:
6.094)  
  

> morph #1, 2, 3 frames 100

Computed 201 frame morph #4  

> coordset #4 1,201

The cached device pixel ratio value was stale on window expose. Please file a
QTBUG which explains how to reproduce.  

> delete #4

> select add #1

13155 atoms, 13509 bonds, 14 pseudobonds, 1630 residues, 2 models selected  

> select subtract #1

Nothing selected  

> show #!1 models

> show #!2 models

> show #!3 models

> morph #1,2,3 frames 100

Computed 201 frame morph #4  

> coordset #4 1,201

> delete #4

> show #!1 models

> show #!2 models

> show #!3 models

> matchmaker #1,2 to #3

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7sth.pdb1, chain A (#3) with 7sti.pdb1, chain B (#1), sequence
alignment score = 6080.3  
RMSD between 316 pruned atom pairs is 1.316 angstroms; (across all 811 pairs:
8.425)  
  
Matchmaker 7sth.pdb1, chain B (#3) with 7stj.pdb1, chain B (#2), sequence
alignment score = 6043.1  
RMSD between 310 pruned atom pairs is 1.321 angstroms; (across all 796 pairs:
6.094)  
  

> morph #1, 2, 3 frames 40

Computed 81 frame morph #4  

> coordset #4 1,81

> delete #4

> matchmaker #1 to #2

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7stj.pdb1, chain B (#2) with 7sti.pdb1, chain B (#1), sequence
alignment score = 6110.3  
RMSD between 761 pruned atom pairs is 0.908 angstroms; (across all 792 pairs:
2.589)  
  

> morph #1,2 frames 40

Computed 41 frame morph #4  

> coordset #4 1,41

> matchmaker #4 to 3

Invalid "to" argument: invalid atoms specifier  

> matchmaker #4 to #3

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7sth.pdb1, chain B (#3) with Morph - 7sti.pdb1, chain B (#4),
sequence alignment score = 6032.9  
RMSD between 334 pruned atom pairs is 1.309 angstroms; (across all 791 pairs:
5.324)  
  

> morph #4, 3 frames 40

/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/geometry/align.py:72: RuntimeWarning: overflow encountered
in multiply  
rms2 = (Si*Si).sum() + (Sj*Sj).sum() - 2 * (transpose(R)*Sij).sum()  
/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/sieve_fit.py:48: RuntimeWarning: overflow encountered
in multiply  
dsq = add.reduce(transpose(multiply(d, d)))  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute  
cmd.run(cmd_text)  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/morph.py", line 84, in morph  
traj = compute_morph(structures, session.logger, method=method, rate=rate,
frames=frames,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 28, in compute_morph  
motion.interpolate(res_groups, atom_map, res_interp)  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 149, in interpolate  
coords0[maindices] = matoms.coords  
~~~~~~~^^^^^^^^^^^  
IndexError: index 12776 is out of bounds for axis 0 with size 12776  
  
IndexError: index 12776 is out of bounds for axis 0 with size 12776  
  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 149, in interpolate  
coords0[maindices] = matoms.coords  
~~~~~~~^^^^^^^^^^^  
  
See log for complete Python traceback.  
  

> morph #4, 3 frames 40

Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute  
cmd.run(cmd_text)  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/morph.py", line 84, in morph  
traj = compute_morph(structures, session.logger, method=method, rate=rate,
frames=frames,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 28, in compute_morph  
motion.interpolate(res_groups, atom_map, res_interp)  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 149, in interpolate  
coords0[maindices] = matoms.coords  
~~~~~~~^^^^^^^^^^^  
IndexError: index 12776 is out of bounds for axis 0 with size 12776  
  
IndexError: index 12776 is out of bounds for axis 0 with size 12776  
  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 149, in interpolate  
coords0[maindices] = matoms.coords  
~~~~~~~^^^^^^^^^^^  
  
See log for complete Python traceback.  
  

> morph #3, 4 frames 40

Computed 41 frame morph #5  

> coordset #5 1,41

> morph #3, 4 frames 40

Computed 41 frame morph #6  

> coordset #6 1,41

> delete #5

> delete #6

> show #!4 models

> hide #!4 models

> show #!4 models

> matchmaker #2 to #3

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7sth.pdb1, chain B (#3) with 7stj.pdb1, chain B (#2), sequence
alignment score = 6043.1  
RMSD between 310 pruned atom pairs is 1.321 angstroms; (across all 796 pairs:
6.094)  
  

> morph #2, 3 frames 40

Computed 41 frame morph #5  

> coordset #5 1,41

> matchmaker #4 to #5

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker Morph - 7stj.pdb1, chain B (#5) with Morph - 7sti.pdb1, chain B
(#4), sequence alignment score = 6040.1  
RMSD between 327 pruned atom pairs is 1.301 angstroms; (across all 791 pairs:
6.559)  
  

> morph #4, 5 frames 40

Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/cmd_line/tool.py", line 319, in execute  
cmd.run(cmd_text)  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3213, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/morph.py", line 84, in morph  
traj = compute_morph(structures, session.logger, method=method, rate=rate,
frames=frames,  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 28, in compute_morph  
motion.interpolate(res_groups, atom_map, res_interp)  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 149, in interpolate  
coords0[maindices] = matoms.coords  
~~~~~~~^^^^^^^^^^^  
IndexError: index 12776 is out of bounds for axis 0 with size 12776  
  
IndexError: index 12776 is out of bounds for axis 0 with size 12776  
  
File
"/Applications/ChimeraX-1.8-rc2024.05.23.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/morph/motion.py", line 149, in interpolate  
coords0[maindices] = matoms.coords  
~~~~~~~^^^^^^^^^^^  
  
See log for complete Python traceback.  
  

The cached device pixel ratio value was stale on window expose. Please file a
QTBUG which explains how to reproduce.  




OpenGL version: 4.1 Metal - 88.1
OpenGL renderer: Apple M3 Pro
OpenGL vendor: Apple

Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.3
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac15,7
      Model Number: MRW23B/A
      Chip: Apple M3 Pro
      Total Number of Cores: 12 (6 performance and 6 efficiency)
      Memory: 36 GB
      System Firmware Version: 10151.121.1
      OS Loader Version: 10151.121.1

Software:

    System Software Overview:

      System Version: macOS 14.5 (23F79)
      Kernel Version: Darwin 23.5.0
      Time since boot: 17 days, 4 hours, 12 minutes

Graphics/Displays:

    Apple M3 Pro:

      Chipset Model: Apple M3 Pro
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 18
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3456 x 2234 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: Yes
          Connection Type: Internal
        DELL U2415:
          Resolution: 1920 x 1200 (WUXGA - Widescreen Ultra eXtended Graphics Array)
          UI Looks like: 1920 x 1200 @ 60.00Hz
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    alabaster: 0.7.16
    appdirs: 1.4.4
    appnope: 0.1.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: 2023.11.17
    cftime: 1.6.3
    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
    ChimeraX-AtomicLibrary: 14.0.5
    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.4
    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-clix: 0.1.6
    ChimeraX-ColorActions: 1.0.4
    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.8rc202405230136
    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.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.14.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.16
    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.4
    ChimeraX-PDB: 2.7.5
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBImages: 1.2
    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-QScore: 1.1
    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.10
    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.2
    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
    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.51.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.2
    jedi: 0.19.1
    jinja2: 3.1.4
    jupyter-client: 8.6.0
    jupyter-core: 5.7.2
    jupyterlab-widgets: 3.0.10
    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: 23.2
    ParmEd: 4.2.2
    parso: 0.8.4
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.3.0
    pip: 24.0
    pkginfo: 1.10.0
    platformdirs: 4.2.2
    prompt-toolkit: 3.0.43
    psutil: 5.9.8
    ptyprocess: 0.7.0
    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
    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
    setuptools-scm: 8.0.4
    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
    traitlets: 5.14.2
    typing-extensions: 4.11.0
    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.10

Change History (6)

comment:1 by Eric Pettersen, 15 months ago

Component: UnassignedStructure Editing
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionIndex out of bounds morphing morphs

Reported by Gemma Brierley

comment:2 by Tom Goddard, 15 months ago

I'm not sure what you are trying to do here. You run morph #4,#3. But #4 is a morph from #1 to #2 which has played through and so is showing coordinates for #2. So what should happen is you should get a morph from #2 to #3. So why not just say "morph #2,​3"? I think you perhaps misunderstand how morphs work. A morph goes between the specified structures currently shown coordinates. It doesn't matter if one of those is also a morph -- only its currently shown coordinates are used.

That said there is certainly some bug having to do with the #4 having multiple coordinate sets since it is a morph. I'll look into what is causing that error and fix it.

comment:3 by Tom Goddard, 15 months ago

Also your statement

"Attempting to morph the strucutres directly results in movements that are not physically possible"

clearly misunderstands the morph capability. A morph does not show a physically possible motion. It is just an interpolation of coordinates that takes no forces, physics or clashes into account. So almost always atoms pass right through each other. The purpose of a morph is merely to animate the difference between two conformations. It is a mistake to think that is something physically reasonable.

comment:4 by gbrierley@…, 15 months ago

Thanks, a little less condescending feedback would be appreciated.
Best wishes,
Gemma

From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Date: Friday, 9 August 2024 at 04:04
To: Brierley, Gemma <gbrierley@rvc.ac.uk>, goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #15743: Index out of bounds morphing morphs
#15743: Index out of bounds morphing morphs
----------------------------------------+-------------------------
          Reporter:  gbrierley@…        |      Owner:  Tom Goddard
              Type:  defect             |     Status:  assigned
          Priority:  normal             |  Milestone:
         Component:  Structure Editing  |    Version:
        Resolution:                     |   Keywords:
        Blocked By:                     |   Blocking:
Notify when closed:                     |   Platform:  all
           Project:  ChimeraX           |
----------------------------------------+-------------------------
Comment (by Tom Goddard):

 Also your statement

 "Attempting to morph the strucutres directly results in movements that are
 not physically possible"

 clearly misunderstands the morph capability.  A morph does not show a
 physically possible motion.  It is just an interpolation of coordinates
 that takes no forces, physics or clashes into account.  So almost always
 atoms pass right through each other.  The purpose of a morph is merely to
 animate the difference between two conformations.  It is a mistake to
 think that is something physically reasonable.
--
Ticket URL: <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F15743%23comment%3A3&data=05%7C02%7Cgbrierley%40rvc.ac.uk%7Ccbf286a363574b1caa6308dcb81ff183%7C45a3be7c94024fbead438d1faebfb42d%7C0%7C0%7C638587694583587395%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=HKYiQZvoOk9Z9lKq9dE9HH4mE7DZrkwwHcDQaxTELoE%3D&reserved=0<https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/15743#comment:3>>
ChimeraX <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=05%7C02%7Cgbrierley%40rvc.ac.uk%7Ccbf286a363574b1caa6308dcb81ff183%7C45a3be7c94024fbead438d1faebfb42d%7C0%7C0%7C638587694583598228%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=R7fXRXfpmvCbGgF3c%2FOQ5T7h3Qu7eVhU7F0WWrwnjIU%3D&reserved=0<https://www.rbvi.ucsf.edu/chimerax/>>
ChimeraX Issue Tracker

[RVC Logo - link to RVC Website]<http://www.rvc.ac.uk/>    [Twitter icon - link to RVC (Official) Twitter] <http://twitter.com/RoyalVetCollege>     [Facebook icon - link to RVC (Official) Facebook] <http://www.facebook.com/theRVC>     [YouTube icon - link to RVC YouTube] <http://www.youtube.com/user/RoyalVetsLondon?feature=mhee>     [Instagram icon - link to RVC Instagram] <http://instagram.com/royalvetcollege>

This message, together with any attachments, is intended for the stated addressee(s) only and may contain privileged or confidential information. Any views or opinions presented are solely those of the author and do not necessarily represent those of the Royal Veterinary College (RVC). If you are not the intended recipient, please notify the sender and be advised that you have received this message in error and that any use, dissemination, forwarding, printing, or copying is strictly prohibited. Unless stated expressly in this email, this email does not create, form part of, or vary any contractual or unilateral obligation. Email communication cannot be guaranteed to be secure or error free as information could be intercepted, corrupted, amended, lost, destroyed, incomplete or contain viruses. Therefore, we do not accept liability for any such matters or their consequences. Communication with us by email will be taken as acceptance of the risks inherent in doing so.

comment:5 by Tom Goddard, 15 months ago

Sorry, the tone of my reply was not good. It was from some frustration when an obscure bug is encountered because of some misunderstanding about what ChimeraX does. There is very good documentation explaining it. I like to work on interesting problems so it is not fun to fix bugs that will help few people. Still I appreciate your reporting the bug -- it will make the software more reliable -- if the code had worked you would have figured out it didn't do what you wanted and that would speed up your work and mine.

comment:6 by Tom Goddard, 15 months ago

Resolution: fixed
Status: assignedclosed

Fixed in daily build dated August 9 or newer.

Problem was the morph code copied the model #4 and deleted all its coordinate sets and added back the single currently shown coordinate set. But it did not take account that there can be gaps in the coordinate set array due to deleted atoms. I made the code use the correct size coordinate set array including gaps. More details in ticket #15747.

Note: See TracTickets for help on using tickets.