Phylogenetic inference with pytorch
Project description
torchtree
torchtree is a program designed for inferring phylogenetic trees from molecular sequences. Implemented in Python, it leverages PyTorch for automatic differentiation. The suite of inference algorithms encompasses variational inference, Hamiltonian Monte Carlo, maximum a posteriori, and Markov chain Monte Carlo.
Getting Started
Dependencies
Installation
Use an Anaconda environment (Optional)
conda env create -f environment.yml
conda activate torchtree
To install the latest stable version you can run
pip install torchtree
To build torchtree from source you can run
git clone https://github.com/4ment/torchtree
pip install torchtree/
Check install
torchtree --help
Quick start
torchtree
requires a JSON file containing models and algorithms. A configuration file can be generated using torchtree-cli
, a command line-based tool. This two-step process allows the user to adjust values in the configuration file, such as hyperparameters.
1 - Generating a configuration file
Some examples of models using variational inference:
Unrooted tree with GTR+W4 model
W4 refers to a site model with 4 rates categories coming from a discretized Weibull distribution. This is similar to the more commonly used discretized Gamma distribution site model.
torchtree-cli advi -i data/fluA.fa -t data/fluA.tree -m GTR -C 4 > fluA.json
Time tree with strict clock and constant coalescent model
torchtree-cli advi -i data/fluA.fa -t data/fluA.tree -m JC69 --clock strict --coalescent constant > fluA.json
2 - Running torchtree
This will generate sample.csv
and sample.trees
files containing parameter and tree samples drawn from the variational distribution
torchtree fluA.json
torchtree plug-in
torchtree can be easily extended without modifying the code base thanks its modular implementation. Some examples of external packages
License
Distributed under the GPLv3 License. See LICENSE for more information.
Acknowledgements
torchtree makes use of the following libraries and tools, which are under their own respective licenses:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file torchtree-1.0.2.tar.gz
.
File metadata
- Download URL: torchtree-1.0.2.tar.gz
- Upload date:
- Size: 145.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79d37e31d6617c40343165abdb1494ad8467c920fc33f80019659ef6c3616988 |
|
MD5 | a88d43eb21d5135aa6bd2de8be8bd024 |
|
BLAKE2b-256 | 7007aaf7efe7d895c7c1f48b11220f73348c30227fa873565bc8384da47ea331 |
File details
Details for the file torchtree-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: torchtree-1.0.2-py3-none-any.whl
- Upload date:
- Size: 176.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c0f62e8d533ec29e90cd1579fd68e5b1e5a19e889d0ac5fc858afc51f912d9c |
|
MD5 | 25235412e23f417b3fc938775ec6e106 |
|
BLAKE2b-256 | 70ffb0bbc1082a8a6a905f4491df6aec990ba802c2ca8ba005fb5eb5364d3364 |