SHELL=bash

Ns=[1000,3600,14400]
ms=[75,150,300]
seeds=[$(shell seq -s, 1 250)]
explained_variances=[0.1]

all:remembr.RDS

srun=srun -A comdata -p compute-bigmem --time=6:00:00 --mem 4G -c 1


joblists:example_1_jobs example_2_jobs example_3_jobs

# test_true_z_jobs: test_true_z.R simulation_base.R
# 	grid_sweep.py --command "Rscript test_true_z.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["test_true_z.feather"], "y_explained_variancevari":${explained_variances}, "Bzx":${Bzx}}' --outfile test_true_z_jobsb

# test_true_z.feather: test_true_z_jobs 
# 	rm -f test_true_z.feather
# 	sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 test_true_z_jobs
# 	sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 test_true_z_jobs


example_1_jobs: 01_two_covariates.R simulation_base.R
	grid_sweep.py --command "Rscript 01_two_covariates.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_1.feather"], "y_explained_variance":${explained_variances}, "Bzx":[0.1]}' --outfile example_1_jobs

example_1.feather: example_1_jobs 
	rm -f example_1.feather
	sbatch --wait --verbose --array=1-$(shell cat example_1_jobs | wc -l) run_simulation.sbatch 0 example_1_jobs
#	sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_1_jobs

example_2_jobs: 02_indep_differential.R simulation_base.R
	grid_sweep.py --command "Rscript 02_indep_differential.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2.feather"],"y_explained_variance":${explained_variances}, "accuracy_imbalance_difference":[0.3], "Bzy":[0.3]}' --outfile example_2_jobs

example_2.feather: example_2_jobs 
	rm -f example_2.feather
	sbatch --wait --verbose --array=1-$(shell cat example_2_jobs | wc -l) run_simulation.sbatch 0 example_2_jobs
#	sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_2_jobs

# example_2_B_jobs: example_2_B.R
# 	grid_sweep.py --command "Rscript example_2_B.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2_B.feather"]}' --outfile example_2_B_jobs

# example_2_B.feather: example_2_B_jobs
# 	rm -f example_2_B.feather
# 	sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_2_B_jobs

example_3_jobs: 03_depvar_differential.R simulation_base.R
	grid_sweep.py --command "Rscript 03_depvar_differential.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_3.feather"], "y_explained_variance":${explained_variances}}' --outfile example_3_jobs

example_3.feather: example_3_jobs
	rm -f example_3.feather	
	sbatch --wait --verbose --array=1-$(shell cat example_3_jobs | wc -l)  run_simulation.sbatch 0 example_3_jobs


remembr.RDS:example_1.feather example_2.feather example_3.feather plot_example.R plot_dv_example.R
	rm -f remembr.RDS
	${srun} Rscript plot_example.R --infile example_1.feather --name "plot.df.example.1"
	${srun} Rscript plot_example.R --infile example_2.feather --name "plot.df.example.2"
	${srun} Rscript plot_dv_example.R --infile example_3.feather --name "plot.df.example.3"

clean:
	rm *.feather
	rm -f remembr.RDS
	rm -f example_*_jobs
#	sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_2_B_jobs

# example_2_B_mecor_jobs:
# 	grid_sweep.py --command "Rscript example_2_B_mecor.R" --arg_dict '{"N":${Ns},"m":${ms}, "seed":${seeds}, "outfile":["example_2_B_mecor.feather"]}' --outfile example_2_B_mecor_jobs

# example_2_B_mecor.feather:example_2_B_mecor.R example_2_B_mecor_jobs
# 	rm -f example_2_B_mecor.feather
# 	sbatch --wait --verbose --array=1-3000 run_simulation.sbatch 0 example_2_B_mecor_jobs
# 	sbatch --wait --verbose --array=3001-6001 run_simulation.sbatch 0 example_2_B_mecor_jobs