# Filter and mask simulated data, then compress to JLSO
nohup julia ./filter_and_mask.jl > filter_and_mask.out &

# compress reference file to m3vcf/bref3/imp5
nohup Minimac3 --refHaps ref.excludeTarget.vcf.gz --processReference --prefix ref.excludeTarget > minimac3.m3vcf.out & 
java -jar bref3.18May20.d20.jar ref.excludeTarget.vcf.gz > ref.excludeTarget.bref3

# Prephase with Beagle 5.1 (minimac4 requires prephased data)
nohup /usr/bin/time java -Xmx60g -jar beagle.18May20.d20.jar gt=target.typedOnly.maf0.05.masked.vcf.gz ref=ref.excludeTarget.bref3 out=target.prephased impute=false nthreads=10 > prephase.beagle.log &

# generate imp5 reffile and BGZF compress target to satisfy impute5 (first BGZF compress, index with tabix)
gunzip ref.excludeTarget.vcf.gz
nohup bgzip -c ref.excludeTarget.vcf > ref.excludeTarget.vcf.gz &
rm ref.excludeTarget.vcf
tabix -fp vcf ref.excludeTarget.vcf.gz
tabix -fp vcf target.prephased.vcf.gz
imp5 --h ref.excludeTarget.vcf.gz --r 1 --o ref.excludeTarget.imp5 --threads 10

# Run MendelImpute
nohup /usr/bin/time julia ./impute.jl > mendel.impute.d1000.out &

# Run Minimac4
/usr/bin/time nohup minimac4 --refHaps ref.excludeTarget.m3vcf.gz --haps target.prephased.vcf.gz --prefix minimac4.result --cpus 10 > minimac4.imputed.log & 

# Run Beagle 5.1
nohup /usr/bin/time java -Xmx60g -jar beagle.18May20.d20.jar gt=target.typedOnly.maf0.05.masked.vcf.gz ref=ref.excludeTarget.bref3 out=beagle.imputed.maf0.05 nthreads=10 > beagle.imputed.log &

# Run Impute5
nohup /usr/bin/time /home/biona001/impute5_v1.1.4/impute5_1.1.4_static --h ref.excludeTarget.imp5 --g target.prephased.vcf.gz --r 1 --o impute5.result.vcf.gz --threads 10 > impute5.out &

# Get error rate
nohup julia ./error_rate.jl > all.error.out & 
