-
Notifications
You must be signed in to change notification settings - Fork 4
App Structure
The iPhyloGeo_plus_plus
application is designed to provide advanced phylogeographic analysis tools. This document outlines the structure of the application, detailing the organization of its components and the relationships between them. Understanding the app structure is crucial for developers and contributors who wish to navigate the codebase efficiently and contribute effectively. Below, you will find an overview of the folder structure, key files, and a UML class diagram that illustrates the architecture of the UI components.
-
aPhyloGeo Library:
- Provides the core functionalities for phylogeographic analysis.
- Includes various algorithms for data processing and analysis.
- Designed to be extensible, allowing for the addition of new algorithms and tools.
-
Qt/PyQt5 UI:
- Utilizes PyQt5 to create the graphical user interface.
- Includes multiple
.ui
files that define the layout and components of different windows and dialogs. - Provides a responsive and user-friendly interface for interacting with the core functionalities.
This is a detailed folder structure of the iPhyloGeo_plus_plus
project:
└── 📁iPhyloGeo_plus_plus
└── 📁.github Contains GitHub-specific configurations and templates.
└── 📁.idea Contains project-specific settings for the IntelliJ IDEA IDE.
└── 📁datasets Includes sample data for testing purposes.
└── 📁img Contains images used by the README and the application.
└── 📁results Directory for storing results generated by the application.
└── 📁Qt Contains UI files for the application.
└── 📄help.ui
└── 📄loading.ui
└── 📄main.ui
└── 📄parameters.ui
└── 📄wait.ui
└── 📁utils Contains utility scripts and configuration files.
└── 📄__init__.py
└── 📄genetic_params_dialog.py
└── 📄help.py
└── 📄params_default.yaml
└── 📄params.yaml
└── 📄PreferencesDialog.py
└── 📄resources_rc.py
└── 📄settings.py
└── 📄__init__.py
└── 📄main.py The main entry point of the application.
└── 📄.gitignore Specifies files and directories to be ignored by Git.
└── 📄.isort.cfg Configuration file for the isort tool.
└── 📄.pre-commit-config.yaml Configuration file for pre-commit hooks.
└── 📄black.toml Configuration file for the Black code formatter.
└── 📄README.md The main README file for the project.
└── 📄requirements-dev.txt List of development dependencies.
└── 📄requirements.txt List of dependencies.
└── 📄ruff.toml Configuration file for the Ruff linter.
The following diagram provides a visual representation of the class implementation for the UI components of the iPhyloGeo_plus_plus
application. It adheres to the UML 2.5 specification, detailing the relationships and interactions between different classes and their specific responsibilities.
For more detailed information on UML elements, you can refer to the UML Core Reference.
Home
Installation
Tutorial
Settings