tskit_arg_visualizer
Live Demo
Code for above image here.
A method for drawing ancestral recombination graphs from tskit tree sequences in Python using D3.js. ARGs are plotted using a D3's force layout. All nodes have a fixed position on the y-axis set by fy. Sample nodes have a fixed position on the x-axis set by fx; the ordering of the sample nodes comes from the first tree in the tskit tree sequence (this is not always the optimal ordering but is generally a good starting point for plotting). The x positions of other nodes are set by a force simulation where all nodes repel each other countered by a linkage force between connected nodes in the graph.
Users can click and drag the nodes (including the sample) along the x-axis to further clean up the layout of the graph. The simulation does not take into account line crosses, which can often be improved with some fiddling. Once a node has been moved by a user, its position is fixed with regards to the force simulation.
See tutorial.md for a walkthrough of the package.
Testing (Local and CI)
This repository now includes:
- Python tests (pytest), under
tests/ - Minimal browser smoke tests (Playwright), under
tests/playwright/
Local setup
- Install Python dependencies and test runner:
python -m pip install --upgrade pip
pip install -e .
pip install pytest
- Install Playwright tooling:
npm install
npx playwright install --with-deps chromium
- Run tests:
python -m pytest tests/ -q
npm run test:e2e
GitHub Actions
CI is defined in .github/workflows/ci.yml and runs both:
python -m pytest tests/ -qnpm run test:e2e
If commands change locally, update them in both this README and the workflow file so local and CI behavior stay aligned.
Metadata
Release files for tskit-arg-visualizer 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tskit_arg_visualizer-0.1.3.tar.gz | 16.5 MB | Without provenance | Details for tskit_arg_visualizer-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tskit_arg_visualizer-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for tskit_arg_visualizer-0.1.3-py3-none-any.whl |
Total release size: 16.6 MB
Release files / tskit_arg_visualizer-0.1.3.tar.gz
| Download URL | tskit_arg_visualizer-0.1.3.tar.gz |
|---|---|
| Size | 16.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e71a16fa8232079a7bfb88f7e80f3198eb2ffdcbaa8290b14d8ec0da29ab4c04
|
|
BLAKE2b-256 checksum How to use checksums |
6acf159e329a6d53f66e042328805dea26d977c54f683cce357c2cc875f01cd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Release files / tskit_arg_visualizer-0.1.3-py3-none-any.whl
| Download URL | tskit_arg_visualizer-0.1.3-py3-none-any.whl |
|---|---|
| Size | 39.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4f8c2ec3c0536bf0090be773ed993f7654a9f23071238d9530f24de60e76d9f
|
|
BLAKE2b-256 checksum How to use checksums |
e0ff05e4a100e1bdae15b81ce2e8924f676f1e2dc52953543dae87b48bed74fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Security for tskit-arg-visualizer 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.