Opened 6 years ago
Closed 6 years ago
#3112 closed defect (fixed)
geometry.find_closest_points index problem(?)
| Reported by: | Tristan Croll | Owned by: | Tom Goddard |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Linux-3.10.0-1062.9.1.el7.x86_64-x86_64-with-centos-7.7.1908-Core
ChimeraX Version: 0.93 (2020-04-03)
Description
Not sure if this is a bug or just me not understanding, but in chimerax.geometry.find_closest_points:
i1, i2, near1 = find_closest_points(coords1, coords2)
... the documentation says:
near1 : numpy int32 array
A third array is returned that gives the index in set 2
of the closest for each point in set 1. This array has length equal to
the number of points in set 1. If a set 1 point has no point from set 2
within the distance range then index returned is -1.
Is this array supposed to be ordered such that the first value is the index of the point in coords2 closest to coords1[0], and so on? Because at the moment, that's not the case (it contains all the correct indices, but they're in random order).
Log:
UCSF ChimeraX version: 0.93 (2020-04-03)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 6vsb_1_1_1.pdb
Summary of feedback from opening 6vsb_1_1_1.pdb
---
warnings | Duplicate atom serial number found: 69277
Duplicate atom serial number found: 69278
Duplicate atom serial number found: 69279
Duplicate atom serial number found: 69280
Duplicate atom serial number found: 69276
925 messages similar to the above omitted
Chain information for 6vsb_1_1_1.pdb #1
---
Chain | Description
A B C | No description available
> open 6vsb
6vsb title:
Prefusion 2019-nCoV spike glycoprotein with a single receptor-binding domain
up [more info...]
Chain information for 6vsb #2
---
Chain | Description
A B C | Spike glycoprotein
Non-standard residues in 6vsb #2
---
NAG — N-acetyl-D-glucosamine
> open 21375 fromDatabase emdb
Opened emd_21375.map, grid size 432,432,432, pixel 1.05, shown at level
0.0501, step 2, values float32
> sequence chain #2/A
Alignment identifier is 2.A
> toolshed show Shell
/opt/UCSF/ChimeraX/lib/python3.7/site-packages/IPython/core/history.py:226:
UserWarning: IPython History requires SQLite, your history will not be saved
warn("IPython History requires SQLite, your history will not be saved")
ERROR:ipykernel.inprocess.ipkernel:Exception in message handler:
Traceback (most recent call last):
File "/opt/UCSF/ChimeraX/lib/python3.7/site-packages/ipykernel/kernelbase.py",
line 268, in dispatch_shell
yield gen.maybe_future(handler(stream, idents, msg))
File "/opt/UCSF/ChimeraX/lib/python3.7/site-packages/tornado/gen.py", line
735, in run
value = future.result()
File "/opt/UCSF/ChimeraX/lib/python3.7/site-packages/tornado/gen.py", line
209, in wrapper
yielded = next(result)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-packages/ipykernel/kernelbase.py",
line 579, in complete_request
matches = yield gen.maybe_future(self.do_complete(code, cursor_pos))
File "/opt/UCSF/ChimeraX/lib/python3.7/site-packages/ipykernel/ipkernel.py",
line 354, in do_complete
return self._experimental_do_complete(code, cursor_pos)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-packages/ipykernel/ipkernel.py",
line 379, in _experimental_do_complete
completions = list(_rectify_completions(code, raw_completions))
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/IPython/core/completer.py", line 484, in rectify_completions
completions = list(completions)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/IPython/core/completer.py", line 1815, in completions
for c in self._completions(text, offset,
_timeout=self.jedi_compute_type_timeout/1000):
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/IPython/core/completer.py", line 1859, in _completions
full_text=full_text, cursor_line=cursor_line, cursor_pos=cursor_column)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/IPython/core/completer.py", line 1983, in _complete
text = self.splitter.split_line(line_buffer, cursor_pos)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/IPython/core/completer.py", line 562, in split_line
l = line if cursor_pos is None else line[:cursor_pos]
TypeError: 'NoneType' object is not subscriptable
Traceback (most recent call last):
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/qtconsole/console_widget.py", line 427, in eventFilter
return self._event_filter_console_keypress(event)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/qtconsole/frontend_widget.py", line 349, in
_event_filter_console_keypress
return super(FrontendWidget, self)._event_filter_console_keypress(event)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/qtconsole/console_widget.py", line 1405, in
_event_filter_console_keypress
if self._tab_pressed():
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/qtconsole/frontend_widget.py", line 293, in _tab_pressed
self._complete()
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/qtconsole/frontend_widget.py", line 735, in _complete
msg_id = self.kernel_client.complete(code=code, cursor_pos=cursor_pos)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/ipykernel/inprocess/client.py", line 110, in complete
self._dispatch_to_kernel(msg)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/ipykernel/inprocess/client.py", line 172, in _dispatch_to_kernel
idents, reply_msg = self.session.recv(stream, copy=False)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/jupyter_client/session.py", line 803, in recv
msg_list = socket.recv_multipart(mode, copy=copy)
File "/opt/UCSF/ChimeraX/lib/python3.7/site-
packages/ipykernel/inprocess/socket.py", line 57, in recv_multipart
return self.queue.get_nowait()
File "/opt/UCSF/ChimeraX/lib/python3.7/queue.py", line 198, in get_nowait
return self.get(block=False)
File "/opt/UCSF/ChimeraX/lib/python3.7/queue.py", line 167, in get
raise Empty
_queue.Empty
_queue.Empty
File "/opt/UCSF/ChimeraX/lib/python3.7/queue.py", line 167, in get
raise Empty
See log for complete Python traceback.
> select #2/A:691-810@CA
120 atoms, 1 model selected
> select #2/A:691-810@CA
120 atoms, 1 model selected
> select #1/A:691-810@CA
120 atoms, 1 model selected
> select #1
74033 atoms, 75355 bonds, 1 model selected
> hide #!2 models
> select clear
> clipper associate #3 toModel #1
Chain information for 6vsb_1_1_1.pdb
---
Chain | Description
1.2/A 1.2/B 1.2/C | No description available
> isolde start
> set selectionWidth 4
Done loading forcefield
> select #1
74033 atoms, 75355 bonds, 12 models selected
> select clear
> select up
7491 atoms, 7637 bonds, 1 model selected
> select up
7505 atoms, 7652 bonds, 1 model selected
> select up
8397 atoms, 8547 bonds, 1 model selected
> isolde ignore sel
ISOLDE: currently ignoring 476 residues in model 1.2
> select clear
> save 1_1_1_starting.cxs
> select up
92 atoms, 92 bonds, 1 model selected
> select up
185 atoms, 191 bonds, 1 model selected
> select up
24677 atoms, 25118 bonds, 1 model selected
> select down
185 atoms, 191 bonds, 1 model selected
> select up
213 atoms, 220 bonds, 1 model selected
> select up
239 atoms, 247 bonds, 1 model selected
> select up
264 atoms, 273 bonds, 1 model selected
> select up
24677 atoms, 25118 bonds, 1 model selected
> select down
264 atoms, 273 bonds, 1 model selected
> select :ILE@CD
228 atoms, 1 model selected
> select clear
> view sel
> view /A:1098
> view /C:1098
> view /A:1098
> view /B:1098
> select up
13 atoms, 12 bonds, 1 model selected
> set bgColor white
Traceback (most recent call last):
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/isolde.py", line 2685, in _start_sim_or_toggle_pause
self.start_sim()
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/isolde.py", line 2705, in start_sim
self.params, self.sim_params, excluded_residues = self.ignored_residues)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 609, in __init__
raise e
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 591, in __init__
isolde.forcefield_mgr)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1319, in __init__
template_dict = find_residue_templates(sim_construct.all_residues, ff,
ligand_db=ligand_db, logger=session.logger)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 3044, in
find_residue_templates
tname, prot_res = find_glycan_template_name_and_link(sugar)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/amberff/glycam.py", line 133, in
find_glycan_template_name_and_link
return ('GLYCAM_'+_glycam_prefix[bonded_atom_numbers]+core_name, link_res)
KeyError: (3, 4, 5)
KeyError: (3, 4, 5)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/amberff/glycam.py", line 133, in
find_glycan_template_name_and_link
return ('GLYCAM_'+_glycam_prefix[bonded_atom_numbers]+core_name, link_res)
See log for complete Python traceback.
> select ~protein
16079 atoms, 16734 bonds, 19 models selected
> select clear
> view /A:1
> select /A:1
45 atoms, 44 bonds, 1 model selected
> select ~protein
16079 atoms, 16734 bonds, 19 models selected
> select clear
> select @C5
658 atoms, 2 models selected
> select @O5
640 atoms, 2 models selected
> select ~protein
16079 atoms, 16734 bonds, 19 models selected
> select clear
> select up
51 atoms, 52 bonds, 1 model selected
> show sel
> select clear
> select @C5
658 atoms, 2 models selected
> hide HC
> select :AFU@C6,O6
114 atoms, 36 bonds, 1 model selected
> select up
25 atoms, 25 bonds, 1 model selected
> select up
24664 atoms, 25106 bonds, 1 model selected
> select down
12 atoms, 12 bonds, 1 model selected
> show sel
> select up
12 atoms, 13 bonds, 1 model selected
> show sel
> select up
12 atoms, 13 bonds, 1 model selected
Expected an objects specifier or a keyword
> select sel&@C6,O6
3 atoms, 1 bond, 1 model selected
> delete sel
> preset custom "make bond"
executed make_bond.py
Preset implemented in Python; no expansion to individual ChimeraX commands
available.
> select up
10 atoms, 10 bonds, 1 model selected
> style sel stick
Changed 10 atom styles
> select up
23 atoms, 23 bonds, 1 model selected
> style sel stick
Changed 23 atom styles
> delete sel
> select :AFU@C6,O6
112 atoms, 35 bonds, 1 model selected
> select clear
> select clear
> select ~protein
16040 atoms, 16660 bonds, 1 pseudobond, 20 models selected
Expected an objects specifier or a keyword
> select /A&~protein
5326 atoms, 5532 bonds, 1 pseudobond, 3 models selected
> select /B&~protein
5357 atoms, 5564 bonds, 2 models selected
> select /C&~protein
5357 atoms, 5564 bonds, 2 models selected
> select clear
> view /B:1098
No objects specified.
> select clear
> select /C&~protein
5357 atoms, 5564 bonds, 2 models selected
> select clear
> select /B:3098
Nothing selected
> view /A:1098
No objects specified.
> view sel
> select clear
> select :ASN
5303 atoms, 4864 bonds, 2 models selected
> view /A:99
> select up
14 atoms, 13 bonds, 1 model selected
> view /B:1098
> select clear
Traceback (most recent call last):
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/isolde.py", line 2685, in _start_sim_or_toggle_pause
self.start_sim()
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/isolde.py", line 2705, in start_sim
self.params, self.sim_params, excluded_residues = self.ignored_residues)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 609, in __init__
raise e
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 591, in __init__
isolde.forcefield_mgr)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 1319, in __init__
template_dict = find_residue_templates(sim_construct.all_residues, ff,
ligand_db=ligand_db, logger=session.logger)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/openmm_interface.py", line 3044, in
find_residue_templates
tname, prot_res = find_glycan_template_name_and_link(sugar)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/amberff/glycam.py", line 133, in
find_glycan_template_name_and_link
return ('GLYCAM_'+_glycam_prefix[bonded_atom_numbers]+core_name, link_res)
KeyError: (3, 4, 5)
KeyError: (3, 4, 5)
File "/home/tic20/.local/share/ChimeraX/0.93/site-
packages/chimerax/isolde/openmm/amberff/glycam.py", line 133, in
find_glycan_template_name_and_link
return ('GLYCAM_'+_glycam_prefix[bonded_atom_numbers]+core_name, link_res)
See log for complete Python traceback.
> select ~protein
16040 atoms, 16660 bonds, 1 pseudobond, 20 models selected
> select clear
> view /A:2022
> select /A:2022@C5,O6
2 atoms, 1 model selected
> select /A:2022@C6,O6
2 atoms, 1 bond, 1 model selected
> select /A:2027@C6,O6
4 atoms, 2 bonds, 1 model selected
> select :AMA
4596 atoms, 4659 bonds, 1 model selected
> select :AMA@C6,O6
576 atoms, 288 bonds, 1 model selected
> preset custom "make bond"
executed make_bond.py
Preset implemented in Python; no expansion to individual ChimeraX commands
available.
> select :AMA@C1
195 atoms, 1 model selected
> select :BMA@O6
66 atoms, 1 model selected
> select :AMA@C1
195 atoms, 1 model selected
> select :AMA@C1|:BMA@O6
261 atoms, 70 bonds, 1 model selected
> select :AMA@C1
195 atoms, 1 model selected
> select :BMA@O6
66 atoms, 1 model selected
> select :AMA@C1|:BMA@O6
261 atoms, 66 bonds, 1 model selected
> select clear
> select :AMA@C1|:BMA@O6
261 atoms, 66 bonds, 1 model selected
OpenGL version: 3.3.0 NVIDIA 440.33.01
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Manufacturer: Dell Inc.
Model: Precision T5600
OS: CentOS Linux 7 Core
Architecture: 64bit ELF
CPU: 32 Intel(R) Xeon(R) CPU E5-2687W 0 @ 3.10GHz
Cache Size: 20480 KB
Graphics:
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [TITAN Xp] [10de:1b02] (rev a1)
Subsystem: NVIDIA Corporation Device [10de:11df]
Kernel driver in use: nvidia
Change History (4)
comment:1 by , 6 years ago
| Component: | Unassigned → Core |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → geometry.find_closest_points index problem(?) |
comment:2 by , 6 years ago
follow-up: 3 comment:3 by , 6 years ago
Ah - that makes more sense! On 2020-04-27 19:13, ChimeraX wrote:
comment:4 by , 6 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed doc string. Now reads
near1numpy int32 array
A third array is returned that gives the index in xyz2 of the closest point for each xyz1 point in the i1 array. This array has length equal to the length of array i1.
Note:
See TracTickets
for help on using tickets.
Sorry, the doc string is wrong. The near1 array is the same length as the i1 array and near1[k] is the index in set 2 closest to i1[k] in set 1. I will fix the doc string.