#!/bin/bash
# This program runs the Ubermodel in batch mode.
#
# Instructions:
# runsim [filename] [duration] [simsize] etc.
#
# Example: runsim foo 120 8
# which runs a 4000-cell sim for 120 s and saves to foo-spk.txt etc.
#
# Version: 2012jun19
tic=`date +%s` # Get current time
cd `dirname $0` # Make sure we're n the right directory
# Handle input arguments
filestem=${1}; if [ -z $filestem ]; then filestem="stimdata/testsim"; fi # Name of file stem
param1=${2}; if [ -z $param1 ]; then param1=0; fi # parameter 1
param2=${3}; if [ -z $param2 ]; then param2=0; fi # parameter 2
param3=${4}; if [ -z $param3 ]; then param3=0; fi # parameter 3
param4=${5}; if [ -z $param4 ]; then param4=0; fi # parameter 4
param5=${6}; if [ -z $param5 ]; then param5=0; fi # parameter 5
param6=${7}; if [ -z $param6 ]; then param6=0; fi # parameter 6
param7=${8}; if [ -z $param7 ]; then param7=0; fi # parameter 7
param8=${9}; if [ -z $param8 ]; then param8=0; fi # parameter 8
param9=${10}; if [ -z $param9 ]; then param9=0; fi # parameter 9
param10=${11}; if [ -z $param10 ]; then param10=0; fi # parameter 10
param11=${12}; if [ -z $param11 ]; then param11=0; fi # parameter 11
param12=${13}; if [ -z $param12 ]; then param12=0; fi # parameter 12
param13=${14}; if [ -z $param13 ]; then param13=0; fi # parameter 13
param14=${15}; if [ -z $param14 ]; then param14=0; fi # parameter 14
param15=${16}; if [ -z $param15 ]; then param15=0; fi # parameter 15
param16=${17}; if [ -z $param16 ]; then param16=0; fi # parameter 16
param17=${18}; if [ -z $param17 ]; then param17=0; fi # parameter 17
param18=${19}; if [ -z $param18 ]; then param18=0; fi # parameter 18
param19=${20}; if [ -z $param19 ]; then param19=0; fi # parameter 19
param20=${21}; if [ -z $param20 ]; then param20=0; fi # parameter 20
param21=${22}; if [ -z $param21 ]; then param21=0; fi # parameter 21
target=${23}; if [ -z $target ]; then target=0; fi # target
inputseed=${24}; if [ -z $inputseed ]; then inputseed=1; fi # Input seed
wireseed=${25}; if [ -z $wireseed ]; then wireseed=1; fi # Wiring seed
calcErr=${26}; if [ -z $calcErr ]; then calcErr=0; fi # calcerrseed
mistparam1=${27}; if [ -z $mistparam1 ]; then mistparam1=""; fi # mistparam1
# Find NEURON
NEURON=nrniv
# Run the simulation
echo $NEURON -c "inputseed=$inputseed" -c "dvseed=$wireseed" -c "strdef filestem" -c "filestem=\"$filestem\"" -c "param1 = $param1" -c "param2 = $param2" -c "param3 = $param3" -c "param4 = $param4" -c "param5 = $param5" -c "param6 = $param6" -c "param7 = $param7" -c "param8 = $param8" -c "param9 = $param9" -c "param10 = $param10" -c "param11 = $param11" -c "param12 = $param12" -c "param13 = $param13" -c "param14 = $param14" -c "param15 = $param15" -c "param16 = $param16" -c "param17 = $param17" -c "param18 = $param18" -c "param19 = $param19" -c "param20 = $param20" -c "param21 = $param21" -c "ptarget = $target" -c "calcErr = $calcErr" -c "strdef mistparam1" -c "mistparam1=\"$mistparam1\"" main_stim.hoc #>> $codefile # Set and run
$NEURON -c "inputseed=$inputseed" -c "dvseed=$wireseed" -c "strdef filestem" -c "filestem=\"$filestem\"" -c "param1 = $param1" -c "param2 = $param2" -c "param3 = $param3" -c "param4 = $param4" -c "param5 = $param5" -c "param6 = $param6" -c "param7 = $param7" -c "param8 = $param8" -c "param9 = $param9" -c "param10 = $param10" -c "param11 = $param11" -c "param12 = $param12" -c "param13 = $param13" -c "param14 = $param14" -c "param15 = $param15" -c "param16 = $param16" -c "param17 = $param17" -c "param18 = $param18" -c "param19 = $param19" -c "param20 = $param20" -c "param21 = $param21" -c "ptarget = $target" -c "calcErr = $calcErr" -c "strdef mistparam1" -c "mistparam1=\"$mistparam1\"" main_stim.hoc #>> $codefile # Set and run
echo 'Simulation complete...'
elapsed=$(( `date +%s` - tic )) # Find out elapsed time
echo "runsim: done; elapsed time: $elapsed s." # | tee -a $codefile # Send elapsed time to display, and also save to sim file
|