;
; ; PURPOSE: Sorts the particle selection files (from Web or elsewhere) ; and saves list of selected particles into a new selection file. ; Ignores any duplicate particle selections. ; Finds statistics for picked and selected particles by micrograph. ; ; SOURCE: spider/docs/techs/recon/newprogs/renumber.spi ; ; ------------------ Input files ----------------------- [sel_micrograph] = '../sel_micrograph' ; Micrograph selection file [sel_particles] = 'good/good****' ; Picked particle selection files ; ----------------- Output files ----------------------- [ngood] = 'good/ngood****' ; Good particle selection files [percent] = 'percent_selected' ; Statistics file of picked vs selected [tmp1] = 'tmpa{****[mic]}' ; Temporary files ; -------------- END BATCH HEADER ------------------------------- MD ; Skip unnecessary output VB OFF MD ; Skip unnecessary output TR OFF VM echo ' '"Removing duplicates from particle selection doc files." VM echo ' ' DE ; Remove any existing statistics file [percent] SD / MICROGRAPH PICKED SELECTED % [percent] ; Statistics doc file comment (output) [ntot]=0 [ntotpick]=0 ; Overall cumulative total [ntotsel] =0 ; Overall cumulative total DO ; Loop over all micrographs ------------ UD NEXT [key], [mic] ; Get next micrograph number [sel_micrograph] ; Micrograph selection doc file (input) IF ([key] .LE. 0) EXIT [selected] = 0 ; Zero the selected counter [picked] = 0 ; Zero the picked counter DE ; Remove any existing output file [ngood][mic] SD / PARTICLE # [ngood][mic] ; Doc file title (output) DOC SORT ; Renumber lines in doc file [sel_particles][mic] ; Doc file (input) [tmp1] ; Renumbered list (output) (1) ; Sorted column Y ; Compress and renumber keys DO ; Loop over all particles ---------- ; KEY, PART-#, CATEGORY UD NEXT [key2],[npart],[cat] ; Retrieve lines from: tmp1 [tmp1] ; Doc file (input) IF ([key2] .LE. 0) EXIT [picked]= [picked]+1 ; Total from this micrograph IF([cat].EQ.1) THEN ; Save particles from category: 1 [selected]=[selected]+1 ; Increment number of selected particles SD [selected],[npart],[cat] ; Put particle in: tmp2 [ngood][mic] ENDIF ENDDO [perc] = 100 * [selected] / [picked] ; MICROGRAPH PICKED SELECTED % SD [key], [mic],[picked],[selected],[pcent] [percent] [ntotpick]=[ntotpick]+[picked] ; Overall cumulative total [ntotsel] =[ntotsel]+[selected] ; Overall cumulative total VM echo ' '"Micrograph: {******[mic]} Keeping: {******[selected]} particles From: {******[picked]}" SD E [ngood][mic] ; Finished writing to this file UD NEXT E ; Finished with doc file [tmp1] ; Doc file (input) DE ; Delete temp file [tmp1] ENDDO UD NEXT E ; Finished with doc file [sel_micrograph] ; Micrograph selection doc file (input) ; Put overall statistics in comment key in doc file [perc] = 100 * [ntotsel] / [ntotpick] SD / TOTALs: PICKED SELECTED FRACTION [percent] ; Doc file (output) SD -1, [ntotpick],[ntotsel],[perc] [percent] ; Doc file (output) SD E [percent] ; Finished with this file VM echo " " VM echo ' '"Overall Kept: {******[ntotsel]} Percent: {***[perc]%}" VM echo " " EN ;