def visual_validation():
"""
Simulations with a simple model and extreme parameter values, to check
functionality and build intuition.
"""
demo_params = [2,2,0.2,0] #nu1, nu2, T, m
ns, pts_l = [10,10], [30,35,40]
s1 = Cache1D(demo_params, ns, DemogSelModels.split_mig_sel_single_gamma, pts=pts_l,
gamma_pts=30, gamma_bounds=(1e-4, 200), mp=True, additional_gammas=[10])
s2 = Cache2D(demo_params, ns, DemogSelModels.split_mig_sel, pts=pts_l,
gamma_pts=30, gamma_bounds=(1e-4, 200), mp=True, additional_gammas=[10])
alpha, beta, gamma_pos = 0.2, 10, 10
import matplotlib.pyplot as plt
fig = plt.figure(10, figsize=(10,8))
fig.clear()
axw = fig.add_subplot(3,2,5)
axd = fig.add_subplot(3,2,6)
# alpha, beta, ppos_wild, gamma_pos, pchange, pchange_pos
fs = Vourlaki_mixture([alpha, beta, 0, gamma_pos, 0, 0], None, s1, s2, 1.0, None)
ax = fig.add_subplot(3,2,1); dadi.Plotting.plot_single_2d_sfs(fs, ax=ax)
ax.set_title('ppos_wild=0.0, pchange=0.0, pchange_pos=0.0')
ax.text(0.02,0.98,'A', fontsize='x-large', va='top', transform=ax.transAxes)
fsw, fsd = fs.filter_pops(tokeep=[1]), fs.filter_pops(tokeep=[2])
axw.semilogy(fsw, '-o', label='A'); axd.semilogy(fsd, '-o', label='A')
# alpha, beta, ppos_wild, gamma_pos, pchange, pchange_pos
fs = Vourlaki_mixture([alpha, beta, 1.0, gamma_pos, 0, 0], None, s1, s2, 1.0, None)
ax = fig.add_subplot(3,2,2); dadi.Plotting.plot_single_2d_sfs(fs, ax=ax)
ax.set_title('ppos_wild=1.0, pchange=0.0, pchange_pos=0.0')
ax.text(0.02,0.98,'B', fontsize='x-large', va='top', transform=ax.transAxes)
fsw, fsd = fs.filter_pops(tokeep=[1]), fs.filter_pops(tokeep=[2])
axw.semilogy(fsw, '-o', label='B'); axd.semilogy(fsd, '-o', label='B')
# alpha, beta, ppos_wild, gamma_pos, pchange, pchange_pos
fs = Vourlaki_mixture([alpha, beta, 0.0, gamma_pos, 1.0, 0], None, s1, s2, 1.0, None)
ax = fig.add_subplot(3,2,3); dadi.Plotting.plot_single_2d_sfs(fs, ax=ax)
ax.set_title('ppos_wild=0.0, pchange=1.0, pchange_pos=0.0')
ax.text(0.02,0.98,'C', fontsize='x-large', va='top', transform=ax.transAxes)
fsw, fsd = fs.filter_pops(tokeep=[1]), fs.filter_pops(tokeep=[2])
axw.semilogy(fsw, '-o', label='C'); axd.semilogy(fsd, '-o', label='C')
# alpha, beta, ppos_wild, gamma_pos, pchange, pchange_pos
# This makes me think I got m4, m7 backwards
fs = Vourlaki_mixture([alpha, beta, 0.0, gamma_pos, 1.0, 0.9], None, s1, s2, 1.0, None)
ax = fig.add_subplot(3,2,4); dadi.Plotting.plot_single_2d_sfs(fs, ax=ax)
ax.set_title('ppos_wild=0.0, pchange=1.0, pchange_pos=0.9')
ax.text(0.02,0.98,'D', fontsize='x-large', va='top', transform=ax.transAxes)
fsw, fsd = fs.filter_pops(tokeep=[1]), fs.filter_pops(tokeep=[2])
axw.semilogy(fsw, '-o', label='D'); axd.semilogy(fsd, '-o', label='D')
axw.set_title('wild'); axd.set_title('domesticate')
axw.legend(); axd.legend()
fig.tight_layout()
fig.savefig('validation.pdf')
plt.show()