Skip to content

tahiri-lab/iPhyloGeo_plus_plus

Repository files navigation

🌳 iPhyloGeo++

License: MIT Contributions Py version Hits

Multi-platform Application for Analyzing Phylogenetic Trees with Climatic Parameters

Table of Contents
  1. About the Project
  2. Features
  3. Installation
  4. Usage
  5. Project Structure
  6. Contributing
  7. References
  8. Contact
Main

About the Project

The iPhyloGeo++ tool is an advanced bioinformatics application specifically designed for the integration and analysis of phylogeographic data. By leveraging both genetic and climatic information, it offers comprehensive insights into the evolutionary processes and geographical distribution of various species.

Features

  • Cross-Platform Compatibility: Compatible with Windows, macOS, and Linux.
  • Comprehensive Data Integration: Merges genetic sequences with climatic data for robust analysis.
  • Intuitive User Interface: Developed with PyQt5 to ensure ease of use.
  • Advanced Visualization Tools: Provides visualization of phylogenetic trees and climatic data on interactive maps.
  • Enhanced Comparative Analysis: Facilitates the comparison of different phylogenetic trees.

1. Clone the repository

git clone https://github.com/tahiri-lab/iPhyloGeo_plus_plus.git
cd iPhyloGeo_plus_plus

2. Set Up a Virtual Environment

python3 -m venv iPhyloGeo++_env   # Use only `python` instead of `python3` if it doesn't work

# Linux
source iPhyloGeo++_env/bin/activate

# Windows
iPhyloGeo++_env\Scripts\activate

3. Install Dependencies

pip install -r requirements.txt

4. Install Development Dependencies(Optional)

pip install -r dev-requirements.txt

5. Set Up Pre-commit Hooks(Optional)

pre-commit install

6. Run the Application

python3 scripts/main.py

Loading Genetic Data

Genetic demonstration

  1. Navigate to File Browser on the Genetic Page:
  • Access the genetic data interface through the File Browser tab.
  • Select and Load Your Fasta File:

To help you, you can go to the Wiki to understand how to navigate into the iPhyloGeo application.

  1. Choose your Fasta file containing the genetic sequences. Supported formats should be specified (e.g., .fasta, .fa).
  • Ensure the file adheres to the correct format and structure.
  • Perform Sequence Alignment, Statistics, and Generate Genetic Trees:
  1. Sequence Alignment:
  • Utilize built-in tools for aligning sequences, detailing available algorithms (e.g., MUSCLE, ClustalW).
  • Statistics: Generate statistics such as nucleotide frequencies, sequence length distribution, and GC content.
  • Genetic Trees: Construct phylogenetic trees using methods like Neighbor-Joining, Maximum Likelihood, or Bayesian inference. Visualize trees with options for customization (e.g., color-coding branches, annotating clades).

Loading Climatic Data

Climatic demonstration

  1. Navigate to File Browser on the Climatic Page:
  • Access the climatic data interface through the File Browser tab.
  • Select and Load Your CSV File Containing Climatic Data:
  • Choose your CSV file with climatic information. Supported data formats and required structure should be clarified.
  1. View the Generated Maps, Data Tables, Statistics, and Climatic Trees as Needed:
  • Display and interact with the visual representations of the climatic data, including maps, tables, and statistical summaries.

Displaying Results

Results demonstration

  1. Navigate to the Results Page:
  • Access the results interface.
  1. Adjust the Parameters as Needed:
  • Modify settings to refine the analysis.
  1. Click on Submit to View the Phylogenetic Results:
  • Generate and display the results based on the input data and parameters.
  1. Navigate to the Stats Button for Phylogenetic Trees Visualization:
  • Use the stats button to visualize the phylogenetic trees and related statistics.

To help you, you can follow the Tutorial part of the Wiki to achieve all these steps.

Project Structure

This project is organized into several key directories to help you navigate and understand the codebase.

  • img/: Contains images used by the README and the application.
  • datasets/: Includes sample data for testing purposes.
  • scripts/: Houses the Python files for the project.
  • requirements.txt: List of dependencies.
  • scripts/main.py: Main application entry point.

Contributing

We welcome contributions to iPhyloGeo++. Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Set up pre-commit hooks (pre-commit install).
  4. Commit your changes (git commit -m 'Add new feature').
  5. Push to the branch (git push origin feature-branch).
  6. Create a new Pull Request.

✔️ References

💡 If you are using our algorithm in your research, please cite our recent papers:

1️⃣ Li, W. & Tahiri, N. (2024). Host-Virus Cophylogeny Trajectories: Investigating Molecular Relationships between Coronaviruses and Bat Hosts. Viruses, 16(7), p.1133

2️⃣ Gagnon, J. & Tahiri, N. (2024). Ecological and Spatial Influences on the Genetics of Cumacea (Crustacea: Peracarida) in the Northern North Atlantic. Proceeding in SciPy 2024, Tacoma, WA, USA

3️⃣ Li, W. & Tahiri, N. (2023). aPhyloGeo-Covid: A Web Interface for Reproducible Phylogeographic Analysis of SARS-CoV-2 Variation using Neo4j and Snakemake. Proceeding in SciPy 2023, Auxtin, TX, USA

4️⃣ Koshkarov, A., Li, W., Luu, M. L., & Tahiri, N. (2022). Phylogeography: Analysis of genetic and climatic data of SARS-CoV-2. Proceeding in SciPy 2022, Auxtin, TX, USA

Contact

Please email us at: Nadia.Tahiri@USherbrooke.ca for any questions or feedback.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages