Usage: script filename > output_file
coord2xyz.awk
This awk script transforms a Turbomole coordinate file (in Bohr) to an xyz file (in Å).
#!/bin/awk -f BEGIN {i=0;j=0} $4~/[a-z]/ { if(j==1) { x[i]=$1; y[i]=$2; z[i]=$3; atm[i]=$4; i++ } } $1~/^\$/ {j=0} $1~/coord/ {j=1} END { printf ("%s\n\n", i) for(k=0;k<i;k++) { printf ("%3s %16.12f %16.12f %16.12f\n", atm[k], x[k]*0.529177249, y[k]*0.529177249, z[k]*0.529177249) } }
get_chg.awk
This awk script strips the eps charges from a G98 output file. The atomic charges are printed on individual lines with one preceding blank line. The intention is that this output should be pasted with a pdb file created with mimic
or xyz2pdb.awk
to produce a pdb file with charges.
#!/bin/awk -f BEGIN {i=0} /------------/ {i=0} {if(i==1){ if(NF==1){print ""} if(NF==3){printf ("%7.4f\n", $3)} } } /Charges from ESP fit/ {i=1}
xyz2pdb.awk
This awk script transforms an xyz file to a pdb file with one title line.
#!/bin/awk -f BEGIN {i=0} NR==1 {print "REMARK Created from xyz file with xyz2pdb.awk"} NF==4 { i++ printf ("ATOM %4d %2s ??? 1 %7.3f %7.3f %7.3f\n", i,$1,$2,$3,$4) } END {print "END"}
remwat.awk
I use this awk script to remove all but a selected few waters from a pdb file (with charges). The array watkeep
must contain the residue numbers of the waters you want to keep!
#!/bin/awk -f { watkeep[1]=res_nr watkeep[2]=res_nr : } $0!~/WAT/ {print $0} $0~/WAT/ { printstate="off" for( i in watkeep ) { if( $(NF-4) == watkeep[i] ) printstate="on" } if( printstate=="on" ) print $0 }
remqm.awk
This awk script removes the atoms, specified in the qm array, from a pqr file.
#!/bin/awk -f { qm[1]=atm_nr qm[2]=atm_nr : } { printstate="on" for( i in qm ) { if( $2 == qm[i] ) printstate="off" } if( printstate=="on" ) print $0 }
prep_pqr.awk
This script assigns unique atom labels to all atoms in a pqr file.
#!/bin/awk -f $1!~/ATOM/ {print $0} $1~/ATOM/ { printf("%4s %4s %-5s %3s %3s %7.3f %7.3f %7.3f %7.4f %4.2f\n", $1, $2, $3$2"'", $4, $5, $6, $7, $8, $9, $10) }
get_sol.awk
This script extracts important info from solinprot
output files.
#!/bin/awk -f # Takes an output file from solinprot as input. # Returns the specifications for the finest grid level # and all the energies. BEGIN {j=0} /Finest level/ || /Only one level/ { if (j==0) { print $(NF-1), $NF print "Inter: React: Sol:" } j++ } NR==1 { print $NF } $1 ~ /SOLVATION/ { sol[j]=$6 } $1 ~ /Interaction/ { inter[j]=$8 } $1 ~ /Reaction/ { react[j]=$7 } END { for(l=1;l<=j;l++) { print inter[l], react[l], sol[l] } }