
Hi, With your helpful hints, I have a version of Jalview interacting with ChimeraX in the same way it can already with Chimera, over the REST interface. Functionality includes loading structures, aligning, colouring, raising labels on structure on mouseover in Jalview, and exchange of residue features/attributes. I have just one interaction not working yet: highlighting residues in Jalview when a selection is made in ChimeraX. - Jalview starts listening for ChimeraX selections with (e.g.) info notify start selection jalview prefix SelectionChanged url http://localhost:49981/jalview/chimera1 - user makes a selection in ChimeraX - ChimeraX sends GET?chimerax_notification=SelectionChangedselection+changed - Jalview send 'info selection level residue' - no response / timeout; ChimeraX log reports 'broken pipe error' Exception happened during processing of request from ('127.0.0.1', 50714) Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 720, in __init__ self.handle() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 426, in handle self.handle_one_request() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 414, in handle_one_request method() File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 97, in do_GET self._run(args) File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 174, in _run self.wfile.write(data) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 799, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe NB this is all before a response has been sent to the 'SelectionChanged' message. Any idea what the problem is here please? Do I need to reply to the first message before sending another? The same mechanism does work ok with Chimera. Thanks, Mungo p.s. I noticed the 'listinfo' command (undocumented) seems to behave like 'info'. Should I continue to use 'list' or switch to 'info'? * [University of Dundee shield logo]<http://uod.ac.uk/sig-home> Mungo Carstairs Jalview Computational Scientist The Barton Group Division of Computational Biology School of Life Sciences University of Dundee, Dundee, Scotland, UK www.jalview.org<http://www.jalview.org> www.compbio.dundee.ac.uk<http://www.compbio.dundee.ac.uk> g.m.carstairs@dundee.ac.uk<mailto:g.m.carstairs@dundee.ac.uk> [University of Dundee Facebook]<http://uod.ac.uk/sig-fb> [University of Dundee Twitter] <http://uod.ac.uk/sig-tw> [University of Dundee LinkedIn] <http://uod.ac.uk/sig-li> [University of Dundee YouTube] <http://uod.ac.uk/sig-yt> [University of Dundee Instagram] <http://uod.ac.uk/sig-ig> [University of Dundee Snapchat] <http://uod.ac.uk/sig-sc> We're Scottish University of the Year again!<http://uod.ac.uk/sig-strapline> The Times / Sunday Times Good University Guide 2016 and 2017 The University of Dundee is a registered Scottish Charity, No: SC015096

With ChimeraX version 0.91 (2019-12-11) on MacOS Sierra 10.12.6 ________________________________ From: Mungo Carstairs (Staff) Sent: 16 January 2020 11:02 To: chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu> Subject: ChimeraX and REST service interoperation Hi, With your helpful hints, I have a version of Jalview interacting with ChimeraX in the same way it can already with Chimera, over the REST interface. Functionality includes loading structures, aligning, colouring, raising labels on structure on mouseover in Jalview, and exchange of residue features/attributes. I have just one interaction not working yet: highlighting residues in Jalview when a selection is made in ChimeraX. - Jalview starts listening for ChimeraX selections with (e.g.) info notify start selection jalview prefix SelectionChanged url http://localhost:49981/jalview/chimera1 - user makes a selection in ChimeraX - ChimeraX sends GET?chimerax_notification=SelectionChangedselection+changed - Jalview send 'info selection level residue' - no response / timeout; ChimeraX log reports 'broken pipe error' Exception happened during processing of request from ('127.0.0.1', 50714) Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 720, in __init__ self.handle() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 426, in handle self.handle_one_request() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 414, in handle_one_request method() File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 97, in do_GET self._run(args) File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 174, in _run self.wfile.write(data) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 799, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe NB this is all before a response has been sent to the 'SelectionChanged' message. Any idea what the problem is here please? Do I need to reply to the first message before sending another? The same mechanism does work ok with Chimera. Thanks, Mungo p.s. I noticed the 'listinfo' command (undocumented) seems to behave like 'info'. Should I continue to use 'list' or switch to 'info'? * [University of Dundee shield logo]<http://uod.ac.uk/sig-home> Mungo Carstairs Jalview Computational Scientist The Barton Group Division of Computational Biology School of Life Sciences University of Dundee, Dundee, Scotland, UK www.jalview.org<http://www.jalview.org> www.compbio.dundee.ac.uk<http://www.compbio.dundee.ac.uk> g.m.carstairs@dundee.ac.uk<mailto:g.m.carstairs@dundee.ac.uk> [University of Dundee Facebook]<http://uod.ac.uk/sig-fb> [University of Dundee Twitter] <http://uod.ac.uk/sig-tw> [University of Dundee LinkedIn] <http://uod.ac.uk/sig-li> [University of Dundee YouTube] <http://uod.ac.uk/sig-yt> [University of Dundee Instagram] <http://uod.ac.uk/sig-ig> [University of Dundee Snapchat] <http://uod.ac.uk/sig-sc> We're Scottish University of the Year again!<http://uod.ac.uk/sig-strapline> The Times / Sunday Times Good University Guide 2016 and 2017 The University of Dundee is a registered Scottish Charity, No: SC015096

Hi, Mungo. I believe ChimeraX is still waiting a response to the "SelectionChanged" GET request. It's supposed to be a REST transaction, which I had assumed would be quick, so it is reading directly from the network connection rather than doing it in a separate thread. (The response is discarded, so it doesn't matter what gets sent back. Just something to confirm that the transaction is complete.) Conrad On 1/16/2020 3:02 AM, Mungo Carstairs (Staff) wrote:
Hi,
With your helpful hints, I have a version of Jalview interacting with ChimeraX in the same way it can already with Chimera, over the REST interface. Functionality includes loading structures, aligning, colouring, raising labels on structure on mouseover in Jalview, and exchange of residue features/attributes.
I have just one interaction not working yet: highlighting residues in Jalview when a selection is made in ChimeraX. - Jalview starts listening for ChimeraX selections with (e.g.)
info notify start selection jalview prefix SelectionChanged url http://localhost:49981/jalview/chimera1
- user makes a selection in ChimeraX - ChimeraX sends GET?chimerax_notification=SelectionChangedselection+changed - Jalview send 'info selection level residue' - no response / timeout; ChimeraX log reports 'broken pipe error'
Exception happened during processing of request from ('127.0.0.1', 50714) Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 720, in __init__ self.handle() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 426, in handle self.handle_one_request() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 414, in handle_one_request method() File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 97, in do_GET self._run(args) File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 174, in _run self.wfile.write(data) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 799, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe
NB this is all before a response has been sent to the 'SelectionChanged' message. Any idea what the problem is here please? Do I need to reply to the first message before sending another? The same mechanism does work ok with Chimera.
Thanks,
Mungo
p.s. I noticed the 'listinfo' command (undocumented) seems to behave like 'info'. Should I continue to use 'list' or switch to 'info'?
*
Email signature University of Dundee shield logo <http://uod.ac.uk/sig-home>
*Mungo Carstairs* Jalview Computational Scientist
The Barton Group Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK
www.jalview.org <http://www.jalview.org>
www.compbio.dundee.ac.uk <http://www.compbio.dundee.ac.uk> g.m.carstairs@dundee.ac.uk <mailto:g.m.carstairs@dundee.ac.uk>
University of Dundee Facebook <http://uod.ac.uk/sig-fb> University of Dundee Twitter <http://uod.ac.uk/sig-tw> University of Dundee LinkedIn <http://uod.ac.uk/sig-li> University of Dundee YouTube <http://uod.ac.uk/sig-yt> University of Dundee Instagram <http://uod.ac.uk/sig-ig> University of Dundee Snapchat <http://uod.ac.uk/sig-sc> *We're Scottish University of the Year again!* <http://uod.ac.uk/sig-strapline> The Times / Sunday Times Good University Guide 2016 and 2017
The University of Dundee is a registered Scottish Charity, No: SC015096
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: http://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Hello Conrad, I tried recoding so the response is sent to the REST request before making a new request to it. I'm still getting the same timeout and stack trace (give or take port numbers). One thing that looks curious: The port number (if that is what it is) in the Chimera log message (after Jalview sends info selection level residue) Exception happened during processing of request from ('127.0.0.1', 50285) doesn't match that of the Jalview REST server as specified in the earlier command info notify start selection jalview prefix SelectionChanged url http://localhost:50108/jalview/chimera2 Does that give any clue? For what it's worth, ChimeraX Preferences | Web Access does not have any proxy settings. thanks Mungo [University of Dundee shield logo]<http://uod.ac.uk/sig-home> Mungo Carstairs Jalview Computational Scientist The Barton Group Division of Computational Biology School of Life Sciences University of Dundee, Dundee, Scotland, UK www.jalview.org<http://www.jalview.org> www.compbio.dundee.ac.uk<http://www.compbio.dundee.ac.uk> g.m.carstairs@dundee.ac.uk<mailto:g.m.carstairs@dundee.ac.uk> [University of Dundee Facebook]<http://uod.ac.uk/sig-fb> [University of Dundee Twitter] <http://uod.ac.uk/sig-tw> [University of Dundee LinkedIn] <http://uod.ac.uk/sig-li> [University of Dundee YouTube] <http://uod.ac.uk/sig-yt> [University of Dundee Instagram] <http://uod.ac.uk/sig-ig> [University of Dundee Snapchat] <http://uod.ac.uk/sig-sc> We're Scottish University of the Year again!<http://uod.ac.uk/sig-strapline> The Times / Sunday Times Good University Guide 2016 and 2017 ________________________________ From: Conrad Huang <conrad@cgl.ucsf.edu> Sent: 21 January 2020 20:28 To: Mungo Carstairs (Staff) <g.m.carstairs@dundee.ac.uk>; chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu> Subject: Re: [chimerax-users] ChimeraX and REST service interoperation Hi, Mungo. I believe ChimeraX is still waiting a response to the "SelectionChanged" GET request. It's supposed to be a REST transaction, which I had assumed would be quick, so it is reading directly from the network connection rather than doing it in a separate thread. (The response is discarded, so it doesn't matter what gets sent back. Just something to confirm that the transaction is complete.) Conrad On 1/16/2020 3:02 AM, Mungo Carstairs (Staff) wrote:
Hi,
With your helpful hints, I have a version of Jalview interacting with ChimeraX in the same way it can already with Chimera, over the REST interface. Functionality includes loading structures, aligning, colouring, raising labels on structure on mouseover in Jalview, and exchange of residue features/attributes.
I have just one interaction not working yet: highlighting residues in Jalview when a selection is made in ChimeraX. - Jalview starts listening for ChimeraX selections with (e.g.)
info notify start selection jalview prefix SelectionChanged url http://localhost:49981/jalview/chimera1
- user makes a selection in ChimeraX - ChimeraX sends GET?chimerax_notification=SelectionChangedselection+changed - Jalview send 'info selection level residue' - no response / timeout; ChimeraX log reports 'broken pipe error'
Exception happened during processing of request from ('127.0.0.1', 50714) Traceback (most recent call last): File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 720, in __init__ self.handle() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 426, in handle self.handle_one_request() File "/Applications/ChimeraX_Daily.app/.../http/server.py", line 414, in handle_one_request method() File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 97, in do_GET self._run(args) File "/Applications/ChimeraX_Daily.app/.../site-packages/chimerax/rest_server/server.py", line 174, in _run self.wfile.write(data) File "/Applications/ChimeraX_Daily.app/.../socketserver.py", line 799, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe
NB this is all before a response has been sent to the 'SelectionChanged' message. Any idea what the problem is here please? Do I need to reply to the first message before sending another? The same mechanism does work ok with Chimera.
Thanks,
Mungo
p.s. I noticed the 'listinfo' command (undocumented) seems to behave like 'info'. Should I continue to use 'list' or switch to 'info'?
*
Email signature University of Dundee shield logo <http://uod.ac.uk/sig-home>
*Mungo Carstairs* Jalview Computational Scientist
The Barton Group Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK
www.jalview.org<http://www.jalview.org> <http://www.jalview.org>
www.compbio.dundee.ac.uk<http://www.compbio.dundee.ac.uk> <http://www.compbio.dundee.ac.uk> g.m.carstairs@dundee.ac.uk <mailto:g.m.carstairs@dundee.ac.uk>
University of Dundee Facebook <http://uod.ac.uk/sig-fb> University of Dundee Twitter <http://uod.ac.uk/sig-tw> University of Dundee LinkedIn <http://uod.ac.uk/sig-li> University of Dundee YouTube <http://uod.ac.uk/sig-yt> University of Dundee Instagram <http://uod.ac.uk/sig-ig> University of Dundee Snapchat <http://uod.ac.uk/sig-sc> *We're Scottish University of the Year again!* <http://uod.ac.uk/sig-strapline> The Times / Sunday Times Good University Guide 2016 and 2017
The University of Dundee is a registered Scottish Charity, No: SC015096
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: http://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
The University of Dundee is a registered Scottish Charity, No: SC015096
participants (2)
-
Conrad Huang
-
Mungo Carstairs (Staff)