#!/bin/bash

# Script to submit freesurfer batch jobs to the  cluster 


scratch=$HOME/FreeSurfer/FreeSurfer_analysis

#freesurfer jobs folder where subject scripts and output is generated

jobs=$HOME/FreeSurfer/FreeSurfer_analysis/jobs

#directory where subjects to process must be copied to

sub=$SUBJECTS_DIR

mkdir $jobs



read -p "Enter the subject ids for analysis separated by a space: " patientid

patient=($patientid)

for i in ${patient[@]}
do

function run-recon12() {
cd $scratch

unset SUBJECTS_DIR
SUBJECTS_DIR=$sub
export SUBJECTS_DIR
cat > $jobs/recon12-$i.sh <<EOF 
#!/bin/bash
#!/bin/usr/perl
#$ -S /bin/bash
#$ -cwd
#
#$ -N recon-all-$patient
# Set the hard and soft run time limits (ex: 1hour/58 min)
#$ -l h_rt=30:00:00,s_rt=29:55:00
#$ -j y
#$ -M YOUR_EMAIL_ADDRESS
#$ -m eas

# set up FreeSurfer environment variables to export to Cluster Node

FREESURFER_HOME=/usr/local/freesurfer_v5.0.0 ; export FREESURFER_HOME
source $FREESURFER_HOME/SetUpFreeSurfer.sh
FSFAST_HOME=/usr/local/freesurfer_v5.0.0/fsfast ; export FSTAT_HOME
FSF_OUTPUT_FORMAT=nii ; export FSF_OUTPUT_FORMAT
SUBJECTS_DIR=$HOME/FreeSurfer/FreeSurfer_analysis ; export SUBJECTS_DIR
MNI_DIR=/usr/local/freesurfer/mni ; export MNI_DIR
FSL_DIR=/usr/local/fsl ; export FSL_DIR
PATH=$FREESURFER_HOME/bin:$FSFAST_HOME/bin:$MNI_DIR/bin:$FSL_DIR/bin:/usr/bin/perl:$PATH export PATH

#add freesurfer process you would like to run

sleep 10

recon-all -subjid $i -localGI

EOF


pushd $jobs
script=recon12-$i.sh
echo "submitting job $script"

#submit job to freesurfer queue

qsub -q freesurfer.q $script 

popd
}
run-recon12

done
