#17890 closed defect (fixed)
Foldseek: index is out of bounds
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Structure Comparison | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: macOS-13.6-arm64-arm-64bit ChimeraX Version: 1.10rc202505310246 (2025-05-31 02:46:39 UTC) Description This happens with certain PDB's on the similarity search. Log: UCSF ChimeraX version: 1.10rc202505310246 (2025-05-31) © 2016-2025 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open 8g33 fromDatabase pdb format mmcif 8g33 title: Activated form of a CDCL long protein [more info...] Chain information for 8g33 #1 --- Chain | Description | UniProt A | Hemolysin | A0A1T3IZT7_9FLAO 24-516 > ui tool show "Similar Structures" > foldseek /A Found 49 similar structures to 8g33 #1/A in pdb database using foldseek, name fs1 > foldseek /A database afdb50 Found 1000 similar structures to 8g33 #1/A in afdb database using foldseek, name fs2 > close #1 > open 7n52 fromDatabase pdb format mmcif Summary of feedback from opening 7n52 fetched from pdb --- note | Fetching compressed mmCIF 7n52 from http://files.rcsb.org/download/7n52.cif 7n52 title: Structure of a bacterial gasdermin from Runella zeae [more info...] Chain information for 7n52 #1 --- Chain | Description A B C D | Gasdermin 7n52 mmCIF Assemblies --- 1| author_defined_assembly 2| author_defined_assembly 3| author_defined_assembly 4| author_defined_assembly > foldseek /A database afdb50 Found 1000 similar structures to 7n52 #1/A in afdb database using foldseek, name fs1 Traceback (most recent call last): File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/core/triggerset.py", line 149, in invoke return self._func(self._name, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/foldseek_search.py", line 215, in <lambda> lambda *args, q=result_queue: self._check_for_results_from_thread(q)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/foldseek_search.py", line 238, in _check_for_results_from_thread self.report_results(r) File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/foldseek_search.py", line 94, in report_results show_similar_structures_table(self.session, results) File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/gui.py", line 497, in show_similar_structures_table ssp.show_results(results) File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/gui.py", line 261, in show_results results.compute_rmsds(self.alignment_cutoff_distance) File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/simstruct.py", line 206, in compute_rmsds p, rms, npairs = align_xyz_transform(hxyz[hi], query_xyz[qi], ~~~~~~~~~^^^^ IndexError: index 249 is out of bounds for axis 0 with size 249 Error processing trigger "new frame": IndexError: index 249 is out of bounds for axis 0 with size 249 File "/Applications/ChimeraX-1.10-rc2025.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site- packages/chimerax/similarstructures/simstruct.py", line 206, in compute_rmsds p, rms, npairs = align_xyz_transform(hxyz[hi], query_xyz[qi], ~~~~~~~~~^^^^ See log for complete Python traceback. OpenGL version: 4.1 Metal - 83.1 OpenGL renderer: Apple M1 Max OpenGL vendor: Apple Python: 3.11.4 Locale: UTF-8 Qt version: PyQt6 6.8.1, Qt 6.8.2 Qt runtime version: 6.8.2 Qt platform: cocoa Hardware: Hardware Overview: Model Name: Mac Studio Model Identifier: Mac13,1 Model Number: Z14J0006UX/A Chip: Apple M1 Max Total Number of Cores: 10 (8 performance and 2 efficiency) Memory: 32 GB System Firmware Version: 10151.1.1 OS Loader Version: 8422.141.2 Software: System Software Overview: System Version: macOS 13.6 (22G120) Kernel Version: Darwin 22.6.0 Time since boot: 14 days, 11 hours, 23 minutes Graphics/Displays: Apple M1 Max: Chipset Model: Apple M1 Max Type: GPU Bus: Built-In Total Number of Cores: 24 Vendor: Apple (0x106b) Metal Support: Metal 3 Displays: PHL 273B9: Resolution: 1920 x 1080 (1080p FHD - Full High Definition) UI Looks like: 1920 x 1080 @ 75.00Hz Main Display: Yes Mirror: Off Online: Yes Rotation: Supported Installed Packages: alabaster: 1.0.0 appdirs: 1.4.4 appnope: 0.1.4 asttokens: 3.0.0 auditwheel: 6.4.0 babel: 2.17.0 beautifulsoup4: 4.13.3 blockdiag: 3.0.0 blosc2: 3.3.4 build: 1.2.2.post1 certifi: 2023.11.17 cftime: 1.6.4.post1 charset-normalizer: 3.4.2 ChimeraX-AddCharge: 1.5.18 ChimeraX-AddH: 2.2.7 ChimeraX-AlignmentAlgorithms: 2.0.2 ChimeraX-AlignmentHdrs: 3.6.1 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.20.1 ChimeraX-AlphaFold: 1.0.1 ChimeraX-AltlocExplorer: 1.1.2 ChimeraX-AmberInfo: 1.0 ChimeraX-Aniso: 1.1.4 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.60.7 ChimeraX-AtomicLibrary: 14.1.18 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.4 ChimeraX-BasicActions: 1.1.3 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 3.0.0 ChimeraX-Boltz: 1.0 ChimeraX-BondRot: 2.0.4 ChimeraX-BugReporter: 1.0.2 ChimeraX-BuildStructure: 2.13.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.5.1 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.5 ChimeraX-ChemGroup: 2.0.2 ChimeraX-Clashes: 2.3 ChimeraX-ColorActions: 1.0.5 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.8 ChimeraX-CommandLine: 1.3 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.10rc202505310246 ChimeraX-CoreFormats: 1.2 ChimeraX-coulombic: 1.4.5 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.4 ChimeraX-Dicom: 1.2.7 ChimeraX-DistMonitor: 1.4.2 ChimeraX-DockPrep: 1.1.4 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.4.1 ChimeraX-Hbonds: 2.5.1 ChimeraX-Help: 1.3 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.3 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-IUPAC: 1.0 ChimeraX-KVFinder: 1.6.2 ChimeraX-Label: 1.1.14 ChimeraX-ListInfo: 1.2.2 ChimeraX-Log: 1.2 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.9.1 ChimeraX-Map: 1.3 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.2.1 ChimeraX-MCopy: 1.0 ChimeraX-MDcrds: 2.10.1 ChimeraX-MedicalToolbar: 1.1 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.16 ChimeraX-MMTF: 2.2 ChimeraX-ModelArchive: 1.0 ChimeraX-Modeller: 1.5.19 ChimeraX-ModelPanel: 1.5.1 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-MutationScores: 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.14.1 ChimeraX-OrthoPick: 1.0.1 ChimeraX-PDB: 2.7.10 ChimeraX-PDBBio: 1.0.1 ChimeraX-PDBLibrary: 1.0.4 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1.3 ChimeraX-ProfileGrids: 1.1.2 ChimeraX-PubChem: 2.2 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.2 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.6.3 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.3.1 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.3 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0.1 ChimeraX-Segmentations: 3.5.7 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.17.1 ChimeraX-Shape: 1.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.2.1 ChimeraX-ShowSequences: 1.0.3 ChimeraX-SideView: 1.0.1 ChimeraX-SimilarStructures: 1.0.1 ChimeraX-Smiles: 2.1.2 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.19.1 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.2 ChimeraX-TapeMeasure: 1.0 ChimeraX-TaskManager: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.2.3 ChimeraX-ToolshedUtils: 1.2.4 ChimeraX-Topography: 1.0 ChimeraX-ToQuest: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.45.1 ChimeraX-Umap: 1.0 ChimeraX-uniprot: 2.3.1 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.4.4 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.5 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.2.2 contourpy: 1.3.2 coverage: 7.8.2 cxservices: 1.2.3 cycler: 0.12.1 Cython: 3.0.12 debugpy: 1.8.14 decorator: 5.2.1 docutils: 0.21.2 executing: 2.2.0 filelock: 3.18.0 fonttools: 4.58.1 funcparserlib: 2.0.0a0 glfw: 2.9.0 grako: 3.16.5 h5py: 3.13.0 html2text: 2024.2.26 idna: 3.10 ihm: 2.2 imagecodecs: 2024.6.1 imagesize: 1.4.1 iniconfig: 2.1.0 ipykernel: 6.29.5 ipython: 8.26.0 ipywidgets: 8.1.7 jedi: 0.19.1 Jinja2: 3.1.6 jupyter_client: 8.6.3 jupyter_core: 5.8.1 jupyterlab_widgets: 3.0.15 kiwisolver: 1.4.8 line_profiler: 4.2.0 lxml: 5.3.1 lz4: 4.4.4 MarkupSafe: 3.0.2 matplotlib: 3.10.1 matplotlib-inline: 0.1.7 msgpack: 1.1.0 ndindex: 1.10.0 nest-asyncio: 1.6.0 netCDF4: 1.6.5 networkx: 3.3 nibabel: 5.2.0 nptyping: 2.5.0 numexpr: 2.10.2 numpy: 1.26.4 OpenMM: 8.2.0 openvr: 1.26.701 packaging: 24.2 ParmEd: 4.2.2 parso: 0.8.4 pep517: 0.13.1 pexpect: 4.9.0 pickleshare: 0.7.5 pillow: 10.4.0 pip: 25.0.1 pkginfo: 1.11.1 platformdirs: 4.3.8 pluggy: 1.6.0 prompt_toolkit: 3.0.51 psutil: 7.0.0 ptyprocess: 0.7.0 pure_eval: 0.2.3 py-cpuinfo: 9.0.0 pycollada: 0.8 pydicom: 2.4.4 pyelftools: 0.32 Pygments: 2.18.0 pynmrstar: 3.3.5 pynrrd: 1.0.0 PyOpenGL: 3.1.9 PyOpenGL-accelerate: 3.1.9 pyopenxr: 1.1.4501 pyparsing: 3.2.3 pyproject_hooks: 1.2.0 PyQt6-commercial: 6.8.1 PyQt6-Qt6: 6.8.2 PyQt6-WebEngine-commercial: 6.8.0 PyQt6-WebEngine-Qt6: 6.8.2 PyQt6_sip: 13.10.0 pytest: 8.4.0 pytest-cov: 6.1.1 python-dateutil: 2.9.0.post0 pytz: 2025.2 pyzmq: 26.4.0 qtconsole: 5.5.2 QtPy: 2.4.3 qtshim: 1.1 RandomWords: 0.4.0 requests: 2.32.3 roman-numerals-py: 3.1.0 scipy: 1.14.0 setuptools: 78.1.0 sfftk-rw: 0.8.1 six: 1.16.0 snowballstemmer: 3.0.1 sortedcontainers: 2.4.0 soupsieve: 2.7 Sphinx: 8.2.3 sphinx-autodoc-typehints: 3.1.0 sphinxcontrib-applehelp: 2.0.0 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 2.0.0 sphinxcontrib-htmlhelp: 2.1.0 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 2.0.0 sphinxcontrib-serializinghtml: 2.0.0 stack-data: 0.6.3 superqt: 0.7.1 tables: 3.10.2 tcia_utils: 1.5.1 tifffile: 2025.3.13 tinyarray: 1.2.4 tornado: 6.5.1 traitlets: 5.14.3 typing_extensions: 4.14.0 tzdata: 2025.2 urllib3: 2.4.0 wcwidth: 0.2.13 webcolors: 24.11.1 wheel: 0.45.1 wheel-filename: 1.4.2 widgetsnbextension: 4.0.14
Change History (5)
comment:1 by , 5 months ago
Component: | Unassigned → Structure Comparison |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Foldseek: index is out of bounds |
comment:2 by , 5 months ago
comment:4 by , 5 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed.
I updated ChimeraX to assume new Foldseek server results include all amino acids. Also made it still handle old saved foldseek results (ChimeraX .sms files) with the former exclusion of unknown non-standard residues. What a mess.
comment:5 by , 5 months ago
Thank you. I appreciate the effort. Kind regards Michelle \ufeffOn 5/6/2025, 9:39 am, "ChimeraX" <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: External email: Please exercise caution #17890: Foldseek: index is out of bounds -------------------------------------------+------------------------- Reporter: michelle.christie@\u2026 | Owner: Tom Goddard Type: defect | Status: closed Priority: normal | Milestone: Component: Structure Comparison | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | -------------------------------------------+------------------------- Changes (by Tom Goddard): * resolution: => fixed * status: assigned => closed Comment: Fixed. I updated ChimeraX to assume new Foldseek server results include all amino acids. Also made it still handle old saved foldseek results (ChimeraX .sms files) with the former exclusion of unknown non-standard residues. What a mess. -- Ticket URL: <https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/17890#comment:4> ChimeraX <https://www.rbvi.ucsf.edu/chimerax> ChimeraX Issue Tracker
Note:
See TracTickets
for help on using tickets.
This error is because the P1L residue in 7n52 used to be ignored by Foldseek as an unknown non-standard residue but newer Foldseek does not ignore it. ChimeraX had a table of the residue Foldseek ignored which is now incorrect.
It appears that the Foldseek server was updated to use a newer Foldseek which includes this code change from Nov 28, 2024 that changes the Foldseek's treatment of non-standard amino acids:
https://github.com/steineggerlab/foldseek/commit/b43e63d7a0b5a0d5efec68bdc80d6bf75d70b364#diff-7439cb9223589a676dcecf46f13b18f061310b1b79f36def6094a356cbfa7241
My reading of this change is that while before Foldseek excluded from the sequence and search any amino acids not recognized by GemmiWrapper. GemmiWrapper had a list of 69 3-letter residue codes it accepted. ChimeraX used that list to interpret the sequence alignments returned by foldseek. After the above change all amino acid residues are used if they are part of atom or hetatm records and are either polymer or unknown entity types. I suspect this means all amino acids in the query will be used now. I'm not sure because I don't know how the Gemmi library determines entity type.