Skip to main content

Bioinformatics selection analysis pipeline and GUI

Project description

HYphlow

PyPI version Python 3.8+ License: MIT

HYphlow is a GUI-based bioinformatics pipeline that supports evolutionary selection pressure analysis using HyPhy. It provides a structured workflow for species label standardization, tree pruning, data reconciliation, branch annotation, batch HyPhy execution, and result extraction from HyPhy JSON output files.


Table of Contents


Setup & Installation

HYphlow requires Python 3.8+ and HyPhy. You can either install the required dependencies into an existing Conda environment or create a clean environment for HYphlow.

Option 1: Existing Conda Environment

Use this option if you already have a Conda environment activated and want to add the required HYphlow dependencies:

conda env update -f https://raw.githubusercontent.com/hellojung0810/Schott_lab_HYphlow/refs/heads/main/environment.yml
pip install hyphlow

Option 2: New Conda Environment

Use this option to create a clean environment for HYphlow:

conda env create -f https://raw.githubusercontent.com/hellojung0810/Schott_lab_HYphlow/refs/heads/main/environment.yml
conda activate hyphlow_env
pip install hyphlow

Workflow & Usage

Once installed, verify the setup and launch the graphical interface by running:

hyphlow

The HYphlow interface guides users through four sequential modules that support data preparation, branch annotation, HyPhy execution, and result summarization.

1. Data Preparation

Prepares standardized, and reconciled input files before evolutionary selection analysis.

  • Species Label Standardization: Cross-references CSV metadata with the NCBI taxonomy database and standardizes FASTA headers and Newick leaf names. It extracts clean species or subspecies labels from longer sequence headers.

  • Tree Pruning: Generates gene-specific Newick trees by pruning a master species tree to match the taxa present in each FASTA alignment.

  • Data Reconciliation: Checks for missing or mismatched taxa across CSV, FASTA, and Newick files.

2. Tree Annotation

Automates foreground branch annotation based on trait metadata.

  • Identifies candidate foreground branches using parsimony and likelihood-based methods.
  • Outputs foreground-annotated Newick trees and annotated SVG preview images.

3. HyPhy Execution

Supports batch execution of HyPhy analyses across multiple genes.

  • Automatically matches FASTA alignments with their corresponding Newick trees.
  • Configures CPU and thread settings for parallel execution.
  • Generates an editable bash script for running selected HyPhy models.

4. Results Summary

Extracts and organizes results from HyPhy JSON output files.

  • Allows users to drag and drop multiple HyPhy .json output files into the interface.
  • Extracts key statistics such as p-values and LRT scores.
  • Compiles extracted results into a single organized Excel workbook.

Supported HyPhy Models

HYphlow currently supports data preparation, execution, and result summarization for the following models:


Acknowledgements & Dependencies

HYphlow is built using several open-source tools and libraries. If you use HYphlow in your research, please cite HYphlow alongside the relevant core software used in your analysis:

Core Software

  • HyPhy: Kosakovsky Pond, S. L., et al. (2020). HyPhy 2.5—A Customizable Platform for Evolutionary Hypothesis Testing Using Phylogenies. Molecular Biology and Evolution, 37(1), 295–299.
  • ETE 3: Huerta-Cepas, J., Serra, F., & Bork, P. (2016). ETE 3: Reconstruction, Analysis, and Visualization of Phylogenomic Data. Molecular Biology and Evolution, 33(6), 1635–1638.
  • pandas: The pandas development team. (2020). pandas-dev/pandas: Pandas [Computer software]. Zenodo.
  • PyQt5: Riverbank Computing Limited. (2026). PyQt5: Python bindings for the Qt cross-platform application framework.

Evolutionary Models

  • BUSTED: Murrell, B., et al. (2015). Gene-Wide Identification of Episodic Selection. Molecular Biology and Evolution, 32(5), 1365–1371.
  • aBSREL: Smith, M. D., et al. (2015). Less Is More: An Adaptive Branch-Site Random Effects Model for Evolutionary Trajectories. Molecular Biology and Evolution, 32(5), 1342–1353.
  • RELAX: Wertheim, J. O., et al. (2015). RELAX: Detecting Relaxed Selection in a Phylogenetic Framework. Molecular Biology and Evolution, 32(3), 820–832.
  • FEL & SLAC: Kosakovsky Pond, S. L., & Frost, S. D. W. (2005). Not So Different After All: A Comparison of Methods for Detecting Amino Acid Sites Under Selection. Molecular Biology and Evolution, 22(5), 1208–1222.
  • MEME: Murrell, B., et al. (2012). Detecting Individual Sites Subject to Episodic Diversification. PLoS Genetics, 8(7), e1002764.
  • FUBAR: Murrell, B., et al. (2013). FUBAR: A Fast, Unconstrained Bayesian AppRoximation for Inferring Selection. Molecular Biology and Evolution, 30(5), 1196–1205.

Author & Credits

HYphlow was designed and developed by Hyejung (Jay) Kwon at the Schott Lab: Evolution and Development of Vertebrate Visual Systems, under the supervision of Dr. Ryan K Schott.

Logo designed by Taegan Perez.

Special thanks to the members of the Schott Lab for their feedback and support throughout the development of this project.

If you use this pipeline in your research, please link back to this repository and cite or acknowledge HYphlow where appropriate.


Support & Contribution

Bug reports, feature requests, and code contributions are welcome through GitHub Issues and Pull Requests.


License

HYphlow is distributed under the MIT License. See the LICENSE file for details.

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

hyphlow-1.0.4.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hyphlow-1.0.4-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file hyphlow-1.0.4.tar.gz.

File metadata

  • Download URL: hyphlow-1.0.4.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for hyphlow-1.0.4.tar.gz
Algorithm Hash digest
SHA256 cf95bb41945359419a7e61b46cda1a320e96337d33020fc3164011eb55e840cc
MD5 d1b5f5d76123ed2e0227249a0427b5bf
BLAKE2b-256 bdb299394d9339e8545f4363a33fb9fdbe9f4728ac872f41d285876d417624b9

See more details on using hashes here.

File details

Details for the file hyphlow-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: hyphlow-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for hyphlow-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0bc2f7a8d2669530ad033f2a555a389768619b593a4e6829f7e9502b7a59dc8e
MD5 1089fae41b4daade54bd6d363b81d00b
BLAKE2b-256 fed87fb0c35d945dce09d46d7e0367a999c034ec2ae4c96d67b96b7ca56af831

See more details on using hashes here.

Supported by

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