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
Attachments (2)
Change History (14)
by , 2 years ago
Attachment: | 5b04_rebuilt.cif added |
---|
comment:1 by , 2 years ago
Cc: | added |
---|---|
Component: | Unassigned → Input/Output |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → accepted |
Summary: | ChimeraX bug report submission → Missing chain objects |
comment:2 by , 2 years ago
Status: | accepted → feedback |
---|
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)?
by , 2 years ago
Attachment: | cif_problem_session.cxs added |
---|
comment:4 by , 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 , 2 years ago
Status: | feedback → accepted |
---|
comment:6 by , 2 years ago
Cc: | added; removed |
---|---|
Milestone: | → 1.7 |
Owner: | changed from | to
Status: | accepted → assigned |
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 , 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 , 2 years ago
Cc: | added; removed |
---|---|
Owner: | changed from | to
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 , 2 years ago
Cc: | added; removed |
---|---|
Owner: | changed from | to
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.
comment:10 by , 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 , 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 , 2 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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.
Added by email2trac