Video from: https://bedford.io/projects/coaltrace/
1
I investigate global and regional patterns of genetic diversity in two groups of ectotherms, insects and lizards, to understand the relationship between environmental change and genetic diversity, from populations to assemblages.
Ceballos and Ehrlich 2006 PNAS 10.1073/pnas.0609334103
Leigh et al. 2022. Nat. Rev. Genet. 10.1038/s41576-021-00394-0
Latitudinal diversity gradient 1
Human disturbance 2
Climate stability 3
For each OTU, I calculated the mean number of pairwise differences between sequences
Genetic diversity mean (GDM) = the average genetic diversity among all OTUs
Genetic diversity evenness (GDE) = the evenness of genetic diversity across OTUs
High GDE -> more OTUs with a similar level of genetic diversity
Low GDE -> OTUs have very different levels of genetic diversity
1
Lee-Yaw et al. 2022. Ecography. 10.1111/ecog.05877
iDDC models establish a link from SDM suitability to abundance to genetic diversity
Distributional
Demographic
Demographic/Coalescent
Local deme size?
Migration rate?
a Python package to facilitate spatially-explicit coalescent models in msprime
Take spatial models of habitat suitability (i.e. SDMs) projected through time
Simulate the genealogy of a sample of DNA sequences backwards in time with
Baumdicker et al. 2022. Genetics. 10.1093/genetics/iyab229
spaceprime
limits coding errors and streamlines analysisspaceprime
: 174,446 eventsprojections = rasterio.open("data/projections_agg.tif")
locs = gpd.read_file("data/distincta_localities_ex.geojson")
demes = sp.raster_to_demes(projections, transformation="linear", max_local_size=1000)
d = sp.spDemography()
d.stepping_stone_2d(demes, rate=0.001, scale=True, timesteps=1000)
d.add_ancestral_populations(anc_sizes = [100000], merge_time = 23000)
sample_dict, _, _ = sp.coords_to_sample_dict(projections, locs)
ts = msprime.sim_ancestry(demography=d, samples=sample_dict, sequence_length=1e6, recombination_rate=1e-9, random_seed=43, record_provenance=False)
ts = msprime.sim_mutations(ts, rate=1e-8, random_seed=99)
msprime
: 4 eventsdemography = msprime.Demography()
demography.add_population(name="A", initial_size=10_000)
demography.add_population(name="B", initial_size=5_000)
demography.add_population(name="C", initial_size=1_000)
demography.add_population_split(time=1000, derived=["A", "B"], ancestral="C")
demography.set_symmetric_migration_rate(populations=["A", "B"], rate=0.1)
ts = msprime.sim_ancestry(samples={"A": 2, "B": 2}, demography=demography, random_seed=12)
ts = msprime.sim_mutations(ts, rate=3e-4, random_seed = 42)
spaceprime
you canspaceprime
website (will) containspaceprime
website (will) containspaceprime
is convenientspaceprime
is fastspaceprime
is accessiblespaceprime