A comprehensive, GUI-based tool for statistical analysis of experimental data.
Users can import Excel or CSV files, define groups, and let BioMedStatX handle the rest - from outlier detection and assumption checks, to guided data transformations, selection of appropriate tests (parametric / non-parametric), post-hoc analyses, and generation of fully documented reports.
Repository: philippkrumm/BioMedStatX
Releases (Download ready-to-use app): https://github.com/philippkrumm/BioMedStatX/releases
License: MIT License
BioMedStatX is designed for experimental and biomedical research workflows:
-
Intuitive GUI
Load data, select groups and variables, and trigger analyses without writing code. -
Automated statistical pipeline
- Outlier detection
- Assumption checks (normality, variance homogeneity, etc.)
- Guided data transformations where appropriate
- Automatic selection of parametric vs. non-parametric tests
- Guided post-hoc analyses when needed
-
Rich output
- Publication-ready plots
- Detailed Excel report with all intermediate steps, assumptions, and test decisions
- Clear documentation of which test was selected and why
-
Excel/CSV support
- Direct import of
.xlsxand.csvfiles - Provided template:
StatisticalAnalyzer_Excel_Template.xlsx
- Direct import of
-
Transparent methodology
- Advanced explanations for ANOVA workflows: see Advanced ANOVA Guide
BioMedStatX is distributed as a standalone application for end users and as source code for developers.
- Go to the GitHub Releases page:
-> https://github.com/philippkrumm/BioMedStatX/releases - Download the latest release (e.g. a
.zipfile containingBioMedStatX.exe). - Extract the archive to a folder of your choice. Please note that this is a one-folder packaging and the BioMedStatX.exe stays always together with the _internal file in one folder
- Start the application by double-clicking
BioMedStatX.exe.
That's it - no Python installation or command line usage is required for running the app.
For a step-by-step walkthrough of the GUI (with screenshots), see:
-> How to use BioMedStatX (User Guide with screenshots)
If you want to inspect or modify the source code, or contribute to the project:
- Clone the repository
git clone https://github.com/philippkrumm/BioMedStatX.git
cd BioMedStatXFor information about the helper scripts included in this repository (how to run start.sh, start.bat, tools/generate_pdfs.bat, and more), see: docs/SCRIPTS.md
BioMedStatX provides a GUI-based workflow for statistical analysis.
A detailed, step-by-step User Guide with screenshots and numbered button references is available here:
-> How to use BioMedStatX (User Guide with screenshots)
-
Start BioMedStatX
Launch the main application (e.g., via your Python entry point or executable - see the User Guide for details). -
Load your dataset
- Import an Excel or CSV file.
- Optionally use the provided template:
StatisticalAnalyzer_Excel_Template.xlsx.
-
Define groups and variables
- Select the sheet (for Excel files).
- Choose grouping variables and measurement columns.
- Specify which groups you want to compare.
-
Configure analysis options (optional)
- Choose plots and statistics to generate.
- Adjust settings as needed (see the User Guide for screenshots).
-
Run the analysis
- Start the analysis and let BioMedStatX automatically:
- detect outliers,
- check assumptions,
- select parametric / non-parametric tests,
- run post-hoc tests when needed.
- Start the analysis and let BioMedStatX automatically:
-
Inspect the output
- Review plots and statistical results.
- Open the generated Excel report for a fully documented analysis pipeline.
For a complete, screenshot-based walkthrough, including which button to click at each step, see the User Guide.
-- User Guide (GUI, step-by-step with screenshots):
-> docs/HowTo.md
-- Advanced ANOVA methodology and interpretation:
-> docs/ADVANCED_ANOVA_GUIDE.md
Additional documentation can be added to the docs/ folder.
A brief overview of the repository layout:
BioMedStatX/
├─ README.md # Landing page (this file)
├─ LICENSE # MIT License
├─ CONTRIBUTING.md # Detailed contributing guidelines
├─ CODE_OF_CONDUCT.md # Contributor Covenant Code of Conduct
├─ StatisticalAnalyzer_Excel_Template.xlsx
├─ Source Code/ # Main application source code
├─ docs/ # User-facing documentation
│ ├─ HowTo.md # Screenshot-based user guide (GUI)
│ └─ ADVANCED_ANOVA_GUIDE.md # Advanced ANOVA explanations
└─ .github/
└─ ISSUE_TEMPLATE/
├─ bug_report.yml # Bug report issue template
└─ feature_request.yml # Feature request issue template
BioMedStatX is developed as an open-source academic project.
We welcome bug reports, feature requests, and code contributions.
- Contribution workflow and coding guidelines: CONTRIBUTING.md
- Community rules: CODE_OF_CONDUCT.md
- License: LICENSE
Please use the structured issue templates on GitHub:
This will guide you through our predefined templates for:
- Bug reports
- Feature requests
- (Any additional templates you may add in the future)
Using the templates helps us reproduce issues more easily and keep the project maintainable.
If you plan to contribute code:
- Fork the repository and create a feature branch.
- Implement your changes and add tests where applicable.
- Ensure code style and formatting follow the guidelines.
- Open a Pull Request (PR) with a clear description of your changes.
For full details, including branch naming conventions, commit message guidelines, testing expectations, and how to add new statistical functions, please read:
BioMedStatX is released under the MIT License.
-> See the full license text in LICENSE.
If you use BioMedStatX in a scientific publication, please cite:
TODO: Add formal citation here (authors, title, journal, year, DOI).
Example:
Krumm P, et al. BioMedStatX: A comprehensive tool for statistical analysis of experimental data. Journal/Platform, Year, DOI.
You can update this section once the paper is published and you have the final reference and DOI.
TODO: Add a direct link to the published paper here once available.
Example:
Publication describing BioMedStatX (Journal, Year, DOI)
For questions regarding the software, collaboration requests, or feedback, you can reach the maintainer at:
- Email: [email protected]
- GitHub: @philippkrumm
Please use GitHub Issues for bug reports and feature requests so that the discussion remains transparent and searchable.
In this section, we provide some ideas that we think should be implemented, but the maintainers, have not had the time to. If you have the resources to fulfill any of these ToDos, we would love your contribution.
➡️ Contributing & Issue Reporting
- Add support for Linux (non-Excel)