https://github.com/zsailer/phylovega
Interactive tree visualizations in Python (powered by Vega).
https://github.com/zsailer/phylovega
pandas phylogenetics python vega
Last synced: 7 months ago
JSON representation
Interactive tree visualizations in Python (powered by Vega).
- Host: GitHub
- URL: https://github.com/zsailer/phylovega
- Owner: Zsailer
- Created: 2018-02-09T00:29:38.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-26T17:20:57.000Z (about 6 years ago)
- Last Synced: 2025-03-17T13:22:50.203Z (7 months ago)
- Topics: pandas, phylogenetics, python, vega
- Language: Python
- Homepage:
- Size: 20.5 MB
- Stars: 11
- Watchers: 0
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PhyloVega
**Visualize phylogenetic trees in Vega from Python.**
Declarative tree visualizations in Python powered by Vega.
**Declarative Grammar**
```python
from phylovega import TreeChart# Construct Vega Specification
chart = TreeChart.read_newick(
'tree.newick',
height_scale=200,# Node attributes
node_size=200,
node_color="#ccc",# Leaf attributes
leaf_labels="id",# Edge attributes
edge_width=2,
edge_color="#000",
)chart.display()
```
**Interactive trees**
Use Vega grammar

## How does it work?
PhyloVega defines a Vega grammar (specifically, a set of transforms) to draw phylogenetic trees.
## Why?
Python is due for a simple, interactive phylogenetic tree viewer. Vega has done
most of the heavy lifting here. PhyloVega simply leverages Vega transform specifications for building interactive visualizations.## In the works
Here is a list of features that will eventually make it into PhyloVega.
* More Interactivity
* Collapible Clades.
* Circular trees
* ... (feel free to add to this list).## Install
Get the latest release with `pip`:
```
pip install phylovega
```Install the development version by cloning this repo and calling:
```
pip install -e .
```## Dependencies
PhyloVega uses the Vega4 specification. It works out-of-the-box with JupyterLab.
* [JupyterLab](): The next generation Jupyter notebook.
* [PhyloPandas](https://github.com/Zsailer/phylopandass): Pandas DataFrame for Phylogenetics