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.

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.3.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.3-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hyphlow-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 715f7b54199072312f730d564a510abae2503a454678494eb70a145943ee6731
MD5 c854e6a7c511bcb515079ad2a1d28be1
BLAKE2b-256 c33df881f977f4c256e659f4c30e883f2f7b869ff540dca87e1b27f1226b7f7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hyphlow-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 17d1583b373846202352d5b231ae3f0fc1f8aa61bf99dd4c751687acfe032c29
MD5 8448c8f0bdae242c0fe448c97b8d0cc9
BLAKE2b-256 c6c0e0ea4f8a3997b0eb887e7da2a073fb3c74fce20e25cf540a12bd9babeb67

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