Lightweight python library for predicting the difficulty of alignments in phylogenetics
Project description
PyPythia: Phylogenetic Difficulty Prediction Library
Introduction
Pythia is a lightweight python library to predict the difficulty of Multiple Sequence Alignments (MSA). Phylogenetic analyzes under the Maximum-Likelihood (ML) model are time and resource intensive. To adequately capture the vastness of tree space, one needs to infer multiple independent trees. On some datasets, multiple tree inferences converge to similar tree topologies, on others to multiple, topologically highly distinct yet statistically indistinguishable topologies. Pythia predicts the degree of difficulty of analyzing a dataset prior to initiating ML-based tree inferences. Predicting the difficulty using Pythia is substantially faster than inferring multiple ML trees using RAxML-NG. Pythia can be used to increase user awareness with respect to the amount of signal and uncertainty to be expected in phylogenetic analyzes, and hence inform an appropriate (post-)analysis setup. Further, it can be used to select appropriate search algorithms for easy-, intermediate-, and hard-to-analyze datasets. Pythia supports DNA, AA, and morphological data in Phylip and FASTA format.
Documentation
Install instructions, the CLI and the Python API are documented here.
Support
If you encounter any trouble using Pythia, have a question, or you find a bug, please feel free to open an issue here.
Publication
The paper explaining the details of Pythia is published in MBE: Haag, J., Höhler, D., Bettisworth, B., & Stamatakis, A. (2022). From Easy to Hopeless - Predicting the Difficulty of Phylogenetic Analyses. Molecular Biology and Evolution, 39(12). https://doi.org/10.1093/molbev/msac254
[!WARNING] Since this publication, we made some considerable changes to Pythia. The most important change is that we switched from using a Random Forest Regressor to using a LightGBM Gradient Boosted Tree Regressor. This affects all Pythia versions >= 1. If you use Pythia in your work, please state the correct learning algorithm. If you are unsure, feel free to reach out to me 🙂
We will soon publish a pre-print that explains the changes in detail, stay tuned!
C Library
The same functionality is also available as C library here. Since the C library depends on Coraxlib it is not as easy and fast to use as this python library. If you are only interested in the difficulty of your MSA, we recommend using this Python library. If you want to incorporate the difficulty prediction in a phylogenetic tool, we recommend using the faster C library.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pythiaphylopredictor-2.0.0.tar.gz.
File metadata
- Download URL: pythiaphylopredictor-2.0.0.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7449450ac27ec783ad103392035de5725e6fa54c65ec655c14b4d4734bb88b05
|
|
| MD5 |
3ff598cfdc9b629a56d0e2b0e0504885
|
|
| BLAKE2b-256 |
78d07220271fd8ea9c8d93ad4181d2a9595be688157c3a5e045534c4187e6ece
|
File details
Details for the file pythiaphylopredictor-2.0.0-py3-none-any.whl.
File metadata
- Download URL: pythiaphylopredictor-2.0.0-py3-none-any.whl
- Upload date:
- Size: 978.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fb663dccad87d418189879352a8c4f71831eadbb0874ae13fd15e190e5fd414
|
|
| MD5 |
184bcc493d357937bb8a5c064d09ebd9
|
|
| BLAKE2b-256 |
f71b3ce3a778611359c2f4f0bb42cc15efc3b2ab791d1ac03091c0913f1ff20c
|