Following the quality control measures cases were matched to controls by ‘genetic matching’ as previously described21. We computed principal components for our dataset by running smartpca, a part of the EIGENSTRAT package, on 100,000 random autosomal SNPs and applied a matching algorithm implemented in MATLAB to the output. The matching algorithm assigns each sample a coordinate based on k eigenvalue-scaled principal components. It then matches each case to m unique controls within a distance d, keeping only cases that match exactly m controls. The distance thresholds were manually optimized to minimize λ and maximize power (i.e. number of cases). We matched each case to four controls, using the first three principal components and a distance threshold of 0.025.