Opened 4 months ago
Closed 4 months ago
#18035 closed defect (fixed)
PAE matrix mismatch
Reported by: | Tristan Croll | Owned by: | Tom Goddard |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Structure Prediction | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-6.8.0-59-generic-x86_64-with-glibc2.35 ChimeraX Version: 1.10.dev202504300222 (2025-04-30 02:22:20 UTC) Description Structure was predicted with multiple phospho-Ser/Thr residues... I'm guessing those are still treated as one token per residue rather than per atom? Log: > isolde shorthand Initialising ISOLDE-specific command aliases: Alias Equivalent full command ------------------------------------------------- st isolde step {arguments} aw isolde add water {arguments} awsf isolde add water {arguments} sim false al isolde add ligand {arguments} aa isolde add aa $1 sel {arguments} ht isolde mod his sel {arguments} so setattr sel atoms occupancy {arguments} ab isolde adjust bfactors {arguments} ss isolde sim start sel rt isolde release torsions sel {arguments} rd isolde release distances sel {arguments} ra rd; rt pf isolde pepflip sel cf isolde cisflip sel cbb color bfactor {arguments} cbo color byattr occupancy {arguments} cbc color {arguments} bychain; color {arguments} byhet cs clipper set contourSensitivity {arguments} UCSF ChimeraX version: 1.10.dev202504300222 (2025-04-30) © 2016-2025 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open USP16_pan_phospho_model_0.cif USP16_pan_phospho_model_0.cif title: . [more info...] Chain information for USP16_pan_phospho_model_0.cif #1 --- Chain | Description A | . Non-standard residues in USP16_pan_phospho_model_0.cif #1 --- ZN — (ZN) No chain in structure corresponds to chain ID given in local score info (chain 'B') Computing secondary structure > open USP16_pan_phospho_model_1.cif USP16_pan_phospho_model_1.cif title: . [more info...] Chain information for USP16_pan_phospho_model_1.cif #2 --- Chain | Description A | . Non-standard residues in USP16_pan_phospho_model_1.cif #2 --- ZN — (ZN) No chain in structure corresponds to chain ID given in local score info (chain 'B') > open USP16_pan_phospho_model_2.cif USP16_pan_phospho_model_2.cif title: . [more info...] Chain information for USP16_pan_phospho_model_2.cif #3 --- Chain | Description A | . Non-standard residues in USP16_pan_phospho_model_2.cif #3 --- ZN — (ZN) No chain in structure corresponds to chain ID given in local score info (chain 'B') > open USP16_pan_phospho_model_3.cif USP16_pan_phospho_model_3.cif title: . [more info...] Chain information for USP16_pan_phospho_model_3.cif #4 --- Chain | Description A | . Non-standard residues in USP16_pan_phospho_model_3.cif #4 --- ZN — (ZN) No chain in structure corresponds to chain ID given in local score info (chain 'B') > open USP16_pan_phospho_model_4.cif USP16_pan_phospho_model_4.cif title: . [more info...] Chain information for USP16_pan_phospho_model_4.cif #5 --- Chain | Description A | . Non-standard residues in USP16_pan_phospho_model_4.cif #5 --- ZN — (ZN) No chain in structure corresponds to chain ID given in local score info (chain 'B') Computing secondary structure [Repeated 3 time(s)] > matchmaker #2-5 to #1 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 USP16_pan_phospho_model_0.cif, chain A (#1) with USP16_pan_phospho_model_1.cif, chain A (#2), sequence alignment score = 4067.4 RMSD between 384 pruned atom pairs is 0.742 angstroms; (across all 823 pairs: 37.205) Matchmaker USP16_pan_phospho_model_0.cif, chain A (#1) with USP16_pan_phospho_model_2.cif, chain A (#3), sequence alignment score = 3855.3 RMSD between 379 pruned atom pairs is 0.733 angstroms; (across all 823 pairs: 17.959) Matchmaker USP16_pan_phospho_model_0.cif, chain A (#1) with USP16_pan_phospho_model_3.cif, chain A (#4), sequence alignment score = 3900 RMSD between 335 pruned atom pairs is 0.628 angstroms; (across all 823 pairs: 30.996) Matchmaker USP16_pan_phospho_model_0.cif, chain A (#1) with USP16_pan_phospho_model_4.cif, chain A (#5), sequence alignment score = 3889.5 RMSD between 327 pruned atom pairs is 0.649 angstroms; (across all 823 pairs: 28.740) > hide #2 models > hide #3 models > hide #4 models > hide #5 models > show :SEP,TPO > clipper init > cofr centerOfView showPivot true > camera ortho > lighting simple > rainbow > color byhetero > ui tool show "AlphaFold Error Plot" > alphafold pae #1 file > /media/tcroll/DATA/structure_dump/dublin/boltz1/usp16_phospho/predictions/USP16_pan_phospho/pae_USP16_pan_phospho_model_0.npz Structure USP16_pan_phospho_model_0.cif #1 does not match PAE matrix size 827.The structure has 812 polymer residues and 116 non-polymer atoms This can happen if chains or atoms were deleted from the AlphaFold model or if the PAE data was applied to a structure that was not the one predicted by AlphaFold. Use the full-length AlphaFold model to show predicted aligned error. OpenGL version: 3.3.0 NVIDIA 535.230.02 OpenGL renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Python: 3.11.4 Locale: en_GB.UTF-8 Qt version: PyQt6 6.8.1, Qt 6.8.2 Qt runtime version: 6.8.2 Qt platform: xcb XDG_SESSION_TYPE=x11 DESKTOP_SESSION=ubuntu XDG_SESSION_DESKTOP=ubuntu XDG_CURRENT_DESKTOP=ubuntu:GNOME DISPLAY=:1 Manufacturer: Dell Inc. Model: XPS 8950 OS: Ubuntu 22.04 Architecture: 64bit ELF Virtual Machine: none CPU: 20 12th Gen Intel(R) Core(TM) i7-12700 Cache Size: 25600 KB Memory: total used free shared buff/cache available Mem: 31Gi 20Gi 1.7Gi 637Mi 8.8Gi 9.4Gi Swap: 2.0Gi 2.0Gi 1.0Mi Graphics: 0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3070 Lite Hash Rate] [10de:2488] (rev a1) Subsystem: Dell GA104 [GeForce RTX 3070 Lite Hash Rate] [1028:c903] Kernel driver in use: nvidia Installed Packages: alabaster: 1.0.0 appdirs: 1.4.4 asttokens: 3.0.0 auditwheel: 6.3.0 babel: 2.17.0 beautifulsoup4: 4.13.3 blockdiag: 3.0.0 blosc2: 3.3.1 build: 1.2.2.post1 certifi: 2025.4.26 cftime: 1.6.4.post1 charset-normalizer: 3.4.1 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.3 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.60.5 ChimeraX-AtomicLibrary: 14.1.17 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.4.0 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.2 ChimeraX-Clashes: 2.3 ChimeraX-Clipper: 0.25.0 ChimeraX-ColorActions: 1.0.5 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.8 ChimeraX-CommandLine: 1.2.6 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.10.dev202504300222 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-ISOLDE: 1.10rc0 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-IUPAC: 1.0 ChimeraX-KVFinder: 1.6.1 ChimeraX-Label: 1.1.14 ChimeraX-LinuxSupport: 1.0.1 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.9 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.1 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.0 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.4 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.2.2 contourpy: 1.3.2 coverage: 7.8.0 cxservices: 1.2.3 cycler: 0.12.1 Cython: 3.0.12 debugpy: 1.8.14 decorator: 5.2.1 distro: 1.9.0 docutils: 0.21.2 executing: 2.2.0 filelock: 3.18.0 fonttools: 4.57.0 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.6 jedi: 0.19.1 Jinja2: 3.1.6 jupyter_client: 8.6.3 jupyter_core: 5.7.2 jupyterlab_widgets: 3.0.14 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.9.2 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.1.1 OpenMM: 8.2.0 openmm-cuda: 8.1.1.11.8 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.7 pluggy: 1.5.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: 6.8.1 PyQt6-Qt6: 6.8.2 PyQt6-WebEngine: 6.8.0 PyQt6-WebEngine-Qt6: 6.8.2 PyQt6_sip: 13.10.0 pytest: 8.3.5 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 rdkit: 2025.3.2 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: 2.2.0 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.4.2 traitlets: 5.14.3 typing_extensions: 4.13.2 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 (8)
comment:1 by , 4 months ago
Component: | Unassigned → Structure Prediction |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → PAE matrix mismatch |
comment:2 by , 4 months ago
comment:3 by , 4 months ago
I can’t attach *that* one, but I’ll make up a test case on Monday. If you want something earlier, it was just protein + a handful of ZN, with about half a dozen SER/THR modified to SEP or TPO respectively. On Fri, 20 Jun 2025 at 18:27, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: > >
comment:4 by , 4 months ago
I tried AlphaFold 3 with a phosphoserine (using sequence of pdb 8rf4) and PAE worked fine.
But it looks like you used Boltz-1 for your prediction since boltz1 is in the directory name. I'll have to run a Boltz-1 test to see if it uses different conventions for residue and atom PAE.
comment:5 by , 4 months ago
I tried boltz-2 with a phosphoserine (using sequence of pdb 8rf4) and I get the same kind of error trying to show PAE in ChimeraX that you report suggesting Boltz uses per-residue PAE for modified residues which differs from AlphaFold 3 which uses per-atom PAE for modified residues. Not sure how I will recognize this as a Boltz prediction since the mmCIF prediction does not include any metadata saying it came from Boltz and the PAE .npz file also is just a 2D array with no info about which residues or atoms the indices correspond to. Chai-1 also uses numpy files for PAE. Also don't know if it differs from AlphaFold 3 in whether atom or residue level PAE values are computed.
comment:6 by , 4 months ago
Maybe the best solution is that if the PAE matrix size does not match what is expected for AF3 then we see if it matches the Boltz expected size and if so use that.
comment:7 by , 4 months ago
I have a Boltz prediction interface in ChimeraX. But so far I have not added the ability to specify modified residues so this bug has not come up from Boltz predictions run within ChimeraX. I'll definitely need to fix it if I add support for modified residues in the ChimeraX Boltz command and GUI.
comment:8 by , 4 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in daily build, not in 1.10.
I made the PAE code guess if the file is from Boltz as follows. If the file ends with .npz and the expected matrix size is too small using AlphaFold 3 PAE conventions the we check if using Boltz PAE conventions where modified residues have a single PAE matrix row matches the matrix size. If it does then the code assumes Boltz conventions.
Can you attach the prediction and PAE file? My understanding was that any modified residues have per-atom pae.