preprocess.aggregate_replicate_probes

preprocess.aggregate_replicate_probes(data, how='mean')

Strip EPIC v2 probe suffixes and collapse the replicates.

EPIC v2 renamed cg00000029 to cg00000029_TC21 and, for about 5,000 loci, put two or three differently-suffixed probes on the array. Every clock in the registry matches on the bare identifier, so without this step an EPIC v2 dataset has zero features in common with any of them – and because the imputation step then fills all of them, the clock returns a number rather than an error.

how="mean" averages replicates, which is what Illumina’s own recommendation and every published EPIC v2 harmonisation do. how="first" keeps the lowest-suffix probe, which is reproducible but arbitrary.