Opened 2 years ago

Closed 2 years ago

#9910 closed defect (fixed)

Missing chain objects

Reported by: Tristan Croll Owned by: Greg Couch
Priority: normal Milestone: 1.7
Component: Input/Output Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.22621
ChimeraX Version: 1.7.dev202309180647 (2023-09-18 06:47:42 UTC)
Description
The attached .cif was saved from this version of ChimeraX after doing a bunch of rebuilding in ISOLDE. This included deleting chains B, D, F and J and replacing them with the rebuilt versions of their symmetry equivalents. Each of the new chains appears to be treated as protein, but the cartoon trace is lacking most or all secondary structure and does not respond to "dssp". If I save to PDB and reopen the problem seems to go away.

The general procedure I followed was as follows:

saving the isolated reference chain with, e.g.:

"sel #1/A; save chain_a.pdb #1 sel t"

then:

"open chain_a.pdb; match #2 to #1/B; setattr #2 chain chain_id B; setattr #2&~protein res chain_id B; del #1/B; sel #2"

... and finally using the ISOLDE/Model Building/Merge Model(s) Into Working Model menu entry, which uses the code at https://github.com/tristanic/isolde/blob/master/isolde/src/menu/model_building/merge_models_into_working_model.py. 



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.7.dev202309180647 (2023-09-18)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open "C:/Users/Tristan
> Croll/Documents/Structures/eIF2B_pombe/5b04/5b04_rebuilt.cif"

Summary of feedback from opening C:/Users/Tristan
Croll/Documents/Structures/eIF2B_pombe/5b04/5b04_rebuilt.cif  
---  
warnings | Unknown polymer entity '2' near line 14559  
Unknown polymer entity '7' near line 43742  
Unknown polymer entity '8' near line 49138  
Atom H is not in the residue template for PHE /B:17  
Atom P is not in the residue template for POH /G:501  
Atom H is not in the residue template for GLN /F:31  
Atom P is not in the residue template for POH /H:501  
Missing or incomplete entity_poly_seq table. Inferred polymer connectivity.  
  
Chain information for 5b04_rebuilt.cif #1  
---  
Chain | Description  
A | Translation initiation factor eIF-2B subunit alpha  
C | Probable translation initiation factor eIF-2B subunit beta  
E | Probable translation initiation factor eIF-2B subunit gamma  
G H | Probable translation initiation factor eIF-2B subunit delta  
I J | Probable translation initiation factor eIF-2B subunit epsilon  
  

> cartoon

> hide

> dssp

> select clear

> color bychain

> save test.pdb #1

> open test.pdb

Chain information for test.pdb #2  
---  
Chain | Description  
A | No description available  
B | No description available  
C | No description available  
D | No description available  
E | No description available  
F | No description available  
G H | No description available  
I J | No description available  
  

> cartoon #2

> hide #2

> hide #!1 models

> dssp




OpenGL version: 3.3.0 NVIDIA 529.08
OpenGL renderer: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.2
Locale: en_GB.cp1252
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: windows

Manufacturer: HP
Model: HP ZBook Studio 15.6 inch G8 Mobile Workstation PC
OS: Microsoft Windows 11 Pro (Build 22621)
Memory: 34,007,068,672
MaxProcessMemory: 137,438,953,344
CPU: 16 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
OSLanguage: en-GB

Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    asttokens: 2.4.0
    Babel: 2.12.1
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 0.10.0
    certifi: 2023.7.22
    cftime: 1.6.2
    charset-normalizer: 3.2.0
    ChimeraX-AddCharge: 1.5.11
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.47.2
    ChimeraX-AtomicLibrary: 10.0.8
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.10.5
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.0.3
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.22.1
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.4
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.7.dev202309180647
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.2
    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-ISOLDE: 1.7.dev0
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.8
    ChimeraX-ListInfo: 1.2.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.1.4
    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.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.12
    ChimeraX-ModelPanel: 1.4
    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-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10.2
    ChimeraX-PDB: 2.7.2
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    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.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.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.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.9.1
    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.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12.2
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    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.31.5
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 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.2
    ChimeraX-WebServices: 1.1.2
    ChimeraX-XMAS: 1.1.2
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.1.4
    comtypes: 1.1.14
    contourpy: 1.1.1
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.8.0
    decorator: 5.1.1
    docutils: 0.19
    et-xmlfile: 1.1.0
    executing: 1.2.0
    filelock: 3.9.0
    fonttools: 4.42.1
    funcparserlib: 1.0.1
    glfw: 2.6.2
    grako: 3.16.5
    h5py: 3.9.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.38
    imagecodecs: 2023.7.10
    imagesize: 1.4.1
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.1.1
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.2.0
    jupyter-core: 5.3.1
    jupyterlab-widgets: 3.0.9
    kiwisolver: 1.4.5
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.3
    matplotlib: 3.7.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.8
    netCDF4: 1.6.2
    networkx: 3.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.6
    numpy: 1.25.1
    openpyxl: 3.1.2
    openvr: 1.23.701
    packaging: 23.1
    pandas: 2.0.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 10.0.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.10.0
    prompt-toolkit: 3.0.39
    psutil: 5.9.5
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.16.1
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.2801
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine-commercial: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    python-dateutil: 2.8.2
    pytz: 2023.3.post1
    pywin32: 305
    pyzmq: 25.1.1
    qtconsole: 5.4.3
    QtPy: 2.4.0
    QtRangeSlider: 0.1.5
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.11.1
    seaborn: 0.12.2
    Send2Trash: 1.8.2
    SEQCROW: 1.7.3
    setuptools: 67.4.0
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.7
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.5
    sphinxcontrib-htmlhelp: 2.0.4
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.6
    sphinxcontrib-serializinghtml: 1.1.9
    stack-data: 0.6.2
    superqt: 0.5.0
    tables: 3.8.0
    tcia-utils: 1.5.1
    tifffile: 2023.7.18
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.3.3
    traitlets: 5.9.0
    typing-extensions: 4.8.0
    tzdata: 2023.3
    urllib3: 2.0.4
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.9
    WMI: 1.5.1
File attachment: 5b04_rebuilt.cif

5b04_rebuilt.cif

Attachments (2)

5b04_rebuilt.cif (4.9 MB ) - added by Tristan Croll 2 years ago.
Added by email2trac
cif_problem_session.cxs (10.9 MB ) - added by Tristan Croll 2 years ago.

Change History (14)

by Tristan Croll, 2 years ago

Attachment: 5b04_rebuilt.cif added

Added by email2trac

comment:1 by pett, 2 years ago

Cc: Greg Couch added
Component: UnassignedInput/Output
Owner: set to pett
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionMissing chain objects

comment:2 by pett, 2 years ago

Status: acceptedfeedback

It seems like some of the chain information in the .cif file is wrong (i.e. the "Unknown polymer entity" warnings). Before you saved the .cif file, were all the chains you expect found in structure.chains (or in the Select→Chains menu)?

comment:3 by Tristan Croll, 2 years ago

Yes - all the chains do appear in structure.chains.

by Tristan Croll, 2 years ago

Attachment: cif_problem_session.cxs added

comment:4 by Tristan Croll, 2 years ago

I've attached a copy of the problematic session (and checked that the issue persists after opening it in a fresh ChimeraX instance). It'll require ISOLDE to open - there are Linux and Windows bundles compatible with the current ChimeraX daily builds on the ToolShed, and Mac bundles are attached to #9861.

comment:5 by pett, 2 years ago

Status: feedbackaccepted

comment:6 by pett, 2 years ago

Cc: pett added; Greg Couch removed
Milestone: 1.7
Owner: changed from pett to Greg Couch
Status: acceptedassigned

PDB saves and restores this structure without issue. mmCIF complains about "Not saving entity_poly_seq for non-authoritative sequences" when saving and "Unknown polymer entity" when restoring.

comment:7 by Tom Goddard, 2 years ago

Eric says the molecule creation code won't create chains if any chains have been specified by the mmCIF reader. Possibly the mmcif reader is specifying some chains but not others.

comment:8 by pett, 2 years ago

Cc: Greg Couch added; pett removed
Owner: changed from Greg Couch to pett

Okay, I understand the problem. For every chain that the mmCIF reader knows the full sequence information for, it calls Structure::set_input_seq_info() for that chain, which creates that particular Chain. It never calls anything for the chains that it doesn't know the full sequence for, so no Chains get created for those.

The PDB reader does not use this call because it does not know the residue-to-sequence correspondences needed by set_input_seq_info(). Instead it uses extend_input_seq_info() to relay the sequence info it does have, and then a later make_chains() call figures out the correspondences and creates the Chains, including Chains for which no sequence information has been provided.

I think I can "smarten up" Structure to fill in the missing chains here, though it might require an additional boolean member -- which would bump the bundle major version number.

comment:9 by pett, 2 years ago

Cc: pett added; Greg Couch removed
Owner: changed from pett to Greg Couch

The latest version (12.0) of the AtomicLibrary bundle now "fills in" the chains that the mmCIF reader does not provide sequence information for.

Reassigning to Greg because the mmCIF reader incorrectly assigns a description to chain B (same description as chain A) while correctly assigning blank descriptions to chains D and F.

Last edited 2 years ago by pett (previous) (diff)

comment:10 by Greg Couch, 2 years ago

The mmCIF file has a description for chain B even though it doesn't give the sequence, so that is not a bug.

comment:11 by pett, 2 years ago

As mentioned in the developer's meeting, it's the _wrong_ description unfortunately, so the mmCIF writer needs fixing there.

comment:12 by Greg Couch, 2 years ago

Resolution: fixed
Status: assignedclosed

The mmCIF writer uses the chain's description field to fill in entity.pdbx_description, so that wrong description must have been in the original chain object.

Note: See TracTickets for help on using tickets.