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: | Eric Pettersen |
|---|---|---|---|
| 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)
Change History (8)
comment:1 by , 5 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Command Line |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Case sensitive chain IDs not working as expected |
follow-up: 2 comment:2 by , 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
follow-up: 3 comment:3 by , 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 , 5 years ago
| Status: | assigned → accepted |
|---|---|
| Summary: | Case sensitive chain IDs not working as expected → Case sensitive chain IDs not working in wildcards |
comment:5 by , 4 years ago
| Status: | accepted → feedback |
|---|
follow-up: 6 comment:6 by , 4 years ago
Note:
See TracTickets
for help on using tickets.


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.