# Make schematic display of selected DNA/RNA residues. # make selected atoms and bonds invisible StyleAtom invisible StyleBond invisible # store current selection DefPropAtom 'prev_sel' 'selected' DefPropBond 'prev_sel' 'selected' DefPropPrim 'prev_sel' 'selected' # set property for residues that ribbon will be added to DefPropRes 'new_ribbon' 'mol.selected & selected' # deselect all primitives so that we can set the color only # on the new ribbons and set the selection to the previously # selected primitives + new ribbons at the end SelectPrim '0' # set the helix property on the resdiues that the ribbon is # added to, we always want the DNA to be displayed as helix DefPropRes 'helix' 'helix | new_ribbon' # add ribbon through C3*/C3' atoms SelectAtom 'res.new_ribbon & name = "C3*"' AddRibbon # set property on new ribbons (new items are always selected, # and we deselected other primitives before, so the new # ribbons are the only primitives selected) DefPropPrim 'new_ribbon' 'selected' # set ribbon attributes that normally look good for DNA TypeRibbon interpol spacing StyleRibbon ellip sharp sharp SizeRibbon 3.0 1.0 # set color to dark grey (outside) and light grey (inside) ColorPrim 0.1 0.1 0.1 TintPrim 0.9 0.9 0.9 # add pink plates for sugar rings SelectPrim '0' SelectAtom 'res.new_ribbon & sugar' AddPlates DefPropPrim 'new_ribbon' 'new_ribbon | selected' ColorPrim 1 0.0 0.5 # add orange red rings for A bases SelectPrim '0' SelectAtom 'res.new_ribbon & (res.name = "ADE*" | res.name = "A") & base' AddPlates DefPropPrim 'new_ribbon' 'new_ribbon | selected' ColorPrim 1 0.2 0 # make A bonds orange red SelectBond 'res.new_ribbon & (res.name = "ADE*" | res.name = "A")' ColorBond 1 0.2 0 # add yellow rings for T bases SelectPrim '0' SelectAtom 'res.new_ribbon & (res.name = "THY*" | res.name = "T") & base' AddPlates DefPropPrim 'new_ribbon' 'new_ribbon | selected' ColorPrim 1 1 0 # make T bonds yellow SelectBond 'res.new_ribbon & (res.name = "THY*" | res.name = "T")' ColorBond 1 1 0 # add green rings for G bases SelectPrim '0' SelectAtom 'res.new_ribbon & (res.name = "GUA*" | res.name = "G") & base' AddPlates DefPropPrim 'new_ribbon' 'new_ribbon | selected' ColorPrim 0 0 1 # make G bonds green SelectBond 'res.new_ribbon & (res.name = "GUA*" | res.name = "G")' ColorBond 0 0 1 # add cyan rings for C bases SelectPrim '0' SelectAtom 'res.new_ribbon & (res.name = "CYT*" | res.name = "C") & base' AddPlates DefPropPrim 'new_ribbon' 'new_ribbon | selected' ColorPrim 0 1 1 # make C bonds cyan SelectBond 'res.new_ribbon & (res.name = "CYT*" | res.name = "C")' ColorBond 0 1 1 # add magenta rings for U bases SelectPrim '0' SelectAtom 'res.new_ribbon & (res.name = "URA*" | res.name = "U") & base' AddPlates DefPropPrim 'new_ribbon' 'new_ribbon | selected' ColorPrim 1 0 1 # make U bonds magenta SelectBond 'res.new_ribbon & (res.name = "URA*" | res.name = "U")' ColorBond 1 0 1 # display bond connecting backbone and rings SelectBond 'res.new_ribbon & atom1.name = "C1*" && atom2.name = "N?"' StyleBond neon # restore previous selection, with newly created # ribbons/plates added SelectAtom 'prev_sel' SelectBond 'prev_sel' SelectPrim 'prev_sel | new_ribbon'