#!/bin/bash
# this shell script sets the search path for NEURON to include the following directories
# and then opens the special executable generated by nrnivmodl
# --- The following 3 lines setup the nrn and python paths. modify and (un)commented as needed ---
export PYTHONPATH=/Applications/NEURON-7.7/nrn/lib/python #added by NEURON installer
export PYTHONHOME="/Library/Frameworks/Python.framework/Versions/2.7" #added by NEURON installer
export LD_LIBRARY_PATH="/Library/Frameworks/Python.framework/Versions/2.7/lib:$LD_LIBRARY_PATH" #added by NEURON installer
currwd=`pwd` # store the current working directory before changing it
scriptpath=$0
nrndir=${scriptpath%/*}
modelfile=$1
NRNBASE=$nrndir
execdir="$nrndir/x86_64"
echo "Setting NRNBASE to: $NRNBASE"
echo "Using nrn executable: $execdir"
echo "Using model init file: $modelfile"
export NRNBASE
# speficy path for local nrn files
export HOC_LIBRARY_PATH=$NRNBASE:$NRNBASE/library
cd ${NRNBASE}
# check if x86_64 directory exists
if [[ ! -d ${execdir} ]]; then
if [[ -d ./mods ]]; then
# create new nrn special executable and run init.hoc
echo "Executable directory 'x86_64' not found. Creating new nrn executable with nrnivmodl"
nrnivmodl ./mods
else
execdir="$nrngui"
fi
# cd ${currdir}
fi
# run special and load libinit.hoc
if [[ -d ${execdir} ]]; then
if test $# = 0; then
$execdir/special ./libinit.hoc -
else
$execdir/special ./libinit.hoc -c "load_file(\"$modelfile\")" -
fi
else
echo "Neuron executable not found.\n"
fi
cd ${currwd}
|