Tutorials › Statistical Genetics › Local Ancestry Adjustment in Admixed Cohorts

Population Stratification Control · Tutorial 192 of 989

Local Ancestry Adjustment in Admixed Cohorts

Learn to distinguish global from local ancestry adjustment, fit and interpret a joint association model, and recognize what each adjustment does—and does not—control.

Intermediate 10 min read

What You'll Learn

  • Distinguish genome-wide ancestry proportions from ancestry at a particular locus
  • Specify a genotype-association model with global and local ancestry covariates
  • Interpret a genotype coefficient conditional on both ancestry measures
  • Calculate how local ancestry adjustment changes a genotype slope
  • Identify assumptions and limitations of ancestry adjustment

Why Adjust for Ancestry at Two Scales?

In an admixed cohort, people can differ in their overall ancestry composition and also in the ancestry inherited at a particular genomic region. Those are related but distinct features. Global ancestry summarizes genome-wide ancestry proportions; local ancestry describes the ancestral origin of the chromosome copies at one locus. Since allele frequencies can differ across ancestral populations, both features can be relevant when estimating a genotype–phenotype association.

The purpose of including both measures is not to turn an observational association into a causal result. Rather, the model compares genotype values while accounting for measured genome-wide and locus-specific ancestry differences. The resulting genotype coefficient has a conditional interpretation: it describes the modeled association among individuals with the same included ancestry covariates and other included covariates.

Definition: For an individual in a two-way admixed cohort, global ancestry \(Q_i\) is the estimated genome-wide proportion of ancestry from one source population. Local ancestry \(L_i\) at a locus is the number of the individual’s two chromosome copies assigned to that ancestry at that locus, so \(L_i\) is 0, 1, or 2. The genotype dosage \(G_i\) is the number of copies of the tested effect allele, also coded 0, 1, or 2.

The three quantities should not be confused. \(Q_i\) is a genome-wide proportion, \(L_i\) is a locus-specific count of ancestry copies, and \(G_i\) is a count of allele copies. Local ancestry does not say whether a particular effect allele is present; it says which ancestral source is assigned to each chromosome copy. In a cohort with more than two ancestry sources, global ancestry is represented by a vector of proportions, and local ancestry by counts for the ancestry categories at the locus. The counts sum to two, so one category can be omitted from a regression to avoid redundant columns.

A Joint Association Model

For a quantitative phenotype \(Y_i\), a basic two-way ancestry-adjusted linear regression is

$$ Y_i=\beta_0+\beta_G G_i+\gamma Q_i+\delta L_i+\boldsymbol{\theta}^{\mathsf T}\mathbf{C}_i+\varepsilon_i. $$

Here \(\mathbf{C}_i\) contains other specified covariates, such as age or sex, and \(\varepsilon_i\) is the residual. The model assumes a linear conditional mean, a common genotype slope \(\beta_G\) across the modeled ancestry backgrounds, and errors with mean zero conditional on the included predictors. For the usual standard errors and tests in this linear model, errors are also assumed independent with constant variance; approximate large-sample inference can be used under suitable conditions when the error distribution is not normal. The ancestry and genotype measurements must be sufficiently accurate for the intended analysis.

The coefficient \(\gamma\) describes the modeled change in phenotype per unit increase in global ancestry proportion, holding genotype, local ancestry, and other covariates fixed. The coefficient \(\delta\) compares individuals differing by one locally assigned ancestry copy, conditional on the other predictors. Most importantly, \(\beta_G\) is the modeled phenotype difference per additional effect allele, conditional on \(Q_i\), \(L_i\), and \(\mathbf{C}_i\). It is not automatically a causal effect.

Global ancestry helps account for genome-wide differences correlated with both genotype and phenotype. Local ancestry accounts for the ancestral composition specifically at the tested locus, where allele frequencies and linked genomic backgrounds can vary. Including one does not generally make the other unnecessary: local ancestry can vary among people with similar genome-wide ancestry, and genome-wide ancestry can differ among people with the same local ancestry count.

Worked Example: Interpreting a Joint Model Prediction

Suppose a hypothetical fitted model for a quantitative biomarker measured in mmol/L is

$$ \widehat{Y}_i=8.00+0.30G_i+1.20Q_i+0.70L_i+0.020A_i, $$

where \(A_i\) is age in years. For an individual with \(G_i=1\), \(Q_i=0.65\), \(L_i=1\), and \(A_i=40\), the predicted conditional mean is

$$ 8.00+(0.30)(1)+(1.20)(0.65)+(0.70)(1)+(0.020)(40) =8.00+0.30+0.78+0.70+0.80=10.58\text{ mmol/L}. $$

The genotype coefficient is \(0.30\) mmol/L per additional effect allele, comparing people equal in the modeled global ancestry, local ancestry, age, and any other included covariates. The calculation does not mean that changing a person’s genotype would cause their biomarker to change by that amount.

Why Local Ancestry Can Change the Genotype Slope

If local ancestry is associated with both genotype dosage and phenotype, omitting it can make the unadjusted genotype slope reflect a mixture of within-local-ancestry association and differences between local ancestry groups. This is the same general confounding concern that motivates ancestry control elsewhere, but it occurs at the locus-specific scale. A useful way to see the role of the adjustment is to consider regression after removing the fitted contribution of the other covariates.

Result: In a linear regression with an intercept and nuisance covariates collected in a matrix \(Z\), the coefficient of genotype \(G\) equals the slope from regressing the residualized outcome on the residualized genotype. If \(M_Z\) is the residual-maker matrix that removes the linear projection on \(Z\), then $$ \widehat{\beta}_G=\frac{G^{\mathsf T}M_ZY}{G^{\mathsf T}M_ZG}, $$ provided \(G^{\mathsf T}M_ZG>0\). For local ancestry adjustment, \(Z\) includes local ancestry and the other covariates, including global ancestry when it is part of the model.

To justify the result, write the least-squares objective as the sum of squared residuals from the model \(Y=Z\boldsymbol{\eta}+G\beta_G+\boldsymbol{\varepsilon}\). For any fixed \(\beta_G\), the least-squares choice of \(\boldsymbol{\eta}\) removes from \(Y-G\beta_G\) its projection onto the columns of \(Z\). The remaining residual is therefore \(M_Z(Y-G\beta_G)\). Minimizing its squared length gives

$$ \frac{\partial}{\partial\beta_G} \left[(Y-G\beta_G)^{\mathsf T}M_Z(Y-G\beta_G)\right] =-2G^{\mathsf T}M_ZY+2\beta_GG^{\mathsf T}M_ZG=0. $$

Solving this equation gives the stated expression. Thus adjustment estimates the genotype slope from the part of genotype variation not linearly explained by the nuisance covariates. If that remaining variation is very small, the coefficient can be imprecise or not estimable.

Worked Example: A Pooled Slope Distorted by Local Ancestry

Consider six hypothetical individuals with the same global ancestry proportion, so a global ancestry term is constant in this comparison and is absorbed into the intercept. The table gives local ancestry \(L\), genotype dosage \(G\), and a quantitative phenotype \(Y\).

Local ancestry \(L\)Genotype dosage \(G\)Phenotype \(Y\)
0010
0010
0111
2120
2221
2221

First, the pooled slope without local ancestry adjustment is the sample covariance numerator divided by the genotype sum of squares. The overall means are \(\bar{G}=1\) and \(\bar{Y}=93/6=15.5\). Thus

$$ \widehat{\beta}_{\text{pooled}} =\frac{\sum_i(G_i-\bar{G})(Y_i-\bar{Y})}{\sum_i(G_i-\bar{G})^2} =\frac{22}{4}=5.50. $$

For example, the numerator is \(2(0-1)(10-15.5)+2(2-1)(21-15.5)=11+11=22\); the two observations with \(G=1\) contribute zero because their genotype deviations are zero. The pooled slope is 5.50 phenotype units per allele.

Now adjust for local ancestry by calculating the within-\(L\) slope. In the \(L=0\) group, the genotype and phenotype means are both \(1/3\) and \(31/3\), respectively. The within-group cross-product and genotype sum of squares are each \(2/3\). In the \(L=2\) group, the corresponding means are \(5/3\) and \(62/3\); again, the cross-product and genotype sum of squares are each \(2/3\). Therefore the common within-group slope is

$$ \widehat{\beta}_{G\mid L} =\frac{(2/3)+(2/3)}{(2/3)+(2/3)} =\frac{4/3}{4/3}=1.00. $$

The adjusted estimate is 1.00 phenotype unit per allele, rather than 5.50. In these constructed data, phenotype levels and genotype distributions both differ sharply by local ancestry, so the pooled slope largely reflects between-group differences. The calculation illustrates a possible effect of adjustment; it does not establish that local ancestry is a confounder in every dataset.

Fitting and Interpreting the Adjustment

A practical analysis begins by defining the genotype allele and the ancestry coding, then specifying the phenotype model. For two-way admixture, include one global ancestry proportion and one local ancestry count, along with the other justified covariates. For multiway admixture, use a nonredundant set of global proportions and local ancestry indicators or counts. Ensure that the model matrix is identifiable: the predictors cannot be exact linear combinations, and genotype must retain variation after adjustment.

Local ancestry is often inferred rather than directly observed. The analysis therefore relies on a reasonable inference procedure and on ancestry assignments that are sufficiently accurate. Treating uncertain local ancestry calls as error-free can affect estimates and standard errors. The fitted regression also needs an appropriate mean model; an omitted nonlinear ancestry relationship or important covariate can leave residual structure. Adding ancestry variables is not a guarantee against every source of confounding.

If the genotype association plausibly differs across local ancestry backgrounds, the common-slope model may be too restrictive. An interaction term such as \(G_iL_i\) allows the genotype slope to vary with local ancestry. This changes the model and the interpretation: the genotype coefficient becomes the slope at the reference value \(L_i=0\), while the interaction describes how that slope changes with \(L_i\). Such a model needs enough genotype variation within ancestry categories to estimate its terms reliably.

Worked Example: Interpreting an Adjusted Estimate and Interval

Suppose a hypothetical linear regression in an admixed cohort estimates a genotype coefficient of \(0.42\) mmol/L per effect allele, with \(SE=0.18\) mmol/L, after adjustment for global ancestry, local ancestry, age, and sex. With a large-sample normal approximation, the test statistic for \(H_0:\beta_G=0\) is

$$ z=\frac{0.42-0}{0.18}=2.33. $$

The two-sided p-value is approximately \(0.0198\). This p-value is the probability, under the null model and the stated testing assumptions, of obtaining a test statistic at least as extreme in absolute value as 2.33. It is not the probability that the null hypothesis is true.

A corresponding approximate 95% confidence interval is

$$ 0.42\pm1.96(0.18)=0.42\pm0.3528=(0.0672,\ 0.7728)\text{ mmol/L per allele}. $$

The interval describes values compatible with the data and model under the procedure’s repeated-sampling coverage interpretation. In context, the estimated conditional association is an increase of 0.42 mmol/L per additional effect allele; the interval spans approximately 0.0672 to 0.7728 mmol/L per allele. Adjustment does not make this association causal by itself.

Common Mistakes and Practical Limits

  • Using “global” and “local” as synonyms. Global ancestry summarizes genome-wide composition; local ancestry refers to chromosome ancestry at the tested region. They carry different information.
  • Interpreting local ancestry as genotype. \(L_i\) counts ancestry copies, not copies of the tested allele. Both \(L_i\) and \(G_i\) can enter the same model.
  • Calling the adjusted coefficient causal. It is a conditional association under the model. Causal interpretation requires additional assumptions and design justification.
  • Assuming adjustment always increases precision or removes all bias. Ancestry covariates can reduce confounding, but they can also be correlated with genotype and leave little residual genotype variation. Model misspecification and inaccurate ancestry estimates remain concerns.
  • Ignoring effect heterogeneity. A single \(\beta_G\) assumes a common genotype slope across the included ancestry backgrounds. If that assumption is implausible, an interaction may be needed, with its own data and interpretation requirements.
Key takeaway: Global ancestry adjusts for genome-wide ancestry differences, while local ancestry adjusts for the ancestral composition at the tested locus. A joint model uses both to estimate a genotype association conditional on these distinct features; neither adjustment alone guarantees an unbiased causal effect.

Check Your Understanding

Answer each question using the definitions and model above.

  1. For one individual, explain the distinction between a global ancestry proportion of 0.60, a local ancestry count of 1, and a genotype dosage of 1.
  2. In the joint linear model, state the interpretation and units of \(\beta_G\).
  3. Why can a genotype slope change when local ancestry is added to a model?
  4. What does the local ancestry adjustment fail to guarantee about causal interpretation?
  5. In a model containing \(G_iL_i\), what does the interaction term allow that a common genotype slope does not?
Clinical Biostats