Skip to content

AraTha recombination rate bug fix + selfing#1855

Open
srgibbon17 wants to merge 6 commits into
popsim-consortium:mainfrom
srgibbon17:main
Open

AraTha recombination rate bug fix + selfing#1855
srgibbon17 wants to merge 6 commits into
popsim-consortium:mainfrom
srgibbon17:main

Conversation

@srgibbon17

Copy link
Copy Markdown

This is in response to #1854 (see the discussion there for more context).

Essentially there was a discrepancy between the rate map and genome-wide rates, which seems to stem from whether or not selfing was accounted for in the recombination rate.

Below, I start from the recombination rates in the map from Salome et al. 2012 which are calculated from F2 populations (so no selfing). Taking those rates, I then adjust for selfing following Nordborg 2000 (which is also done here for Oryza sativa).

I'll open a separate QC issue and tag it here.

@mergify

mergify Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.82%. Comparing base (05f33ad) to head (4dddcda).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1855   +/-   ##
=======================================
  Coverage   99.82%   99.82%           
=======================================
  Files         143      143           
  Lines        5030     5033    +3     
  Branches      515      515           
=======================================
+ Hits         5021     5024    +3     
  Misses          6        6           
  Partials        3        3           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@srgibbon17

Copy link
Copy Markdown
Author

QC request is in #1856

@silastittes

Copy link
Copy Markdown
Contributor

Happy to help! Typically we would separate the issue creation and PR between two people to quality assurance, but this isn't a new addition to a catalogue, but a patch. Do @andrewkern and @petrelharp or others have thoughts on the process here? Are there additional tests, or changes to code we need for this patch to be consistent with other parts of the cartalogue?

@petrelharp

Copy link
Copy Markdown
Contributor

Awesome, thanks @srgibbon17! I'll have a look.

Typically we would separate the issue creation and PR between two people to quality assurance

I'm not sure what you mean here, @silastittes - the only policy I'm aware of here is separating implementation from QC? Opening a QC issue is different than actually doing QC? In #1854 (comment) I was proposing that someone (maybe you? =) do the QC after this PR?

@silastittes

Copy link
Copy Markdown
Contributor

Ah ok! I think maybe I'm confused about the process. Sure, happy to do QC after this PR.

@petrelharp

Copy link
Copy Markdown
Contributor

Let's see: Some comments: @srgibbon17 - could you perhaps

  • put some more words into this PR to explain exactly what's being done; I think this should include some fairly extensive comments explaining things, and a short summary in the "long_description"? This should be pretty self-contained. For instance, citing an equation number in Nordberg.

  • put in how the mean recombination rates were calculated from the Salome2012 map?

Your solution to adding the selfing correction to the maps is clever. I was trying to think of a more elegant solution- like maybe including selfing rate or something as an argument- but actually doing selfing right is a can of worms: see #857. So I guess it's okay?

@petrelharp

Copy link
Copy Markdown
Contributor

Oh and: in the QC issue, please put the text describing any choices you made, with the rationale, so the QC person knows what to do.

@srgibbon17

Copy link
Copy Markdown
Author

Thanks for the suggestions and review, @petrelharp! I agree a selfing argument would be preferable, but is, perhaps, outside the scope of this issue.

I added some comments and a brief addendum to the "long_description". Unfortunately, Nordborg has no equation numbers, so I referenced the section and page number instead (but happy to do something else if there is a different standard/preference).

I also gave a (somewhat lengthy) description of my rationale in the QC issue and a few ideas for what needs to be checked.

Comment thread stdpopsim/catalog/AraTha/genetic_maps.py Outdated
from . import genome_data

# correction to the recombination rate to account for selfing
# sigma = selfing rate, which here is 0.97 (Platt et al. 2010 PLOS Genetics)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mind adding the citation to Platt et al in the appropriate places?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I added the Platt et al. reference anywhere the selfing rate was mentioned and swapped the Salomé 2012 paper in for the Huber paper for the recombination rate citation.

I don't know what the standard practice is, but I have not added a stdpopsim.Citation for either Nordborg 2000 or Platt et al. 2010 (in part because it is not clear what the correct CiteReason would be).

Comment thread stdpopsim/catalog/AraTha/species.py Outdated

@petrelharp petrelharp left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

A few more comments/suggestions!

srgibbon17 and others added 2 commits July 1, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants