#tskit

2024-08-14

Excited to announce the release of version 0.0.2 of the `tskit_arg_visualizer` Python package on PyPI! This update brings functionality for handling larger ARGs, including major performance improvements (thanks to @yan) and a new Node View that shows local connections around a focal node, useful when your ARG is too large to display fully. Styling has also been overhauled, allowing for customizability in the colors and symbols used in your plots. Check it out at pypi.org/project/tskit-arg-vis!

#tskit

The two available views within the tskit_arg_visualizer Python package. The standard view shows the ARG in full. The node view shows a subgraph centered around a selected node marked with a star. I've highlighted that subgraph in pink to show how it fits within the standard view.
2024-04-18

After solving the issue of non-independence mathematically, we developed an algorithm to quickly compute the quantities we need (using #tskit), allowing us to infer spatial histories from large ARGs.

3/n

compute time vs number of paths in ARG
Claudia Solis-Lemussolislemuslab@mstdn.social
2023-06-22

@petrelharp I want a #tskit sticker 👋

2023-06-21

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.

EDIT: I accidentally pushed out the bugfix release without the fix to the bug.It is now fixed FOR REALS in 1.0.3, now on pip and soon on conda. :facepalm:

2023-06-21

Heading off to #Evol2023! If you're looking for a postdoc, come talk to me! Or, if you want a #tskit sticker.

The tskit.dev logo.
2023-06-20

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.

tskit.dev

2023-06-02

@kitchensjn does log time (as in #tskit) work as a nice intermediate between these two extremes (visibility vs info)?

2023-06-02

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!

tskit ARG visualizer with new y-axis scale bar on the left.tskit ARG visualizer where y-axis is scaled by "time" rather than the default "rank".
2023-05-26

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.

science.org/doi/10.1126/scienc

2023-04-08

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.

A simulated ARG of 10 samples generated by tskit and displayed using the tskit ARG visualizer. This new visualization method shows how the trees combine together to form the full ARG.
2023-03-28

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.

The initial output of the tskit ARG visualizer before sliding nodes to more optimal positions. Edges are highlighted based on their path type for debugging (blue: stepAfter, red: stepBefore, green: step, black: mid).The output of the tskit ARG visualizer after sliding nodes to more optimal positions. Edges are highlighted based on their path type for debugging (blue: stepAfter, red: stepBefore, green: step, black: mid). Path types between nodes are dependent on their positions so they may change as the nodes move.
2023-03-03

Updated the ARG visualizer so that it no longer needs to write to a data file. Instead, it directly inserts the Python object as a string into a JavaScript template with the plotting code. This method requires that users install D3 within their notebooks, which is a short block of code but a drawback if the function were a part of a larger package. I don't yet know how to get around that. Added some #tskit styling to this one!

A stylized Ancestral Recombination Graph for three diploid samples.
2023-02-20

Here's the repo on GitHub for the ARG visualizer which plots a #tskit tree sequence using D3.js:

github.com/kitchensjn/tskit_ar

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!

2023-02-06

@kitchensjn ooo, very nice! Can't wait to see it! #tskit

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst