Tutorials › Statistical Genetics › An End-to-End Partitioned Heritability Workflow

Partitioned Genetic Heritability · Tutorial 556 of 989

An End-to-End Partitioned Heritability Workflow

Learn how to connect annotation construction, stratified LD-score regression, uncertainty checks, and restrained interpretation into one reproducible analysis.

Advanced 11 min read

What You'll Learn

  • Specify the variant set, annotation definitions, LD reference, and GWAS inputs before analysis
  • Explain how annotation-specific LD scores enter the stratified regression model
  • Convert fitted coefficients into heritability contributions and enrichment
  • Use block jackknife estimates to quantify uncertainty
  • Check fit, collinearity, model sensitivity, and limits on biological interpretation

From Analysis Components to a Coherent Workflow

Partitioned heritability analysis is not a single regression followed by a biological label. Its conclusions depend on a chain of choices: which variants and annotations are included, how linkage disequilibrium (LD) is represented, how the regression is fitted, and how uncertainty and sensitivity are evaluated. A defensible workflow keeps those choices explicit and checks that the final interpretation is supported by the fitted model.

The aim here is to organize that chain for stratified LD-score regression (S-LDSC). The procedure estimates how annotations relate to per-SNP genetic variance, conditional on the other annotations in the model. It does not establish that an annotation causes a trait, or that the variants in that annotation act through a particular biological mechanism.

Definition: For SNP \(j\) and annotation \(c\), let \(a(j,c)\) be the annotation value for SNP \(j\). For a binary annotation it is 1 when the SNP belongs to the annotation and 0 otherwise. The annotation-specific LD score for regression SNP \(j\) is \(l(j,c)=\sum_k r_{jk}^2 a(k,c)\), where \(r_{jk}^2\) is the squared LD correlation between SNPs \(j\) and \(k\) in the reference data. In a joint model, \(\tau_c\) is the fitted per-SNP variance coefficient for annotation \(c\), conditional on the other included annotations.

Plan the Inputs Before Fitting

First define the analysis target and the compatible inputs. Specify the GWAS phenotype and the scale on which its heritability will be reported, the regression SNPs with usable summary statistics, the variants used to calculate LD, the ancestry represented by the LD reference, and the annotations. Align alleles and variant identifiers consistently, and apply prespecified quality-control rules. If the reference panel and GWAS differ substantially in ancestry or variant coverage, LD scores may not represent the LD structure underlying the association statistics.

For each annotation, record its source, genome build, variant coverage, and exact coding rule. Check that annotation values are valid and that their counts and overlaps are as intended. An annotation may overlap others; that is allowed in a joint model, but it changes what its coefficient means. The model’s coefficient is conditional on the other annotations, not a stand-alone estimate of the annotation’s marginal contribution.

Compute each annotation-specific LD score using the same annotation and LD reference throughout the analysis. In practice, specify the SNP set, LD window, and other settings used for the computation, and preserve these choices for reruns. The regression needs LD scores for each regression SNP, not merely an annotation label for that SNP: SNPs in LD with annotated variants can also receive nonzero annotation-specific LD scores.

Worked Example: Checking an Annotation-Specific LD Score

Suppose a hypothetical enhancer annotation marks three reference SNPs, \(k=1,2,3\), with binary values \(a(k,c)=1\). For a regression SNP \(j\), the reference LD values are \(r_{j1}^2=1.00\), \(r_{j2}^2=0.25\), and \(r_{j3}^2=0.04\). Assume all other SNPs in the specified LD window have annotation value zero.

By definition,

$$ l(j,c)=\sum_k r_{jk}^2a(k,c) $$

Substituting the values gives

$$ l(j,c)=(1.00)(1)+(0.25)(1)+(0.04)(1)=1.29. $$

The annotation-specific LD score is 1.29. It is not the number of annotated SNPs in the window; it is the sum of their squared LD correlations with SNP \(j\). If the annotation coding or LD reference changes, this score can change too, so the analysis record should identify both inputs.

Fit the Joint Regression and Define the Target Quantities

Before using the regression, make its assumptions and interpretation explicit. S-LDSC relates the expected GWAS chi-square statistic for SNP \(j\) to the annotation-specific LD scores. The model assumes that the specified annotations and LD reference adequately represent the relevant LD-weighted pattern; that the regression relationship is a useful approximation over the included SNPs; and that remaining confounding is handled adequately by the intercept and modeling procedure. The intercept does not repair arbitrary misspecification or ancestry mismatch. The fitted coefficients are conditional on the annotations and regression design actually used.

$$ E[\chi_j^2]=\alpha+N\sum_c \tau_c l(j,c) $$

Here \(\chi_j^2\) is the GWAS chi-square statistic, \(N\) is the sample size used by the analysis, \(\alpha\) is the regression intercept, and \(c\) indexes the annotations. A practical fit uses the prescribed S-LDSC weighting procedure; it should not be treated as ordinary unweighted regression with independent observations. Regression statistics across SNPs are dependent because of LD.

For annotation \(c\), define \(M_c=\sum_j a(j,c)\), the sum of annotation values over the target SNP set. Its estimated heritability contribution is \(h_c^2=\hat{\tau}_c M_c\), and the model-implied total is \(h^2=\sum_c\hat{\tau}_cM_c\). With binary annotations, \(M_c\) is the number of SNPs in that annotation. For nonbinary annotations it is the sum of their values. An enrichment for annotation \(c\) is

$$ \mathrm{Enrichment}_c= \frac{h_c^2/h^2}{M_c/M}, $$

where \(M\) is the total number of SNPs in the target set. In an overlapping model, annotation-specific contributions are conditional model components: they are not necessarily mutually exclusive biological categories. Enrichments therefore need not sum to one, and negative or unstable component estimates can occur when estimates are noisy or annotations are highly correlated.

Worked Example: Translating Joint-Model Coefficients

Consider a hypothetical joint model with a baseline annotation covering all \(M=1{,}000\) SNPs and an enhancer annotation covering \(M_{\mathrm{enh}}=100\) of them. The fitted coefficients are \(\hat{\tau}_{\mathrm{base}}=0.000040\) and \(\hat{\tau}_{\mathrm{enh}}=0.000200\). In this simplified example, the enhancer annotation is an additional overlapping annotation in the joint model.

The baseline contribution is

$$ h_{\mathrm{base}}^2=(0.000040)(1{,}000)=0.040. $$

The enhancer contribution is

$$ h_{\mathrm{enh}}^2=(0.000200)(100)=0.020. $$

The model-implied total is \(h^2=0.040+0.020=0.060\). The enhancer accounts for \(0.020/0.060=0.333\), or 33.3%, of this estimated total. Its SNP proportion is \(100/1{,}000=0.100\), so its enrichment is

$$ \mathrm{Enrichment}_{\mathrm{enh}} =\frac{0.020/0.060}{100/1{,}000} =\frac{0.333}{0.100} =3.33. $$

In this hypothetical fit, the enhancer annotation’s estimated share of heritability is 3.33 times its share of SNPs, conditional on the baseline term and the model specification. This is an estimate, not evidence that enhancer status itself causes the trait. In an actual analysis, uncertainty and model checks are needed before emphasizing this contrast.

Quantify Uncertainty and Check the Fit

Use block jackknife uncertainty for heritability contributions, enrichment, and other reported derived quantities. The genome is divided into \(B\) approximately independent blocks. The analysis is repeated after omitting each block in turn, and the target quantity is recalculated each time. The jackknife captures variation across genomic regions; it is important to choose a block scheme suitable for the analysis rather than treating SNP-level regression observations as independent.

$$ \widehat{\mathrm{Var}}_{\mathrm{JK}}(\hat{\theta}) =\frac{B-1}{B}\sum_{b=1}^{B} \left(\hat{\theta}_{(-b)}-\bar{\theta}_{(-\cdot)}\right)^2, \qquad \bar{\theta}_{(-\cdot)}=\frac{1}{B}\sum_{b=1}^{B}\hat{\theta}_{(-b)}. $$

Here \(\hat{\theta}_{(-b)}\) is the estimate with block \(b\) omitted. The standard error is the square root of this variance estimate. For an enrichment, recompute the complete ratio in each replicate; do not calculate uncertainty for its numerator alone and then treat the denominator as fixed.

Worked Example: Calculating a Block-Jackknife Standard Error

Suppose five illustrative delete-one-block estimates of an enrichment are 3.1, 3.4, 3.3, 3.6, and 3.2. Their mean is

$$ \bar{\theta}_{(-\cdot)} =\frac{3.1+3.4+3.3+3.6+3.2}{5} =3.32. $$

The deviations from this mean are \(-0.22\), \(0.08\), \(-0.02\), \(0.28\), and \(-0.12\). Thus

$$ \widehat{\mathrm{Var}}_{\mathrm{JK}} =\frac{4}{5}\left[ (-0.22)^2+(0.08)^2+(-0.02)^2+(0.28)^2+(-0.12)^2 \right] =0.1184, $$

and the jackknife standard error is \(\sqrt{0.1184}=0.344\). If the full-data enrichment estimate were 3.33, this standard error would describe its estimated sampling variability under the block-jackknife procedure. Five blocks are used here only to show the arithmetic; that is too few to treat as a reliable genomic uncertainty analysis. A real workflow should use an appropriate, sufficiently fine block scheme and report the full-data estimate with its uncertainty.

Review fit and design diagnostics before interpreting estimates. Check whether the regression has a plausible intercept and whether residual behavior suggests systematic lack of fit. Examine annotation correlations, coefficient stability, and whether estimates change sharply when highly correlated annotations are included together. Large standard errors, unstable signs, or implausible component estimates can indicate limited information or collinearity, not a compelling biological pattern.

Also verify that the same SNP universe, annotation definitions, and heritability scale are used in the quantities being compared. Report the number of SNPs and annotations, the reference and regression settings, the fitted intercept, coefficient and uncertainty summaries, and the derived partition quantities. These details make it possible to distinguish a biological interpretation from a result driven by a particular analysis choice.

Sensitivity and Biological Interpretation

Sensitivity analysis asks whether the conclusion depends on defensible alternative choices. Prespecify alternatives where possible: for example, a reasonable change in annotation boundary, a second ancestry-matched LD reference, or a different supported LD window. Refit the full model for each alternative and recompute the same quantities with uncertainty. Do not present only the version producing the largest enrichment.

Worked Example: Comparing Prespecified Sensitivity Fits

Suppose a hypothetical analysis estimates enhancer enrichment under three prespecified specifications. The original annotation and reference give 3.33; a modestly narrower annotation gives 2.70; and an alternative ancestry-matched LD reference gives 3.10. These are point estimates from the same hypothetical GWAS.

The estimates range from 2.70 to 3.33. Their direction and broad scale are similar, but the result is not invariant to specification. Without standard errors or intervals for these estimates, the range alone does not show whether the differences are distinguishable from sampling variability. A responsible summary is that the estimated enrichment is above one across these tested specifications, with magnitude sensitive to the analysis choices. It would not be justified to claim an exact, specification-independent enrichment or a causal effect of enhancer status.

Biological interpretation should match the estimand. Enrichment compares an annotation’s estimated share of SNP heritability with its share of SNPs; it does not measure the fraction of trait biology explained by a cell type, pathway, or mechanism. Annotations can be correlated with one another and with unmodeled features, and a coefficient is conditional on the model’s included terms. Statistical evidence for enrichment is not, by itself, proof of a causal mechanism.

A Compact End-to-End Sequence

1
Define and audit inputs.
Fix the GWAS, variant sets, genome build, ancestry-matched LD reference, annotation coding, and quality-control rules. Record annotation sizes and overlaps.
2
Construct LD scores.
Calculate annotation-specific LD scores over the stated variant set and LD window, then check their coverage and distributions.
3
Fit the joint model.
Use the stated S-LDSC regression and weighting procedure, with an intercept, and retain coefficients, fit summaries, and diagnostics.
4
Calculate partitions and uncertainty.
Derive contributions and enrichments from fitted coefficients and annotation values; obtain uncertainty with block jackknife replicates of the derived quantities.
5
Stress-test and interpret.
Examine fit, collinearity, and prespecified sensitivity analyses, then describe the conditional estimates without turning association into causation.

Common Mistakes

  • Using annotation membership as the LD score. Membership is \(a(j,c)\); the regression predictor is the LD-weighted sum \(l(j,c)\). Calculate and check the latter.
  • Interpreting a joint coefficient as a marginal effect. In an overlapping model, \(\tau_c\) is conditional on the other annotations. State the model context when interpreting it.
  • Calling enrichment a causal or biological fraction. Enrichment is a ratio of estimated heritability share to SNP share. It does not establish mechanism or causation.
  • Reporting point estimates without uncertainty or sensitivity checks. A large estimate can be imprecise or specification-dependent. Report uncertainty and the results of defensible alternatives.
  • Assuming the intercept fixes every confounder or mismatch. The intercept is part of the regression model; it cannot guarantee valid results when key assumptions or input compatibility fail.
Key takeaway: A partitioned heritability result is credible only as a chain: transparent annotation and LD construction, a suitable joint regression, uncertainty for the derived quantities, diagnostic and sensitivity checks, and an interpretation limited to what the model estimates.

Check Your Understanding

Use the definitions and workflow above to answer these questions.

  1. Why can a SNP with annotation value zero still have a nonzero annotation-specific LD score?
  2. In a joint model with overlapping annotations, what does a fitted annotation coefficient represent?
  3. What two proportions are compared to calculate annotation enrichment?
  4. Why should a block jackknife recompute the full enrichment in each replicate?
  5. If enrichment is similar across several reference panels but varies with annotation boundaries, what should the interpretation report?
Clinical Biostats