Metadata-Version: 2.4
Name: gwas-pipeline
Version: 0.3.1
Summary: Installable Python package for end-to-end GWAS tutorial workflows.
Author: May
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.8
Requires-Dist: networkx>=3.0
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: twine>=5.1; extra == "dev"
Dynamic: license-file

# gwas-pipeline

[![CI](https://github.com/Mei918/gwas_pipeline/actions/workflows/ci.yml/badge.svg)](https://github.com/Mei918/gwas_pipeline/actions/workflows/ci.yml)
[![PyPI version](https://img.shields.io/pypi/v/gwas-pipeline.svg)](https://pypi.org/project/gwas-pipeline/)

`gwas-pipeline` is an installable Python package that wraps a 9-step GWAS
tutorial workflow behind a single CLI.

It keeps the original step-by-step tutorial layout, but also provides a
package-first interface:

```bash
gwas-pipeline step1 ...
gwas-pipeline step2 ...
...
gwas-pipeline step9 ...
```

## What is included

- packaged implementations for `step1` to `step9`
- thin legacy wrapper scripts in `gwas_step*_project/`
- server-focused runbooks and command examples
- a `doctor` command for checking environment dependencies

## Install

Install from PyPI:

```bash
pip install gwas-pipeline
```

Install from a local checkout for development:

```bash
pip install -e .
```

## Quick Start

```bash
gwas-pipeline --help
gwas-pipeline doctor --profile plink_env
gwas-pipeline step1 --help
gwas-pipeline step8 --help
python -m gwas_pipeline step9 --help
```

## CI

GitHub Actions runs a small smoke-test suite on pushes and pull requests to
make sure the packaged CLI, step registry, and legacy wrappers still load.

Releases can also be created from tags such as `v0.3.1`; see
`RELEASING.md` for the minimal release flow.

## Repository Layout

- `src/gwas_pipeline/`
  Packaged step implementations and CLI entrypoints.
- `gwas_step1_project/` to `gwas_step9_project/`
  Legacy-compatible wrappers and per-step tutorial READMEs.
- `PACKAGE_COMMANDS.md`
  Copy-paste command examples for all steps.
- `SERVER_GWAS_RUNBOOK.md`
  Short command-first server runbook.
- `server_setup.md`
  Conda environment, install, and deployment notes.
- `RELEASING.md`
  Minimal tag and GitHub Release process.

## Tested Status

The tutorial workflow has been tested step-by-step on server.

- `step1`
  Real public FASTQ subset plus real `chr22.fa`
- `step2`
  Real chr22-region VCF converted to PLINK
- `step3`
  Real GFF plus synthetic GWAS result for logic validation
- `step4`
  Synthetic GWAS result for plotting validation
- `step5` to `step8`
  Real public human chr22 / COMT-region inputs
- `step9`
  Real sample geography tables

## Notes

- This repository is intentionally limited to the GWAS tutorial package.
- The separate `gwas_postgwas_tools` project is not included here.
- `gwas-pipeline` is the primary CLI; the old step scripts remain for
  compatibility with the original tutorial structure.
