This is a read-only mirror of


From PyMOL Wiki
Jump to navigation Jump to search
Highlight ss1.png

This script will align and color the paired secondary structures of the two proteins a similar rainbow color.

from pymol import cmd, util

def highlight_aligned_ss(obj1,obj2,transform=1,quiet=1):
    Aligns two structures and colors their matching
    secondary structure elements with a matching
    rainbow colorscheme.
    highlight_aligned_ss obj1, obj2

    If transform=0 then the proteins are not
    moved after alignment.

    highlight_aligned_ss 1cll, 1ggz
    highlight_aligned_ss 1rlw, 1byn and state 1

    JV 3-2-11

    if not cmd.count_atoms(obj1):
        print "Error: Object 1 needs at least a few atoms to align."
        return None
    if not cmd.count_atoms(obj2):
        print "Error: Object 2 needs at least a few atoms to align."
        return None

    # align them
    uAln = cmd.get_unused_name("aln")
    cmd.hide("cgo", uAln)

    # select atoms of similar SS
    uSimSS = cmd.get_unused_name("similar_ss_"), "((%s or %s) in %s) and (ss 'S' or ss 'H')" %

    # color by rainbow; these could be 
    # customized by function parameters
    util.rainbow(uSimSS + " and " + obj1)
    util.rainbow(uSimSS + " and " + obj2)

    # now color everything else grey
    cmd.color("grey70", "not (%s)" % uSimSS)

    # could also be an option to
    # update the representation
    # as cartoon

    # hide indicators"none")

cmd.extend("highlight_aligned_ss", highlight_aligned_ss)