#!/bin/sh #SBATCH -o homeostasis-G-CONV-%a.stdout #SBATCH -e homeostasis-G-CONV-%a.stderr ##MAIN>> #SBATCH -t 13-23:59:59 #SBATCH -p defq -N 1 #<<<<<< #DB>> # SBATCH -t 4:00:00 # SBATCH -p debug-cpu -N 1 #<<<< #SHORT>> # SBATCH -t 23:59:59 # SBATCH -p short -N 1 #<<<<<<< #SBATCH -J LGN-TRN module load gcc module load openmpi/gcc/64/4.1.0 module load gsl/2.6 module load hdf5/1.10.5 PATH=$HOME/.local/bin:$HOME/bin:$PATH LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH export PATH LD_LIBRARY_PATH date TMPDIR="/tmp" PREFIX="homeostasis-G" KEYLET="CONV" SIMPRMS="/Figures/enable=False /sim/parallel=4" TRARGETFD="0.50" TIMESTAMP=$(date "+%Y%m%d-%H%M%S") PREFIX=$PREFIX-$KEYLET-TFR$TRARGETFD worker(){ SIGMA=$1 R=$2 PPREFIX=$PREFIX-$(printf "SIGMA%02d" $SIGMA) POSTFIX=R$R PREFTMPST=$PPREFIX-NMDA-$POSTFIX rm -f $PREFTMPST.log $TMPDIR/$PREFTMPST.stkdata $TMPDIR/$PREFTMPST-simstate.stkdata $PREFTMPST-FR.json $PREFTMPST.stkdb python dLGNnetwork.py -l DEBUG -L $PREFTMPST.log \ -o $PREFTMPST.stkdb -m NMDA\ PREFIX:$PREFTMPST\ CON:$SIGMA\ I:0 \ $SIMPRMS /sim/record/cont=False \ /network/load=False /network/save=False \ /sim/Tmax=-1 \ $NRNPRMS \ /network/gj/geom/p=0 /block/gjcon=True $GJPRMS \ /network/syn/geom/unit=\'G\' /network/syn/geom/pmax=1 /network/syn/geom/sig=float\($SIGMA\) \ /network/syn/gsyn=-1. /network/syn/sig2gsyn=float\($SIGMA\) /network/syn/rand=False \ /network/trn/enable=False /network/cx/enable=False \ /network/home/enable=True /network/home/continue=False /network/home/slope=0.05 /network/home/gmax=-10. /network/home/target_fr=$TRARGETFD \ /sim/record/file=\'$TMPDIR/$PREFTMPST-ndata.stkdata\' /sim/record/gsyn=True \ /FR/Overall=\"$PREFTMPST-FR.json\" \ /sim/state/save=\'$TMPDIR/$PREFTMPST-simstate.stkdata\' \ /sim/timestamp=\"SLURM$SLURM_ARRAY_TASK_ID-$PREFTMPST-I00\" \ || { echo "FAILED I00"; exit 1 ; } let i=0 while python FRchecker.py $PREFTMPST-FR.json $TRARGETFD do let i=$i+1 python dLGNnetwork.py -l DEBUG -L $PREFTMPST.log \ -o $PREFTMPST.stkdb -m NMDA\ PREFIX:$PREFTMPST\ CON:$SIGMA\ I:$i \ $SIMPRMS /sim/record/cont=False \ /network/load=False /network/save=False \ /sim/Tmax=-1 \ $NRNPRMS \ /network/gj/geom/p=0 /block/gjcon=True $GJPRMS \ /network/syn/geom/unit=\'G\' /network/syn/geom/pmax=1 /network/syn/geom/sig=float\($SIGMA\) \ /network/syn/gsyn=-1. /network/syn/sig2gsyn=float\($SIGMA\) /network/syn/rand=False \ /network/trn/enable=False /network/cx/enable=False \ /network/home/enable=True /network/home/continue=False /network/home/slope=0.05 /network/home/gmax=-10. /network/home/target_fr=$TRARGETFD \ /sim/record/file=\'$TMPDIR/$PREFTMPST-ndata.stkdata\' /sim/record/gsyn=True \ /FR/Overall=\"$PREFTMPST-FR.json\" \ /sim/state/load=\'$TMPDIR/$PREFTMPST-simstate.stkdata\' /sim/state/save=\'$TMPDIR/$PREFTMPST-simstate.stkdata\' \ /sim/timestamp=\"SLURM$SLURM_ARRAY_TASK_ID-$PREFTMPST-I$(printf "%02d" $i)\" \ || { echo "FAILED I$i" ; exit 1 ; } (($i>11))&& break done PREFTMPST=$PPREFIX-AMPA-$POSTFIX rm -f $PREFTMPST.log $TMPDIR/$PREFTMPST.stkdata $TMPDIR/$PREFTMPST-simstate.stkdata $PREFTMPST-FR.json $PREFTMPST.stkdb python dLGNnetwork.py -l DEBUG -L $PREFTMPST.log \ -o $PREFTMPST.stkdb -m NMDA\ PREFIX:$PREFTMPST\ CON:$SIGMA\ I:0 \ $SIMPRMS /sim/record/cont=False \ /network/load=False /network/save=False \ /sim/Tmax=-1 \ $NRNPRMS \ /network/gj/geom/p=0 /block/gjcon=True $GJPRMS \ /network/syn/geom/unit=\'G\' /network/syn/geom/pmax=1 /network/syn/geom/sig=float\($SIGMA\) \ /network/syn/gsyn=-1. /network/syn/sig2gsyn=float\($SIGMA\) /network/syn/rand=False \ /network/syn/NMDA/p=0. \ /network/trn/enable=False /network/cx/enable=False \ /network/home/enable=True /network/home/continue=False /network/home/slope=0.05 /network/home/gmax=-10. /network/home/target_fr=$TRARGETFD \ /sim/record/file=\'$TMPDIR/$PREFTMPST-ndata.stkdata\' /sim/record/gsyn=True \ /FR/Overall=\"$PREFTMPST-FR.json\" \ /sim/state/save=\'$TMPDIR/$PREFTMPST-simstate.stkdata\' \ /sim/timestamp=\"SLURM$SLURM_ARRAY_TASK_ID-$PREFTMPST-I00\" \ || { echo "FAILED I00"; exit 1 ; } let i=0 while python FRchecker.py $PREFTMPST-FR.json $TRARGETFD do let i=$i+1 python dLGNnetwork.py -l DEBUG -L $PREFTMPST.log \ -o $PREFTMPST.stkdb -m NMDA\ PREFIX:$PREFTMPST\ CON:$SIGMA\ I:$i \ $SIMPRMS /sim/record/cont=False \ /network/load=False /network/save=False \ /sim/Tmax=-1 \ $NRNPRMS \ /network/gj/geom/p=0 /block/gjcon=True $GJPRMS \ /network/syn/geom/unit=\'G\' /network/syn/geom/pmax=1 /network/syn/geom/sig=float\($SIGMA\) \ /network/syn/gsyn=-1. /network/syn/sig2gsyn=float\($SIGMA\) /network/syn/rand=False \ /network/syn/NMDA/p=0. \ /network/trn/enable=False /network/cx/enable=False \ /network/home/enable=True /network/home/continue=False /network/home/slope=0.05 /network/home/gmax=-10. /network/home/target_fr=$TRARGETFD \ /sim/record/file=\'$TMPDIR/$PREFTMPST-ndata.stkdata\' /sim/record/gsyn=True \ /FR/Overall=\"$PREFTMPST-FR.json\" \ /sim/state/load=\'$TMPDIR/$PREFTMPST-simstate.stkdata\' /sim/state/save=\'$TMPDIR/$PREFTMPST-simstate.stkdata\' \ /sim/timestamp=\"SLURM$SLURM_ARRAY_TASK_ID-$PREFTMPST-I$(printf "%02d" $i)\" \ || { echo "FAILED I$i" ; exit 1 ; } (($i>11))&& break done echo "$PPREFIX-NMDA/AMPA-$POSTFIX : finished main ran" pushd $TMPDIR && \ { localpid=() xz -T0 -9 $PPREFIX-NMDA-$POSTFIX-ndata.stkdata & localpid+=($!) xz -T0 -9 $PPREFIX-AMPA-$POSTFIX-ndata.stkdata & localpid+=($!) xz -T0 -9 $PPREFIX-NMDA-$POSTFIX-simstate.stkdata & localpid+=($!) xz -T0 -9 $PPREFIX-AMPA-$POSTFIX-simstate.stkdata & localpid+=($!) for pid in ${localpid[*]}; do wait $pid; done ; } popd && \ for i in $TMPDIR/$PPREFIX-*-$POSTFIX*.stkdata.xz do mv $i . done && \ localpid=() zip -r $PREFTMPST-scripts-log-FR.zip \ *.py lmods mods simtoolkit Maccione2014_P9_29March11_control_SpkTs_bursts_filtered.h5 \ P07-selected-checked-gmin.json selectedP07N04v05.json \ $PPREFIX-*-$POSTFIX-FR.json $PPREFIX-*-$POSTFIX.log $PPREFIX-*-$POSTFIX.stkdb\ $0 & localpid+=($!) xz -9 $PREFTMPST-NMDA.log & localpid+=($!) xz -9 $PREFTMPST-AMPA.log & localpid+=($!) xz -9 $PREFTMPST-NMDA-blockTRN.log & localpid+=($!) xz -9 $PREFTMPST-AMPA-blockTRN.log & localpid+=($!) for pid in ${localpid[*]}; do wait $pid; done && \ echo "$PPREFIX-NMDA/AMPA-$POSTFIX : data has been arXived" } pids=() for REP in $(seq 0 9) do worker $SLURM_ARRAY_TASK_ID $REP & pids+=($!) done for pid in ${pids[*]}; do wait $pid; done cp homeostasis-G-CONV-$SLURM_ARRAY_TASK_ID.stdout $PREFIX-SIGMA$(printf "%02d" $SLURM_ARRAY_TASK_ID)-RX-$TIMESTAMP.stdout && \ cp homeostasis-G-CONV-$SLURM_ARRAY_TASK_ID.stderr $PREFIX-SIGMA$(printf "%02d" $SLURM_ARRAY_TASK_ID)-RX-$TIMESTAMP.stderr && \ xz -9 $PREFIX-SIGMA$(printf "%02d" $SLURM_ARRAY_TASK_ID)-RX-$TIMESTAMP.stdout $PREFIX-N$(printf "%02d" $SLURM_ARRAY_TASK_ID)-RX-$TIMESTAMP.stderr && \ echo 'FINISHED @'$(date)