AnalyseMovement.csh
Jump to navigation
Jump to search
#!/usr/bin/env csh # # This scripts produces a new directory with .offsets files for each micrograph. # The .offsets files contain 50-fold enhanced movement tracks, which may be visualised using xmgrace. # set starfile=$1 set star_noext=`echo $starfile | sed 's|.star||'` # set ncol = `grep _rln ${starfile} | awk '{i++} END {print i}'` set col_rot = `grep "rlnAngleRot #" $starfile | awk -F"#" '{print $NF}'` set col_tilt = `grep "rlnAngleTilt #" $starfile | awk -F"#" '{print $NF}'` set col_rot_ori = `grep "rlnAngleRotPrior #" $starfile | awk -F"#" '{print $NF}'` set col_tilt_ori = `grep "rlnAngleTiltPrior #" $starfile | awk -F"#" '{print $NF}'` set col_psi = `grep "rlnAnglePsi #" $starfile | awk -F"#" '{print $NF}'` set col_xoff = `grep "rlnOriginX #" $starfile | awk -F"#" '{print $NF}'` set col_yoff = `grep "rlnOriginY #" $starfile | awk -F"#" '{print $NF}'` set col_xoff_ori = `grep rlnOriginXPrior $starfile | awk -F"#" '{print $NF}'` set col_yoff_ori = `grep rlnOriginYPrior $starfile | awk -F"#" '{print $NF}'` set col_xcoor = `grep rlnCoordinateX $starfile | awk -F"#" '{print $NF}'` set col_ycoor = `grep rlnCoordinateY $starfile | awk -F"#" '{print $NF}'` set col_micn = `grep rlnMicrographName $starfile | awk -F"#" '{print $NF}'` set col_oriname = `grep rlnOriginalParticleName $starfile | awk -F"#" '{print $NF}'` # mkdir -p offsets_${star_noext} # foreach mic (`grep mrc $starfile | awk -v"col_micn=${col_micn}" '{print $col_micn}'| awk -F"/" '{print $NF}' | sort | uniq | awk '{print "/"$1}'`) grep $mic ${starfile} | awk -v"col_oriname=${col_oriname}" -v"col_micn=${col_micn}" '{print $col_oriname, $col_micn, $0}' | sort | awk -v"col_xoff=${col_xoff}" -v"col_yoff=${col_yoff}" -v"col_xcoor=${col_xcoor}" -v"col_ycoor=${col_ycoor}" -v"col_xoff_ori=${col_xoff_ori}" -v"col_yoff_ori=${col_yoff_ori}" 'BEGIN {col_xoff+=2; col_yoff+=2; col_xoff_ori+=2; col_yoff_ori+=2; col_xcoor+=2; col_ycoor+=2; aa="a"} { if (aa!=$1) {print " "; i=0} else {i++}; if (i==0) {xp=$col_xoff_ori; yp=$col_yoff_ori;}; xo=$col_xoff; yo=$col_yoff; xc=$col_xcoor; yc=$col_ycoor; xxc=xc+50*(xo-xp); yyc=yc+50*(yo-yp); print xxc, yyc, (xo-xp), (yo-yp), $2; aa=$1}' > offsets_${star_noext}/${mic}.offsets end