Gene expression data for samples passing quality control were normalized by first aligning data within each batch, then by addressing batch effects. In detail, within-batch normalization included: (i) background correction using negative control probes; (ii) quantile normalization; and (iii) log2 transformation86. We used the Inter-Array Connectivity (IAC) to identify outliers as those samples with values 3 standard deviations lower than the mean in their respective batches; samples identified as outliers were then removed from the batch and preprocessing was repeated. After the within-batch normalization, probes were considered as robustly expressed only if the detection P value was < 0.01 for at least half of the samples in the dataset. Next, systematic batch effects across the entire dataset were addressed, by application of ComBat87 (http://statistics.byu.edu/johnson/ComBat/), a parametric empirical Bayes framework, to achieve cross-batch normalization.