This is a read-only mirror of pymolwiki.org

Movit

From PyMOL Wiki
Jump to navigation Jump to search

Hi everyone !

I wanted to see roughly if one protein could dock on another one, and could not find any mouse setting allowing to do that. Here is a script that does just that.

USAGE : movit <selection>

The selection can now be translated/rotated with the following keyboard shortcuts:

q,a : x translation

w,s : y translation

e,d : z translation


r,f : x rotation

t,g : y rotation

y,h : z rotation


Use : run movit.py during startup. Then, 'movit selection'.

It is not very practical, does anybody know how to do that with the mouse instead of just one step at a time like here ?

from pymol import cmd

def movit(selection="all"):
    """USAGE : movit <selection>
               The selection can now be translated/rotated
               with the following keyboard shortcuts:

               q,a : x translation
               w,s : y translation
               e,d : z translation

               r,f : x rotation
               t,g : y rotation
               y,h : z rotation
    """

    line="translate [1,0,0],"+selection
    cmd.alias ('q',line)
    line="translate [0,1,0],"+selection
    cmd.alias ('w',line)
    line="translate [0,0,1],"+selection
    cmd.alias ('e',line)

    line="translate [-1,0,0],"+selection
    cmd.alias ('a',line)
    line="translate [0,-1,0],"+selection
    cmd.alias ('s',line)
    line="translate [0,0,-1],"+selection
    cmd.alias ('d',line)

    line="rotate x,5,"+selection
    cmd.alias ('r',line)
    line="rotate y,5,"+selection    
    cmd.alias ('t',line)
    line="rotate z,5,"+selection
    cmd.alias ('y',line)

    line="rotate x,-5,"+selection
    cmd.alias ('f',line)
    line="rotate y,-5,"+selection
    cmd.alias ('g',line)
    line="rotate z,-5,"+selection
    cmd.alias ('h',line)

cmd.extend ("movit",movit)