 
 
 
 
 
 
 
 
 
 
When an atom is picked with the mouse, the Tcl variable vmd_pick_mol gets set to the moleule id of the picked molecule, and vmd_pick_atom contains the atom index. The Tcl command trace can be used to call a function when those values change.
As an example of what can be done with this, the following
statements will put a sphere around each atom when it has been picked
with the mouse.  To turn it off, execute 
trace vdelete vmd_pick_atom w sphere_pick.
proc sphere_pick {name element op} {
     # get the atom and molecule picked
     global vmd_pick_atom vmd_pick_mol
     # get the coordinates
     set sel [atomselect $vmd_pick_mol "index $vmd_pick_atom"]
     lassign [$sel get {x y z}] coords
     draw sphere $coords radius 1.0
}
trace variable vmd_pick_atom w sphere_pick