HyDe: Hybridization Detection Using Phylogenetic Invariants
Publication:
Blischak, P. D., J. Chifman, A. D. Wolfe, and L. S. Kubatko. 2018. HyDe: A Python Package For Genome-Scale Hybridization Detection. Systematic Biology, doi: https://doi.org/10.1093/sysbio/syy023.
Read the Docs
HyDe is a software package that detects hybridization in phylogenomic data sets using phylogenetic invariants. The primary interface for HyDe is a Python module called phyde (Pythonic Hybridization Detection). phyde provides a suite of tools for performing hypothesis tests on triples of taxa to detect hybridization. To ensure that the necessary dependencies for phyde are available, we suggest using a Python distribution such as Miniconda.
To facilitate analyses using the Python module, three scripts are provided to conduct hybridization detection analyses directly from the command line:
run_hyde.py: runs a standard hybridization detection analysis on all triples in all directions. Results are also filtered based on whether there is significant evidence for hybridization.
individual_hyde.py: tests each individual within a putative hybrid population using a list of specified triples specified.
bootstrap_hyde.py: conducts bootstrap resampling of the individuals within the putative hybrid lineages for each specified triple.
These last two scripts need to be given a three column table of triples (P1, Hybrid, P2) that you wish to test:
sp1 sp2 sp3
sp1 sp3 sp4
sp3 sp4 sp5
.
.
.
You can also use a results file from a previous analysis as a triples file. For example, you can use the filtered results from the run_hyde.py script so that you only run analyses on triples that have significant levels of hybridization. If you only have a few hypotheses that you want to test, then you can also pass a triples file to run_hyde.py and it will only test those hypotheses rather than testing everything.
Multithreaded versions of these scripts are also available (run_hyde_mp.py, individual_hyde_mp.py, and bootstrap_hyde_mp.py). Make sure you have the multiprocess module installed before you use them.
Graphical User Interface (Beta)
We have also developed a graphical user interface (GUI) for single-threaded hybridization detection analyses with HyDe. Users can supply file names and other options in the GUI window and hit Run or <Return> to run analyses.
Getting Help
If you have questions about running HyDe, please feel free to use the gitter chatroom to get help:
If you have a problem while running HyDe and you think it may be a bug, please consider filing an issue:
Installation
Requirements:
Python 3.9+
Python Modules:
cython
numpy
multiprocess
progress (optional: needed for GUI)
C++ compiler
# To install dependencies -- add 'progress' if you're using the GUI
python3 -m pip install -r requirements.txt
# Clone HyDe repository from GitHub
git clone https://github.com/pblischak/HyDe.git
cd HyDe
# Now install phyde module
python3 -m pip install .
# Test the installation
make test
# Test multithreaded scripts
make test_threads
The phyde module is also hosted on the Python Package Index (PyPI), and can be installed directly using pip.
# Install from PyPI with pip
pip install phyde
Documentation for analyzing data using HyDe can be found here.
Metadata
Release files for phyde 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| phyde-1.0.2.tar.gz | 1.1 MB | Without provenance | Details for phyde-1.0.2.tar.gz |
Release files / phyde-1.0.2.tar.gz
| Download URL | phyde-1.0.2.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
810297eae4d8c72d9ee466b9783378eb3a3aeebdcc4331cd5ddf69d3b031ae15
|
|
BLAKE2b-256 checksum How to use checksums |
2b5121b8265da2e33e0e6f832615562e01861b2b53ca8889bce62c33501e2c53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.9
|
Security for phyde 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.