#!@SHELL@ # # calculates mass of a molecule in a XYZ file exec_prefix=@prefix@ ELEMENTSDB="@bindir@/elements.db" if [ -z "$1" ]; then echo "Usage $0 " exit 1 else XYZ="$1" if [ ! -e $XYZ ]; then echo "The xyz file $XYZ does not exist!" exit 1 fi fi # check for db presence if [ ! -e $ELEMENTSDB ]; then echo "The database file $ELEMENTSDB does not exist!" exit 1 fi elements=(`grep -v ^# ${ELEMENTSDB} | awk -F" " {'print $2'}`) masses=(`grep -v ^# ${ELEMENTSDB} | awk -F" " {'print $7'}`) i=0 totalmass=0 while [ $i -lt ${#elements[*]} ]; do nr=`grep -E "^${elements[$i]}[[:space:]]+" $XYZ | wc -l` totalmass=`echo "$totalmass $nr ${masses[$i]}" | awk -F" " {'print $1+$2*$3'}` let i=$i+1 done echo "Totalmass is $totalmass atomicmassunit" exit 0