subroutine int THE_MAP real CUT_OFF show key MY_KEY set vari CUSHION int = 10 make map from THE_MAP init empty real \ around CUSHION sele MY_KEY end if ( MAP_LAST .lt. 0 ) return set vari MAP_AROUND int = MAP_LAST make map MAP_AROUND atom ( mask 4.5 ) select MY_KEY end make map MAP_AROUND from THE_MAP copy !show vari CUT_OFF if ( CUT_OFF .lt. 0. ) then make map MAP_AROUND scale -1.0 set vari CUT_OFF = CUT_OFF * -1.0 end_if show vari CUT_OFF dele atom sele segm name #CNT end key old sele all end make point init from map MAP_AROUND extreme CUT_OFF 1000. !dele atom sele segm name #CNT end make atom from point ( use_map MAP_AROUND ) rena segm #CNT sele .n old end key old sele all end symm sele MY_KEY .a .n resi name HOH end \ around sele segm name WORK_SEGM .a .n resi name HOH end \ dist 10.0 cut key symm sele .n old end calc pair ( init \ sele segm name #CNT end \ sele symm .o segm name WORK_SEGM .a .n resi name HOH .a .n atom name H* end \ each_clo range 0. 6.0 ) key dd sele by pair symm end !wr sele dd end coor pdb ! show segm dele atom sele dd .o symm end key symm sele segm name WORK_SEGM .a .n resi name HOH .a .n atom name H* end key dd sele around key symm dist 1.2 .a segm name #CNT end dele atom sele dd end show segm key old drop key dd drop key symm drop write over file atom_center_list.pdb sele segm name #CNT end coor pdb dele map MAP_AROUND return key old sele all end make resi sele segm name CNTS end root CEX dele atom sele segm name CNTS .a old end rena seq A sele .n old end auto 0 image col 220 sele segm name CNTS end atom cros set vari IATOM int atom sele segm name CNTS end show segm ima hist pick IATOM set vari NEXT_RESI global int resi select atom numb $1 end image center sele resi numb NEXT_RESI end image map over