IdentityByDescentDispersal.jl: Inferring dispersal rates with identity-by-descent blocks

IdentityByDescentDispersal.jl: Inferring dispersal rates with identity-by-descent blocks - Published in JOSS (2026)

https://github.com/currocam/identitybydescentdispersal.jl

Science Score: 92.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: ncbi.nlm.nih.gov
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

projection interpretability controllers numeric exoplanet neural-sde finite-volume pinn standardization hybrid-differential-equations
Last synced: 4 days ago · JSON representation ·

Repository

Efficient estimation of effective densities and dispersal rates using identity-by-descent blocks

Basic Info
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 1
  • Open Issues: 0
  • Releases: 3
Created 9 months ago · Last pushed 10 days ago
Metadata Files
Readme License Citation

README.md

IdentityByDescentDispersal

Stable Documentation Development documentation Test workflow status Lint workflow Status Docs workflow Status

Getting started

This package provides an efficient implementation of the inference scheme proposed by H. Ringbauer, G. Coop and N. H. Barton (2017) to estimate the mean dispersal rate and the effective population density of a population.

The package is implemented in the Julia programming language and designed to be used from within a julia session. It integrates seamlessly with other statistical libraries in the julia ecosystem such as Turing.jl. However, we also provide an automated Snakemake pipeline to perform a complete analysis: from detecting and post-processing IBD blocks to finding a preliminary maximum likelihood estimate.

You can install this package by running: julia import Pkg Pkg.add("IdentityByDescentDispersal")

This package provides the building blocks for performing likelihood-based inference of effective population densities and mean effective dispersal rates. Together with Turing.jl, it offers a flexible interface for fitting Bayesian or maximum-likelihood models.

julia using IdentityByDescentDispersal using CSV, DataFrames, Turing, StatsPlots df = CSV.read("ibd_dispersal_data.csv", DataFrame) contig_lengths = [1.0] # in Morgans @model function constant_density(df, contig_lengths) D ~ LogNormal(1, 1) # Effective population density σ ~ Exponential(1) # Mean effective dispersal rate # ⬇️ Composite log-likelihood function provided by IdentityByDescentDispersal.jl Turing.@addlogprob! composite_loglikelihood_constant_density(D, σ, df, contig_lengths) end chain = sample(m, NUTS(), 1000)

Please refer to the documentation of the package for a detailed description of its functionality and recommended usage.

Simulation of synthetic datasets plays a major role in statistical inference and model validation. In addition to the inference machinery, this package also provides a set of recipes for developing advanced forward-in-time population genetics simulations in a continuous space. More information can be found in the simulations subdirectory.

Community Guidelines

IdentityByDescentDispersal.jl is an open-source project and contributions are welcome. Users are encouraged to report bugs, request features, or ask questions by opening a GitHub issue.

JOSS Publication

IdentityByDescentDispersal.jl: Inferring dispersal rates with identity-by-descent blocks
Published
March 15, 2026
Volume 11, Issue 119, Page 9517
Authors
Francisco Campuzano-Jiménez ORCID
University of Antwerp, Belgium
Arthur Zwaenepoel ORCID
University of Antwerp, Belgium
Els Lea R De Keyzer ORCID
University of Antwerp, Belgium
Hannes Svardal ORCID
University of Antwerp, Belgium, Naturalis Biodiversity Center, Leiden, Netherlands
Editor
Evan Spotte-Smith ORCID
Tags
population-genetics IBD dispersal spatial-genetics coalescent-theory

Citation (CITATION.cff)

cff-version: 1.2.0
title: IdentityByDescentDispersal.jl v1.0.0
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Francisco
    family-names: Campuzano Jiménez
    affiliation: 'University of Antwerp, Belgium'
    orcid: 'https://orcid.org/0000-0001-8285-9318'
    email: curro.campuzanojimenez@uantwerpen.be
  - given-names: Arthur
    family-names: Zwaenepoel
    affiliation: 'University of Antwerp, Belgium'
    orcid: 'https://orcid.org/0000-0003-1085-2912'
  - given-names: 'Els Lea R '
    family-names: De Keyzer
    orcid: 'https://orcid.org/0000-0003-0924-0118'
    affiliation: 'University of Antwerp, Belgium'
  - given-names: Hannes
    family-names: Svardal
    affiliation: >-
      University of Antwerp, Belgium and Naturalis
      Biodiversity Center, Leiden, Netherlands
    orcid: 'https://orcid.org/0000-0001-7866-7313'
repository-code: 'https://github.com/currocam/IdentityByDescentDispersal.jl'
url: >-
  https://currocam.github.io/IdentityByDescentDispersal.jl/dev/
license: MIT
version: v1.0.0
date-released: '2026-02-13'

GitHub Events

Total
  • Create event: 22
  • Commit comment event: 4
  • Release event: 1
  • Delete event: 11
  • Pull request event: 41
  • Fork event: 1
  • Issue comment event: 3
  • Push event: 82
Last Year
  • Create event: 22
  • Commit comment event: 4
  • Release event: 1
  • Delete event: 11
  • Pull request event: 41
  • Fork event: 1
  • Issue comment event: 3
  • Push event: 82

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 67
  • Total Committers: 6
  • Avg Commits per committer: 11.167
  • Development Distribution Score (DDS): 0.493
Past Year
  • Commits: 67
  • Committers: 6
  • Avg Commits per committer: 11.167
  • Development Distribution Score (DDS): 0.493
Top Committers
Name Email Commits
Curro Campuzano c****m 34
Curro Campuzano 6****m 15
github-actions[bot] 4****] 11
dependabot[bot] 4****] 5
Arthur Zwaenepoel a****l@g****m 1
CompatHelper Julia c****y@j****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 days ago

All Time
  • Total issues: 3
  • Total pull requests: 16
  • Average time to close issues: 3 days
  • Average time to close pull requests: 5 days
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 4.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 12
Past Year
  • Issues: 3
  • Pull requests: 16
  • Average time to close issues: 3 days
  • Average time to close pull requests: 5 days
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 4.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 12
Top Authors
Issue Authors
  • slwu89 (2)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (9)
  • dependabot[bot] (3)
  • arzwa (2)
  • currocam (2)
Top Labels
Issue Labels
Pull Request Labels
chore (4) dependencies (3) github_actions (3)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 2 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 6
juliahub.com: IdentityByDescentDispersal

Efficient estimation of effective densities and dispersal rates using identity-by-descent blocks

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2 Total
Rankings
Dependent repos count: 8.3%
Average: 22.0%
Dependent packages count: 35.7%
Last synced: 26 days ago

Dependencies

.github/workflows/CompatHelper.yml actions
  • julia-actions/cache v2 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/Docs.yml actions
  • actions/checkout v4 composite
  • julia-actions/cache v2 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/Lint.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/PreCommitUpdate.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • peter-evans/create-pull-request v7 composite
.github/workflows/ReusableTest.yml actions
  • actions/checkout v4 composite
  • codecov/codecov-action v5 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/Test.yml actions
.github/workflows/TestOnPRs.yml actions