.SUFFIXES: .tif .mrcraw .mrc .nor .fft .ctf .ctfinfo .ctfshrink .ctfinfo .ctfps .roi .mirrot ### Default Values # Pixel interval RESOLUTION=5 # FILM:1 # CCD:0 TIFF2MRC_MODE=1 ## Shinking # Pre-FFT SHRINK=1 # Pre-roi SHRINK2=1 # Shirnking ## Pad Size PADSIZE=1024 PADMODE=3 ## CVE Size CVESIZE=511 ### -include CONFIG # -include TIFS -include MRCS -include NORS -include FFTS -include CTFInfoList -include CTFS -include ALLROIS help:: @echo "CTF correction and particle picking" @echo ">>> For CTF Correction" @echo "$ make ctf-correction" @echo "" @echo ">>> For CTF Correction of each file" @echo "$ make xxxx.ctf" @echo "" @echo ">>> For CTF-check again" @echo "$ make ctfcheck" @echo "" @echo ">>> For Particle Picking " @echo "$ make particle-picking" @echo "" @echo ">>> For CTF Correction of each file" @echo "$ make xxxx.ctf" @echo "" @echo ">>> For particle picking of each file" @echo "$ Display2 -i xxxx.ctf -Inverse &" @echo "--- Roi selection and push Extract button" @echo "" @echo ">>> ctfinfo again" @echo "$ touch *.fft" @echo ">>> Restart" @echo "$ make clean" ctf-correction:: make TIFS; make mrcraw ; make mrc make MRCS; make nor make NORS; make fft make FFTS; make ctfinfo make ctf particle-picking:: make CTFS make ctfshrink make ROIINFOS make -i roi ctfcheck:: touch *.fft make ctf-correction clean:: rm *.mrcraw *.mrc *.nor *.nortmp *.fft *.ctfinfo *.ctf mrcraw:$(TIFS:.tif=.mrcraw) mrc:$(TIFS:.tif=.mrc) nor:$(MRCS:.mrc=.nor) fft:$(NORS:.nor=.fft) ctfinfo:$(FFTS:.fft=.ctfinfo) ctf:$(FFTS:.fft=.ctf) ctfshrink:$(CTFS:.ctf=.roi) roi:$(CTFS:.ctf=.roi) TIF2FFT:: make TIFS; make mrc; make MRCS; make nor; make NORS; make fft; make FFTS; make CTFInfoList; make DefaultCTFInfoCreate; TIFS:: echo "TIFS=\\" > TIFS ls -1 *.tif | sed s/tif/tif\\\\/ >> TIFS echo "" >> TIFS MRCS:: echo "MRCS=\\" > MRCS ls -1 *.mrc | sed s/mrc/mrc\\\\/ >> MRCS echo "" >> MRCS NORS:: echo "NORS=\\" > NORS ls -1 *.nor | sed s/nor/nor\\\\/ >> NORS echo "" >> NORS FFTS:: echo "FFTS=\\" > FFTS ls -1 *.fft | sed s/fft/fft\\\\/ >> FFTS echo "" >> FFTS CTFS:: echo "CTFS=\\" > CTFS ls -1 *.ctf | sed s/ctf/ctf\\\\/ >> CTFS echo "" >> CTFS CTFInfoList:: echo "CTFInfoList=\\" > CTFInfoList ;\ ls *.fft | sed s/fft/ctfinfo\\\\/ >> CTFInfoList echo "" >> CTFInfo ALLROIS:: echo "ALLROIS=\\" > ALLROIS ls -1 *right*.roi | sed s/roi/roi\\\\/ >> ALLROIS ls -1 *MirRot.roi | sed s/roi/roi\\\\/ >>ALLROIS echo "" >> ALLROIS # tif -> mrc .tif.mrcraw: tiff2mrc -i $*.tif -o $*.mrcraw -r $(RESOLUTION) -m $(TIFF2MRC_MODE) # mrc -> shrinking for limitation of computer resources .mrcraw.mrc: if [ $(SHRINK) -eq 1 ] ; then \ ln -sf $*.mrcraw $*.mrc ; \ else \ mrcImageShrink -S $(SHRINK) -i $*.mrcraw -o $*.mrc; \ fi # pre-filtering .mrc.nor: mrcImageAbnormalValueRemove -i $*.mrc -o $*.nortmp -m 1 mrcImagePad -i $*.nortmp -o $*.nor -W $(PADSIZE) -H $(PADSIZE) -m $(PADMODE) rm $*.nortmp # Fourier Transform .nor.fft: mrcImageFFT -i $*.nor -o $*.fft # ctf Determine .fft.ctfinfo: if [ -f $*.ctfinfo ]; then \ ctfDisplay -i $*.fft -o $*.ctfinfo ; \ else \ ctfDisplay -i $*.fft -o $*.ctfinfo -AutoRange -Log ; \ fi .ctfinfo.ctf: mrcImageCTFCompensation -i $*.fft -info2 $*.ctfinfo -o $*.ctf -m 1 .ctf.ctfps: echo $@ Mean=`mrcImageInfo -i $*.ctf -I | grep Mean | awk '{print $$2}';` \ SD=`mrcImageInfo -i $*.ctf -I | grep SD | awk '{print $$2}';` \ DIS2HIGH=`echo "$$Mean + 2*$$SD" | bc `; DIS2LOW=`echo "$$Mean - 2*$$SD" | bc `; \ echo "$$Mean $$SD $$DIS2LOW $$DIS2HIGH"; \ mrcImagePrint -i $*.ctf -o $*.ctfps -L $$DIS2HIGH -H $$DIS2LOW -m 17 -S 0.1 #mrcImagePrint -i $*.ctf -o $*.ctfps -m 17 -S 0.1 .ctf.ctfshrink: mrcImageShrink -i $*.ctf -o $*.ctf.shrink -S $(SHRINK2) ; \ mrcImageSmoothing -i $*.ctf.shrink -o $*.ctf.smooth -r 2 -M 1 -m 1 ; \ mrcImageCVE -i $*.ctf.smooth -o $*.ctfshrink -sx $(CVESIZE) -sy $(CVESIZE) rm $*.ctf.shrink $*.ctf.smooth .ctfshrink.roi: Display2 -i $*.ctfshrink -Inverse sed s/ctfshrink/ctf/ $*.ctfshrink.roiinfo > $*.ctf.roiinfo mrcImageROIs -i $*.ctfshrink -o $*.ctfshrink.mon -I $*.ctfshrink.roiinfo mrcImageROIs -i $*.ctf -o $*.ctf.mon -I $*.ctf.roiinfo -S $(SHRINK2) touch $*.roi Disp:: for i in $(FFTS) ;\ do \ echo $$i ; \ Display2 -i $$i ; \ done ctfDisp:: for i in $(FFTS) ;\ do \ echo $$i ;\ ctfDisplay -i $$i ;\ done DefaultCTFInfoCreate:: for i in $(CTFInfoList) ; \ do \ cp .DefCTFInfo $$i ; \ echo ".ctfinfo: $$i" >> $$i ; \ done DispCTFs:: for i in $(CTFS) ;\ do \ echo $$i ; \ filename=`basename $$i .ctf`.ctfshrink ; \ make $$filename; \ Mean=`mrcImageInfo -i $$filename -I | grep Mean | awk '{print $$2}'`; \ SD=`mrcImageInfo -i $$filename -I | grep SD | awk '{print $$2}'`; \ DIS2HIGH=`echo "$$Mean + 2*$$SD" | bc `; DIS2LOW=`echo "$$Mean - 2*$$SD" | bc `; \ echo "$$Mean $$SD $$DIS2LOW $$DIS2HIGH"; \ Display2 -i $$filename -L $$DIS2HIGH -H $$DIS2LOW -Zoom 0.5 -geometry 1280x1024+0+0; \ echo "$$DIS2LOW $$DIS2HIGH"; \ done PrintCTFs:: for i in $(CTFS) ;\ do \ echo $$i ; \ make $${i}ps; \ done