From: Betty <beh...@st...> - 2006-01-21 13:48:27
|
Hi Paul, > I have a set of active atoms (GOLD output) that surround a cavity. Now I > want to dipslay the surface only for the cavity wall, not on the > outside. try this: show surface for the whole protein and then hide surface for "not the active residues" - something like this: #### from pymol import cmd from pymol import stored # load your protein and the active atoms as GOLD output cmd.load("protein.pdb", "prot") cmd.load("active_atoms.pdb", "act_res") # create a list of the activ residue-id's stored.act_res=[] cmd.iterate("act_res", "stored.act_res.append(resi)") # create selection of the actives cmd.select("act_res","resi %s" %stored.act_res[0]) for i in stored.act_res: cmd.select("act_res","act_res or resi %s" %i) # create selection of the "non-actives" cmd.select("not_act_res", "prot and not act_res") # show surface cmd.show("surface", "prot") cmd.hide("surface", "not_act_res" ) cmd.delete("not_act_res") #### Cheers, Betty |