Skip to main content

Phylogenetic inference with pytorch

Project description

torchtree

Python package License: GPL v3 docs PyPI PyPI - Python Version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torchtree-1.0.2.tar.gz (145.4 kB view details)

Uploaded Source

Built Distribution

torchtree-1.0.2-py3-none-any.whl (176.5 kB view details)

Uploaded Python 3

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

Hashes for torchtree-1.0.2.tar.gz
Algorithm Hash digest
SHA256 79d37e31d6617c40343165abdb1494ad8467c920fc33f80019659ef6c3616988
MD5 a88d43eb21d5135aa6bd2de8be8bd024
BLAKE2b-256 7007aaf7efe7d895c7c1f48b11220f73348c30227fa873565bc8384da47ea331

See more details on using hashes here.

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

Hashes for torchtree-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6c0f62e8d533ec29e90cd1579fd68e5b1e5a19e889d0ac5fc858afc51f912d9c
MD5 25235412e23f417b3fc938775ec6e106
BLAKE2b-256 70ffb0bbc1082a8a6a905f4491df6aec990ba802c2ca8ba005fb5eb5364d3364

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page