HighlightAlignedSS: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
(Created page with "This script will align and color the paired secondary structures of the two proteins a similar rainbow color. <source lang="python"> import pymol def highlight_aligned_ss(obj1,...")
 
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:Highlight ss1.png|right|thumb|300px]]
This script will align and color the paired secondary structures of the two proteins a similar rainbow color.
This script will align and color the paired secondary structures of the two proteins a similar rainbow color.


<source lang="python">
<source lang="python">
import pymol
from pymol import cmd, util


def highlight_aligned_ss(obj1,obj2,transform=1,quiet=1):
def highlight_aligned_ss(obj1,obj2,transform=1,quiet=1):
Line 67: Line 70:
</source>
</source>


[[Category:Scripts_Library]]
[[Category:Script_Library]]
[[Category:Structural_Biology_Scripts]]
[[Category:Structural_Biology_Scripts]]

Latest revision as of 17:31, 10 May 2013

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):
    """
DESCRIPTION
 
    Aligns two structures and colors their matching
    secondary structure elements with a matching
    rainbow colorscheme.
 
USAGE
 
    highlight_aligned_ss obj1, obj2

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

EXAMPLES
 
    highlight_aligned_ss 1cll, 1ggz
    highlight_aligned_ss 1rlw, 1byn and state 1
 
SEE ALSO
 
    align

    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.align(obj1,obj2,object=uAln,transform=int(transform))
    cmd.hide("cgo", uAln)

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

    # 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
    cmd.select("none")

cmd.extend("highlight_aligned_ss", highlight_aligned_ss)