([maxspfreq],[lambda],[iter1]) ; Prepare for refinement run by initializing input ; and output directories
;
; SOURCE:  prepare.pam
;
; PURPOSE: Prepare various initial files, CTF correction, etc.
;
; MASTER COPY: /net/bali/usr1/spider/docs/techs/recon/newprogs/
;
; CALLED FROM: refine & pub_refine refine.pam & pub_refine.pam
;
; INPUT REGISTERS (SET ABOVE):
;   [maxspfreq]             Maximum spatial frequency[a-1]
;   [lambda]                Lambda(angstroms)
;   [iter]                  Initial iteration (usually 1)
;
; '***' denotes group
; INPUT FILES (SET IN refine_settings.pam):
;   [start_vol]             input/vol**          Input volume file  
;   [order_select]          input/order_select   Group selection file
;   [sel_particles]         input/select_***     Particle selection files 
;   [start_group_align]     input/align_01_***   Alignment parameter files 
;   [start_aligned_images]  input/dala01_***     Aligned image stacks 
;
; OUTPUT FILES (SET IN refine_settings.pam):
;   [final_dir]             final                Directory
;   [temp_work_dir]         work                 Directory
;   [temp[_local_dir]       local                Directory (Can be local on each node)
;   [current_vol]           final/vol01          Starting volume file  (link)
;   [sel_particles_odd]     input/selectodd_***  Particle selection files 
;   [sel_particles_even]    input/selecteven_*** Particle selection files 
;   [group_align]           final/align_01_***   Group align input file 
;   [aligned_images_prefix] work/dala01_***      Aligned image stacks (link)
;   [temp_ctf_file]         input/ctf***         CTF correction files
;
; INLINE FILES USED: _1

[iter]=[iter1]                       ; Needed for naming initial files

VM                                   ; Dir. for temporary files, local files and output files
mkdir -p [temp_work_dir] [temp_local_dir] [final_dir]

VM                                   ; Put link to initial volume in final directory 
ln -sf ../[start_vol].$DATEXT        [current_vol].$DATEXT  

FI [nsam]                            ; Query NSAM value (NROW must be = NSAM)
[current_vol]                        ; Initial reference volume    (input)
12                                   ; NSAM location

UD N [num-grp]                       ; Get total number of defocus groups
[order_select]

[tot-part]=0
DO LB1 [i]=1,[num-grp]               ; Loop over all groups  

   UD IC [i], [grp], [num-part]      ; Get number of particles 
   [order_select]                    ; Doc file listing groups     (input)    

   [tot-part]=[tot-part]+[num-part]  ; Sum total number of particles in all groups
LB1

DO LB2 [i]=1,[num-grp]   ; Loop over defocus groups  ----------------------------------------

   ;          GROUP, PART.,     DEFOCUS              
   UD IC [i], [grp], [num-part],[defocus] ; Get number of particles & defocus value=[defocus]
   [order_select]                         ; Doc file listing groups (input)  

   VM                       ; Copy starting alignment parameter files to final dir. 
   cp [start_group_align].$DATEXT  [group_align].$DATEXT

   ; Link the starting aligned images to work dir
   VM                       ; Link from original dir. to work dir. (large files) 
   ln -sf  ../[start_aligned_images].$DATEXT  [aligned_images_prefix].$DATEXT  

   DOC SPLIT                ; Split the particles into two sets of particle selection files
   [sel_particles]          ; Particle sel. doc file - input/select_***grp     (input) 
   [sel_particles_odd]      ; Particle sel. doc file - input/selectodd_***grp  (output)
   [sel_particles_even]     ; Particle sel. doc file - input/selecteven_***grp (output)

   ; Create group CTFs 
   TF C3                    ; Compute phase contrast transfer function 
   _1                       ; Creates temp inline CTF file                     (output)
   (2.0)                    ; CS
   [defocus],[lambda]       ; Defocus(Angstroems), lambda(Angstroems):
   [nsam]                   ; Number of spatial freq. points
   [maxspfreq]              ; Maximum spatial frequency[a-1]
   (0.005,0)                ; Source size[a-1], defocus spread[a]
   (0,0)                    ; Astigmatism[a], azimuth[deg]
   (0.1,10000)              ; Ampl contrast ratio [0-1], Gaussian env halfw [fou units]:  
   (-1)                     ; Sign

   ; Weight by avg. number of particles / group
   [WT]=[num-grp]*[num-part]/[tot-part] 

   AR                       ; Weight CTF by number of particles 
   _1                       ; Temp inline CTF file          (input)
   [temp_ctf_file]          ; Weighted for CTF              (output)
   P1*[WT]                  ; Does the weighting

   VM                                      
   echo ' 'Group: {***[grp]}  CTF weighting: {%f8.2%[WT]} 
LB2

UD ICE                      ; Finished with this doc file 
[order_select]

DE                          ; Remove temp. inline file
_1

VM
echo ' Finished initial file preparation'
VM                                      
echo ' '

RE
;