{
"cells": [
{
"cell_type": "markdown",
"id": "209d3321",
"metadata": {},
"source": [
"(trees_with_recombination)=\n",
"\n",
"# Trees with recombination\n",
"\n",
"These figures recreate the concepts from Figure 5 of {cite:t}`Hudson1990-ff`.\n",
"\n",
"The node label format is `id: birth time`."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "58f04145",
"metadata": {
"tags": [
"remove-input"
]
},
"outputs": [
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/svg+xml": "/home/runner/work/visual-popgen/visual-popgen/book/_build/jupyter_execute/markdown/kingman_coalsecent/trees_with_recombination_1_0.svg"
},
"scrapbook": {
"mime_prefix": "application/papermill.record/",
"name": "rectree1"
}
},
"output_type": "display_data"
},
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/svg+xml": "/home/runner/work/visual-popgen/visual-popgen/book/_build/jupyter_execute/markdown/kingman_coalsecent/trees_with_recombination_1_1.svg"
},
"scrapbook": {
"mime_prefix": "application/papermill.record/",
"name": "rectree2"
}
},
"output_type": "display_data"
},
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/svg+xml": "/home/runner/work/visual-popgen/visual-popgen/book/_build/jupyter_execute/markdown/kingman_coalsecent/trees_with_recombination_1_2.svg"
},
"scrapbook": {
"mime_prefix": "application/papermill.record/",
"name": "rectree3"
}
},
"output_type": "display_data"
},
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/svg+xml": "/home/runner/work/visual-popgen/visual-popgen/book/_build/jupyter_execute/markdown/kingman_coalsecent/trees_with_recombination_1_3.svg"
},
"scrapbook": {
"mime_prefix": "application/papermill.record/",
"name": "rectree4"
}
},
"output_type": "display_data"
},
{
"data": {
"image/svg+xml": [
""
],
"text/plain": [
""
]
},
"metadata": {
"filenames": {
"image/svg+xml": "/home/runner/work/visual-popgen/visual-popgen/book/_build/jupyter_execute/markdown/kingman_coalsecent/trees_with_recombination_1_4.svg"
},
"scrapbook": {
"mime_prefix": "application/papermill.record/",
"name": "rectree5"
}
},
"output_type": "display_data"
}
],
"source": [
"import msprime\n",
"from IPython.display import SVG\n",
"from myst_nb import glue\n",
"\n",
"for replicate, ts in enumerate(\n",
" msprime.sim_ancestry(\n",
" 10,\n",
" ploidy=1,\n",
" sequence_length=1e3,\n",
" recombination_rate=5e-8,\n",
" population_size=10000,\n",
" random_seed=99112288,\n",
" num_replicates=5,\n",
" )\n",
"):\n",
" node_labels={i: f\"{i}: {int(ts.tables.nodes.time[i])}\" for i in range(ts.num_nodes)}\n",
" svg = ts.draw_svg(size=(800, 800), x_scale=\"treewise\", y_axis=False, node_labels=node_labels)\n",
" glue(f\"rectree{replicate+1}\", SVG(svg), display=False)"
]
},
{
"cell_type": "markdown",
"id": "c3d3e43f",
"metadata": {},
"source": [
"````{tabbed} Tree 1\n",
"```{glue:figure} rectree1\n",
":figwidth: 800\n",
":name: \"rectree1\"\n",
"```\n",
"````\n",
"\n",
"````{tabbed} Tree 2\n",
"```{glue:figure} rectree2\n",
":figwidth: 800\n",
":name: \"rectree2\"\n",
"```\n",
"````\n",
"\n",
"````{tabbed} Tree 3\n",
"```{glue:figure} rectree3\n",
":figwidth: 800\n",
":name: \"rectree3\"\n",
"```\n",
"````\n",
"\n",
"````{tabbed} Tree 4\n",
"```{glue:figure} rectree4\n",
":figwidth: 800\n",
":name: \"rectree4\"\n",
"```\n",
"````\n",
"\n",
"````{tabbed} Tree 5\n",
"```{glue:figure} rectree5\n",
":figwidth: 800\n",
":name: \"rectree5\"\n",
"```\n",
"````"
]
}
],
"metadata": {
"jupytext": {
"formats": "md:myst",
"text_representation": {
"extension": ".md",
"format_name": "myst"
}
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.12"
},
"source_map": [
11,
21,
44
]
},
"nbformat": 4,
"nbformat_minor": 5
}