Opened 8 years ago
Closed 8 years ago
#1019 closed defect (fixed)
"solvent" not recognized after opening IHM
| Reported by: | Elaine Meng | Owned by: | Eric Pettersen |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Command Line | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
If I open the nup IHM model (downloaded from https://pdb-dev.wwpdb.org/ and .cif changed to .ihm before opening) then use command "select solvent" there is a problem. I don't have this problem if I open other structures in the version of ChimeraX,
UCSF ChimeraX version: 0.5 (2018-01-30)
Traceback (most recent call last):
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/cmd_line/tool.py", line 205, in execute
cmd.run(cmd_text)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2534, in run
prev_annos = self._process_positional_arguments()
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2321, in _process_positional_arguments
value, text = self._parse_arg(anno, text, session, False)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2184, in _parse_arg
value, replacement, rest = annotation.parse(text, session)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 1058, in parse
objects = aspec.evaluate(session)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/atomspec.py", line 779, in evaluate
results = self._left_spec.evaluate(session, models)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/atomspec.py", line 705, in evaluate
return self.find_matches(session, models, results)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/atomspec.py", line 708, in find_matches
self._specifier.find_matches(session, models, results)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/atomspec.py", line 649, in find_matches
f(session, models, results)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/selectors.py", line 23, in <lambda>
reg("solvent", lambda s, m, r: _structure_category_selector("solvent", m, r), logger)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/commands/selectors.py", line 116, in _structure_category_selector
atoms = m.atoms.filter(m.atoms.structure_categories == cat)
File "/Users/meng/Desktop/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/chimerax/core/atomic/molc.py", line 171, in get_prop
cget(self._c_pointers, n, pointer(values))
IndexError: Unknown structure category
Change History (3)
comment:1 by , 8 years ago
| Owner: | changed from to |
|---|
comment:2 by , 8 years ago
| Component: | Input/Output → Command Line |
|---|---|
| Status: | assigned → accepted |
comment:3 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
Fixed. Ignore Structures when finding atoms based on surface categories since Structures don't assign surface categories. Not 1000% sure its the best long term solution -- maybe Structures should be allowed to custom-assign the categories, but since that option isn't available the current fix seems fine for the short term at least.
Apparently atom.structure_category raises an error if any atom has unassigned category. Probably should return "unassigned".