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 Tom Goddard, 8 years ago

Owner: changed from Tom Goddard to Eric Pettersen

Apparently atom.structure_category raises an error if any atom has unassigned category. Probably should return "unassigned".

comment:2 by Eric Pettersen, 8 years ago

Component: Input/OutputCommand Line
Status: assignedaccepted

comment:3 by Eric Pettersen, 8 years ago

Resolution: fixed
Status: acceptedclosed

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.

Note: See TracTickets for help on using tickets.