#!/bin/bash run_qsubsweep () { # run qsubsweep and wait til jobs are done ./qsubsweep1.sh -c # compiles newnetwork and submits jobs # check to make sure that the jobs do not produce any errors Nrun=`ls simuls.e* 2>/dev/null |awk 'END {print NR}'` while (( Nrun == 0 )); do sleep 300 Nrun=`ls simuls.e* 2>/dev/null |awk 'END {print NR}'` done errorfile=`ls simuls.e* |awk 'NR==1'` if (( `cat $errorfile | awk 'END {print NR}'` > 0 )); then exit 200 fi # sleep while there are still queued jobs Nsimuls=`qstat | awk 'END {print NR}'` while (( Nsimuls > 0 )); do Nrunning=`qstat | grep r | awk 'END {print NR}'` # sleep $((Nsimuls*300/(Nrunning+10))) sleep 300 if (( `qstat |grep Eqw | awk 'END {print NR}'` > 0 )); then qstat |grep Eqw | awk '{print $1}' | xargs qdel fi Nsimuls=`qstat | awk 'END {print NR}'` done } run_checkresubmit () { # run checkresubmit until it has no effect # if the last checkresubmit produces output files, run checkresubmit again ndone=1 while (( ndone > 0 )); do ./checkresubmit.sh Nsimuls=`qstat | awk 'END {print NR}'` # wait til jobs are done while (( Nsimuls > 0 )); do Nrunning=`qstat | grep r | awk 'END {print NR}'` sleep $((Nsimuls*30/Nrunning)) if (( `qstat |grep Eqw | awk 'END {print NR}'` > 0 )); then qstat |grep Eqw | awk '{print $1}' | xargs qdel fi Nsimuls=`qstat | awk 'END {print NR}'` done ndone=`ls simul* 2>/dev/null | awk 'END {print NR}'` # check to make sure that the jobs do not produce any errors if (( ndone > 0 )); then errorfile=`ls simul.e* |awk 'NR==1'` if (( `cat $errorfile | awk 'END {print NR}'` > 0 )); then exit 200 fi fi done } ######## Commands start here ######## :<<EOC # No longer necessary because of #ifdef __APPLE__ protection on writing # ensure that output is suppressed mv main.cpp main1.cpp sed 's:\tAV_sfile.o://AV_sfile.o:' < main1.cpp > main.cpp mv main.cpp main1.cpp sed 's:\tAV_dfile.o://AV_dfile.o:' < main1.cpp > main.cpp mv main.cpp main1.cpp sed 's:\tAspikesfile.o://Aspikesfile.o:' < main1.cpp > main.cpp mv main.cpp main1.cpp sed 's:\tAtransmitfile.o://Atransmitfile.o:' < main1.cpp > main.cpp rm main1.cpp EOC run_qsubsweep run_checkresubmit :<<EOC ./qsubsweep1.sh -c Nsimuls=`qstat | awk 'END {print NR}'` while (( Nsimuls > 0 )); do Nrunning=`qstat | grep r | awk 'END {print NR}'` sleep $((Nsimuls*300/Nrunning)) done ./checkresubmit.sh Nsimuls=`qstat | awk 'END {print NR}'` while (( Nsimuls > 0 )); do Nrunning=`qstat | grep r | awk 'END {print NR}'` sleep $((Nsimuls*30/Nrunning)) done ./checkresubmit.sh Nsimuls=`qstat | awk 'END {print NR}'` while (( Nsimuls > 0 )); do Nrunning=`qstat | grep r | awk 'END {print NR}'` sleep $((Nsimuls*30/Nrunning)) done cp functions.cpp functions1.cpp sed 's|//w_in\[s\] = connect|w_in\[s\] = connect|' < functions1.cpp > functions.cpp mv main.cpp main1.cpp sed 's/eiAMPAscale=32.0/eiAMPAscale=25.0/' < main1.cpp > main.cpp ./qsubsweep1.sh -c sleep 7200 ./checkresubmit.sh sleep 2400 ./checkresubmit.sh sleep 2400 mv results/sortedsweep.dsv results/noinputtoinhibitsortedsweep.dsv mv main.cpp main1.cpp sed 's/eiAMPAscale=32.0/eiAMPAscale=25.0/' < main1.cpp > main.cpp ./qsubsweep1.sh -c sleep 7200 ./checkresubmit.sh sleep 2400 ./checkresubmit.sh sleep 2400 mv results/sortedsweep.dsv results/loweiAMPAsortedsweep.dsv EOC echo -e "\a" if [ -x nohup.out ]; then if (( `cat nohup.out | awk 'END {print NR}'` < 2 )); then rm nohup.out fi fi exit 0