Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions docs/parameter_tables/CanFam/EarlyWolfAdmixture_6F14.csv
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ Population size,"1,393","Ancestral (Israeli, Croatian) wolf pop. size"
Population size,"12,627","Ancestral ((Israeli, Croatian), Chinese) wolf pop. size"
Population size,"44,993","Ancestral (dog, wolf) pop. size"
Population size,"18,169","Ancestral ((dog, wolf), golden jackal)root pop. size"
Migration rate,0.18,"Israeli wolf -> Basenji migration rate"
Migration rate,0.07,"Basenji -> Israeli wolf migration rate"
Migration rate,0.03,"Chinese wolf -> Dingo migration rate"
Migration rate,0.04,"Dingo -> Chinese wolf migration rate"
Migration rate,0.00,"Golden jackal -> Israeli wolf migration rate"
Migration rate,0.05,"Israeli wolf -> Golden jackal migration rate"
Migration rate,0.02,"Golden jackal -> Ancestral (dog, wolf) migration rate"
Migration rate,0.99,"Ancestral (dog, wolf) -> Golden jackal migration rate"
Time (gen.),"12,795","Ancestral ((Boxer, Basenji), Dingo) split time"
Time (gen.),"13,389","Ancestral (Israeli, Croatian) wolf split time"
Time (gen.),"13,455","Ancestral ((Israeli, Croatian), Chinese) wolf split time"
Time (gen.),"14,874","Ancestral (dog, wolf) split time"
Time (gen.),"398,262","Ancestral ((dog, wolf), golden jackal) split time"
Migration rate,0.18,"Israeli wolf -> Basenji total migration rate"
Migration rate,0.07,"Basenji -> Israeli wolf total migration rate"
Migration rate,0.03,"Chinese wolf -> Dingo total migration rate"
Migration rate,0.04,"Dingo -> Chinese wolf total migration rate"
Migration rate,0.00,"Golden jackal -> Israeli wolf total migration rate"
Migration rate,0.05,"Israeli wolf -> Golden jackal total migration rate"
Migration rate,0.02,"Golden jackal -> Ancestral (dog, wolf) total migration rate"
Migration rate,0.99,"Ancestral (dog, wolf) -> Golden jackal total migration rate"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking from the outside, I'm not sure what "total migration rate" means. Is this something like "probability of migration in total across this branch"? Seems like we should either say that more precisely, or instead insert here the per-gen migration rate; either way we should put the units on "Migration rate".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also perhaps these should clarify if this is forwards-time or reverse-time migration rates?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Total migration rate is the term we use for this, and I suggest keeping it. I admit it is a bit confusing but I couldn't find a better name. The rationale for adding "total" was that this is an accumulated rate along the entire time migration was active. Since rates are additive in the time units, it made sense to think of this as the "total rate".

BTW, I noticed that there is another model in the catalog that uses total rates (OutOfAfricaExtendedNeandertalAdmixturePulse_3I21). I like the approach used there, where the parameter name is called "Total migration rate" and the description provides the explanation. I think that units are clear from this context. What do you think, @petrelharp?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds good, and I think it's what @David-Peede has done in this PR now (since the explanation now explains this)?

Time (yrs.),"12,795","Ancestral ((Boxer, Basenji), Dingo) split time"
Time (yrs.),"13,389","Ancestral (Israeli, Croatian) wolf split time"
Time (yrs.),"13,455","Ancestral ((Israeli, Croatian), Chinese) wolf split time"
Time (yrs.),"14,874","Ancestral (dog, wolf) split time"
Time (yrs.),"398,262","Ancestral ((dog, wolf), golden jackal) split time"
Generation time (yrs.),3,Generation time
Mutation rate,1e-8,Mutation rate
51 changes: 30 additions & 21 deletions stdpopsim/catalog/CanFam/demographic_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,14 @@ def _dog_wolf_admixture():
a mutation rate of 1e-8 (page 3).
Estimated (calibrated) effective population sizes, divergence times,
and migration rates are given in Table S12.
Migration is constant continuous geneflow from the start and
end times of the two populations that define it (section S9.2.3 in S9).
While Boxer reference genome was used, no Boxer-specific parameters
Migration is continuous gene flow between the start and end
times of the two populations that define each migration band,
and are reported as reverse-time migration rates
(in the sense of msprime's migration rates; Section S9.2.3 in S9).
The values reported in Table S12 are total migration rates inferred by
G-PhoCS, equal to the per-generation migration rate multiplied by the
duration of the migration band.
While Boxer reference genome was used, no Boxer-specific parameters
were estimated in the model, hence Boxer was removed from this model
implementation. Thence the ancestral Basenji population with its specific
Ne is for the Ancestral (Boxer, Basenji) population.
Expand Down Expand Up @@ -62,25 +67,29 @@ def _dog_wolf_admixture():
N_ancDW = 44993 # (dog, wolf)
N_root = 18169 # ((dog, wolf), golden jackal)root

# Estimated (calibrated) divergence times, from Table S12
T_ancDOG1 = 12102 # (Boxer, Basenji)
T_ancDOG = 12795 # ((Boxer, Basenji), Dingo)
T_ancWLF1 = 13389 # (Israeli, Croatian) wolf
T_ancWLF = 13455 # ((Israeli, Croatian), Chinese) wolf
T_ancDW = 14874 # (dog, wolf)
T_ancroot = 398262 # ((dog, wolf), golden jackal)root
# Estimated (calibrated) divergence times in years, from Table S12
# so divide by the generation time to convert to generations
T_ancDOG1 = 12102 / generation_time # (Boxer, Basenji)
T_ancDOG = 12795 / generation_time # ((Boxer, Basenji), Dingo)
T_ancWLF1 = 13389 / generation_time # (Israeli, Croatian) wolf
T_ancWLF = 13455 / generation_time # ((Israeli, Croatian), Chinese) wolf
T_ancDW = 14874 / generation_time # (dog, wolf)
T_ancroot = 398262 / generation_time # ((dog, wolf), golden jackal)root

# Migration rates, from Table S12
# migration is constant continuous geneflow from the start and end times of
# the two populations that define it. See section S9.2.3 in S9.
m_ISW_BSJ = 0.18
m_BSJ_ISW = 0.07
m_CHW_DNG = 0.03
m_DNG_CHW = 0.04
m_GLJ_ISW = 0
m_ISW_GLJ = 0.05
m_GLJ_ancDW = 0.02
m_ancDW_GLJ = 0.99
# Total migration rates, from Table S12
# migration is constant continuous gene flow from the start and end times of
# the two populations that define it, see section S9.2.3 in S9, where
# total migration rate = per-gen migration rate * duration of migration band
# so, total migration rate / duration of migration band, equals the
# per-gen migration rate
m_ISW_BSJ = 0.18 / T_ancDOG1
m_BSJ_ISW = 0.07 / T_ancDOG1
m_CHW_DNG = 0.03 / T_ancDOG
m_DNG_CHW = 0.04 / T_ancDOG
m_GLJ_ISW = 0 / T_ancWLF1
m_ISW_GLJ = 0.05 / T_ancWLF1
m_GLJ_ancDW = 0.02 / (T_ancroot - T_ancDW)
m_ancDW_GLJ = 0.99 / (T_ancroot - T_ancDW)

model = msprime.Demography()
model.add_population(
Expand Down
Loading