#====================================================================================== # 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_Round3(pts, fs, outfile, reps, maxiter, "no_divergence", no_divergence_params) # Split into two populations, no migration. Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter, "no_mig", no_mig_params) # Split into two populations, with continuous symmetric migration. Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter, "sym_mig", sym_mig_params) # Split into two populations, with continuous asymmetric migration. Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter, "asym_mig", asym_mig_params) # Split with continuous symmetric migration, followed by isolation. Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter,
#spectrum object name (we defined this above) fs = fs_1 #integer to control number of replicates per model reps = int(50) #max number of iterations per optimization step (though see dadi user group for explanation) maxiter = int(50) #====================================================================================== # Now call the function with the relevant arguments. # Standard neutral model, populations never diverge #Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter, "no_divergence", no_divergence_params) # Split into two populations, no migration. Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter, "no_mig", no_mig_params) # Split into two populations, with continuous symmetric migration. Optimize_Functions.Optimize_Round3(pts, fs, outfile, reps, maxiter, "sym_mig", sym_mig_params) # Split into two populations, with continuous asymmetric migration. Optimize_Functions.Optimize_Round3(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!" print "Total time: {0} (H:M:S)".format(elapsed)