HighlightAlignedSS
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This script will align and color the paired secondary structures of the two proteins a similar rainbow color.
import pymol
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)