Parent‐of‐origin‐environment interactions in case‐parent triads with or without independent controls

Abstract With case–parent triad data, one can frequently deduce parent of origin of the child's alleles. This allows a parent‐of‐origin (PoO) effect to be estimated as the ratio of relative risks associated with the alleles inherited from the mother and the father, respectively. A possible cause of PoO effects is DNA methylation, leading to genomic imprinting. Because environmental exposures may influence methylation patterns, gene–environment interaction studies should be extended to allow for interactions between PoO effects and environmental exposures (i.e., PoOxE). One should thus search for loci where the environmental exposure modifies the PoO effect. We have developed an extensive framework to analyze PoOxE effects in genome‐wide association studies (GWAS), based on complete or incomplete case–parent triads with or without independent control triads. The interaction approach is based on analyzing triads in each exposure stratum using maximum likelihood estimation in a log‐linear model. Interactions are then tested applying a Wald‐based posttest of parameters across strata. Our framework includes a complete setup for power calculations. We have implemented the models in the R software package Haplin. To illustrate our PoOxE test, we applied the new methodology to top hits from our previous GWAS, assessing whether smoking during the periconceptional period modifies PoO effects on cleft palate only.

included as a covariate in the first column, followed by columns containing the genetic data.

use . missing = T )
We here analyze the second SNP in the data set (markers = 2), and there is only one column in the data file to the left of the genetic data (n.vars = 1).
The standard case-parent triad design without independent controls is specified by design = "triad". The argument poo = T enables estimation of PoO effects. A multiplicative dose-response model is specified by response = "mult"; 1 reference = "ref.cat" chooses the most frequent allele/haplotype as reference.
When use.missing is set to true, Haplin uses the EM algorithm to obtain risk estimates, accounting for incomplete triads. Note that both PoO and maternal risks, controlling for possible confounding with one another, are estimated simultaneously by including maternal = T. The most relevant output is tabulated by the command haptable(res.PoO).
The GxE effects are calculated by a two-step procedure. First, the genetic effects in each stratum of the environmental exposure are estimated using the function haplinStrat: res . GxE <-haplinStrat ( filename = " data . dat " , markers = 2 , n . vars = 1 , strata = 1 , design = " triad " , poo = F , response = " mult " , reference = " ref . cat " , use . missing = T ) The exposure covariate is indicated by the argument strata. Second, the results from all strata are compared with the Wald test using the function gxe(res.GxE).
Important output for each stratum is obtained by haptable(res.GxE).
Our PoOxE effects are estimated by similar commands to the GxE analyses.
However, the argument poo must be set to true in haplinStrat. Haplin then computes the PoO effects within each stratum before contrasting the results through the function gxe. We here show an example of PoOxE analysis in the haplotype situation. The haplotypes are readily specified in Haplin through the argument markers, which in our case is formed by the first, second and third SNP in the data.

PoOxE Analysis on the X-Chromosome
PoOxE analyses on the X-chromosomes are carried out in a similar manner as for the autosomal markers, with the extension of three additional arguments. The argument xchrom = T enables analyses on X-linked markers. The sex argument indicates the data column containing the sex variable. In this example, we assume that a single allele in males has the same effect as a double allele dose in females. This corresponds to X-inactivation and is specified by comb.sex = "double". However, if comb.sex = "single", the effect of an allele in males is assumed to equal the effect of a single allele dose in females. PoOxE analyses on the X-chromosome can also be conducted for females only, as indicated by comb.sex = "females".

Power Calculations
The asymptotic power can be computed directly in Haplin by the function hapPowerAsymp.
The function extracts the asymptotic standard error of the estimated log-parameter and then uses the properties of the non-centrality parameter of the chi-squared distribution.
If the minor allele at a dichotomous locus is associated with a two-fold risk only when inherited from the mother, the asymptotic power for 200 case-parent triads is calculated using the command: The argument n.strata indicates the number of strata. Here, the number of caseparent triads varies between the two exposure categories, and the least frequent allele is associated with disease only in the first stratum. The allele frequencies are the same in both strata. Extensions to several exposure levels are easily incorporated by modifying or expanding the appropriate arguments, e.g., n.strata = 3, cases = list(c(mfc=400),c(mfc=200),c(mfc=100)) and RR = list(c (1,1),c(1,2),c(1,3)). The power to detect this change over strata is 94% (RRcm.power). The paternally derived allele has no effect in either stratum, so the corresponding power is 5%, i.e., equal to the nominal significance level. The actual PoOxE effect compares the two over strata, and thus has a somewhat lower power (RRcm_cf.power).
The statistical power for PoO, GxE and PoOxE interactions can also be com- The arguments of hapRun are similar to those of hapPowerAsymp with a few exceptions. In addition to the arguments RRcm and RRcf, poo must be set to true in order to test for PoO effects in hapRun. Also, one needs to specify which haplin function to run, the response model and the number of simulations. The argument cpus speeds up computations by allowing parallel processing.