# use: cat journal_catalyst.current | nawk -f mayer.awk > mayer.log # writes file to be input to compiled mayer.c # # parse ff. lines in Catalyst journal #!Summary of mapping of compound "xxxyyy" to hypothesis "D2-selective": #!| Units are angstroms #!| Query Point AcceptorPt11 (1.428187 -2.448460 2.673276) angstroms #!| Query Atom {N}26 mapped to Atom N15 (-0.008195 -2.655074 0.052082) angstroms #!| Query Atom {Any Atom}24 mapped to Atom C16 (0.358769 -3.939247 -0.554738) angstroms #!| Query Point normal1 (-5.466658 -3.801784 -1.096126) angstroms #!| Query Point centroid1 (-4.789675 -3.623831 1.821069) angstroms #!| Constraint "Distance-2": min=0 value=0.583701 max=5 #!| Constraint "Distance-1": min=5.11 value=5.18945 max=5.96 BEGIN {Nmols=0;Nmrspts=0;Nmrsptsthismol=0;MaxNmrsptspermol=-1;lastname="x";} /Summary/ {name = substr($6,2,length($6)-2); if (name != lastname) { Nmols++; lastname=name; if (Nmrsptsthismol > MaxNmrsptspermol) MaxNmrsptspermol=Nmrsptsthismol; Nmrspointsthismol=0; } Nmrsptsthismol++; valct=0; for (i=0;i<20;i++) { getline; if ($0 ~ /compare/) break; if ($0 ~ /Constraint/) { value[valct++]=substr($5,7); } } outstr=sprintf("%s",name); for (i=0;i> "mayer.log" Nmrspts++; } END {print "# mols = ",Nmols," # mrs points total = ",Nmrspts, " max # mrs points per mol = ",MaxNmrsptspermol; print "results written to file mayer.log"; }