Revision as of 23:34, 2 March 2011 by Inchoate (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,...")
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)