#!/bin/bash
# # hyperparameters used in these scripts are those determined to be best in the grid search
# # synthetic begin
# # generate example NoN and python config file
julia --project=. ./SyntheticNoNs/misc/gen.jl #1
# # generate yml config file
julia --project=. ./scripts/create_yml_configs.jl #2
# # logistic regression
# # this script takes four arguments. The first is the name of the python config file generated by #1. The second is the number of epochs. The third is the approach: l1gdvm, l2gdv, or l1l2gdvmgdvconcat. The fourth is a text file containing the paths of the saved classifiers to be loaded, or "x" if you do not want to load a saved classifier.
python ./scripts/non_log_reg.py l1l2_config_2mod_0-05_0-0 1 l2gdv x #3
python ./scripts/non_log_reg.py l1l2_config_2mod_0-05_0-0 1 l2gdv ./scripts/log_reg_bestmodels.txt #4
# # sign
julia --project=. ./scripts/sign.jl --epochs 1 --config ./scripts/l1l2_config_2mod_0-05_0-0.yml #5
# # bio NoN
./scripts/run_non_gcn_wrapper.sh #6
# # synthetic end
# # biological non begin
# # For testing purposes, the following scripts only run for a single GO term. To run for all GO terms, comment out the "break" on line 315 (bio_log_reg.jl), line 389 (bio_sign.jl), and line 333 (bio_non_gcn.jl).
# # For the following scripts, --basedir and --outdir should be the location of the biological NoN, i.e., the directory that has the 'l1' and 'l2' directories
# # modes: l1gdvm, l2gdv, or l1l2gcdmgdvconcat_norm
julia --project=. ./scripts/bio_log_reg.jl --mode l2gdv --epochs 1 --basedir data/biological/ --outdir data/biological/ #7
# # mode should always be sign for the following script
julia --project=. ./scripts/bio_sign.jl --mode sign --epochs 1 --basedir data/biological/ --outdir data/biological/ #8
# # bio NoN-GCN. Recommended to run on a machine with CUDA available.
julia --project=. ./scripts/bio_non_gcn.jl --epochs 1 --basedir data/biological/ --outdir data/biological/ #9

# # the following will not work unless classification is performed for all GO terms
julia --project=. ./scripts/calcaupr.jl --mode l2gdv --basedir data/biological/ --outdir data/biological/ #10
julia --project=. ./scripts/atkmeasures.jl --mode l2gdv --basedir data/biological/ --outdir data/biological/ #11
# # multiple_test_correction.jl does not specify features, as it corrects over all features considered
julia --project=. ./scripts/multiple_test_correction.jl --basedir data/biological/ --outdir data/biological/ #12
# # biological non end

