Dear all,

As the author of the un(der)document pymol xml-rpc stuff, I will pipe
up with what info I can provide.

On Thu, Jun 4, 2009 at 1:32 PM, Lesburg, Charles
<charles.lesb...@spcorp.com> wrote:
>
> >From time to time, I find myself sharing structures using PyMOL with
> coworkers/collaborators at remote locations.  I have used various
> screen-sharing tools (e.g. VNC) to do this.  If you've ever done this,
> even over a fast 'net connection, you know that the quality suffers
> significantly over running PyMOL locally.  On occasion, I've reversed
> this so that I remote-control a remote local PyMOL session, but this is
> also a bit difficult as the quality on my side suffers significantly.
> It would be nice to have a high-quality method to share 3D info
> simultaneously across multiple locations.

yeah, the remote display stuff is generally pretty miserable.

>
> I stumbled upon the ability of PyMOL to act as an XML-RPC listener.
> Obviously, this feature was added to allow one or more sessions to act
> as "slaves" to a "master" controlling session over the
> internet/intranet.

though I think it could be used for this purpose, that wasn't the
original idea. The interface was designed to allow pymol to be
remotely controlled from other pieces of software. I used it from
within spreadsheet-type applications and a pharmacophore search tool.

The interface at the moment is primarily centered around providing
structures and CGOs to pymol from the remote application and then
interrogating pymol about things like which atoms are selected. *But*
it does provide a command "do" that can be used to execute straight
pymol script commands (like typing in the console in pymol).

>
> Has anyone made any progress along these lines?  As I see it, the slave
> session(s) need to be invoked so that they can be controlled remotely
> (currently, it seems fixed to localhost on port 9123).

The listener picks up the hostname it should listen on from the
PYMOL_RPCHOST environment variable, but defaults to "localhost" if
that's not defined. It defaults to port 9123, but then tries
additional (higher numbered) ports if it can't get that one. This
could also be controlled by an env var, but it isn't at the moment.

> Also, the master
> session needs to spit out the appropriate commands (as it does to a log
> file) along with orientational information to one or more slave
> sessions.

This part I don't know how to do. If one could get this information
"live" from PyMol as the user is working with it, then it could be
sent from the master to multiple slaves without problem. Setting up
the connections to the slaves is trivial in python once one has the
hostnames that should be checked. There'd need to be an interface to
select the slave hosts, but that also shouldn't be too bad.

> Any guidance would be useful.

I'm willing to help to the extent that I can.

-greg

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net

Reply via email to