Opened 5 years ago

Closed 5 years ago

#3231 closed defect (fixed)

Underscores in atom/residue names

Reported by: goddard@… Owned by: Conrad Huang
Priority: normal Milestone:
Component: Command Line Version:
Keywords: Cc: Tristan Croll, chimera-programmers
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-19.4.0-x86_64-i386-64bit
ChimeraX Version: 1.0rc202005121634 (2020-05-12 16:34:48 UTC)
Description
It seems that atom names with underscores are not allowed in parsing atom specs.  And yet ChimeraX reads in PDB files with such atom names.  This example I am looking at is a material science polymer so a bit weird.  But if commands can't parse underscores in atom names then we probably should give some extreme warning when opening such a file because it breaks all our commands.  Even ctrl-click to select an atom fails with a very cryptic error cdialog "Expected objects specifier or keyword" since the ctrl-click uses an equivalent command which uses the unparsable atom name.

I'm not going to attach the PDB file since it is private data from a researcher, but it is trivial to reproduce by editing any PDB file to put an underscore in the atom name.

Log:
UCSF ChimeraX version: 1.0rc202005121634 (2020-05-12)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/goddard/ucsf/people/luchinsky/polymers.pdb format pdb

Summary of feedback from opening
/Users/goddard/ucsf/people/luchinsky/polymers.pdb  
---  
warnings | Cannot find consistent set of bond orders for ring system
containing atom C_4 in residue **** :53  
Cannot find consistent set of bond orders for ring system containing atom C_4
in residue **** :90  
Cannot find consistent set of bond orders for ring system containing atom C_4
in residue **** :133  
  

> select :43@H_6

Expected an objects specifier or a keyword  




OpenGL version: 4.1 ATI-3.8.24
OpenGL renderer: AMD Radeon Pro Vega 20 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro15,3
      Processor Name: 8-Core Intel Core i9
      Processor Speed: 2.4 GHz
      Number of Processors: 1
      Total Number of Cores: 8
      L2 Cache (per Core): 256 KB
      L3 Cache: 16 MB
      Hyper-Threading Technology: Enabled
      Memory: 32 GB
      Boot ROM Version: 1037.100.362.0.0 (iBridge: 17.16.14281.0.0,0)

Software:

    System Software Overview:

      System Version: macOS 10.15.4 (19E287)
      Kernel Version: Darwin 19.4.0
      Time since boot: 8 days 57 minutes

Graphics/Displays:

    Intel UHD Graphics 630:

      Chipset Model: Intel UHD Graphics 630
      Type: GPU
      Bus: Built-In
      VRAM (Dynamic, Max): 1536 MB
      Vendor: Intel
      Device ID: 0x3e9b
      Revision ID: 0x0002
      Automatic Graphics Switching: Supported
      gMux Version: 5.0.0
      Metal: Supported, feature set macOS GPUFamily2 v1

    Radeon Pro Vega 20:

      Chipset Model: Radeon Pro Vega 20
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x8
      VRAM (Total): 4 GB
      Vendor: AMD (0x1002)
      Device ID: 0x69af
      Revision ID: 0x00c0
      ROM Revision: 113-D2060I-087
      VBIOS Version: 113-D20601MA0T-016
      Option ROM Version: 113-D20601MA0T-016
      EFI Driver Version: 01.01.087
      Automatic Graphics Switching: Supported
      gMux Version: 5.0.0
      Metal: Supported, feature set macOS GPUFamily2 v1
      Displays:
        Color LCD:
          Display Type: Built-In Retina LCD
          Resolution: 2880 x 1800 Retina
          Framebuffer Depth: 24-Bit Color (ARGB8888)
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal

PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8

Change History (6)

comment:1 by Tristan Croll, 5 years ago

Cc: Tristan Croll added
Platform: all
Project: ChimeraX

Vaguely related issue that I didn't file as a bug at the time because the cause was a buggy PDB file - but if a residue has two atoms of the same name then ctrl-clicking one will select both. Might be worth also raising a warning if duplicate names are detected on loading?

comment:2 by Eric Pettersen, 5 years ago

Cc: chimera-programmers added
Component: UnassignedCommand Line
Owner: set to Conrad Huang
Status: newassigned
Summary: ChimeraX bug report submissionUnderscores in atom/residue names

As for Tristan's "vaguely related" problem: small molecules frequently have atoms of the same name in the same residue (e.g. all the carbons are "C", all the nitrogens are "N", etc.) -- so the command generated by the pick needs to be smarter.

As for the main issue in the ticket, I see no reason not to allow underscores in atom/residue names. Conrad, is there any "parsing" reason not to allow it?

--Eric

in reply to:  3 ; comment:3 by goddard@…, 5 years ago

Tristan, you should make a separate ticket for the picking atoms with duplicate atom names.  Putting into this ticket (which will likely be solved by allowing underscores) will result in this ticket being closed and the duplicate atom names problem being ignored.

comment:4 by Eric Pettersen, 5 years ago

I have put that issue on one of my to-do lists, so it wouldn't get dropped, but there is certainly no harm -- and some benefit -- in opening a separate ticket.

in reply to:  5 ; comment:5 by Tristan Croll, 5 years ago

OK, will do.

On 2020-05-18 18:13, ChimeraX wrote:

comment:6 by Conrad Huang, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed in a9440a9f9.

Allow underscore in atom, residue, chain and selector names

Note: See TracTickets for help on using tickets.