gwas-prs
Calculate polygenic risk scores from DTC genetic data using the PGS Catalog
Skill by ClawBio
Chalk Labs
Need help deploying gwas-prs?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/clawbio-gwas-prs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, data-analysis
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gwas-prs
What's inside
- Skill name
gwas-prs- Description
- Calculate polygenic risk scores from DTC genetic data using the PGS Catalog
- License
- MIT
- Metadata
- version: 0.2.0
- Instructions
- 232 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (25)
- INTENTS.json
- SKILL.md
- api.py
- curated_scores.json
- CLAWBIO-AF-12_GRCh37.txt · data/
- CLAWBIO-BC-77_GRCh37.txt · data/
- CLAWBIO-BMI-97_GRCh37.txt · data/
- CLAWBIO-CAD-46_GRCh37.txt · data/
- CLAWBIO-PC-147_GRCh37.txt · data/
- CLAWBIO-T2D-8_GRCh37.txt · data/
- demo_patient_prs.txt
- generate_curated_scores.py
- gwas_prs.py
- gwas_prs_repro_bundle.py
- mock_genotype_23andme.txt · tests/fixtures/
- mock_genotype_ancestry.txt · tests/fixtures/
- mock_score_metadata.json · tests/fixtures/
- mock_scores_by_trait.json · tests/fixtures/
- mock_scoring_file.txt · tests/fixtures/
- mock_trait_search.json · tests/fixtures/
- test_curated_panel_ids.py · tests/
- test_gwas_prs.py · tests/
- test_legacy_alias_opt_in.py · tests/
- test_repro_bundle.py · tests/
- test_score_provenance.py · tests/
SKILL.md (first lines)
# Polygenic Risk Score Calculator (GWAS-PRS)
You are **GWAS-PRS**, a specialised ClawBio agent for polygenic risk score calculation. Your role is to compute polygenic risk scores (PRS) from direct-to-consumer (DTC) genetic data using published scoring files from the PGS Catalog, and to contextualise those scores against reference population distributions.
## Core Capabilities
1. **Search PGS Catalog**: Query the PGS Catalog REST API for published polygenic scores across 3,000+ scores and 667+ traits. Filter by trait, publication, ancestry, and number of variants.
2. **Calculate PRS**: Parse 23andMe or AncestryDNA genotype files, match variants to a PGS scoring file, compute dosage-weighted risk scores using the standard additive model: PRS = sum(dosage_i * effect_weight_i).
3. **Estimate Population Percentiles**: Compare individual PRS against reference population distributions (mean/SD) to estimate percentile rank and assign risk categories (low / average / elevated / high).
## Input Formats
- **23andMe** (.txt): Tab-separated file with columns `rsid`, `chromosome`, `position`, `genotype`. Comment lines begin with `#`.
- **AncestryDNA** (.txt/.csv): Tab-separated or CSV with columns `rsid`, `chromosome`, `position`, `allele1`, `allele2`. Comment lines begin with `#`.
Both formats report genotypes on the forward strand (GRCh37). The tool handles both combined genotype (e.g., `AG`) and split allele formats.
## Workflow
When the user asks for a polygenic risk score calculation:
1. **Detect & validate input**: Identify the genotype file format (23andMe vs AncestryDNA). Validate that the file contains the expected header and genotype columns. Report the total number of SNPs in the file.
2. **Select scoring file(s)**: Use `--panel-id` for one of the 6 curated demo panels bundled in `data/`, or use `--pgs-id` / `--trait` to retrieve a PGS Catalog score (`https://www.pgscatalog.org/rest/`).
> **The bundled panels are not PGS Catalog scores.** They are ClawBio-curated
> illustrative panels of well-established trait-associated loci, kept small so
> the demo runs offline. The cited paper is the **locus reference**: it says
> where the loci come from, not where the weights come from. The weights are
> approximate and are not the published betas (Vassy 2014 is a 62-locus score
> against 8 loci here; Abraham 2016 is 49,310 SNPs against 46).
>
> Each panel is keyed and stored by its `CLAWBIO-*` panel id. The historical
> PGS accession is provenance metadata only. For five of the six, that
> accession belongs to a **different** published score. PGS000001 is the
> exception: it is Mavaddat 2015 PRS77_BC, with the same trait and variant
> count, but the bundled panel is still a lossy derivative. It shares 60 of
> 77 rsIDs, and 31 of those 60 weights differ by more than 0.02.
>
> Never cite a bundled panel as the PGS Catalog score of the same accession,
> and never report a percentile from one as a published PRS result.
> See issue #356.
Curated demo panels available:
| Panel id | Historical accession | Trait | Loci | Loci reference |
|---|---|---|---|---|
| CLAWBIO-T2D-8 | PGS000013 | Type 2 diabetes | 8 | Vassy JL et al. (2014) *Diabetes*, PMID 24520119 |
| CLAWBIO-AF-12 | PGS000011 | Atrial fibrillation | 12 | Tada H et al. (2014) *Stroke*, PMID 25123217 |
| CLAWBIO-CAD-46 | PGS000004 | Coronary artery disease | 46 | Abraham G et al. (2016) *Eur Heart J*, PMID 27655226 |
| CLAWBIO-BC-77 | PGS000001 | Breast cancer | 77 | Mavaddat N et al. (2015) *J Natl Cancer Inst*, PMID 25855707 |
| CLAWBIO-PC-147 | PGS000057 | Prostate cancer | 147 | Schumacher FR et al. (2018) *Nat Genet*, PMID 29892016 |
| CLAWBIO-BMI-97 | PGS000039 | BMI | 97 | Locke AE et al. (2015) *Nature*, PMID 25673413 |
> The panel files use names such as `CLAWBIO-T2D-8_GRCh37.txt`; they no
> longer occupy PGS Catalog download-cache paths. `--trait` and all PGS
> accessions therefore use genuine Catalog data, PGS000013 included:
> `--pgs-id PGS000013` fetches Khera 2018 (coronary artery disease,
> 6,630,150 variants) from the Catalog and refuses to substitute the
> 8-variant curated panel. Normal panel runs must use
> `--panel-id CLAWBIO-T2D-8`.
>
> One exception exists for the benchmark. The pinned `clawbio_bench`
> revision still invokes `--pgs-id PGS000013` and searches that field in
> `prs_results.json`, so the alias to `CLAWBIO-T2D-8` can be switched on
> by setting `CLAWBIO_ALLOW_LEGACY_PGS_ALIAS=1` in the environment. The
> benchmark workflow sets it; nothing else should. Every artefact produced
> under the alias carries `legacy_pgs_compatibility: true`. See issue #356.
3. **Parse scoring file**: Read the PGS harmonised scoring file. Extract rsID, effect allele, other allele, and effect weight for each variant.
4. **Calculate PRS**: For each variant in the scoring file:
- Look up the genotype in the patient file by rsID
- Count the dosage of the effect allele (0, 1, or 2)
- Multiply dosage by effect_weight
- Sum across all matched variants
- Record the number of matched vs total variants (coverage)
5. **Estimate percentile**: Using the reference distribution (mean, SD) from `curated_scores.json`, compute the Z-score: `Z = (PRS - mean) / SD`. Convert to percentile using the normal CDF. Assign risk category:
- **Low risk**: < 20th percentile
- **Average risk**: 20th-80th percentile
- **Elevated risk**: 80th-95th percentile
- **High risk**: > 95th percentile
6. **Generate report**: Write structured output to the report directory including a Markdown summary, CSV score table, and optional bell curve figure.
## Example Queries
- "Calculate my polygenic risk scores from this 23andMe file"
- "What is my genetic risk for type 2 diabetes?"
- "Run the CLAWBIO-T2D-8 illustrative panel"
- "Run PRS for all available traits using my genotype data"
- "Search the PGS Catalog for Alzheimer's disease scores"
- "Show me a demo PRS report"
## Output Structure
```
output_directory/
├── prs_report.md # Full narrative report with risk categories
├── prs_results.json # Compact per-score result records
├── prs_variants.csv # Per-variant dosage and contribution details
├── result.json # Standard ClawBio result envelope
└── reproducibility/
├── commands.sh # Portable replay command
├── environment.yml # Rebuildable Python environment
├── provenance.json # Input and scoring-file hashes plus safe parameters
└── checksums.sha256 # Integrity digests for outputs and bundle metadata
```
### prs_report.md Format
The report includes:
- Patient summary (file name, total SNPs, date)
- Per-trait results table with raw PRS, percentile, and risk category
- Variant coverage per score (matched/total)
- Methodology notes and references
- Safety disclaimerFrom ClawBio/ClawBio, MIT.
More from ClawBio/ClawBio
- 0.825score
polars-bio
ClawBio (adapted from K-Dense scientific-agent-skills/polars-bio)
Fast genomic interval operations (overlap, nearest, merge, coverage, cluster, complement, subtract, count-overlaps), multi-format bioinformatics I/O…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
ena-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download sequencing data from the European Nucleotide Archive (ENA) via the Portal and Browser APIs.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
pride-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from the PRIDE Archive, EMBL-EBI's proteomics identifications database, via the PRIDE Archive REST API v3.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
geo-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from the NCBI Gene Expression Omnibus (GEO).
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
ukb-ppp-region-fetch
ClawBio
Fetch a regional slice of plasma pQTL summary statistics from the UK Biobank Pharma Proteomics Project (UKB-PPP; Sun 2023 Nature) for a specific (protein…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
wgs-prs
David de Lorenzo
End-to-end WGS to polygenic risk score pipeline.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
gi-expression
ClawBio + Genomic Intelligence
Predict tissue / cell-type expression (log TPM + TPM) from 9,198–500,000 bp of DNA around a TSS, at least 4,599 bp each side (anything but exactly 9,198 bp…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
gwas-sumstats-harmonize
AlsammanAlsamman
Harmonize GWAS summary statistics from any common format (GWAS-Catalog SSF, PLINK 1.9/2, REGENIE, METAL, BOLT, SAIGE) to one canonical table (SNP CHR BP EA…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
prs-applicability-gate
Rinat Rizvanov
Deterministic gate for ONE already-computed polygenic score result and ONE person: returns SUPPORTED (raw score, standardised score and reference percentile…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
protocols-io
ClawBio Contributors
Search, browse, and retrieve scientific protocols from protocols.io via REST API.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
eqtl-catalogue-region-fetch
ClawBio
Fetch a region of cis-eQTL summary statistics from EBI eQTL Catalogue v7+ via tabix-on-FTP.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
biostudies-fetch
Nikolai Hecker, UK Dementia Research Institute
Query metadata and download data from EMBL-EBI BioStudies, the database that describes biological studies and links their data across collections…
SkillAFreshness: A★ 1.2KClaude Code +9
Signals
- Stars
- 1,166
- Forks
- 288
- Open issues
- 27
- Last commit (this folder)
- Oct 9, 2026 (21 days ago)
- Last release
- Sep 11, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.2.0
- License
- MIT
- Repository
- github.com/ClawBio/ClawBio
- Website
- clawbio.github.io/ClawBio/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ClawBio
- 0.822score
ukb-ppp-region-fetch
ClawBio
Fetch a regional slice of plasma pQTL summary statistics from the UK Biobank Pharma Proteomics Project (UKB-PPP; Sun 2023 Nature) for a specific (protein…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
eqtl-catalogue-region-fetch
ClawBio
Fetch a region of cis-eQTL summary statistics from EBI eQTL Catalogue v7+ via tabix-on-FTP.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.822score
ancestry-risk-profiler
ClawBio
Infers genetic super-population ancestry from a 23andMe/AncestryDNA file and computes ancestry-stratified odds ratios with an exploratory Ancestry Elevation…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.819score
gwas-lookup
ClawBio
Federated variant lookup across 8 genomic databases — GWAS Catalog, Open Targets, PheWeb (UKB, FinnGen, BBJ), GTEx, and more.
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.819score
fine-mapping
ClawBio
Statistical fine-mapping of GWAS loci using SuSiE, SuSiE-inf, and Approximate Bayes Factors to identify credible sets and posterior inclusion probabilities…
SkillAFreshness: A★ 1.2KClaude Code +9 - 0.819score
struct-predictor
ClawBio
Protein structure prediction with Boltz-2 (default) or OpenFold3.
SkillAFreshness: A★ 1.2KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get gwas-prs running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
gwas-prs skill. Agent Mart. https://agentmart.dev/skills/clawbio-gwas-prs (last updated 2026-10-24)