GWAS Association Tools
A command-line tool for genomic-wide association studies (GWAS) data validation and analysis.
Features
- Validate:
- Input: File path of GWAS Submission template that contains top associations
- Output: Validation report of top associations
Installation
Install from PyPI:
pip install gwas-assoc-tools
Usage
# Basic validation command
gwas-assoc validate <template excel file path>
# For help
gwas-assoc --help
gwas-assoc validate --help
Development
Setup
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync --all-groups
# Activate virtual environment
source .venv/bin/activate
Building and Installation
# Build the package (creates .whl and .tar.gz in dist/)
uv build
# Install your new package in development mode
uv sync --all-groups
Release
Publishing is done by creating a GitHub Release. The release workflow builds the
package with uv and publishes to PyPI using trusted publishing, so no local
PyPI credentials or GitHub secrets are needed.
Before the first release, configure the PyPI project gwas-assoc-tools with a
GitHub trusted publisher:
- Owner:
EBISPOT - Repository:
gwas-assoc-tools - Workflow:
publish.yml - Environment:
pypi
Configure the matching GitHub environment pypi; add reviewer protection if the
maintainers want manual approval.
Testing
TODO
Running with Real Files
# Run the CLI command through uv
# For failed test file
uv run gwas-assoc validate ./tests/test_fail.xlsx
# For successful test file
uv run gwas-assoc validate ./tests/test_success.xlsx
# Or after activating the shell
source .venv/bin/activate
# For failed test file
gwas-assoc validate ./tests/test_fail.xlsx
# For successful test file
gwas-assoc validate ./tests/test_success.xlsx
Dependency Management
# Add a new dependency
uv add new-package
# Add a development dependency
uv add --group dev pytest-mock
# Check for dependency updates
uv lock --dry-run --upgrade
# Update dependencies
uv lock --upgrade
Code Quality
# Run formatting
uv run black .
uv run isort .
# Run linting
uv run ruff check .
# Run type checking
uv run mypy src
# Run all formatting checks
uv run pre-commit run --all-files
Documentation
Please find the Confluence page here: https://embl.atlassian.net/wiki/spaces/GOCI/pages/57606184/GWAS+Associations+Tools
License
Metadata
Release files for gwas-assoc-tools 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gwas_assoc_tools-0.1.3.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gwas_assoc_tools-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / gwas_assoc_tools-0.1.3.tar.gz
| Download URL | gwas_assoc_tools-0.1.3.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d837c633e3dd0480d442cbada07e610945c4c01fd7b04d650a2644c01747e616
|
|
BLAKE2b-256 checksum How to use checksums |
817993c9f02073f604992ee4e93c2ef4dee022ebab3ff567883999980908d6aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency logRelease files / gwas_assoc_tools-0.1.3-py3-none-any.whl
| Download URL | gwas_assoc_tools-0.1.3-py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f4df41a5542409df6dcf6e1900490b9bb335ef12def354292970c87c1a90de0
|
|
BLAKE2b-256 checksum How to use checksums |
3ad69dca1c1b74d48bce7cdbc9375a1be9792578c05ca2ece99d9a9fc9ae9219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency log