Skip to main content

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

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)

Source distribution for gwas-assoc-tools 0.1.3
File Size Uploaded
gwas_assoc_tools-0.1.3.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gwas-assoc-tools 0.1.3
File Interpreter ABI Platform
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 log

Release 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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page