cumOverlap {limma} | R Documentation

## Cumulative Overlap Analysis of Ordered Lists

### Description

Test whether the leading members of ordered lists significantly overlap.

### Usage

    cumOverlap(ol1, ol2)

### Arguments

`ol1` | vector containing first ordered list. Duplicate values not allowed.
`ol2` | vector containing second ordered list. Should contain the same values as found in `ol1` but in a possibly different order. Duplicate values not allowed.

### Details

The function compares the top `n` members of each list, for every possible `n`, and conducts an hypergeometric test for overlap. The function returns the value of `n` giving the smallest p-value.

The p-values are adjusted for multiple testing in a similar way to Bonferroni's method, but starting from the top of th e ranked list instead of from the smallest p-values. This approach is designed to be sensitive to contexts where the number of Ids involved in the significant overlap are a small proportion of the total.

The vectors `ol1` and `ol2` do not need to be of the same length, but only values in common between the two vectors will be used in the calculation.

This method was described in Chapter 4 of Wu (2011).

### Value

List containing the following components:

`n.total` | integer, total number of values in common between `ol1` and `ol2`.
`n.min` | integer, top table length leading to smallest adjusted p-value.
`p.min` | smallest adjusted p-value.
`n.overlap` | integer, number of overlapping IDs in first `n.min`.
`id.overlap` | vector giving the overlapping IDs in first `n.min`.
`p.value` | numeric, vector of p-values for each possible top table length.
`adj.p.value` | numeric, vector of Bonferroni adjusted p-values for each possible top table length.

### Author(s)

Gordon Smyth and Di Wu

### References

Wu, D (2011). Finding hidden relationships between gene expression profiles with application to breast cancer biology. PhD thesis, University of Melbourne. http://hdl.handle.net/11343/36278

### Examples

    GeneIds <- paste0("Gene",1:50)
    ol1 <- GeneIds
    ol2 <- c(sample(GeneIds[1:5]), sample(GeneIds[6:50]))
    coa <- cumOverlap(ol1, ol2)
    coa$p.min
    coa$id.overlap

[Package limma version 3.38.3 Index]