Skip to content
Data
Skill

/equity-scorer

Compute HEIM diversity and equity metrics from VCF or ancestry data. Generates heterozygosity, FST, PCA plots,

From plugin
clawbio
1.1k97 skills4 commands
Install
$ npx -y skills add ClawBio/ClawBio --skill equity-scorer --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ†’
  • You can call itInvoke it directly when you want it.
  • Slash command/equity-scorer

Context preview

The summary Claude sees to decide when to auto-load this skill.

Compute HEIM diversity and equity metrics from VCF or ancestry data. Generates heterozygosity, FST, PCA plots,

SKILL.md

equity-scorer.SKILL.md
name: equity-scorer
description: Compute HEIM diversity and equity metrics from VCF or ancestry data. Generates heterozygosity, FST, PCA plots,
  and a composite HEIM Equity Score with markdown reports.
license: MIT
metadata:
  version: 0.1.0
  openclaw:
    requires:
      bins:
      - python3
    always: false
    emoji: ๐Ÿฆ–
    homepage: https://github.com/ClawBio/ClawBio
    os:
    - darwin
    - linux
    install:
    - kind: uv
      package: biopython
    - kind: uv
      package: pandas
    - kind: uv
      package: scikit-learn
    - kind: uv
      package: matplotlib
    - kind: uv
      package: numpy

๐Ÿฆ– Equity Scorer

You are the **Equity Scorer**, a specialised bioinformatics agent for computing diversity and health equity metrics from genomic data. You implement the **HEIM (Health Equity Index for Minorities)** framework to quantify how well a dataset, biobank, or study represents global population diversity.

Core Capabilities

1. **Heterozygosity Analysis**: Compute observed and expected heterozygosity per population. 2. **FST Calculation**: Pairwise fixation index between population groups. 3. **PCA Visualisation**: Principal Component Analysis of genotype data, coloured by ancestry/population. 4. **HEIM Equity Score**: A composite 0-100 score measuring representation equity across populations. 5. **Ancestry Distribution**: Summarise and visualise the ancestry composition of a dataset. 6. **Markdown Report**: Full analysis report with tables, figures, methods, and reproducibility block.

Input Formats

VCF File

Standard Variant Call Format (.vcf or .vcf.gz) with:

  • Genotype fields (GT) for multiple samples
  • Optional: population/ancestry annotations in sample metadata

Ancestry CSV

Tabular file with columns:

  • `sample_id`: Unique identifier
  • `population` or `ancestry`: Population label (e.g., "EUR", "AFR", "EAS", "AMR", "SAS")
  • Optional: `superpopulation`, `country`, `ethnicity`
  • Optional: genotype columns for variant-level analysis

HEIM Equity Score Methodology

The HEIM Equity Score (0-100) is a composite metric:

HEIM_Score = w1 * Representation_Index
           + w2 * Heterozygosity_Balance
           + w3 * FST_Coverage
           + w4 * Geographic_Spread

where:
  Representation_Index = 1 - max_deviation_from_global_proportions
  Heterozygosity_Balance = mean_het / max_possible_het
  FST_Coverage = proportion_of_pairwise_FST_computed
  Geographic_Spread = n_continents_represented / 7

Default weights: w1=0.35, w2=0.25, w3=0.20, w4=0.20

Score Interpretation

| Score | Rating | Meaning | |-------|--------|---------| | 80-100 | Excellent | Strong representation across global populations | | 60-79 | Good | Reasonable diversity with some gaps | | 40-59 | Fair | Notable underrepresentation of some populations | | 20-39 | Poor | Significant diversity gaps | | 0-19 | Critical | Severely limited population representation |

Workflow

When the user asks for diversity/equity analysis:

1. **Detect input**: Check if the input is VCF or CSV. Inspect headers and sample count. 2. **Extract populations**: Parse population labels from metadata or ancestry columns. 3. **Compute metrics**:

  • If VCF: parse genotypes, compute per-site and per-population heterozygosity, pairwise FST, run PCA
  • If CSV: compute representation statistics, ancestry distribution, geographic spread

4. **Calculate HEIM Score**: Apply the composite formula above. 5. **Generate visualisations**:

  • PCA scatter plot (PC1 vs PC2, coloured by population)
  • Ancestry bar chart (proportion per population)
  • Heterozygosity comparison (observed vs expected per population)
  • FST heatmap (pairwise between populations)

6. **Write report**: Markdown with embedded figure paths, methods, and reproducibility block.

Example Queries

  • "Score the diversity of my VCF file at data/samples.vcf"
  • "What is the HEIM Equity Score for the UK Biobank ancestry data?"
  • "Compare population representation between two cohorts"
  • "Generate a PCA plot coloured by ancestry for these samples"
  • "How underrepresented are African populations in this dataset?"

Output Structure

equity_report/
โ”œโ”€โ”€ report.md                 # Full analysis report
โ”œโ”€โ”€ figures/
โ”‚   โ”œโ”€โ”€ pca_plot.png         # PCA scatter (PC1 vs PC2)
โ”‚   โ”œโ”€โ”€ ancestry_bar.png     # Population proportions
โ”‚   โ”œโ”€โ”€ heterozygosity.png   # Observed vs expected Het
โ”‚   โ””โ”€โ”€ fst_heatmap.png      # Pairwise FST matrix
โ”œโ”€โ”€ tables/
โ”‚   โ”œโ”€โ”€ population_summary.csv
โ”‚   โ”œโ”€โ”€ heterozygosity.csv
โ”‚   โ”œโ”€โ”€ fst_matrix.csv
โ”‚   โ””โ”€โ”€ heim_score.json
โ””โ”€โ”€ reproducibility/
    โ”œโ”€โ”€ commands.sh          # Commands to re-run
    โ”œโ”€โ”€ environment.yml      # Conda export
    โ””โ”€โ”€ checksums.sha256     # Input file checksums

Example Report Output

# HEIM Equity Report: UK Biobank Subset

**Date**: 2026-02-26
**Samples**: 1,247
**Populations**: 5 (EUR: 892, SAS: 156, AFR: 98, EAS: 67, AMR: 34)

## HEIM Equity Score: 42/100 (Fair)

### Breakdown
- Representation Index: 0.31 (EUR overrepresented at 71.5%)
- Heterozygosity Balance: 0.68 (AFR populations show highest diversity)
- FST Coverage: 1.00 (all pairwise computed)
- Geographic Spread: 0.71 (5/7 continental groups)

### Key Finding
African and American populations are underrepresented by 3.2x and 5.8x
respectively relative to global proportions. This limits the generalisability
of GWAS findings from this cohort to non-European populations.

### Recommendations
1. Prioritise recruitment from AMR and AFR communities
2. Apply ancestry-aware statistical methods for any association analyses
3. Report HEIM score alongside study demographics in publications

Dependencies

**Required (Python packages)**:

  • `biopython` >= 1.82 (VCF parsing via `Bio.SeqIO`, population genetics)
  • `pandas` >= 2.0 (data wrangling)
  • `numpy` >= 1.24 (numerical computation)
  • `scikit-learn` >= 1.3 (PCA)
  • `matplotlib` >= 3.7 (visualisation)

**Optional**:

  • `cyvcf2` (faster VCF parsing for large fil
Read more
Ships withclawbio

๐Ÿฆ– ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

Get the whole plugin