Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#7164 closed defect (fixed)

RFE: "pae" arguent to "alphafold match"

Reported by: Tristan Croll Owned by: Tom Goddard
Priority: normal Milestone:
Component: Structure Prediction Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-5.13.0-51-generic-x86_64-with-glibc2.31
ChimeraX Version: 1.4 (2022-06-03 23:39:42 UTC)
Description
It would be useful if the "alphafold match" command had the same "pae" argument as "alphafold fetch".

OpenGL version: 3.3.0 NVIDIA 510.47.03
OpenGL renderer: NVIDIA TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.9.11
Locale: en_GB.UTF-8
Qt version: PyQt6 6.3.0, Qt 6.3.0
Qt runtime version: 6.3.0
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: Precision T5600
OS: Ubuntu 20.04 focal
Architecture: 64bit ELF
Virtual Machine: none
CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Cache Size: 20480 KB
Memory:
	              total        used        free      shared  buff/cache   available
	Mem:           62Gi        13Gi        43Gi       145Mi       5.9Gi        49Gi
	Swap:         4.9Gi          0B       4.9Gi

Graphics:
	03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)	
	Subsystem: NVIDIA Corporation GP102 [TITAN Xp] [10de:11df]	
	Kernel driver in use: nvidia

Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.10.1
    backcall: 0.2.0
    blockdiag: 3.0.0
    certifi: 2022.5.18.1
    cftime: 1.6.0
    charset-normalizer: 2.0.12
    ChimeraX-AddCharge: 1.2.3
    ChimeraX-AddH: 2.1.11
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.4.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.39.1
    ChimeraX-AtomicLibrary: 7.0
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.1
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.7
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.2
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.18.0
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.1
    ChimeraX-CommandLine: 1.2.3
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.4
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.1.5
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1.2
    ChimeraX-Help: 1.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ISOLDE: 1.4b2
    ChimeraX-ItemsInspection: 1.0
    ChimeraX-Label: 1.1.1
    ChimeraX-LinuxSupport: 1.0
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 2.0.6
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.7
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.5.5
    ChimeraX-ModelPanel: 1.3.2
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.2
    ChimeraX-OpenCommand: 1.9
    ChimeraX-PDB: 2.6.6
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    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
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.6
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.8
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.0.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.1.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.1
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.18.3
    ChimeraX-uniprot: 2.2
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.1.2
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0
    ChimeraX-WebServices: 1.1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.4
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.26
    debugpy: 1.6.0
    decorator: 5.1.1
    distro: 1.6.0
    docutils: 0.17.1
    entrypoints: 0.4
    filelock: 3.4.2
    fonttools: 4.33.3
    funcparserlib: 1.0.0
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.3
    ihm: 0.27
    imagecodecs: 2021.11.20
    imagesize: 1.3.0
    ipykernel: 6.6.1
    ipython: 7.31.1
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.0.3
    jupyter-client: 7.1.0
    jupyter-core: 4.10.0
    kiwisolver: 1.4.2
    line-profiler: 3.4.0
    lxml: 4.7.1
    lz4: 3.1.10
    MarkupSafe: 2.1.1
    matplotlib: 3.5.1
    matplotlib-inline: 0.1.3
    msgpack: 1.0.3
    nest-asyncio: 1.5.5
    netCDF4: 1.5.8
    networkx: 2.6.3
    numexpr: 2.8.1
    numpy: 1.22.1
    openvr: 1.16.802
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 9.0.1
    pip: 21.3.1
    pkginfo: 1.8.2
    prompt-toolkit: 3.0.29
    psutil: 5.9.0
    ptyprocess: 0.7.0
    pycollada: 0.7.2
    pydicom: 2.2.2
    Pygments: 2.11.2
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6-commercial: 6.3.0
    PyQt6-Qt6: 6.3.0
    PyQt6-sip: 13.3.1
    PyQt6-WebEngine-commercial: 6.3.0
    PyQt6-WebEngine-Qt6: 6.3.0
    python-dateutil: 2.8.2
    pytz: 2022.1
    pyzmq: 23.1.0
    qtconsole: 5.3.0
    QtPy: 2.1.0
    RandomWords: 0.3.0
    requests: 2.27.1
    scipy: 1.7.3
    setuptools: 59.8.0
    sfftk-rw: 0.7.2
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 4.3.2
    sphinx-autodoc-typehints: 1.15.2
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    suds-community: 1.0.0
    tables: 3.7.0
    tifffile: 2021.11.2
    tinyarray: 1.2.4
    tornado: 6.1
    traitlets: 5.1.1
    urllib3: 1.26.9
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.37.1
    wheel-filename: 1.3.0

Change History (9)

comment:1 by Eric Pettersen, 3 years ago

Component: UnassignedStructure Prediction
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionRFE: "pae" arguent to "alphafold match"

comment:2 by Tom Goddard, 3 years ago

Cc: Elaine Meng added
Resolution: fixed
Status: assignedclosed

Done.

I added a "pae" option (default false) to the alphafold match command. AlphaFold match can load many alphafold models (for every chain specified) so this could bring up a lot of PAE plots. But the user asked for it so it seems ok. Also PAE cannot be associated with an AlphaFold model if the AlphaFold model was trimmed (residues deleted) to match the target structure or sequence. So enabling "pae true" with alphafold match forces the "trim false" in that command.

Elaine, could you add documentation for this new option?

in reply to:  3 ; comment:3 by Tristan Croll, 3 years ago

Maybe also a "plot true|false" argument? I was thinking of this more as a convenience method to pre-fetch the PAE matrices when pulling down matching AlphaFold models as references for ISOLDE... in that case plotting the matrices isn't usually necessary.
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 24 June 2022 19:51
Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; meng@cgl.ucsf.edu <meng@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
Subject: Re: [ChimeraX] #7164: RFE: "pae" arguent to "alphafold match"

#7164: RFE: "pae" arguent to "alphafold match"
-------------------------------------------+-------------------------
          Reporter:  Tristan Croll         |      Owner:  Tom Goddard
              Type:  defect                |     Status:  closed
          Priority:  normal                |  Milestone:
         Component:  Structure Prediction  |    Version:
        Resolution:  fixed                 |   Keywords:
        Blocked By:                        |   Blocking:
Notify when closed:                        |   Platform:  all
           Project:  ChimeraX              |
-------------------------------------------+-------------------------
Changes (by Tom Goddard):

 * cc: Elaine Meng (added)
 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 Done.

 I added a "pae" option (default false) to the alphafold match command.
 AlphaFold match can load many alphafold models (for every chain specified)
 so this could bring up a lot of PAE plots.  But the user asked for it so
 it seems ok.  Also PAE cannot be associated with an AlphaFold model if the
 AlphaFold model was trimmed (residues deleted) to match the target
 structure or sequence.  So enabling "pae true" with alphafold match forces
 the "trim false" in that command.

 Elaine, could you add documentation for this new option?

--
Ticket URL: <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F7164%23comment%3A2&amp;data=05%7C01%7Ctic20%40universityofcambridgecloud.onmicrosoft.com%7Ce01003d294c44816350808da5612a876%7C49a50445bdfa4b79ade3547b4f3986e9%7C0%7C0%7C637916935385520937%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=jKnMZxIApY0WL8Qfo1NrEVMOTceKyH%2FbQiyoCwpHWZY%3D&amp;reserved=0>
ChimeraX <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&amp;data=05%7C01%7Ctic20%40universityofcambridgecloud.onmicrosoft.com%7Ce01003d294c44816350808da5612a876%7C49a50445bdfa4b79ade3547b4f3986e9%7C0%7C0%7C637916935385520937%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=leex7VMziYk39Ura%2F%2B%2F5tI5kSeTjVRbE9QyIxZsa3kc%3D&amp;reserved=0>
ChimeraX Issue Tracker

in reply to:  4 ; comment:4 by Tristan Croll, 3 years ago

The other option might be just to always quietly fetch the PAE matrix along with the model?
________________________________
From: Tristan Croll <tic20@cam.ac.uk>
Sent: 24 June 2022 19:57
To: ChimeraX-bugs@cgl.ucsf.edu <ChimeraX-bugs@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #7164: RFE: "pae" arguent to "alphafold match"

Maybe also a "plot true|false" argument? I was thinking of this more as a convenience method to pre-fetch the PAE matrices when pulling down matching AlphaFold models as references for ISOLDE... in that case plotting the matrices isn't usually necessary.
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 24 June 2022 19:51
Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; meng@cgl.ucsf.edu <meng@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
Subject: Re: [ChimeraX] #7164: RFE: "pae" arguent to "alphafold match"

#7164: RFE: "pae" arguent to "alphafold match"
-------------------------------------------+-------------------------
          Reporter:  Tristan Croll         |      Owner:  Tom Goddard
              Type:  defect                |     Status:  closed
          Priority:  normal                |  Milestone:
         Component:  Structure Prediction  |    Version:
        Resolution:  fixed                 |   Keywords:
        Blocked By:                        |   Blocking:
Notify when closed:                        |   Platform:  all
           Project:  ChimeraX              |
-------------------------------------------+-------------------------
Changes (by Tom Goddard):

 * cc: Elaine Meng (added)
 * status:  assigned => closed
 * resolution:   => fixed


Comment:

 Done.

 I added a "pae" option (default false) to the alphafold match command.
 AlphaFold match can load many alphafold models (for every chain specified)
 so this could bring up a lot of PAE plots.  But the user asked for it so
 it seems ok.  Also PAE cannot be associated with an AlphaFold model if the
 AlphaFold model was trimmed (residues deleted) to match the target
 structure or sequence.  So enabling "pae true" with alphafold match forces
 the "trim false" in that command.

 Elaine, could you add documentation for this new option?

--
Ticket URL: <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F7164%23comment%3A2&amp;data=05%7C01%7Ctic20%40universityofcambridgecloud.onmicrosoft.com%7Ce01003d294c44816350808da5612a876%7C49a50445bdfa4b79ade3547b4f3986e9%7C0%7C0%7C637916935385520937%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=jKnMZxIApY0WL8Qfo1NrEVMOTceKyH%2FbQiyoCwpHWZY%3D&amp;reserved=0>
ChimeraX <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&amp;data=05%7C01%7Ctic20%40universityofcambridgecloud.onmicrosoft.com%7Ce01003d294c44816350808da5612a876%7C49a50445bdfa4b79ade3547b4f3986e9%7C0%7C0%7C637916935385520937%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=leex7VMziYk39Ura%2F%2B%2F5tI5kSeTjVRbE9QyIxZsa3kc%3D&amp;reserved=0>
ChimeraX Issue Tracker

in reply to:  5 ; comment:5 by goddard@…, 3 years ago

I suspect you want more than fetching the file, you also want to open it so ISOLDE can access the PAE matrix.  But I see the idea that you want to use the matrix without showing the plot.  There is a similar situation with the "alphafold contacts" command that I added recently to show pseudobonds between residues colored by PAE.  Currently I require the user to have already opened the PAE plot.  But maybe they didn't want to see that plot, just the pseudobonds.

How might we do this?  I am not keen on fetching PAE data from AlphaFold database every time ChimeraX fetches an AlphaFold model.  The PAE data can be much bigger than the structure, and it is two fetches, so that likely at least doubles the download time for users who aren't going to look at PAE.

Maybe code that wants to use PAE can call a routine to try to get it.  This is somewhat tricky because the AlphaFold model could be from the database, it could be from running a prediction on colab, it could be the user ran AlphaFold themselves, or they might have run ColabFold (which uses its own PAE data format).  The routine would first see if the PAE data is already loaded then there is nothing to do.  If it is an AlphaFold DB model it could fetch and load.  If PAE is from a file from an AlphaFold prediction currently I always ask the user to choose the file, because prediction structure file names don't match PAE file names so it is hard to get the right file automatically.  The routine could have an option whether querying the user to locate a PAE file is allowed, if not it can just return saying the PAE was not available.

comment:6 by Tom Goddard, 3 years ago

For the alphafold contacts command and for ISOLDE I tend to think the main uses will involve user-run alphafold predictions and not alphafold database. And so the PAE data file is a bit tricky to find. And that is why now it relies on the user choosing that file. But these two uses don't want to show the plot, so having some code that allows the user to browse and find the file (or fetch it from AlphaFold DB) akin to the current AlphaFold Error Plot gui would be handy.

in reply to:  7 ; comment:7 by Tristan Croll, 3 years ago

Some more context: I spent this afternoon starting a long-overdue GUI widget for ISOLDE’s reference model restraints, which is what started me on this. I gave it a little indicator which checks if a given model already has a PAE matrix and turns green if so, and a button to load it from file using the “alphafold pae” command. (As an aside, I wonder if it would be better to not offer loading from the pickle file as an option in your GUI, since that could teach bad security habits to the user.) But automatically detecting if a model is from the Alphafold database is a little trickier.

For what it’s worth, I think Alphafold-DB models will actually get some fairly heavy use in ISOLDE now that its coverage is getting pretty comprehensive - at least until the multimer prediction tools get a bit better. They’re perfectly adequate for a lot of day-to-day uses.

comment:8 by Tom Goddard, 3 years ago

I'm a bit confused. How does your button use the "alphafold pae" command to load the data? For that you would need to know either that it was from AlphaFold DB and its uniprot id or the file where the pae data is on disk.

A few things make me wonder about use of AlphaFold database models in ISOLDE. First I would think that the user wants the correct sequence and very likely their sequence differs from what is in the database. That is why I thought they would run a prediction. They don't need to run a multimer prediction, just monomers, like what they get from AlphaFold database but with the correct sequence. The second issue to consider is that ChimeraX cannot handle PAE data correctly if any residues have been deleted from the AlphaFold model. I thought it would be likely that a user will delete disordered regions, or tails that are not actually in their experimental sample. Currently ChimeraX does not know how to map the residues to the correct index into the PAE matrix. It just assumes the index of the residue in structure.residues is the index into the matrix. To avoid blunders the code complains if the number of structure residues does not match the PAE matrix size and will not associate the matrix with such a structure.

While .pkl is a horrible way to store the data, that is what AlphaFold uses, so I am going to let users open that file.

comment:9 by Tom Goddard, 3 years ago

I looked some weeks ago at making the PAE class keep track of the residue indices in the matrices so deleting residues would not be a problem. I was too lazy so far to implement it because keeping that information in saved sessions was a chore. Other possible implementations could rely on the chain id and residue numbering that AlphaFold uses to figure out the correct matrix indices. That could cause issues because AlphaFold always starts numbering at 1 so it would be pretty reasonable for the user to renumber the residues. (Eric just added the resrenumber command.) At any rate, handling deleted residues with PAE data should probably be attempted in the future.

Note: See TracTickets for help on using tickets.