plotHeterogeneity {AneuFinder} | R Documentation

## Heterogeneity vs. Aneuploidy

### Description

Make heterogeneity vs. aneuploidy plots using individual chromosomes as datapoints.

### Usage

    plotHeterogeneity(hmms, hmms.list = NULL, normalChromosomeNumbers = NULL,
      plot = TRUE, regions = NULL, exclude.regions = NULL)

### Arguments

`hmms` | A list of `aneuHMM` objects or a character vector with files that contain such objects.
`hmms.list` | Alternative input for a faceted plot. A named list() of lists of `aneuHMM` objects. Alternatively a named list() of character vectors with files that contain `aneuHMM` objects. List names serve as facets for plotting. If specified, `normalChromosomeNumbers` is assumed to be a list() of vectors (or matrices) instead of a vector (or matrix).
`normalChromosomeNumbers` | A named integer vector or matrix with physiological copy numbers, where each element (vector) or column (matrix) corresponds to a chromosome. This is useful to specify male or female samples, e.g. `c('X'=2)` for female samples or `c('X'=1,'Y'=1)` for male samples. Specify a vector if all your `hmms` have the same physiological copy numbers. Specify a matrix if your `hmms` have different physiological copy numbers (e.g. a mix of male and female samples). If not specified otherwise, '2' will be assumed for all chromosomes. If you have specified `hmms.list` instead of `hmms`, `normalChromosomeNumbers` is assumed to be a list() of vectors (or matrices), with one vector (or matrix) for each element in `hmms.list`.
`plot` | A logical indicating whether to plot or to return the underlying data.frame.
`regions` | A `GRanges-class` object containing ranges for which the karyotype measures will be computed.
`exclude.regions` | A `GRanges-class` with regions that will be excluded from the computation of the karyotype measures. This can be useful to exclude regions with artifacts.

### Value

A `ggplot` object or a data.frame if `plot=FALSE`.

### Examples

    ### Example 1: A faceted plot of lung and liver cells ###
    ## Get results from a small-cell-lung-cancer
    lung.folder <- system.file("extdata", "primary-lung", "hmms", package="AneuFinderData")
    lung.files <- list.files(lung.folder, full.names=TRUE)
    ## Get results from the liver metastasis of the same patient
    liver.folder <- system.file("extdata", "metastasis-liver", "hmms", package="AneuFinderData")
    liver.files <- list.files(liver.folder, full.names=TRUE)
    ## Make heterogeneity plots
    plotHeterogeneity(hmms.list = list(lung=lung.files, liver=liver.files))

    ### Example 2: Plot a mixture sample of male and female cells ###
    ## Get results from a small-cell-lung-cancer
    folder <- system.file("extdata", "primary-lung", "hmms", package="AneuFinderData")
    files <- list.files(lung.folder, full.names=TRUE)
    ## Construct a matrix with physiological copy numbers for a mix of 48 male and 48 female samples
    normal.chrom.numbers <- matrix(2, nrow=96, ncol=24,
                                  dimnames=list(sample=c(paste('male', 1:48), paste('female', 49:96)),
                                                chromosome=c(1:22,'X','Y')))
    normal.chrom.numbers[1:48,c('X','Y')] <- 1
    normal.chrom.numbers[49:96,c('Y')] <- 0
    head(normal.chrom.numbers)
    ## Make heterogeneity plots
    plotHeterogeneity(hmms = files, normalChromosomeNumbers = normal.chrom.numbers)

    ### Example 3: A faceted plot of male lung and female liver cells ###
    ## Get results from a small-cell-lung-cancer
    lung.folder <- system.file("extdata", "primary-lung", "hmms", package="AneuFinderData")
    lung.files <- list.files(lung.folder, full.names=TRUE)
    ## Specify the physiological copy numbers
    chrom.numbers.lung <- c(rep(2, 22), 1, 1)
    names(chrom.numbers.lung) <- c(1:22, 'X', 'Y')
    print(chrom.numbers.lung)
    ## Get results from the liver metastasis of the same patient
    liver.folder <- system.file("extdata", "metastasis-liver", "hmms", package="AneuFinderData")
    liver.files <- list.files(liver.folder, full.names=TRUE)
    ## Specify the physiological copy numbers
    chrom.numbers.liver <- c(rep(2, 22), 2, 0)
    names(chrom.numbers.liver) <- c(1:22, 'X', 'Y')
    print(chrom.numbers.liver)
    ## Make heterogeneity plots
    plotHeterogeneity(hmms.list = list(lung=lung.files, liver=liver.files),
                     normalChromosomeNumbers = list(chrom.numbers.lung, chrom.numbers.liver))

    ### Example 4 ###
    ## Exclude artifact regions with high variance
    consensus <- consensusSegments(c(lung.files, liver.files))
    variance <- apply(consensus$copy.number, 1, var)
    exclude.regions <- consensus[variance > quantile(variance, 0.999)]
    ## Make heterogeneity plots
    plotHeterogeneity(hmms.list = list(lung=lung.files, liver=liver.files),
                     exclude.regions=exclude.regions)

[Package AneuFinder version 1.22.0 Index]