Opened 4 years ago
Last modified 4 years ago
#6551 accepted defect
Bad atom spec causes traceback
| Reported by: | Tristan Croll | Owned by: | Eric Pettersen |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Command Line | Version: | |
| Keywords: | Cc: | ||
| 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.4.dev202204060217 (2022-04-06 02:17:56 UTC)
Description
"sel @@bfactor<50&coil" causes a traceback. "sel coil&@@bfactor<50" or "sel @@bfactor<50 & coil" both work.
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.4.dev202204060217 (2022-04-06)
© 2016-2022 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> alphafold fetch Q9NGQ2 pae true
Fetching compressed AlphaFold Q9NGQ2 from
https://alphafold.ebi.ac.uk/files/AF-Q9NGQ2-F1-model_v2.cif
Chain information for AlphaFold Q9NGQ2 #1
---
Chain | Description | UniProt
A | Kinesin-related protein 1 | KIF1_DICDI
Fetching compressed AlphaFold PAE Q9NGQ2 from
https://alphafold.ebi.ac.uk/files/AF-Q9NGQ2-F1-predicted_aligned_error_v2.json
> ui tool show Shell
> select clear
Traceback (most recent call last):
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 319, in execute
cmd.run(cmd_text)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2853, in run
prev_annos = self._process_positional_arguments()
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2629, in
_process_positional_arguments
value, text = self._parse_arg(anno, text, session, False)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2488, in _parse_arg
value, replacement, rest = annotation.parse(text, session)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 1298, in parse
objects = aspec.evaluate(session)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 1070, in evaluate
results = self._left_spec.evaluate(
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 980, in evaluate
return self.find_matches(session, models, results, ordered,
add_implied=add_implied)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 983, in find_matches
self._specifier.find_matches(session, models, results, ordered,
add_implied=add_implied)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 444, in find_matches
model_spec.find_matches(session, model_list, results, ordered,
add_implied=add_implied)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 606, in find_matches
_add_model_parts(session, model, self.sub_parts, results, ordered)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 626, in _add_model_parts
chain_spec.find_selected_parts(model, atoms, num_atoms, my_results)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 561, in find_selected_parts
subpart.find_selected_parts(model, atoms, num_atoms, sub_results)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 561, in find_selected_parts
subpart.find_selected_parts(model, atoms, num_atoms, sub_results)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 550, in find_selected_parts
atoms = self._filter_parts(model, atoms, num_atoms)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 568, in _filter_parts
mask = model.atomspec_filter(self.Symbol, atoms, num_atoms,
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\atomic\structure.py", line 904, in atomspec_filter
return self._atomspec_filter_atom(atoms, num_atoms, parts, attrs)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\atomic\structure.py", line 986, in _atomspec_filter_atom
selected = self._atomspec_attr_filter(atoms, selected, attrs)
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\atomic\structure.py", line 939, in _atomspec_attr_filter
selected = [(selected[i] and choose(obj)) for i, obj in enumerate(objects)]
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\atomic\structure.py", line 939, in <listcomp>
selected = [(selected[i] and choose(obj)) for i, obj in enumerate(objects)]
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 900, in matcher
return op(v, attr_value)
TypeError: '<' not supported between instances of 'float' and 'str'
TypeError: '
File "C:\Program Files\ChimeraX-daily\bin\lib\site-
packages\chimerax\core\commands\atomspec.py", line 900, in matcher
return op(v, attr_value)
See log for complete Python traceback.
> select coil&@@bfactor<50
4897 atoms, 4921 bonds, 651 residues, 1 model selected
> select @@bfactor<50 & coil
4897 atoms, 4921 bonds, 651 residues, 1 model selected
OpenGL version: 3.3.0 NVIDIA 497.29
OpenGL renderer: NVIDIA GeForce RTX 2080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.9.11
Locale: en_GB.cp1252
Qt version: PyQt6 6.2.3, Qt 6.2.3
Qt platform: windows
Manufacturer: Notebook
Model: P7xxTM1
OS: Microsoft Windows 10 Education (Build 19041)
Memory: 68,654,501,888
MaxProcessMemory: 137,438,953,344
CPU: 16 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
OSLanguage: en-GB
Installed Packages:
-himerax-isolde: 1.4.dev0
alabaster: 0.7.12
appdirs: 1.4.4
Babel: 2.9.1
backcall: 0.2.0
blockdiag: 3.0.0
certifi: 2021.10.8
cftime: 1.6.0
charset-normalizer: 2.0.12
ChimeraX-AddCharge: 1.2.3
ChimeraX-AddH: 2.1.11
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.4
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.37.1
ChimeraX-AtomicLibrary: 7.0
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.1
ChimeraX-BasicActions: 1.1
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.0
ChimeraX-BondRot: 2.0
ChimeraX-BugReporter: 1.0
ChimeraX-BuildStructure: 2.6.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.1
ChimeraX-ButtonPanel: 1.0
ChimeraX-CageBuilder: 1.0
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.2
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.3
ChimeraX-Clipper: 0.18.0
ChimeraX-ColorActions: 1.0
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.1
ChimeraX-CommandLine: 1.2.3
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0
ChimeraX-Core: 1.4.dev202204060217
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.0
ChimeraX-DistMonitor: 1.1.5
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.1
ChimeraX-Hbonds: 2.1.2
ChimeraX-Help: 1.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.4.dev0
ChimeraX-ItemsInspection: 1.0
ChimeraX-Label: 1.1
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.1
ChimeraX-Map: 1.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1
ChimeraX-Markers: 1.0
ChimeraX-Mask: 1.0
ChimeraX-MatchMaker: 2.0.6
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.1
ChimeraX-Meeting: 1.0
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.7
ChimeraX-MMTF: 2.1
ChimeraX-Modeller: 1.5.5
ChimeraX-ModelPanel: 1.3.2
ChimeraX-ModelSeries: 1.0
ChimeraX-Mol2: 2.0
ChimeraX-Morph: 1.0
ChimeraX-MouseModes: 1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.2
ChimeraX-OpenCommand: 1.8
ChimeraX-PDB: 2.6.6
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-ResidueFit: 1.0
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.6
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0
ChimeraX-Shortcuts: 1.1
ChimeraX-ShowAttr: 1.0
ChimeraX-ShowSequences: 1.0
ChimeraX-SideView: 1.0
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.8
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.0.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0
ChimeraX-SwapRes: 2.1.1
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0
ChimeraX-UI: 1.16.4
ChimeraX-uniprot: 2.2
ChimeraX-UnitCell: 1.0
ChimeraX-ViewDockX: 1.1.2
ChimeraX-VIPERdb: 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.4
comtypes: 1.1.10
cxservices: 1.2
cycler: 0.11.0
Cython: 0.29.26
debugpy: 1.6.0
decorator: 5.1.1
docutils: 0.17.1
entrypoints: 0.4
filelock: 3.4.2
fonttools: 4.31.2
funcparserlib: 1.0.0a0
grako: 3.16.5
h5py: 3.6.0
html2text: 2020.1.16
idna: 3.3
ihm: 0.27
imagecodecs: 2021.11.20
imagesize: 1.3.0
ipykernel: 6.6.1
ipython: 7.31.1
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.0.3
jupyter-client: 7.1.0
jupyter-core: 4.9.2
kiwisolver: 1.4.2
line-profiler: 3.4.0
lxml: 4.7.1
lz4: 3.1.10
MarkupSafe: 2.1.1
matplotlib: 3.5.1
matplotlib-inline: 0.1.3
msgpack: 1.0.3
nest-asyncio: 1.5.5
netCDF4: 1.5.8
networkx: 2.6.3
numexpr: 2.8.1
numpy: 1.22.1
openvr: 1.16.802
packaging: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pickleshare: 0.7.5
Pillow: 9.0.1
pip: 21.3.1
pkginfo: 1.8.2
prompt-toolkit: 3.0.29
psutil: 5.9.0
pycollada: 0.7.2
pydicom: 2.2.2
Pygments: 2.11.2
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.7
PyQt6-commercial: 6.2.3
PyQt6-sip: 13.2.0
PyQt6-WebEngine-commercial: 6.2.1
python-dateutil: 2.8.2
pytz: 2022.1
pywin32: 303
pyzmq: 22.3.0
qtconsole: 5.3.0
QtPy: 2.0.1
RandomWords: 0.3.0
requests: 2.27.1
scipy: 1.7.3
setuptools: 59.8.0
sfftk-rw: 0.7.1
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 4.3.2
sphinx-autodoc-typehints: 1.15.2
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
suds-community: 1.0.0
tables: 3.7.0
tifffile: 2021.11.2
tinyarray: 1.2.4
tornado: 6.1
traitlets: 5.1.1
urllib3: 1.26.9
wcwidth: 0.2.5
webcolors: 1.11.1
wheel: 0.37.1
wheel-filename: 1.3.0
WMI: 1.5.1
Change History (1)
comment:1 by , 4 years ago
| Component: | Unassigned → Command Line |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → accepted |
| Summary: | ChimeraX bug report submission → Bad atom spec causes traceback |
Note:
See TracTickets
for help on using tickets.
Since the values that attributes are tested against can in some cases be arbitrary strings, and since the lexer (which breaks the string into tokens for the parser) has no idea what the value type will be, attribute-test values have to be space terminated. Nonetheless, it should not produce a traceback -- so that much is a bug.