Opened 3 years ago

Closed 3 years ago

#7770 closed enhancement (fixed)

Add "replace" option to alphafold contacts command

Reported by: goddard@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Structure Prediction Version:
Keywords: Cc: michaelis@…, Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-12.6-arm64-arm-64bit
ChimeraX Version: 1.5.dev202210072043 (2022-10-07 20:43:13 UTC)
Description
Add a "replace" option to the alphafold contacts command to allow showing multiple sets of pseudobonds.

Log:
Startup Messages  
---  
note | Fetching AlphaFold database settings from
https://www.rbvi.ucsf.edu/chimerax/data/status/alphafold_database3.json  
  
UCSF ChimeraX version: 1.5.dev202210072043 (2022-10-07)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open
> /Users/goddard/Downloads/ChimeraX/AlphaFold/prediction_58/best_model.pdb
> format pdb

Chain information for best_model.pdb #1  
---  
Chain | Description  
B C | No description available  
  

> ui tool show "AlphaFold Error Plot"

> alphafold pae #1 file
> /Users/goddard/Downloads/ChimeraX/AlphaFold/prediction_58/best_model_pae.json

> alphafold contacts /B:7-18 toResidues /C:7-18

> alphafold contacts /B:28-40 toResidues /C:28-40

> alphafold contacts /B:28-40 toResidues /C:28-40 distance 5

> rename #1.1 "PAE Contacts 1"

> alphafold contacts /B:7-18 toResidues /C:7-18

> usage rename

rename models [name] [id id]  
— rename a model or change its id number  
name: a text string  
id: a model id  

> rename #1.2 BC1

> alphafold contacts /B:7-18 toResidues /C:7-18 distance 8




OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple

Python: 3.9.11
Locale: UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,2
      Chip: Apple M1 Max
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 7459.141.1
      OS Loader Version: 7459.141.1

Software:

    System Software Overview:

      System Version: macOS 12.6 (21G115)
      Kernel Version: Darwin 21.6.0
      Time since boot: 19 days 1:36

Graphics/Displays:

    Apple M1 Max:

      Chipset Model: Apple M1 Max
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 32
      Vendor: Apple (0x106b)
      Metal Family: Supported, Metal GPUFamily Apple 7
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3456 x 2234 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal


Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    appnope: 0.1.3
    asttokens: 2.0.8
    Babel: 2.10.3
    backcall: 0.2.0
    blockdiag: 3.0.0
    build: 0.8.0
    certifi: 2021.10.8
    cftime: 1.6.2
    charset-normalizer: 2.1.1
    ChimeraX-AddCharge: 1.4
    ChimeraX-AddH: 2.2
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.6
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-ArtiaX: 0.1
    ChimeraX-Atomic: 1.41.4
    ChimeraX-AtomicLibrary: 8.0.2
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.1
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.7.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.1
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.19.0.dev0
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.2
    ChimeraX-CommandLine: 1.2.4
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.5.dev202210072043
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.3
    ChimeraX-DockPrep: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ISOLDE: 1.5.dev0
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-Label: 1.1.7
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.1
    ChimeraX-MatchMaker: 2.0.9
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.8
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.6
    ChimeraX-ModelPanel: 1.3.6
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.1
    ChimeraX-MouseModes: 1.1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.9.1
    ChimeraX-PDB: 2.6.8
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PhenixUI: 1.0.4
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    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.7.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.10
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.1.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.24.2
    ChimeraX-uniprot: 2.2.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.1.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.1
    ChimeraX-WebServices: 1.1.0
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.5
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.32
    debugpy: 1.6.3
    decorator: 5.1.1
    Deprecated: 1.2.13
    docutils: 0.19
    entrypoints: 0.4
    executing: 1.1.0
    filelock: 3.7.1
    fonttools: 4.37.4
    funcparserlib: 1.0.0
    future: 0.18.2
    grako: 3.16.5
    graphtools: 1.5.2
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.33
    imagecodecs: 2022.2.22
    imageio: 2.22.1
    imagesize: 1.4.1
    importlib-metadata: 5.0.0
    ipykernel: 6.15.3
    ipython: 8.4.0
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.1.2
    joblib: 1.2.0
    jupyter-client: 7.3.4
    jupyter-core: 4.11.1
    kiwisolver: 1.4.4
    line-profiler: 3.5.1
    llvmlite: 0.39.1
    lxml: 4.9.1
    lz4: 4.0.2
    MarkupSafe: 2.1.1
    matplotlib: 3.5.2
    matplotlib-inline: 0.1.6
    mrcfile: 1.4.3
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.0
    networkx: 2.8.5
    numba: 0.56.2
    numexpr: 2.8.3
    numpy: 1.23.1
    openvr: 1.23.701
    packaging: 21.3
    pandas: 1.4.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.8.0
    phate: 1.0.8
    pickleshare: 0.7.5
    Pillow: 9.2.0
    pip: 22.2.2
    pkginfo: 1.8.3
    prompt-toolkit: 3.0.31
    psutil: 5.9.1
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.12.0
    PyGSP: 0.5.1
    pynndescent: 0.5.7
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    pyqtgraph: 0.13.1
    python-dateutil: 2.8.2
    pytz: 2022.4
    PyWavelets: 1.4.1
    PyYAML: 6.0
    pyzmq: 24.0.1
    qtconsole: 5.3.1
    QtPy: 2.2.1
    RandomWords: 0.4.0
    requests: 2.28.1
    s-gd2: 1.8
    scikit-image: 0.19.3
    scikit-learn: 1.1.2
    scipy: 1.9.0
    scprep: 1.2.1
    Send2Trash: 1.8.0
    setuptools: 65.1.1
    setuptools-scm: 7.0.5
    sfftk-rw: 0.7.2
    six: 1.16.0
    sklearn: 0.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 5.1.1
    sphinx-autodoc-typehints: 1.19.1
    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
    stack-data: 0.5.1
    starfile: 0.4.11
    superqt: 0.3.3
    tables: 3.7.0
    tasklogger: 1.2.0
    threadpoolctl: 3.1.0
    tifffile: 2022.7.31
    tinyarray: 1.2.4
    tomli: 2.0.1
    torch: 1.12.1
    tornado: 6.2
    tqdm: 4.64.1
    traitlets: 5.3.0
    typing-extensions: 4.3.0
    umap-learn: 0.5.3
    urllib3: 1.26.12
    wcwidth: 0.2.5
    webcolors: 1.12
    wheel: 0.37.1
    wheel-filename: 1.4.1
    wiggle: 0.2.2
    wrapt: 1.14.1
    zipp: 3.8.1

Change History (3)

comment:1 by Tom Goddard, 3 years ago

Cc: michaelis@… Elaine Meng added
Component: UnassignedStructure Prediction
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionAdd "replace" option to alphafold contacts command
Type: defectenhancement

Requested on mailing list:

Begin forwarded message:

From: "Michaelis, Andre Clemens via ChimeraX-users" <chimerax-users@cgl.ucsf.edu>
Subject: [chimerax-users] alphafold contacts between 3 and more subunits
Date: October 10, 2022 at 5:47:06 AM PDT
To: "chimerax-users@cgl.ucsf.edu" <chimerax-users@cgl.ucsf.edu>
Reply-To: "Michaelis, Andre Clemens"

Hi,
 
Is it possible to draw contacts (PAE, alphafold) between more than just 2 subunits?
e.g.:
alphafold contacts /A to /B
AND
alphafold contacts /B to /C
AND
alphafold contacts /A to /C
 
Righ now, a new command deletes the old contacts. Not sure about a syntax that would combine/add those
 
Thank you very much!
 
Best André

comment:2 by Tom Goddard, 3 years ago

The "alphafold contacts" command creates a submodel of the atomic structure containing pseudobonds with the submodel named "PAE Contacts". If you rename that submodel then it won't replace it when you do the second alphafold contacts command on the same structure. For instance, if the structure is model #1.

	alphafold contacts /A to /B
	rename #1.1 "AB contacts"
	alphafold contacts /B to /C
	rename #1.2 "BC contacts"
	alphafold contacts /A to /C

The proposed "replace false" option will make this easier.

comment:3 by Tom Goddard, 3 years ago

Resolution: fixed
Status: assignedclosed

Done.

I added two options "replace" (default true) and "name" (default "PAE Contacts"). The replace option determines if existing contact pseudobonds (in the group with the specified or default name) are deleted. If replace is false the new contacts are just added to any existing ones. The name option gives the pseudobond model the specified name.

Note: See TracTickets for help on using tickets.