#====================================================================================== # Now call the function with the relevant arguments. # There are many models to test here. A brief definition is given for each, but the actual # models are defined in the Models_2D.py script. The first 15 were implemented in Portik # et al. 2016 (doi: 10.1111/mec.14266), the following 9 are newer for various projects. # Here it is set up to call each model one by one sequentially, which could finish relatively quickly. # If it takes too long, create multiple verisions of this script, block out some models (use hashes or delete), # and execute one version for every core you have available. It will greatly speed up these steps, # and sometimes if extrapolations fail the script will crash too and this could prevent it from # happening too many times. # Standard neutral model, populations never diverge Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "no_divergence") # Split into two populations, no migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "no_mig") # Split into two populations, with continuous symmetric migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "sym_mig") # Split into two populations, with continuous asymmetric migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "asym_mig") # Split with continuous symmetric migration, followed by isolation. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "anc_sym_mig") # Split with continuous asymmetric migration, followed by isolation.
pts = [30, 40, 50] #prefix for output file naming outfile = "C-O" #spectrum object name (we defined this above) fs = fs_1 #integer to control number of replicates per model reps = int(30) #max number of iterations per optimization step (though see dadi user group for explanation) maxiter = int(20) #====================================================================================== # Call the function with the relevant arguments. # 1 Standard neutral model, populations never diverge Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "no_divergence") # 2 Split into two populations, no migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "no_mig") # 3 Split into two populations, with continuous symmetric migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "sym_mig") # 4 Split into two populations, with continuous asymmetric migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "asym_mig") #=========================================================================== #clock the amount of time to complete the script t_finish = datetime.now() elapsed = t_finish - t_begin print '\n', '\n', "-----------------------------------------------------------------------------------------------------"
# Prepare settings to run the optimization round 2 function defined in the # script 'Optimize_Functions.py'. #************** #spectrum object name (as defined above) fs = fs_1 #integer to control number of replicates per model reps = int(30) #max number of iterations per optimization step (though see dadi user group for explanation) maxiter = int(20) #====================================================================================== # Call the function with the relevant arguments. # Divergence with no migration Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "no_mig", no_mig_params) # Split into two populations, with continuous symmetric migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "sym_mig", sym_mig_params) # Split into two populations, with continuous asymmetric migration. Optimize_Functions.Optimize_Round1(pts, fs, outfile, reps, maxiter, "asym_mig", asym_mig_params) #=========================================================================== #clock the amount of time to complete the script t_finish = datetime.now() elapsed = t_finish - t_begin print '\n', '\n', "-----------------------------------------------------------------------------------------------------" print "Finished all analyses!"