Unfortunately, I've got to announce a bug in pyslim - if you've been using it, update and read on. #tskit
It's possibly a bad one: pyslim.recapitate( ) has been introducing a short bottleneck to size Ne=1 (!) in most cases.
We can analyse these ARGs using the well-established and feature-rich #tskit library (and surrounding ecosystem). All of the analyses for the preprint were done using Jupyter notebooks, and most run in seconds on a standard laptop.
It's been a little while since I last updated the #tskit ARG visualizer. Today, I added an optional scale bar to the left of the ARG that gives the timing of nodes. You can now also change the y-axis scaling from "rank" (default, equal spacing between nodes) to "time" (proportional to the true timing of the node). Scaling by time often leads to a jumbled mess, so it should probably only be useful with very simple ARGs in its current form. If you have ideas on how to improve that, let me know!
Ultra-realistic simulations of 1.4 million human genomes generated by using a detailed pedigree of French Canadians as input to #msprime! These simulations are hugely useful for large-scale genomics methods development, because they are freely available, easy to download (2.8G for chr1), and efficient to process using #tskit. I hope they will become a standard benchmark across all sorts of methods.
Added the ability to highlight trees within the #tskit ARG visualizer. If the optional parameter tree_highlighting is set to True (default), the visualizer now pairs the ARG with a "chromosome" along the bottom of the figure that is segmented according to the tree sequence breakpoints. You can highlight the individual trees by hovering over their respective segment of the chromosome.
Finished up with the different path types found in the #tskit ARG visualizer and added documentation about how I select an edge's path type. Here, the colors of the edges correspond with their path type (blue: stepAfter, red: stepBefore, green: step, black: mid). I also stylized the crossovers between edges with a small gap. The new path types do not solve crossover conflict (as seen on the left), but may help users better position the nodes.
Here's the repo on GitHub for the ARG visualizer which plots a #tskit tree sequence using D3.js:
https://github.com/kitchensjn/tskit_arg_visualizer
You will need #jupyter, #msprime, and #numpy installed in Python to run the notebook. Let me know if you have any issues getting it running.
There are so many rules around node positions and paths between nodes. I'm slowly picking through a document of scenarios that break the current implementation. More updates to come!
#tskit #jupyter #msprime #numpy
A work in progress visualizing trees under simple models of population splits and migration: https://observablehq.com/@molpopgen/simple-model-of-a-population-split-with-symmetric-migratio
Here, #msprime and #tskit do a lot of the work, but demes (https://popsim-consortium.github.io/demes-spec-docs/main/tutorial.html) handles the hard work of defining the demographic models.
Barely keeping ahead of my class. Here's a visualization of how variable tree sequences can be due to recombination. This is #msprime and #tskit in a browser.
https://observablehq.com/@molpopgen/coalescent-trees-with-recombination
Here's an example of running #msprime in a browser and manipulating #tskit types in #JavaScript. The #Python code is all compiled to #wasm and run via pyodide.
https://observablehq.com/@molpopgen/coalescent-trees-without-recombination
Ready to demo this in class on Monday!
cc @kitchensjn
#msprime #tskit #javascript #python #wasm
@castedo I see. For my use case, I want to share the home environment. My normal use case is working on a project with specific requirements. #tskit and its pre-commit requirements are a great example: I want my neovim, kitty, etc., all available, but I don't want the clang-format-6, etc., anywhere near my home environment.
#tskit 0.5.4 was released on Friday: https://github.com/tskit-dev/tskit/releases/tag/0.5.4.
Available via PyPi and Conda.