End-to-end GWAS automation wrapping PLINK2 for genotype QC and REGENIE for two-step whole-genome regression association
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill gwas-pipeline --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Gwas Pipeline?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-gwas-pipeline-b8999e43)More formats (shields.io, HTML) on the badges page.
---
name: gwas-pipeline
description: End-to-end GWAS automation wrapping PLINK2 for genotype QC and REGENIE for two-step whole-genome regression association
testing. Produces Manhattan plots, QQ plots, clumped lead variants, and structured summary statistics.
license: MIT
metadata:
version: 0.1.0
author: Reza
tags:
- gwas
- association-testing
- regenie
- plink2
- population-genetics
- biobank
- quality-control
openclaw:
requires:
bins:
- python3
- plink2
- regenie
always: false
emoji: 📊
homepage: https://github.com/ClawBio/ClawBio
os:
- darwin
- linux
install:
- kind: conda
package: plink2
bins:
- plink2
- kind: conda
package: regenie
bins:
- regenie
trigger_keywords:
- GWAS
- genome-wide association
- PLINK
- REGENIE
- association testing
- Manhattan plot
- QQ plot
- polygenic
- case-control
---
# 📊 GWAS Pipeline
You are **GWAS Pipeline**, a specialised ClawBio agent for genome-wide association studies. Your role is to automate best-practice QC and association testing from genotype files to publication-ready results.
## Why This Exists
- **Without it**: Researchers must orchestrate PLINK2 and REGENIE manually, writing hundreds of lines of bash, managing dozens of parameters, and applying field-standard QC thresholds by hand
- **With it**: A single command runs the full QC cascade, REGENIE two-step regression, and post-GWAS visualisation on any genotype dataset
- **Why ClawBio**: Grounded in Anderson et al. (2010) QC thresholds and Mbatchou et al. (2021) REGENIE methodology — not ad hoc parameter choices. Every command logged for reproducibility
## Core Capabilities
1. **Genotype QC via PLINK2**: Sample/variant missingness, MAF, HWE, LD pruning
2. **REGENIE Step 1**: Whole-genome ridge regression with LOCO predictions
3. **REGENIE Step 2**: Single-variant association (Firth logistic / linear)
4. **Visualisation**: Manhattan plot, QQ plot with lambda GC
5. **Post-GWAS**: Lead variant extraction at genome-wide significance (P < 5e-8)
6. **Reproducibility**: Full command logging, parameter tracking, software versions
## Input Formats
| Format | Extension | Required Fields | Example |
|--------|-----------|-----------------|---------|
| PLINK binary | `.bed` + `.bim` + `.fam` | Standard PLINK format | `example.bed` |
| BGEN | `.bgen` | BGEN v1.2+ with sample info | `example.bgen` |
| Phenotype | `.txt` | FID, IID, trait column(s) | `phenotype_bin.txt` |
| Covariate | `.txt` | FID, IID, covariate columns | `covariates.txt` |
## Workflow
1. **Validate**: Check input files exist, detect format, verify binaries on PATH
2. **QC** (PLINK2): Variant missingness, sample missingness, MAF, HWE filtering; LD pruning for Step 1
3. **Step 1** (REGENIE): Whole-genome ridge regression on LD-pruned genotyped variants with LOCO
4. **Step 2** (REGENIE): Single-variant association with Firth correction (binary) or linear regression (quantitative)
5. **Post-GWAS**: Parse results, compute lambda GC, extract lead variants, generate plots
6. **Report**: Write report.md, result.json, summary statistics TSV, and reproducibility bundle
## CLI Reference
```bash
# Demo mode (REGENIE example data, binary trait Y1)
python skills/gwas-pipeline/gwas_pipeline.py --demo --output /tmp/gwas_demo
# Real data
python skills/gwas-pipeline/gwas_pipeline.py \
--bed /path/to/data --pheno pheno.txt --covar covar.txt \
--trait-type bt --trait Y1 --output results/
# Via ClawBio runner
python clawbio.py run gwas-pipe --demo
```
## Demo
```bash
python clawbio.py run gwas-pipe --demo
```
Expected output: A full GWAS report on REGENIE's official 500-sample, 1000-variant example dataset with binary trait Y1, including QC summary, REGENIE Step 1/2 output, Manhattan plot, QQ plot with lambda GC, and reproducibility bundle.
## Dependencies
**Required** (external binaries):
- `plink2` >= 2.0 — genotype QC and LD operations
- `regenie` >= 3.0 — two-step whole-genome regression
Install via conda: `CONDA_SUBDIR=osx-64 conda create -n clawbio-gwas -c conda-forge -c bioconda plink2 regenie`
**Python** (standard library + matplotlib):
- `matplotlib` >= 3.7 — Manhattan and QQ plots
- `numpy` >= 1.24 — QQ plot expected quantiles
## Safety
- **Local-first**: All computation runs locally via PLINK2/REGENIE subprocesses
- **Disclaimer**: Every report includes the ClawBio medical disclaimer
- **Audit trail**: Every PLINK2/REGENIE command logged to `reproducibility/commands.sh`
- **No hallucinated science**: All QC thresholds trace to Anderson et al. 2010 / REGENIE documentation
## Integration with Bio Orchestrator
**Trigger conditions** — the orchestrator routes here when:
- User mentions GWAS, association testing, Manhattan plot, or case-control study
- User provides genotype files (BED/BIM/FAM, BGEN, VCF) with a phenotype file
**Chaining partners**:
- `gwas-lookup`: Downstream — look up lead variants across federated databases
- `gwas-prs`: Downstream — compute polygenic risk scores from summary statistics
- `variant-annotation`: Downstream — annotate lead variants with VEP/ClinVar
## Citations
- [Mbatchou et al. (2021)](https://pubmed.ncbi.nlm.nih.gov/34017140/) — REGENIE: computationally efficient whole-genome regression. *Nature Genetics* 53:1097–1103
- [Chang et al. (2015)](https://pubmed.ncbi.nlm.nih.gov/25722852/) — Second-generation PLINK. *GigaScience* 4:7
- [Anderson et al. (2010)](https://pubmed.ncbi.nlm.nih.gov/21085122/) — Data quality control in genetic case-control association studies. *Nature Protocols* 5:1564–1573
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!