From 9f2b14c814d6347300890ec3a35a8cbc283eafe5 Mon Sep 17 00:00:00 2001 From: Cezary Czaplewski Date: Tue, 28 Feb 2017 09:03:10 +0100 Subject: [PATCH 1/1] ctest energy homology test --- ctest/prota_unres_energy_check.sh | 41 +++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/ctest/prota_unres_energy_check.sh b/ctest/prota_unres_energy_check.sh index bd48989..4316c07 100755 --- a/ctest/prota_unres_energy_check.sh +++ b/ctest/prota_unres_energy_check.sh @@ -203,18 +203,55 @@ elif [ "$1" == "1ei0_min" ]; then # exit 1 fi -elif [ "$1" == "prota_CHECKGRAD" ] || [ "$1" == "1DKZcut-checkgrad" ] || [ "$1" == "checkgrad_dfa" ] || [ "$1" == "Ts866_checkgrad_full" ] ; then +elif [ "$1" == "prota_CHECKGRAD" ] || [ "$1" == "1DKZcut-checkgrad" ] || [ "$1" == "checkgrad_dfa" ] ; then diff=`gawk -f checkgrad.awk $file |grep 'Largest abs(1-numerical/analytical)='|awk '{printf "%15.10f",$3}'` gawk -f checkgrad.awk $file if [ `echo "a=${diff};a>0.0003"|bc -l` != "0" ]; then - echo 'ERROR largest abs(numerical/analytical)' ${diff} + echo 'ERROR largest abs(1-numerical/analytical)' ${diff} echo ' greater than 0.0003' exit 1 else exit 0 fi +elif [ "$1" == "Ts866_checkgrad_full" ] ; then + diff=`gawk -f checkgrad.awk $file |grep 'Largest abs(1-numerical/analytical)='|awk '{printf "%15.10f",$3}'` + gawk -f checkgrad.awk $file + + exit_error=0 + ene=`grep ETOT $file|head -1| awk '{print $2*1.0}'` + hene=`grep H_CONS $file|head -1| awk '{print $2*1.0}'` + + ene_ref=3132.980 + hene_ref=1878.060 + + echo "ETOT= " ${ene} " reference= " ${ene_ref} + if [ `echo "a=${ene}-(${ene_ref});if(0>a)a*=-1;a>0.01"|bc -l` != "0" ]; then + echo 'difference ' `echo "a=${ene}-${ene_ref};if(0>a)a*=-1;a"|bc -l` "from reference etot ${ene_ref} greater than 0.01" + exit_error=1 + fi + + echo "H_CONS= " ${hene} " reference= " ${hene_ref} + if [ `echo "a=${hene}-(${hene_ref});if(0>a)a*=-1;a>0.01"|bc -l` != "0" ]; then + echo 'difference ' `echo "a=${hene}-${hene_ref};if(0>a)a*=-1;a"|bc -l` "from reference etot ${hene_ref} greater than 0.01" + exit_error=1 + fi + + + if [ `echo "a=${diff};a>0.0020"|bc -l` != "0" ]; then + echo 'ERROR largest abs(1-numerical/analytical)' ${diff} + echo ' greater than 0.0020' + exit_error=1 + fi + + if [ "${exit_error}" == "1" ]; then + exit 1 + else + exit 0 + fi + + elif [ "$1" == "remd_dfa" ]; then rm -rf remd_all.stat tail -q -n +100 remd_dfa*.stat >remd_all.stat -- 1.7.9.5