For main effect cis-eQTL mapping, we quantified the effects of unobserved confounding variables on expression after adjusting for sex, population stratification (SNP principal components 1–5) and k unobserved confounding variables on expression. We determined these variables using the num.sv function (vfilter set to 50,000) from sva, an R/Bioconductor package (v.3.34.0)94 and PCA of expression for each feature. To identify cis-eQTL, we implemented nominal mapping, adjusting for covariates with a mapping window within 0.5 Mb of the transcription start site of each feature and an MAF ≥ 0.01. tensorQTL used a two-sided t-test to estimate the nominal P value for each variant–gene pair. To generate a subset of ‘strong’ signals for downstream mash modeling in R, we also performed adaptive permutations. After this, empirical P values were corrected for multiple testing across features using Storey’s q value method95,96. This resulted in a file with the top variant for each feature. In addition to this permutation analysis, we also performed conditional analysis. This resulted in additional feature–variant pairs to generate our set of ‘strong’ associations for mash modeling.