#15747 closed defect (fixed)

Morphing from an existing morph: IndexError

Reported by: goddard@… 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.8 (2024-06-10 23:15:52 UTC)
Description
Simpler test case of bug #15743.

Log:
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 7sti

Summary of feedback from opening 7sti fetched from pdb  
---  
note | Fetching compressed mmCIF 7sti from http://files.rcsb.org/download/7sti.cif  
  
7sti title:  
Full-length insulin receptor bound with unsaturated insulin WT (1 insulin
bound) asymmetric conformation [more info...]  
  
Chain information for 7sti #1  
---  
Chain | Description | UniProt  
A B | Insulin receptor | INSR_MOUSE -26-1343  
C | Insulin | INS_HUMAN -23-76  
  

> open 7stj

Summary of feedback from opening 7stj fetched from pdb  
---  
note | Fetching compressed mmCIF 7stj from http://files.rcsb.org/download/7stj.cif  
  
7stj title:  
Full-length insulin receptor bound with unsaturated insulin WT (2 insulins
bound) asymmetric conformation (Conformation 1) [more info...]  
  
Chain information for 7stj #2  
---  
Chain | Description | UniProt  
A B | Insulin receptor | INSR_MOUSE -26-1343  
C D | Insulin | INS_HUMAN -23-76  
  

> open 7sth

7sth title:  
Full-length insulin receptor bound with unsaturated insulin WT (2 insulin
bound) symmetric conformation [more info...]  
  
Chain information for 7sth #3  
---  
Chain | Description | UniProt  
A B | Insulin receptor | INSR_MOUSE -26-1344  
C D | Insulin | INS_HUMAN -23-76  
  

> delete /C,D

> morph #1,2

Computed 51 frame morph #4  

> coordset #4 1,51

> morph #4,3

Traceback (most recent call last):  
File
"/Users/goddard/Desktop/ChimeraX-1.8.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
"/Users/goddard/Desktop/ChimeraX-1.8.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
"/Users/goddard/Desktop/ChimeraX-1.8.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
"/Users/goddard/Desktop/ChimeraX-1.8.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
"/Users/goddard/Desktop/ChimeraX-1.8.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
"/Users/goddard/Desktop/ChimeraX-1.8.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.  
  




OpenGL version: 4.1 Metal - 88.1
OpenGL renderer: Apple M2 Ultra
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: Mac Studio
      Model Identifier: Mac14,14
      Model Number: Z1800003VLL/A
      Chip: Apple M2 Ultra
      Total Number of Cores: 24 (16 performance and 8 efficiency)
      Memory: 64 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: 51 days, 23 hours, 4 minutes

Graphics/Displays:

    Apple M2 Ultra:

      Chipset Model: Apple M2 Ultra
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 60
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        PHL 278B1:
          Resolution: 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    aiobotocore: 2.12.3
    aiohttp: 3.9.5
    aioitertools: 0.11.0
    aiosignal: 1.3.1
    alabaster: 0.7.16
    alphashape: 1.3.1
    annotated-types: 0.6.0
    appdirs: 1.4.4
    appnope: 0.1.4
    asciitree: 0.3.3
    asttokens: 2.4.1
    attrs: 23.2.0
    Babel: 2.15.0
    beautifulsoup4: 4.12.3
    biopython: 1.83
    blockdiag: 3.0.0
    blosc2: 2.0.0
    botocore: 1.34.69
    build: 1.2.1
    certifi: 2023.11.17
    cffi: 1.16.0
    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-ArtiaX: 0.4.7
    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-Clipper: 0.23.0
    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-crai: 0.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-DeepSSETracer: 1.1
    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-NIHPresets: 1.1.17
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.2
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OME-Zarr: 0.5.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-PhenixUI: 1.2.2
    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-TetraScapeCommand: 0.1
    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
    click: 8.1.7
    click-log: 0.4.0
    cloudpickle: 3.0.0
    colorama: 0.4.6
    comm: 0.2.2
    contourpy: 1.2.1
    copick: 0.1.dev45+g5a19260
    cripser: 0.0.13
    cryptography: 42.0.5
    cxservices: 1.2.2
    cycler: 0.12.1
    Cython: 3.0.10
    dask: 2024.4.2
    debugpy: 1.8.1
    decorator: 5.1.1
    distributed: 2024.4.2
    docutils: 0.20.1
    executing: 2.0.1
    fasteners: 0.19
    filelock: 3.13.4
    fonttools: 4.53.0
    frozenlist: 1.4.1
    fsspec: 2024.3.1
    funcparserlib: 2.0.0a0
    geomdl: 5.3.1
    glfw: 2.7.0
    grako: 3.16.5
    h5py: 3.11.0
    hatchling: 1.24.2
    html2text: 2024.2.26
    idna: 3.7
    ihm: 1.0
    imagecodecs: 2024.1.1
    imageio: 2.34.1
    imagesize: 1.4.1
    importlib-metadata: 4.0.1
    ipykernel: 6.29.2
    ipython: 8.21.0
    ipywidgets: 8.1.3
    jedi: 0.19.1
    jinja2: 3.1.4
    jmespath: 1.0.1
    joblib: 1.4.0
    jupyter-client: 8.6.0
    jupyter-core: 5.7.2
    jupyterlab-widgets: 3.0.11
    kiwisolver: 1.4.5
    lazy-loader: 0.4
    line-profiler: 4.1.2
    llvmlite: 0.42.0
    locket: 1.0.0
    lxml: 5.2.1
    lz4: 4.3.3
    MarkupSafe: 2.1.5
    matplotlib: 3.8.4
    matplotlib-inline: 0.1.7
    mpmath: 1.3.0
    mrcfile: 1.5.0
    msgpack: 1.0.8
    multidict: 6.0.5
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.3
    nibabel: 5.2.0
    nptyping: 2.5.0
    numba: 0.59.1
    numcodecs: 0.12.1
    numexpr: 2.10.0
    numpy: 1.26.4
    ome-zarr: 0.8.3
    openvr: 1.26.701
    packaging: 23.2
    pandas: 2.2.2
    ParmEd: 4.2.2
    parso: 0.8.4
    partd: 1.4.1
    pathspec: 0.12.1
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.3.0
    pip: 24.0
    pkginfo: 1.10.0
    platformdirs: 4.2.2
    pluggy: 1.5.0
    prompt-toolkit: 3.0.47
    psutil: 5.9.8
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pyarrow: 16.0.0
    pycollada: 0.8
    pycparser: 2.22
    pydantic: 2.7.1
    pydantic-core: 2.18.2
    pydicom: 2.4.4
    pygments: 2.17.2
    pynmrstar: 3.3.4
    pynndescent: 0.5.12
    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
    pyspnego: 0.10.2
    python-dateutil: 2.9.0.post0
    pytz: 2024.1
    PyYAML: 6.0.1
    pyzmq: 26.0.3
    qtconsole: 5.5.1
    QtPy: 2.4.1
    RandomWords: 0.4.0
    requests: 2.31.0
    Rtree: 1.1.0
    s3fs: 2024.3.1
    scikit-image: 0.23.2
    scikit-learn: 1.4.2
    scipy: 1.13.0
    setuptools: 69.5.1
    setuptools-scm: 8.0.4
    sfftk-rw: 0.8.1
    shapely: 2.0.2
    six: 1.16.0
    smbprotocol: 1.13.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
    starfile: 0.5.6
    superqt: 0.6.3
    sympy: 1.12
    tables: 3.8.0
    tblib: 3.0.0
    tcia-utils: 1.5.1
    threadpoolctl: 3.4.0
    tifffile: 2024.1.30
    tinyarray: 1.2.4
    toolz: 0.12.1
    torch: 2.1.2
    tornado: 6.4.1
    tqdm: 4.66.2
    traitlets: 5.14.2
    trimesh: 4.0.10
    trove-classifiers: 2024.4.10
    typing-extensions: 4.12.2
    tzdata: 2024.1
    umap-learn: 0.5.6
    urllib3: 2.2.1
    wcwidth: 0.2.13
    webcolors: 1.13
    wheel: 0.43.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.11
    wrapt: 1.16.0
    yarl: 1.9.4
    zarr: 2.17.2
    zict: 3.0.0
    zipp: 3.18.1

Change History (4)

comment:1 by Tom Goddard, 15 months ago

Component: UnassignedStructure Editing
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionMorphing from an existing morph: IndexError

Simpler test case of bug #15743.

comment:2 by Tom Goddard, 15 months ago

Get a different traceback in ChimeraX 1.9 development build

morph #4,3Traceback (most recent call last):
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/motion.py", line 111, in segment_and_pair_atoms
    results = segmentHingeExact(sm, m, cf, mhs, log=log)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/segment.py", line 109, in segmentHingeExact
    raise AtomPairingError('%s chain %s (%d) and %s chain %s (%d) have different number of residues'
chimerax.morph.segment.AtomPairingError: Morph - Morph - 7sti chain A (786) and 7sth chain A (820) have different number of residues

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/goddard/ucsf/chimerax/ChimeraX.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 "/Users/goddard/ucsf/chimerax/ChimeraX.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 "/Users/goddard/ucsf/chimerax/ChimeraX.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 "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/motion.py", line 24, in compute_morph
    res_groups, atom_map, trimmed = motion.segment_and_pair_atoms(mol)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/motion.py", line 114, in segment_and_pair_atoms
    results = segmentHingeApproximate(sm, m, cf, mhs, log=log)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/segment.py", line 223, in segmentHingeApproximate
    segments = find_hinges(parts, fraction, min_hinge_spacing, log)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/segment.py", line 302, in find_hinges
    segs = segmentHingeResidues(rList0, rList1, fraction, min_hinge_spacing)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/segment.py", line 310, in segmentHingeResidues
    segments = segmentSieve(rList0, rList1, fraction)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/segment.py", line 23, in segmentSieve
    coreList0, coreList1 = sieve_fit.fitResidues(rList0, rList1, fraction)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/sieve_fit.py", line 28, in fitResidues
    if not sieve(aList0, aList1, maxrmsd):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/morph/sieve_fit.py", line 40, in sieve
    p, rms = align_points(position1, position0)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/chimerax/geometry/align.py", line 62, in align_points
    evals, evecs = linalg.eig(P) # eigenvectors are columns
                   ^^^^^^^^^^^^^
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/numpy/linalg/linalg.py", line 1329, in eig
    _assert_finite(a)
  File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/numpy/linalg/linalg.py", line 218, in _assert_finite
    raise LinAlgError("Array must not contain infs or NaNs")
numpy.linalg.LinAlgError: Array must not contain infs or NaNs

numpy.linalg.LinAlgError: Array must not contain infs or NaNs

File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/numpy/linalg/linalg.py", line 218, in _assert_finite
raise LinAlgError("Array must not contain infs or NaNs")

See log for complete Python traceback.

comment:3 by Tom Goddard, 15 months ago

The code appears to copy just the single active coordinate set for the first model in morph #4,​3 which is the #4 coordinate set. But somehow that wipes out. Since model #4 is just a morph from #1 to #2 currently showing the coordinates of #2 it should be essentially the same as #2 (I say essentially since maybe altlocs are deleted in the coordinate sets version). If I try morph #2,​3 it works.

Needs a more investigation. I guess it is some weirdness about coordinate sets causing the problem.

comment:4 by Tom Goddard, 15 months ago

Resolution: fixed
Status: assignedclosed

Fixed.

The morph code copied the first model and since it had multiple coordinate sets it deleted all its coordinate sets and added back just the active coordinate set. But when it added it back it just used atoms.coords. Due to atom deletions the coordinates array was larger than the number of atoms and atoms.coord_indices had gaps. The copying code needed to allocate the original size array with the gaps because the atoms.coord_indices don't get updated. So I made it use the original coord_indices.

Note: See TracTickets for help on using tickets.