Opened 5 years ago
Closed 5 years ago
#3923 closed defect (fixed)
Tether not shown to N-terminal OXT atom, pdb 3rum
| Reported by: | Tristan Croll | Owned by: | Tom Goddard |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Depiction | Version: | |
| Keywords: | Cc: | Elaine Meng, Eric Pettersen | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Linux-3.10.0-1127.19.1.el7.x86_64-x86_64-with-centos-7.8.2003-Core
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
(Minor stylistic thing for a rare modification...)
open 3rum
view /C:7
In the default cartoon representation, the C-terminal methyl ester appears as a detached carbon monoxide.
Log:
UCSF ChimeraX version: 1.1 (2020-09-09)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 3rum
Summary of feedback from opening 3rum fetched from pdb
---
notes | Fetching compressed mmCIF 3rum from
http://files.rcsb.org/download/3rum.cif
Fetching CCD IPA from http://ligand-expo.rcsb.org/reports/I/IPA/IPA.cif
Fetching CCD RST from http://ligand-expo.rcsb.org/reports/R/RST/RST.cif
Fetching CCD CCS from http://ligand-expo.rcsb.org/reports/C/CCS/CCS.cif
Fetching CCD HTY from http://ligand-expo.rcsb.org/reports/H/HTY/HTY.cif
Fetching CCD MP4 from http://ligand-expo.rcsb.org/reports/M/MP4/MP4.cif
Fetching CCD MDF from http://ligand-expo.rcsb.org/reports/M/MDF/MDF.cif
3rum title:
New strategy to analyze structures of glycopeptide antibiotic-target complexes
[more info...]
Chain information for 3rum #1
---
Chain | Description
A | Maltose-binding periplasmic protein
B C | Ristocetin
Non-standard residues in 3rum #1
---
BGC — beta-D-glucopyranose
BXY — alpha-D-arabinofuranose
GLC — alpha-D-glucopyranose
HTY — (betaR)-beta-hydroxy-D-tyrosine
IPA — isopropyl alcohol (2-propanol)
MAN — alpha-D-mannopyranose
MP4 — (2S)-amino(3,5-dihydroxy-4-methylphenyl)ethanoic acid
RAM — alpha-L-rhamnopyranose
RST — 3-amino-2,3,6-trideoxy-alpha-L-ribo-hexopyranose
SO4 — sulfate ion
> view :BXY
> show /C
> ~cartoon /C
> show cartoons
OpenGL version: 3.3.0 NVIDIA 455.32.00
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: Precision T5600
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
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: 62G 3.6G 50G 124M 8.6G 58G
Swap: 4.9G 0B 4.9G
Graphics:
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:11df]
Kernel driver in use: nvidia
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.9
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.8.0
backcall: 0.2.0
blockdiag: 2.0.1
certifi: 2020.6.20
chardet: 3.0.4
ChimeraX-AddH: 2.1.1
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.1
ChimeraX-Arrays: 1.0
ChimeraX-Async: 0.1
ChimeraX-Atomic: 1.6.1
ChimeraX-AtomSearch: 2.0
ChimeraX-AxesPlanes: 2.0
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 1.0.1
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.0
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.0
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.1
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.0
ChimeraX-Clipper: 0.15.0
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-CommandLine: 1.1.3
ChimeraX-ConnectStructure: 2.0
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.1
ChimeraX-CoreFormats: 1.0
ChimeraX-coulombic: 1.0.1
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-DataFormats: 1.0
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1
ChimeraX-DistUI: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0
ChimeraX-FunctionKey: 1.0
ChimeraX-Geometry: 1.1
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.0
ChimeraX-Hbonds: 2.0
ChimeraX-Help: 1.0
ChimeraX-HKCage: 1.0
ChimeraX-IHM: 1.0
ChimeraX-ImageFormats: 1.0
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0
ChimeraX-ISOLDE: 1.0.2
ChimeraX-Label: 1.0
ChimeraX-LinuxSupport: 1.0
ChimeraX-ListInfo: 1.0
ChimeraX-Log: 1.1.1
ChimeraX-LookingGlass: 1.1
ChimeraX-Map: 1.0.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.0
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 1.1
ChimeraX-MDcrds: 2.0
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.0
ChimeraX-mmCIF: 2.2
ChimeraX-MMTF: 2.0
ChimeraX-Modeller: 1.0
ChimeraX-ModelPanel: 1.0
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.0
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0
ChimeraX-OpenCommand: 1.2.1
ChimeraX-PDB: 2.1
ChimeraX-PDBBio: 1.0
ChimeraX-Phenix: 0.1
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.0
ChimeraX-PubChem: 2.0
ChimeraX-Read-Pbonds: 1.0
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.0
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.2
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SeqView: 2.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.0
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.0
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.0.4
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-Struts: 1.0
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.0
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.0
ChimeraX-ToolshedUtils: 1.0
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.2.3
ChimeraX-uniprot: 2.0
ChimeraX-ViewDockX: 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.0
ChimeraX-Zone: 1.0
colorama: 0.4.3
comtypes: 1.1.7
cxservices: 1.0
cycler: 0.10.0
Cython: 0.29.20
decorator: 4.4.2
distlib: 0.3.1
distro: 1.5.0
docutils: 0.16
filelock: 3.0.12
funcparserlib: 0.3.6
grako: 3.16.5
graphviz: 0.14.1
h5py: 2.10.0
html2text: 2020.1.16
idna: 2.10
ihm: 0.16
imagecodecs: 2020.5.30
imagecodecs-lite: 2020.1.31
imagesize: 1.2.0
ipykernel: 5.3.0
ipython: 7.15.0
ipython-genutils: 0.2.0
jedi: 0.17.2
Jinja2: 2.11.2
jupyter-client: 6.1.3
jupyter-core: 4.6.3
kiwisolver: 1.2.0
line-profiler: 2.1.2
lxml: 4.5.1
MarkupSafe: 1.1.1
matplotlib: 3.2.1
msgpack: 1.0.0
netifaces: 0.10.9
networkx: 2.4
numexpr: 2.7.1
numpy: 1.18.5
numpydoc: 1.0.0
objgraph: 3.4.1
openvr: 1.12.501
packaging: 20.4
ParmEd: 3.2.0
parso: 0.7.1
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 7.1.2
pip: 20.2.2
pkginfo: 1.5.0.1
prompt-toolkit: 3.0.7
psutil: 5.7.0
ptyprocess: 0.6.0
pycollada: 0.7.1
pydicom: 2.0.0
Pygments: 2.6.1
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 2.4.7
PyQt5-commercial: 5.12.3
PyQt5-sip: 4.19.19
PyQtWebEngine-commercial: 5.12.1
python-dateutil: 2.8.1
pytz: 2020.1
pyzmq: 19.0.2
qtconsole: 4.7.4
QtPy: 1.9.0
RandomWords: 0.3.0
requests: 2.24.0
scipy: 1.4.1
Send2Trash: 1.5.0
SEQCROW: 0.17
setuptools: 49.4.0
sfftk-rw: 0.6.6.dev0
six: 1.15.0
snowballstemmer: 2.0.0
sortedcontainers: 2.2.2
Sphinx: 3.1.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 2.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 1.0.3
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.4
suds-jurko: 0.6
tables: 3.6.1
tifffile: 2020.6.3
tinyarray: 1.2.2
tornado: 6.0.4
traitlets: 5.0.4
urllib3: 1.25.10
versioneer: 0.18
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.34.2
Change History (7)
comment:1 by , 5 years ago
| Component: | Unassigned → Depiction |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Trouble depicting modified amino acid with ribbon |
comment:2 by , 5 years ago
| Cc: | added |
|---|
comment:3 by , 5 years ago
For reference Chimera 1.15 does connect the OXT to the ribbon -- look horrible, but it sensibly does want to connect it.
comment:4 by , 5 years ago
| Summary: | Trouble depicting modified amino acid with ribbon → Tether not shown to N-terminal OXT atom, pdb 3rum |
|---|
comment:5 by , 5 years ago
In a normal amino acid, the OXT atom is only present at the C terminus of a chain. You do not want to show a floating tethered oxygen in that situation. This residue (MDF, a modified phenylalanine) is unusual in that it has a methyl group hanging off its OXT. Perhaps the "non-tether" rule has to be refined to also check that the atom has no more than one bond.
follow-up: 6 comment:6 by , 5 years ago
At least in olden days, the amino acid residues that were not the end of the chain would not have an OXT (T means terminus I think), but instead be capped by residue OME. I see at ligand expo that OME is "obsoleted" so I don't know what policy is nowadays. Seems weird to me to obsolete OME when the analogous endcap residue NME is not so tagged. <http://ligand-expo.rcsb.org/pyapps/ldHandler.py?formid=cc-index-search&target=OME&operation=ccid> <http://ligand-expo.rcsb.org/pyapps/ldHandler.py?formid=cc-index-search&target=NME&operation=ccid>
comment:7 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
In the normal situation where the C-terminus has an OXT, the OXT is hidden when a ribbon is shown, so no tether is needed. In 3rum the C-terminus has an OXT-CH3 and the OXT is then not hidden by showing the ribbon. Although OXT is considered a ribbon backbone atom which would normally be hidden, I believe an ribbon backbone atom that is connected to another non-backbone atom is not hidden by the ribbon code. So I think OXT should get a tether when shown and it is just a mistake in the code. So I changed it to tether OXT when it is shown.
Elaine, Eric, in this ticket Tristan points out that the OXT and CH3 at the N-terminus of 3rum /C:7 is not showing a tether to the ribbon and that looks weird, looks like a carbon monoxide just sitting in space. I think I wasn't paying attention during those years of tether discussion group meetings so I don't understand the rules for what is supposed to be tethered. In the code there is a list of atom names that can show tethers:
static std::map<std::string, float> _tether_positions = {
};
And then there is a list of atoms that don't show tether positions, although the point on the ribbon the project to is computed:
static std::map<std::string, float> _non_tether_positions = {
};
I see OXT is one of the atoms that won't show a tether.
Do you know why the code works this way? Why are these "non-tether" atoms such as OXT not allowed to show tethers?
The code defines certain atoms as ribbon backbone
and it also restricts the atoms that can show tethers to those that are "ribbon backbone". Why does the code allow tethers to C and N which seems useless and not to OXT? Is this just a mistake? I sense there is a logic to it that I am missing.