310 likes | 580 Views
Lab 3. Gene-Environment, Gene-Gene Interaction Quanto (power calculation) http://hydra.usc.edu/gxe/. Yu-Chun Jean Yen yyen@hsph.harvard.edu Bldg.2 Rm. 200. Sample Dataset Yahoo06.dat: a comma delimited file Case-control with 1680 subjects, 16 SNPs. data yahoo; set yahoo;
E N D
Lab 3 • Gene-Environment, Gene-Gene Interaction • Quanto (power calculation)http://hydra.usc.edu/gxe/ Yu-Chun Jean Yenyyen@hsph.harvard.eduBldg.2 Rm. 200
Sample Dataset Yahoo06.dat: a comma delimited file Case-control with 1680 subjects, 16 SNPs
data yahoo; set yahoo; /* define genotype scores for snps 5 and 10 */ z5=(a9 eq 3)+(a10 eq 3); if a9 eq . or a10 eq .then z5=.; z10=(a19 eq 4)+(a20 eq 4); if a19 eq . or a20 eq .then z10=.; run;
/* "interaction tests" assuming linear trend in log OR by SNP5 */ /* Get null -2 log L for "joint test" */ proclogisticdata=yahoo; where z5 ne . and x ne .; *complete case subset; model d(event='2')=x; /* Get null -2 log L for "test of statistical interaction" */ proclogisticdata=yahoo; where z5 ne . and x ne .; model d(event='2')=x z5; proclogisticdata=yahoo; where z5 ne . and x ne .; model d(event='2')=x z5 z5*x; run;
Test for SNP5 (adjusted for X): LRT=9.2 on 1 d.f. p=.002(model 2 vs. modle 1) Test for "statistical interaction" LRT=0.9 on 1 d.f. p=.34(model 3 vs. model 2) Joint test for G and G-E effects LRT=10.1 on 2 d.f p=.006(model 3 vs. model 1)
/* g-g "interaction" test assuming linear trend in log OR by SNP5 and SNP10 */ proclogisticdata=yahoo; where z5 ne . and z10 ne .; model d(event='2')=z5 z10 z5*z10; run; /* g-g "interaction" test not assuming linear trend in OR by SNP5 and SNP10 */ proclogisticdata=yahoo; where z5 ne . and z10 ne .; class z5 z10 (ref='0'param=reference); model d(event='2')=z5 z10 z5*z10; run;
/* g-g "interaction" test not assuming linear trend in OR by SNP5 and SNP10 */ data yahoo; set yahoo; Z5_Z10=(put(z5, 1.))||(put(z10, 1.)); if z5=. or z10=.then Z5_Z10=' '; run; procfreqdata=yahoo; tables z5_z10*z5*z10 / list; run; proclogisticdata=yahoo; where z5 ne . and z10 ne .; class z5_z10 (ref='00'param=reference); model d(event='2')=z5_z10; run;
/* fit (constrained) additive interaction between dichotomous g and x */ data yahoo; set yahoo; if z5 eq 0then gcat=0; if z5 gt 0then gcat=1; if x le .5 and x ne .then xcat=0; if x gt .5then xcat=1; procfreqdata=yahoo; tables gcat*xcat / list; run; procnlmixed data=yahoo; where gcat ne.and xcat ne.; if (gcat eq0) and (xcat eq0) then eta=a; if (gcat eq0) and (xcat eq1) then eta=a+b2; if (gcat eq1) and (xcat eq0) then eta=a+b1; if (gcat eq1) and (xcat eq1) then eta=a+log(exp(b1)+exp(b2)-1); ll = (d=2)*eta - log(1+exp(eta)); model d ~ general(ll); parms a b1 b2=0; run;
Beta_2 is log OR (exposed non carriers) Beta_1 is log OR (carrier unexposed) OR (exposed carrier) is exp(beta_1)+exp(beta_2)-1
/* unconstrained model (to test for departure from additive--risk scale--interaction */ proclogisticdata=yahoo; model d(event='2')=gcat xcat gcat*xcat; run; proclogisticdata=yahoo; class G_X (ref='00'param=reference); model d(event='2')=G_X; run; procnlmixed data=yahoo; where gcat ne.and xcat ne.; if (gcat eq0) and (xcat eq0) then eta=a; if (gcat eq0) and (xcat eq1) then eta=a+b2; if (gcat eq1) and (xcat eq0) then eta=a+b1; if (gcat eq1) and (xcat eq1) then eta=a+b3; ll = (d=2)*eta - log(1+exp(eta)); model d ~ general(ll); parms a b1 b2 b3=0; run;
Constrained -2 log L = 2211.7 Unconstrained -2 log L = 2210.8 LRT is 0.9 on 1 d.f. p=0.34 Beta_2 is log OR (exposed non carriers) Beta_1 is log OR (carrier unexposed) Beta_3 is log OR (exposed carrier)
Power calculations: Quanto http://hydra.usc.edu/gxe/
G, G-E, G-G, joint G G-E Set MAF Set Prev(E) Set Penetrance Model Set alpha, target power (N)