Opened 18 months ago
Closed 18 months ago
#15144 closed defect (fixed)
AlphaFold3 with ligands PAE json file: number of structure residues does not match matrix size
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Structure Prediction | Version: | |
| Keywords: | Cc: | Elaine Meng, jdzimian@…, clement_rouillon@… | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-14.4.1-arm64-arm-64bit
ChimeraX Version: 1.8.dev202405031817 (2024-05-03 18:17:29 UTC)
Description
Loading PAE data for AlphaFold3 run that had a ligands and ions fails with this error, wrong number of residues in structure.
Log:
UCSF ChimeraX version: 1.8.dev202405031817 (2024-05-03)
© 2016-2024 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> registration file ~/Desktop/registration.txt
Expected name of a file to open/read; a name of 'browse' will bring up a file
browser or a keyword
> registration file /Users/goddard/Desktop/registration.txt
Expected name of a file to open/read; a name of 'browse' will bring up a file
browser or a keyword
> registration file /Users/goddard/registration.txt
/Users/goddard/registration.txt: no registration data found
> registration file /Users/goddard/Desktop/reg.html
Thank you for registering your copy of ChimeraX. By providing the information
requested you will be helping us document the impact this software is having
in the scientific community. The information you supplied will only be used
for reporting summary usage statistics; no individual data will be released.
> registration file ~/Desktop/reg2.html
Expected name of a file to open/read; a name of 'browse' will bring up a file
browser or a keyword
> open 4xv9
Summary of feedback from opening 4xv9 fetched from pdb
---
warning | Cannot find consistent set of bond orders for ring system containing atom C19 in residue 1OO /A:801
4xv9 title:
B-Raf Kinase domain in complex with PLX5568 [more info...]
Chain information for 4xv9 #1
---
Chain | Description | UniProt
A | Serine/threonine-protein kinase B-raf | BRAF_HUMAN 442-705
Non-standard residues in 4xv9 #1
---
1OO —
N-{3-[(5-chloro-1H-pyrrolo[2,3-b]pyridin-3-yl)carbonyl]-2,4-difluorophenyl}-4-(trifluoromethyl)benzenesulfonamide
SO4 — sulfate ion
4xv9 mmCIF Assemblies
---
1| author_defined_assembly
53 atoms have alternate locations. Control/examine alternate locations with
Altloc Explorer [start tool...] or the altlocs command.
> close
> open 8jk9
Summary of feedback from opening 8jk9 fetched from pdb
---
note | Fetching compressed mmCIF 8jk9 from http://files.rcsb.org/download/8jk9.cif
8jk9 title:
SP1746 in complex with GDP [more info...]
Chain information for 8jk9 #1
---
Chain | Description | UniProt
A | bis(5'-nucleosyl)-tetraphosphatase (symmetrical) | A0A0H2URF8_STRPN 1-197
Non-standard residues in 8jk9 #1
---
FE — Fe (III) ion
GDP — guanosine-5'-diphosphate
GOL — glycerol (glycerin; propane-1,2,3-triol)
MG — magnesium ion
8jk9 mmCIF Assemblies
---
1| author_and_software_defined_assembly
15 atoms have alternate locations. Control/examine alternate locations with
Altloc Explorer [start tool...] or the altlocs command.
> select :FE
2 atoms, 2 residues, 1 model selected
> select :GDP
28 atoms, 30 bonds, 1 residue, 1 model selected
> select :MG
2 atoms, 2 residues, 1 model selected
> open
> /Users/goddard/Downloads/fold_2024_05_08_15_09/fold_2024_05_08_15_09_model_0.cif
Chain information for fold_2024_05_08_15_09_model_0.cif #2
---
Chain | Description
A B | .
> mmaker #2 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 8jk9, chain A (#1) with fold_2024_05_08_15_09_model_0.cif, chain A
(#2), sequence alignment score = 1114.4
RMSD between 194 pruned atom pairs is 0.339 angstroms; (across all 195 pairs:
0.385)
> sym #1 assembly 1
Made 2 copies for 8jk9 assembly 1
> view
> hide #!3 models
> show #!3 models
> hide #2 models
> show #2 models
> hide #2 models
> show #2 models
> hide #!3 models
> hide #2 models
> show #2 models
> show #!3 models
> hide #!3 models
> show #!3 models
> ui tool show "AlphaFold Error Plot"
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/alphafold/pae.py", line 62, in <lambda>
sf.widget.menu().triggered.connect(lambda action, self=self:
self._guess_for_source())
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/alphafold/pae.py", line 132, in _guess_for_source
pae_path = _matching_pae_file(structure_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/alphafold/pae.py", line 316, in _matching_pae_file
mfile = _longest_matching_prefix(filename, pkl_files, min_length = min_length)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/alphafold/pae.py", line 328, in _longest_matching_prefix
mfilename = m[0][1] if m[0][0] >= min_length and m[0][0] > m[1][0] else None
~^^^
IndexError: list index out of range
IndexError: list index out of range
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/alphafold/pae.py", line 328, in _longest_matching_prefix
mfilename = m[0][1] if m[0][0] >= min_length and m[0][0] > m[1][0] else None
~^^^
See log for complete Python traceback.
> ui tool show "AlphaFold Error Plot"
> alphafold pae #2 file
> /Users/goddard/Downloads/fold_2024_05_08_15_09/fold_2024_05_08_15_09_full_data_0.json
Number of residues in structure "fold_2024_05_08_15_09_model_0.cif #2" is 440
which does not match PAE matrix size 494.
This can happen if chains 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: 4.1 Metal - 88
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.101.3
OS Loader Version: 10151.101.3
Software:
System Software Overview:
System Version: macOS 14.4.1 (23E224)
Kernel Version: Darwin 23.4.0
Time since boot: 1 day, 19 hours, 22 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.14.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.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.6
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.1.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-ArtiaX: 0.4.5
ChimeraX-Atomic: 1.57
ChimeraX-AtomicLibrary: 14.0.3
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.4.5
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.12.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2.3
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.4
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.5
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-copick: 0.1.0
ChimeraX-Core: 1.8.dev202405031817
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-Dicom: 1.2
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.9
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
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.15
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.1
ChimeraX-NIHPresets: 1.1.17
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.1
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OME-Zarr: 0.5.3
ChimeraX-OpenCommand: 1.13.4
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: 1.0.4
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.4
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.38
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.1
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.3
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.51.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: 7.1.0
ipykernel: 6.29.2
ipython: 8.21.0
ipywidgets: 8.1.2
jedi: 0.19.1
Jinja2: 3.1.3
jmespath: 1.0.1
joblib: 1.4.0
jupyter-client: 8.6.0
jupyter-core: 5.7.2
jupyterlab-widgets: 3.0.10
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.1
pluggy: 1.5.0
prompt-toolkit: 3.0.43
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: 6.6.1
PyQt6-Qt6: 6.6.3
PyQt6-sip: 13.6.0
PyQt6-WebEngine: 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.2.2
tornado: 6.4
tqdm: 4.66.2
traitlets: 5.14.2
trimesh: 4.0.10
trove-classifiers: 2024.4.10
typing-extensions: 4.11.0
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.10
wrapt: 1.16.0
yarl: 1.9.4
zarr: 2.17.2
zict: 3.0.0
zipp: 3.18.1
Change History (5)
comment:1 by , 18 months ago
| Component: | Unassigned → Structure Prediction |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → AlphaFold3 with ligands PAE json file: number of structure residues does not match matrix size |
comment:2 by , 18 months ago
comment:3 by , 18 months ago
| Cc: | added |
|---|
comment:4 by , 18 months ago
| Cc: | added |
|---|
comment:5 by , 18 months ago
| Cc: | added |
|---|---|
| Resolution: | → fixed |
| Status: | assigned → closed |
Fixed in ChimeraX daily build and 1.8 release candidates dated May 14, 2024 or later.
The predicted aligned error from AlphaFold 3 includes rows in the matrix for individual atoms of ligands, ions, glycans, and modified residues, while standard protein and nucleic polymers still have rows corresponding to whole residues as in AlphaFold 2. This ChimeraX fix allows handling the atom and residue PAE values in the AlphaFold Error Plot tool that shows a heatmap of PAE values, and also in the "alphafold contacts" command that color-coded shows lines connecting nearby residues or atoms to indicate PAE values.
Elaine could you update the AlphaFold Error Plot and alphafold contacts command documentation to indicate that they handle AlphaFold 3 output. The descriptions will need to be update to indicate the PAE values are assigned to both polymer residues (as before) and non-polymer atoms (new to AlphaFold 3).
The "alphafold contacts" command now takes arguments "atoms" and "toAtoms" instead of "residues" and "toResidues" so that PAE values to specific atoms can requested. The lines connecting PAE for individual atoms and residues go between the atom and the residue CA or P atom (principal backbone atom).
The AlphaFold 3 PAE json file has rows that are individual atoms for ligands and ions, and rows that are residues for protein and nucleic acid polymers. AlphaFold 2 only had residues. Reworking the PAE plot, PAE domains and alphafold contacts code to handle a mix of residues and atoms will require modifying a few hundred lines of code and will be more complex.
I think I should do this soon and include it in ChimeraX 1.8.
Oleg Kovalevskiy from DeepMind asked for this fix in #15135.