epxCNS Copy-Number Variation (CNV)
Methods
This note describes how epxCNS computes genome-wide copy-number profiles from Illumina Infinium DNA-methylation arrays. The method follows conumee and conumee2 (Hovestadt and Zapatka 2015; Daenekas et al. 2024). It has three steps. First, epxCNS compares the combined intensity of each probe against a panel of reference samples that have no copy-number changes. Second, it groups the resulting log2 ratios into genomic bins. Third, it divides the binned profile into segments by circular binary segmentation. This note describes the principle of the method, the data objects, the bin annotation, the reference panels, and the segmentation parameters. It then describes how to read the log2 ratios, including the effects of specimen composition and of array resolution.
1 Introduction
epxCNS computes genome-wide copy-number profiles from Illumina Infinium DNA-methylation arrays. It supports the 450K, EPIC v1.0, and EPIC v2.0 arrays. The method follows conumee and conumee2 (Hovestadt and Zapatka 2015; Daenekas et al. 2024). Section 1.3 gives the detail.
The input is the pair of raw IDAT files of one sample. The output is a log2 ratio for each genomic bin, and a set of segments of constant copy number. epxCNS computes one profile for one sample, and it does not compare samples with each other.
1.1 The principle
Each Infinium probe measures two signals for its target locus. One signal is the intensity of the methylated allele, \(M\). The other is the intensity of the unmethylated allele, \(U\). The methylation level of the locus is the ratio \(M/(M+U)\).
The sum \(M+U\) gives different information. It shows the total quantity of sample DNA that hybridised at that locus. To a first approximation, the sum does not depend on the methylation level of the locus. The sum is therefore a dosage signal. It increases where the genome gained copies. It decreases where the genome lost copies.
You cannot compare this signal between probes. The absolute intensity of a probe depends on its sequence, on its GC content, and on its Infinium design type. These probe-specific effects are much larger than the two-fold changes that a copy-number event makes. But you can compare the signal for the same probe between samples. The method uses this fact. epxCNS compares each probe of the query sample against the same probe in a panel of reference samples that have no copy-number changes. The ratio of the two values contains the copy-number information. Query and reference share the probe-specific effects, and the ratio removes them.
Two results follow, and both are important for interpretation. First, the result is a relative measure. It finds gains and losses against a reference and against the remainder of the genome. It does not give absolute copy number (Section 6). Second, one probe is a poor measure of dosage, because the scatter of one probe is as large as the effect to measure. epxCNS therefore groups probes into genomic bins (Section 4). It then divides the binned profile into segments of constant copy number (Section 5).
1.2 What the method can and cannot detect
The method measures the quantity of DNA at each locus. It therefore finds only those changes that alter that quantity. It detects gains and losses of genomic material.
Three kinds of change give no signal, because they do not alter the quantity of DNA at a locus:
- a balanced rearrangement, such as an inversion or a balanced translocation;
- copy-neutral loss of heterozygosity;
- a change of ploidy that affects the whole genome equally.
The method also gives relative values and not absolute copy numbers. Section 6 describes what the values mean.
1.3 Origin of the method
Feber et al. showed that you can find copy-number changes with methylation arrays (Feber et al. 2014). They compared array profiles against SNP arrays. conumee introduced the method used here (Hovestadt and Zapatka 2015), and conumee2 revised it (Daenekas et al. 2024). Together they established the reference-based normalization, the binning scheme, and the use of circular binary segmentation. The segmentation uses the algorithm of Olshen et al. (Olshen et al. 2004) in the faster form of Venkatraman and Olshen (Venkatraman and Olshen 2007). The DNAcopy package implements that algorithm. epxCNS implements this method. The sections that follow describe each step.
2 Workflow and data objects
The analysis uses two kinds of input. The first is the IDAT files of the sample. The second is a set of data objects that epxCNS supplies. Those objects do not change. Figure 1 shows which object each step uses.
epxCNS uses them. The left column shows what epxCNS computes for the sample. The right column shows the objects that epxCNS supplies. Each object is level with the step that uses it. epxCNS selects the reference panel automatically by array type and by predicted sex. It determines both from the methylation data of the sample.
The steps are:
- Read the Green and Red channel intensities. Compute the methylated (\(M\)) and unmethylated (\(U\)) intensity of each probe. Use the manifest of the array type that
epxCNSdetected. - Compute the copy-number signal as the combined intensity \(I = M + U\) for each probe.
- Fit the query intensities against the matched reference panel. Take the residual as the per-probe log2 ratio (Section 3).
- Group the probe ratios into the genomic bins of the bin annotation. Centre the profile (Section 4).
- Divide the binned profile into segments by circular binary segmentation (Section 5).
epxCNS uses the probe intensities directly for copy-number calling. It does not apply background correction, dye-bias correction, or batch correction to them. The reference fit in step 3 removes the technical variation that query and reference have in common.
epxCNS returns these components for each sample.
| Component | Content |
|---|---|
| Probe ratios | The per-probe log2 ratio \(R_i\), for every probe of the array annotation |
| Noise | The per-sample noise metric (Section 3.4) |
| Bin medians | The median probe ratio for each genomic bin. epxCNS segments these values |
| Baseline shift | The median probe ratio over the whole genome. epxCNS subtracts it to centre the profile |
| Detail-region medians | The median probe ratio in each of the 29 predefined regions of interest |
| Segments | Start, end, number of bins, and mean log2 ratio for every segment |
| Sample attributes | Sentrix identifier, array type, predicted sex, and material type of the sample |
| Annotation | The bin annotation and the detail regions that the analysis used |
3 Tangent normalization
This step takes its name from the Tangent method. Gao et al. developed Tangent for copy-number analysis in The Cancer Genome Atlas (Gao et al. 2022). Tangent represents the systematic error of a sample as a linear combination of normal samples, then subtracts that combination. It does not compare the sample against an average of controls. conumee applied this idea to methylation arrays (Hovestadt and Zapatka 2015; Daenekas et al. 2024). epxCNS uses the same approach.
3.1 Copy-number signal
For each probe \(i\), the copy-number signal is the sum of the methylated and unmethylated intensities.
\[ I_i = M_i + U_i . \]
epxCNS sets values of zero or less to 1 before it computes logarithms.
3.2 Reference panels
epxCNS normalises the query against a panel of reference samples that have no copy-number changes. It supplies six panels: one panel for each of the three array types and the two sexes. It selects the correct panel automatically. It detects the array type from the probe content of the IDAT files. It predicts the sex from the methylation data of the sample. A panel holds only the combined intensities \(I\) of its control samples at each probe of the array. It does not hold sample identifiers.
Table 2 shows the composition of each panel. The 450K and EPIC v1.0 panels are the conumee reference cohorts (Hovestadt and Zapatka 2015). The EPIC v2.0 panels come from the public GEO series GSE246337 (Moqri et al. 2026). That series holds 500 whole-blood samples from the Biomarkers of Aging Consortium cohort on the EPIC v2.0 array. The series divides into 241 male and 259 female samples. epxCNS took 100 samples of each sex with a fixed random seed. The panel is therefore reproducible.
| Array | Probes in panel | Male controls | Female controls | Source cohort |
|---|---|---|---|---|
| 450K | 485,577 | 50 | 50 | conumee CNanalysis4 (2015) |
| EPIC v1.0 | 865,859 | 50 | 50 | conumee CNanalysis6 (2018) |
| EPIC v2.0 | 929,772 | 100 | 100 | GSE246337, whole blood |
The EPIC v2.0 reference is therefore whole blood. It is not control central nervous system tissue. We nevertheless find that it works well as a copy-number reference. The panel does not need to represent the biology of the query. Its function is to characterise the behaviour of each probe. It must also contain the same technical variation as the query, so that the fit can remove that variation. The panel must match the array and the expected sex-chromosome copy number. It does not need to match anything else. The copy-number signal is the summed intensity \(I = M + U\). As Section 1 describes, this sum is largely independent of the methylation state of the locus. The difference between blood and brain is very largely a difference in methylation state. It therefore has little effect on the quantity that the normalization uses.
Two properties of this arrangement are important. epxCNS supplies the panels, so you do not need to find or assemble a control set before an analysis. epxCNS also normalises every sample of a given array type and sex against the same controls. Results are therefore reproducible from run to run. The panels are sex-matched. Chromosomes X and Y therefore get the same treatment as the autosomes. The query and its reference have the same expected sex-chromosome copy number. epxCNS therefore does not report the loss of one X chromosome in a male sample.
3.3 The fit and the log2 ratio
The reference samples have the same technical variation as the query. They have no copy-number changes. epxCNS approximates the technical variation of the query as a linear combination of those reference samples. It fits the combination in log2 space over the reference samples \(c\) of the matched panel.
\[ \log_2 I_i^{q} = \beta_0 + \sum_{c} \beta_c \log_2 I_i^{c} + \varepsilon_i , \]
The fit gives a fitted reference intensity \(\hat{I}_i\) for each probe. The copy-number log2 ratio is the ratio of the observed intensity to the fitted reference intensity.
\[ R_i = \log_2 \!\left( \frac{I_i^{q}}{\hat{I}_i} \right) = \log_2 I_i^{q} - \log_2 \hat{I}_i , \]
This ratio is the residual of the fit. epxCNS removes a reference sample from the fit if its intensities correlate with the query at 0.99 or more. This step prevents epxCNS from normalising a sample against itself when that sample is part of the panel.
Figure 2 shows the result for the example specimen. Each point is one probe. The horizontal position is the fitted reference intensity, and the vertical position is the observed intensity. A probe with the same copy number as the reference falls on the identity line. Its vertical distance from that line is \(R_i\). Most probes are close to the line, because the fit removed the technical variation. The distances from the line are the copy-number signal. The later steps group and segment that signal.