Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/theosanderson/chronumental
Estimating time trees from very large phylogenies
https://github.com/theosanderson/chronumental
jax numpyro phylogenetics timetree
Last synced: about 1 month ago
JSON representation
Estimating time trees from very large phylogenies
- Host: GitHub
- URL: https://github.com/theosanderson/chronumental
- Owner: theosanderson
- License: mit
- Created: 2021-10-08T15:38:31.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-21T18:43:47.000Z (5 months ago)
- Last Synced: 2024-10-31T19:56:03.685Z (about 2 months ago)
- Topics: jax, numpyro, phylogenetics, timetree
- Language: Python
- Homepage:
- Size: 2.39 MB
- Stars: 24
- Watchers: 3
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Chronumental
***Chron**βologies from monβ**umental** phylogenetic trees*
Chronumental is a tool for creating a "time-tree" (where distance on the tree represents time) from a phylogenetic divergence-tree (where distance on the tree reflects a number of genetic substitutions).
What sets Chronumental apart from most other tools is that it scales to extremely large trees, which can contain millions of nodes. Chronumental uses JAX to represent the task of computing a time tree in a differentiable graph for efficient calculation on a CPU or GPU.
#### [π Read the preprint](https://www.biorxiv.org/content/10.1101/2021.10.27.465994v1)
#### [π View the documentation](https://chronumental.readthedocs.io/en/latest/)
### Installation
#### Method 1: Using pipx (recommended for basic use - installs in its own isolated environment)
```
pip install --local pipx
pipx install chronumental
```#### Method 2: In your python environment
```
pip install chronumental
```#### Method 3: Bioconda
Chronumental is [now](https://github.com/bioconda/bioconda-recipes/pull/34410) available on bioconda
```
conda config --add channels bioconda
conda install chronumental
```### Usage
This demo uses trees and metadata collated by the [UShER](https://github.com/yatisht/usher) [team](https://hgwdev.gi.ucsc.edu/~angie/UShER_SARS-CoV-2/).
```
wget https://hgwdev.gi.ucsc.edu/~angie/UShER_SARS-CoV-2/2021/10/06/public-2021-10-06.all.nwk.gz
wget https://hgwdev.gi.ucsc.edu/~angie/UShER_SARS-CoV-2/2021/10/06/public-2021-10-06.metadata.tsv.gz
chronumental --tree public-2021-10-06.all.nwk.gz --dates public-2021-10-06.metadata.tsv.gz --steps 100
```π Please [visit our documentation page](https://chronumental.readthedocs.io/en/latest/) to learn more about the parameters you can use to control Chronumental.
### Integrations
[Taxonium](https://github.com/theosanderson/taxonium) can automatically call Chronumental, and generate a combined visualisation that allows switching between distance and time phylogenies
### Similar tools
[TreeTime](https://github.com/neherlab/treetime) is a more advanced tool for inferring time trees. If you have a dataset of e.g. <10,000 rather than millions of nodes you are definitely best off trying it. The TreeTime readme also links to other similar tools.
### Troubleshooting
- Chronumental uses the earliest date in your dataset as an anchor to calibrate everything else. If this earliest date is wrong due to a metadata error things won't work well. You can set the reference node manually with `--reference_node` to avoid this issue.