#!/bin/bash
if [ $# -lt 1 ] ; then
	echo "Script generates the FauxLoanData";
	exit 1;

else
	echo "Obtaining Faux Loan Data for subsample given by argument 2"
	echo "Code written by Mark Rempel"
fi
script=$1
inputfile=$2
paramList=$3
outputfile=$4
inputfile2=$5
paramfile=$(cat $paramList)
. ./$paramList # read the parameters listed in paramList by line
Seed=${Seed:-192654}
params="$(echo -e "${paramfile}" | tr -d '[[:space:]]')" # remove whitespace between parameters
cmd1="addpath('KNN');lvtsdatafile='$inputfile';$params;Nchunks;" 
lvtsdatafile2="${inputfile%.csv}"
lvtsdatafile2=$lvtsdatafile2.mat

if [[ $inputefile =~ \.csv ]] ; then
	echo "Input payments file taken to be .mat"
	cmd2="rng(Seed);load(lvtsdatafile);lvtsdatafile='$lvtsdatafile2';load('$inputfile2');FurfineData=Loans(Loans(:,22)==0,:);run('$script');FauxLoans=TrainedDataI((size(FurfineData,1)+1):end,:);TrueLoans=TrainedDataI(1:size(FurfineData,1),:);save('$outputfile.mat','FauxLoans','TrueLoans');dlmwrite('$outputfile.csv',FauxLoans,'precision',14,'delimiter',',');exit;" # NOTE: matlab will crash if whitespace is included within this cmd, (unless you load the relevant module below):
                        #. /usr/share/modules/init/bash
                        #modules load matlab/R2014a
else
	echo "Input payments file taken as csv"
	cmd2="rng(Seed);lvts=R_recv_matrix(lvtsdatafile);lvtsdatafile='$lvtsdatafile2';load('$inputfile2');FurfineData=Loans(Loans(:,22)==0,:);run('$script');FauxLoans=TrainedDataI((size(FurfineData,1)+1):end,:);TrueLoans=TrainedDataI(1:size(FurfineData,1),:);save('$outputfile.mat','FauxLoans','TrueLoans');dlmwrite('$outputfile.csv',FauxLoans,'precision',14,'delimiter',',');exit;" # NOTE: matlab will crash if whitespace is included within this cmd, (unless you load the relevant module below):
fi

cmd1="$(echo -e "${cmd1}" | tr -d '[[:space:]]')"
cmd2="$(echo -e "${cmd2}" | tr -d '[[:space:]]')"
echo "Parameters loaded in: "
echo $cmd1
cmds="$cmd1;$cmd2;"
matlab -nosplash -nodesktop -nodisplay -r $cmds
