Tutorials › Statistical Genetics › Allele-Count Tests Versus Genotype-Level Regression

Single-Variant Association Tests · Tutorial 317 of 989

Allele-Count Tests Versus Genotype-Level Regression

Learn when allele-count and genotype-level tests agree, why their standard errors can differ, and how to calculate and interpret each test.

Intermediate 10 min read

What You'll Learn

  • Define the allele-count test and the additive genotype-level logistic score test
  • Calculate each test statistic from a hypothetical case-control genotype table
  • Explain how within-person dependence between allele copies affects uncertainty
  • Identify the conditions under which the two tests have matching null variances
  • Recognize why allele totals alone do not determine genotype-regression uncertainty
  • Avoid interpreting two alleles from one person as two independent participants

Why Compare Allele Counts With Genotype Regression?

For a biallelic variant, each person carries two allele copies. An allele-count test pools those copies and compares allele frequencies between cases and controls. A genotype-level regression instead keeps the two copies grouped within each person, commonly representing the genotype by its minor-allele dosage \(G_i\), which is 0, 1, or 2. These procedures can give similar results, but they do not generally use the same estimate of uncertainty.

The distinction matters because two alleles from the same person are not automatically independent observations. Treating them as independent can make the effective sample size seem larger than the number of people and can misstate a test's standard error. The comparison below isolates this issue for a single variant, a binary case-control outcome, unrelated participants, complete genotype data, and no covariates.

Definition: An allele-count test compares the counts of the two alleles in cases and controls using a \(2\times2\) table, with a null variance calculated as though the allele observations are independent. An individual-level genotype test uses one genotype dosage \(G_i\) per person in a regression model. In the additive logistic model, the log odds of being a case change linearly with \(G_i\).

The Two Tests and Their Assumptions

Let \(Y_i=1\) denote a case and \(Y_i=0\) a control. Let \(G_i\) be the number of copies of the designated allele for person \(i\). For the regression comparison, use the additive logistic model

$$ \operatorname{logit}\{P(Y_i=1\mid G_i)\}=\beta_0+\beta_G G_i. $$

The null hypothesis of no association in this model is \(H_0:\beta_G=0\). The score test evaluates the slope at this null, with the intercept estimated under \(H_0\). Its usual large-sample reference distribution is a chi-square distribution with one degree of freedom. This setup assumes independent participants and a correctly specified logistic mean model under the null; it does not assume that two allele copies within a person are independent.

The allele-count test instead tabulates the number of copies of each allele among cases and controls. Its conventional null calculation treats each allele copy as an independent observation with a common pooled allele frequency. That working assumption is stronger than independence across people: it also treats the two copies carried by one person as independent. For a biallelic locus, this within-person independence corresponds to Hardy-Weinberg proportions in the pooled genotype distribution under the null. Departures can change the variance of genotype dosage even when allele totals are unchanged.

Calculating the Tests From Genotype Data

For the allele-count test, let \(n_1\) and \(n_0\) be the numbers of cases and controls. There are \(2n_1\) case alleles and \(2n_0\) control alleles. Let \(\hat p\) be the pooled frequency of the designated allele. Under the independent-allele null, the variance of the case allele count, conditional on the total allele count, is

$$ \operatorname{Var}(A_1)= \frac{(2n_1)(2n_0)}{2(n_1+n_0)}\hat p(1-\hat p). $$

The allele-count score statistic is the squared difference between the observed and expected case allele counts divided by this variance. For the individual-level logistic score test, write \(N=n_1+n_0\), \(\bar G=N^{-1}\sum_i G_i\), and \(\bar Y=n_1/N\). Under \(H_0\), the score and its intercept-adjusted information are

$$ U=\sum_{i=1}^{N}G_i(Y_i-\bar Y) =\sum_{i:Y_i=1}G_i-n_1\bar G, \qquad I=\bar Y(1-\bar Y)\sum_{i=1}^{N}(G_i-\bar G)^2. $$

The individual-level score statistic is \(U^2/I\). The centering by \(\bar G\) accounts for estimating the intercept: under the null, a common shift in case probability is not evidence for a genotype slope. The information uses the observed spread of the person-level dosages, not an assumption that all allele copies are independent.

Justification: Under the null logistic model, each participant has fitted case probability \(\bar Y\). The slope score before adjustment is \(\sum_iG_i(Y_i-\bar Y)\), while the intercept score is \(\sum_i(Y_i-\bar Y)=0\). Removing the intercept direction centers each dosage at \(\bar G\); the corresponding logistic information is \(\bar Y(1-\bar Y)\sum_i(G_i-\bar G)^2\). Squaring the adjusted score and dividing by its information gives the one-degree-of-freedom score statistic.

Worked Example: Different Uncertainty From the Same Participants

Consider hypothetical data from 100 unrelated participants, with 50 cases and 50 controls. Let \(G\) count copies of the designated allele.

Outcome\(G=0\)\(G=1\)\(G=2\)Total participants
Cases3211750
Controls3002050

Allele-count test. The case allele count is \(1+2(17)=35\), and the control allele count is \(2(20)=40\). Thus the pooled frequency is \(\hat p=(35+40)/200=0.375\). The expected case count is \(100(0.375)=37.5\), so the observed-minus-expected difference is \(35-37.5=-2.5\). The null variance under the independent-allele calculation is

$$ \frac{100(100)}{200}(0.375)(0.625) =50(0.234375)=11.71875. $$

Therefore,

$$ X^2_{\mathrm{allele}} =\frac{(-2.5)^2}{11.71875} =\frac{6.25}{11.71875} \approx 0.5333. $$

Individual-level score test. The total dosage is \(75\), so \(\bar G=75/100=0.75\). The case dosage sum is \(35\), giving \(U=35-50(0.75)=-2.5\). Across all participants, \(\sum_iG_i^2=1+4(37)=149\); hence

$$ \sum_i(G_i-\bar G)^2 =149-\frac{75^2}{100} =92.75, \qquad I=(0.5)(0.5)(92.75)=23.1875. $$

The regression score statistic is

$$ X^2_{\mathrm{score}} =\frac{(-2.5)^2}{23.1875} =\frac{6.25}{23.1875} \approx 0.2695. $$

Both are small one-degree-of-freedom statistics: their approximate p-values are 0.465 and 0.604, respectively. Neither provides strong evidence against its null hypothesis in this hypothetical sample. The difference in statistics comes from the null variance: the independent-allele calculation gives 11.71875, whereas the person-level regression gives 23.1875.

When the Variances Match

The two approaches can agree under the assumptions that justify treating allele copies as independent. Suppose the pooled allele frequency is \(p\), so that under Hardy-Weinberg proportions the dosage variance is \(\operatorname{Var}(G)=2p(1-p)\). With \(N=n_1+n_0\), the individual-level information under the null is approximately

$$ \frac{n_1n_0}{N}\operatorname{Var}(G) = \frac{2n_1n_0}{N}p(1-p). $$

For the allele-count test, the variance of the case allele count is

$$ \frac{(2n_1)(2n_0)}{2N}p(1-p) = \frac{2n_1n_0}{N}p(1-p). $$

Thus, under these conditions, the null variances agree. Both tests then use the same underlying dosage contrast and can produce matching score statistics, up to the details of the sampling and variance calculation. This agreement is not a general identity; it depends on the genotype distribution and the tests' assumptions.

Worked Example: Agreement Under Hardy-Weinberg Proportions

Suppose a hypothetical study has 100 cases and 100 controls. The genotype totals are 98 with \(G=0\), 84 with \(G=1\), and 18 with \(G=2\). These are exactly the Hardy-Weinberg proportions for pooled allele frequency \(p=0.30\). Among cases, let the counts be 55, 40, and 5; among controls, let them be 43, 44, and 13.

The case allele count is \(40+2(5)=50\); the control count is \(44+2(13)=70\). The pooled frequency is \(120/400=0.30\), so the case count's expected value is \(200(0.30)=60\). The allele-count variance and statistic are

$$ \operatorname{Var}(A_1) =\frac{200(200)}{400}(0.30)(0.70)=21, \qquad X^2_{\mathrm{allele}}=\frac{(50-60)^2}{21} =\frac{100}{21}\approx4.762. $$

For regression, the total dosage is 120, so \(\bar G=0.60\), and the case dosage sum is 50. Thus \(U=50-100(0.60)=-10\). Also, \(\sum_iG_i^2=84+4(18)=156\), giving

$$ I=(0.5)(0.5)\left(156-\frac{120^2}{200}\right) =0.25(84)=21, \qquad X^2_{\mathrm{score}}=\frac{(-10)^2}{21}\approx4.762. $$

The statistics match because the pooled genotype totals follow Hardy-Weinberg proportions, so the observed dosage variance is consistent with independent allele copies. The matching calculations do not establish that the assumption holds in other data.

Why Allele Totals Do Not Tell the Whole Story

An allele-count table contains only the total number of copies in cases and controls. It does not retain how the two copies are grouped into people. Genotype regression uses that grouping through the spread of the individual dosages, \(\sum_i(G_i-\bar G)^2\). As a result, two data sets with identical allele counts can have the same allele-count statistic but different regression score statistics.

Worked Example: Identical Allele Counts, Different Dosage Spread

Compare two hypothetical data sets, each with 40 cases and 40 controls. Each has 20 designated alleles among cases and 40 among controls, so both have \(\hat p=60/160=0.375\). The case-count difference from its pooled expectation is \(20-80(0.375)=-10\). In both data sets, the allele-count variance is

$$ \frac{80(80)}{160}(0.375)(0.625) =40(0.234375)=9.375, \qquad X^2_{\mathrm{allele}}=\frac{100}{9.375}\approx10.67. $$

In data set A, the case genotype counts for \(G=0,1,2\) are \(30,0,10\), and the control counts are \(10,20,10\). The total dosage is 60, the total squared dosage is 100, and the centered dosage sum of squares is \(100-60^2/80=55\). Therefore \(U=20-40(0.75)=-10\), \(I=0.25(55)=13.75\), and

$$ X^2_{\mathrm{score,A}}=\frac{100}{13.75}\approx7.273. $$

In data set B, the case counts are \(20,20,0\), and the control counts are \(0,40,0\). The total dosage remains 60, but the total squared dosage is now 60. The centered dosage sum of squares is \(60-60^2/80=15\). Thus \(U=-10\), \(I=0.25(15)=3.75\), and

$$ X^2_{\mathrm{score,B}}=\frac{100}{3.75}\approx26.67. $$

The allele counts, and therefore the allele-count test, are identical. The individual-level test differs because the genotype configurations produce different dosage spreads. These calculations illustrate what information is lost when genotypes are reduced to pooled allele totals; they are not a claim that every large-sample approximation is reliable in every small or unusual data set.

Interpretation and a Common Pitfall

The allele-count test is convenient and may be a reasonable approximation when the assumptions behind its variance are adequate. The genotype-level regression retains the participant as the observational unit and directly uses each person's dosage. The choice between them is not simply a choice between counting \(2N\) observations and counting \(N\): the tests define their null uncertainty differently.

  • Wrong reasoning: “There are two alleles per person, so I can treat the study as having twice as many independent observations and use the allele-count standard error.”
  • Correction: Two allele copies share a person. Unless the independent-copy assumption is justified, their within-person dependence affects variance. The effective information is not determined by the allele count alone.
  • Practical check: State whether the analysis uses pooled allele counts or person-level dosages, and state the null variance assumption. If the data depart from Hardy-Weinberg proportions, do not assume that the allele-count and dosage-regression variances coincide.

In either approach, a p-value measures how incompatible the observed statistic is with the specified null model; it is not the probability that the null hypothesis is true. A difference between the two p-values should be traced to the model and variance calculation, not described as evidence that one method must be correct in every setting.

Key takeaway: Allele-count tests discard the pairing of allele copies within people and use an independent-allele variance. Genotype-level regression preserves each person's dosage and estimates uncertainty from the observed person-level genotype variation. The two can agree under suitable assumptions, but they are not interchangeable by default.

Check Your Understanding

Use the definitions and calculations above to answer these questions.

  1. In the first worked example, why does the allele-count variance differ from the genotype-level information?
  2. What does the Hardy-Weinberg assumption contribute to the variance comparison between the two tests?
  3. Can two studies with the same case and control allele totals have different individual-level score statistics? Explain which quantity can differ.
  4. In the first example, what would be wrong with reporting 200 allele copies as 200 independent participants?
  5. If the allele-count and regression p-values differ, what assumptions and calculations should be checked before interpreting the difference?
Clinical Biostats