Hybridization detection using phylogenetic invariants
Project description
HyDe: hybridization detection using phylogenetic invariants
HyDe Preprint:
Blischak, P. D., J. Chifman, A. D. Wolfe, and L. S. Kubatko. 2017. HyDe: a Python package for genome-scale hybridization detection. bioRxiv doi: 10.1101/188037.
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. It also has built in functions to wrap calls to the pure C++ version of HyDe, hyde_cpp. We have provided a Makefile that will compile the hyde_cpp C++ executable and will then install the phyde Python package using the setup.py file. To ensure that the necessary dependencies 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: pip install multiprocess.
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 2.7
Python Modules:
Cython
Numpy
Scipy
Pandas
Matplotlib
Seaborn
C++ compiler (g++ >= v4.8)
# To install dependencies
pip install cython numpy scipy pandas matplotlib seaborn
# Clone HyDe repository from GitHub
git clone https://github.com/pblischak/HyDe.git
cd HyDe
# Compile hyde_cpp using `make`
make
# Now install phyde module
python setup.py install
# Test the installation
make test
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.
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.