Opened 5 years ago

Last modified 4 years ago

#4524 feedback defect

Case sensitive chain IDs not working in wildcards

Reported by: Tristan Croll Owned by: pett
Priority: normal Milestone:
Component: Command Line Version:
Keywords: Cc: Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.19041
ChimeraX Version: 1.1 (2020-09-09 22:22:27 UTC)
Description
Working with a large model composing scenes for figures, and every now and again ChimeraX appears to "forget" that the model has case-sensitive chain IDs - commands targeted at, for example, /A* start acting on /a* as well. Haven't pinned down what the trigger is. 

OpenGL version: 3.3.0 NVIDIA 426.00
OpenGL renderer: GeForce GTX 1070/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: ASUSTeK COMPUTER INC.
Model: GL502VS
OS: Microsoft Windows 10 Home (Build 19041)
Memory: 34,292,408,320
MaxProcessMemory: 137,438,953,344
CPU: 8 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz"
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.3
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.1
    ChimeraX-Arrays: 1.0
    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.3
    ChimeraX-IHM: 1.0
    ChimeraX-ImageFormats: 1.0
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0
    ChimeraX-ISOLDE: 1.1.0
    ChimeraX-Label: 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-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
    docutils: 0.16
    filelock: 3.0.12
    funcparserlib: 0.3.6
    gdcm: 2.8.8
    grako: 3.16.5
    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+mkl
    numpydoc: 1.0.0
    openvr: 1.12.501
    packaging: 20.4
    parso: 0.7.1
    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
    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
    pywin32: 228
    pyzmq: 19.0.2
    qtconsole: 4.7.4
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.4.1
    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
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.34.2
    WMI: 1.5.1

Attachments (2)

lower-k.png (47.9 KB ) - added by pett 4 years ago.
Added by email2trac
upper-k.png (48.0 KB ) - added by pett 4 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (8)

comment:1 by Tom Goddard, 5 years ago

Cc: Tom Goddard added
Component: UnassignedCommand Line
Owner: set to pett
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionCase sensitive chain IDs not working as expected

There is a StructureData (C++ base class for Structure) attribute lower_case_chains which determines whether chain ids in commands are interpreted as case insensitive or case sensitive. The idea is that if all chain ids are upper case then the command accept upper or lower case chain ids, but if the the structure has upper and lower case then you have to use the correct case in the command.

Eric is on vacation (all Fridays this month) and can provide more info next week.

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

Yep. What's weird here is that at some point during my (very long) list of commands (color, transparency, show/hide, surface, save/restore session, etc.) the commands went from respecting upper/lower case chain IDs to not respecting them. This happened on two occasions today. All manipulations I made were aimed at visualisation, not editing - no addition/removal of atoms or renaming of chains.
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 16 April 2021 21:44
Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
Subject: Re: [ChimeraX] #4524: Case sensitive chain IDs not working as expected (was: ChimeraX bug report submission)

#4524: Case sensitive chain IDs not working as expected
------------------------------------+----------------------------
          Reporter:  Tristan Croll  |      Owner:  Eric Pettersen
              Type:  defect         |     Status:  assigned
          Priority:  normal         |  Milestone:
         Component:  Command Line   |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------------
Changes (by Tom Goddard):

 * status:  new => assigned
 * cc: Tom Goddard (added)
 * component:  Unassigned => Command Line
 * project:   => ChimeraX
 * platform:   => all
 * owner:  (none) => Eric Pettersen


Comment:

 There is a StructureData (C++ base class for Structure) attribute
 lower_case_chains which determines whether chain ids in commands are
 interpreted as case insensitive or case sensitive.  The idea is that if
 all chain ids are upper case then the command accept upper or lower case
 chain ids, but if the the structure has upper and lower case then you have
 to use the correct case in the command.

 Eric is on vacation (all Fridays this month) and can provide more info
 next week.

--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4524#comment:1>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

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

Ah - I see the problem now. It's wildcard selection that's broken. In this model, with chains aa-ap and AA-AX, then:

sel /aa ;# selects only chain aa
sel /aa-ap ;# selects chains aa-ap as expected
sel /a* ;# selects all​ chains starting with a or A
________________________________
From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Sent: 16 April 2021 21:49
To: pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>
Subject: Re: [ChimeraX] #4524: Case sensitive chain IDs not working as expected

#4524: Case sensitive chain IDs not working as expected
------------------------------------+----------------------------
          Reporter:  Tristan Croll  |      Owner:  Eric Pettersen
              Type:  defect         |     Status:  assigned
          Priority:  normal         |  Milestone:
         Component:  Command Line   |    Version:
        Resolution:                 |   Keywords:
        Blocked By:                 |   Blocking:
Notify when closed:                 |   Platform:  all
           Project:  ChimeraX       |
------------------------------------+----------------------------

Comment (by Tristan Croll):

 {{{
 Yep. What's weird here is that at some point during my (very long) list of
 commands (color, transparency, show/hide, surface, save/restore session,
 etc.) the commands went from respecting upper/lower case chain IDs to not
 respecting them. This happened on two occasions today. All manipulations I
 made were aimed at visualisation, not editing - no addition/removal of
 atoms or renaming of chains.
 ________________________________
 From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
 Sent: 16 April 2021 21:44
 Cc: goddard@cgl.ucsf.edu <goddard@cgl.ucsf.edu>; pett@cgl.ucsf.edu
 <pett@cgl.ucsf.edu>; Tristan Croll <tic20@cam.ac.uk>
 Subject: Re: [ChimeraX] #4524: Case sensitive chain IDs not working as
 expected (was: ChimeraX bug report submission)

 #4524: Case sensitive chain IDs not working as expected
 ------------------------------------+----------------------------
           Reporter:  Tristan Croll  |      Owner:  Eric Pettersen
               Type:  defect         |     Status:  assigned
           Priority:  normal         |  Milestone:
          Component:  Command Line   |    Version:
         Resolution:                 |   Keywords:
         Blocked By:                 |   Blocking:
 Notify when closed:                 |   Platform:  all
            Project:  ChimeraX       |
 ------------------------------------+----------------------------
 Changes (by Tom Goddard):

  * status:  new => assigned
  * cc: Tom Goddard (added)
  * component:  Unassigned => Command Line
  * project:   => ChimeraX
  * platform:   => all
  * owner:  (none) => Eric Pettersen


 Comment:

  There is a StructureData (C++ base class for Structure) attribute
  lower_case_chains which determines whether chain ids in commands are
  interpreted as case insensitive or case sensitive.  The idea is that if
  all chain ids are upper case then the command accept upper or lower case
  chain ids, but if the the structure has upper and lower case then you
 have
  to use the correct case in the command.

  Eric is on vacation (all Fridays this month) and can provide more info
  next week.

 --
 Ticket URL:
 <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4524#comment:1>
 ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
 ChimeraX Issue Tracker
 }}}

--
Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4524#comment:2>
ChimeraX <http://www.rbvi.ucsf.edu/chimerax/>
ChimeraX Issue Tracker

comment:4 by pett, 5 years ago

Status: assignedaccepted
Summary: Case sensitive chain IDs not working as expectedCase sensitive chain IDs not working in wildcards

comment:5 by pett, 4 years ago

Status: acceptedfeedback

in reply to:  6 ; comment:6 by pett, 4 years ago

I cannot reproduce this behavior.  If I open 5y6p, "sel /k*" and "sel /K*" select disjoint sets of chains, as per these images ('k*' left, 'K*' right):



I guess I need more info to reproduce the behavior you're reporting.

--Eric

Added by email2trac

Added by email2trac

by pett, 4 years ago

Attachment: lower-k.png added

Added by email2trac

by pett, 4 years ago

Attachment: upper-k.png added

Added by email2trac

Note: See TracTickets for help on using tickets.