PyMOL not displaying mover input

Member Site Forums PyRosetta PyRosetta – Build/Install PyMOL not displaying mover input

Viewing 2 reply threads
  • Author
    Posts
    • #3590
      Anonymous

        Hey there.

        I run a Linux subsystem (Linux 4.19.128-microsoft-standard x86_64) on Win10 (Build 19041.508) with wsl2 and Ubuntu 20.04.1 LTS. I successfully installed PyRosetta 4 (python 3.8 release 265).

        Python: 3.8.2

        On my windows I installed Pymol 2.4.1 198.

        If I tell PyMOL to execute the PyMOL-RosettaServer.python3.py script from PyRosetta folder,

        -> run \wsl$Ubuntu-20.04home[User]PyRosetta4PyMOL-RosettaServer.python3.py

        it will return

        PyMOL <—> PyRosetta link started!

        at 127.0.0.1 port 65000

        This makes it seem like everything is alright.

        However, if I tell pyrosetta to apply something to a mover or run a script with a mover like this for instance,

        -> python PyRosetta4/test/T150_PyMOL_Integration.py

        it will not show anything in PyMOL. Also, there are no errors (both when typing everything by hand

        like this code in initialised PyRosetta for instance:

        pose = pose_from_rcsb(‘1yy8’)

        pymover = PyMOLMover()

        pymover.apply(pose)

        or executing the script.

        I have already checked port availability in resource monitor.

        Now I feel like it should definitely work and have started to hypothesise that I did something wrong in PyMOL but I can’t seem to find the thing that fixes it.

        Help is most appreciated.

      • #15666
        Anonymous

          I’ve had the same issue with WSL, even when I explictly state which IP adress and Port to use with PyMOLMover. 

          from pyrosetta import PyMOLMover

          pmm = PyMOLMover(‘127.0.0.1’, 65000)

          pose = pose_from_pdb(“inputs/5tj3.pdb”)

          pmm.apply(pose)

           

        • #15668
          Anonymous

            I figured it out! Here’s my findings.

            WSL2 is an entirely seperate virtual machine, and needs to be treated as if it was another computer. As such, the local IP 127.0.0.1 can not work.

            WSL2 can communicate with windows via another IP address. This address changes every time you restart WSL, but it can be found by typing the following command into the wsl terminal, with the IP highlighted.

            input

            cat /etc/resolv.conf

            output

            # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:

            # [network]

            # generateResolvConf = false

            nameserver 123.45.678.9

            Ideally you cloud then run the PyMOLMover server at this IP address, but it was throwing all sorts of errors at me for unknown reasons. Instead, I ran the server at 0.0.0.0:65000, then used power shell to make a port proxy that fixed it.

            netsh interface portproxy add v4tov4 listenport=65000 listenaddress=0.0.0.0 connectport=65000 connectaddress=123.45.678.9

            After this, running this in PyRosetta should make it all work.

            PyMOLMover(‘123.45.678.9‘, 65000)

        Viewing 2 reply threads
        • You must be logged in to reply to this topic.