For each pair of SNPs, say snp1 and snp2, scan.glm.2D estimates 5 models. Let us denote snp1
when it is coded as allele dose (0,1, 2) and thus results in additive model as snp1dose and
when it is coded as 'factor' (genotypic model) as snp1factorm00: y ~ mu [1 regression coefficient to estimate]
m10: y ~ mu + snp1dose + snp2dose [3 coefficients]
m11: y ~ mu + snp1dose + snp2dose + snp1dose * snp2dose [4 coefficients]
m20: y ~ mu + snp1factor + snp2factor [5 coefficients]
m21: y ~ mu + snp1factor + snp2factor + snp1factor * snp2factor [9 coefficients]
In the output, "P1df" refers to the test of m00 vs m10 (this is actually 2 df test);
"P2df" refers to the test of m00 vs m20 (4 df test); "Pint1df" refers to the test of m10
vs m11 (1 df test); "Pint2df" refers to the test of m20 vs m21 (4 df test). The output
is in matrix format as these P-values are generated for each pair of SNPs in turn.