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: | Eric Pettersen | |
| 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