Hello!
I'm trying to generate a model where the population went through a bottleneck from gens. (ago) 200,000-30,000, but then expanded from 20,000 gens. ago until the present. My problem is that when you initialize a population at time = 0 with add_population(), you have to give it an initial_size value. However, I want the value at present time/gen. 0 to be whatever the result is since expanding began 20,000 gens. ago. This is what I currently have:
demography = msprime.Demography()
demographic_events=[
demography.add_population(name="All", initial_size = 500), #Size at t=0, recent
#Historic bottleneck, followed by growth
demography.add_population_parameters_change(time=0, population="All", growth_rate=0.01), #population growth from 20k years ago to present
demography.add_population_parameters_change(time=20000, population="All", growth_rate=0.0),
demography.add_instantaneous_bottleneck(time=30000, population="All", strength=170000), #bottleneck of 170k years/gens
demography.add_population_parameters_change(time=200000, population="All", initial_size=100000)
]
So is there a way to have the current size at gen. 0 just be the result of the expansion and not specified by the user with the "initial_size" argument?
Also, tangentially, I believe all population size references are in Ne units, not Nc, except for the sample numbers that refer to either monoploid genomes or individuals?
Thanks!
Jared