TitanCNA-package {TitanCNA} | R Documentation

## TITAN: Subclonal copy number and LOH prediction whole genome sequencing of tumours

### Description

TITAN is a software tool for inferring subclonal copy number alterations (CNA) and loss of heterozygosity (LOH). The algorithm also infers clonal group cluster membership for each event and the tumour proportion, or cellular prevalence, for each event.

### Details

Package: | TitanCNA
Type: | Package
Version: | 1.15.0
Date: | 2017-05-13
License: | GPL-3

`example("TitanCNA-package")` for quick tour of functionality and visualization

`vignette("TitanCNA")` for detailed example

### Author(s)

Gavin Ha, Sohrab P Shah Maintainer: Gavin Ha <gavinha@broadinstitute.org>

### References

Ha, G., Roth, A., Khattra, J., Ho, J., Yap, D., Prentice, L. M., Melnyk, N., McPherson, A., Bashashati, A., Laks, E., Biele, J., Ding, J., Le, A., Rosner, J., Shumansky, K., Marra, M. A., Huntsman, D. G., McAlpine, J. N., Aparicio, S. A. J. R., and Shah, S. P. (2014). TITAN: Inference of copy number architectures in clonal cell populations from tumour whole genome sequence data. Genome Research, 24: 1881-1893. (PMID: 25060187)

### Examples

    message('Running TITAN ...')
    #### LOAD DATA ####
    infile <- system.file("extdata", "test_alleleCounts_chr2.txt", package = "TitanCNA")
    data <- loadAlleleCounts(infile)

    #### LOAD PARAMETERS ####
    message('titan: Loading default parameters')
    numClusters <- 2
    params <- loadDefaultParameters(copyNumber = 5,
                                    numberClonalClusters = numClusters, skew = 0.1)

    #### READ COPY NUMBER FROM HMMCOPY FILE ####
    message('titan: Correcting GC content and mappability biases...')
    tumWig <- system.file("extdata", "test_tum_chr2.wig", package = "TitanCNA")
    normWig <- system.file("extdata", "test_norm_chr2.wig", package = "TitanCNA")
    gc <- system.file("extdata", "gc_chr2.wig", package = "TitanCNA")
    map <- system.file("extdata", "map_chr2.wig", package = "TitanCNA")
    cnData <- correctReadDepth(tumWig, normWig, gc, map)
    logR <- getPositionOverlap(data$chr, data$posn, cnData)
    data$logR <- log(2^logR) #transform to natural log

    #### FILTER DATA FOR DEPTH, MAPPABILITY, NA, etc ####
    data <- filterData(data, c(1:22,"X"), minDepth = 10, maxDepth = 200, map = NULL)

    #### EM (FWD-BACK) TO TRAIN PARAMETERS ####
    #### Can use parallelization packages ####
    K <- length(params$genotypeParams$alphaKHyper)
    params$genotypeParams$alphaKHyper <- rep(500, K)
    params$ploidyParams$phi_0 <- 1.5
    convergeParams <- runEMclonalCN(data, params,
                                    maxiter = 3, maxiterUpdate = 500,
                                    txnExpLen = 1e9, txnZstrength = 1e9,
                                    useOutlierState = FALSE,
                                    normalEstimateMethod = "map",
                                    estimateS = TRUE, estimatePloidy = TRUE)
    #### COMPUTE OPTIMAL STATE PATH USING VITERBI ####
    optimalPath <- viterbiClonalCN(data, convergeParams)

    #### FORMAT RESULTS ####
    results <- outputTitanResults(data, convergeParams, optimalPath,
                                  filename = NULL, posteriorProbs = FALSE,
                                  subcloneProfiles = TRUE,
                                  is.haplotypeData = FALSE,
                                  correctResults = TRUE,
                                  proportionThreshold = 0.05,
    															proportionThresholdClonal = 0.05)
    convergeParams <- results$convergeParams
    results <- results$corrResults

    #### GET SEGMENT RESULTS ####
    segs <- outputTitanSegments(results, id = "test", convergeParams,
      filename = NULL, igvfilename = NULL)

    #### PLOT RESULTS ####
    norm <- tail(convergeParams$n, 1)
    ploidy <- tail(convergeParams$phi, 1)

    par(mfrow=c(4, 1))
    plotCNlogRByChr(results, chr = 2, segs = segs, ploidy = ploidy, normal = norm, geneAnnot = NULL,
                    ylim = c(-2, 2), cex = 0.5, xlab = "", main = "Chr 2")
    plotAllelicRatio(results, chr = 2, geneAnnot = NULL, ylim = c(0, 1), cex = 0.5,
                    xlab = "", main = "Chr 2")
    plotClonalFrequency(results, chr = 2, normal = norm, geneAnnot = NULL,
                        ylim = c(0, 1), cex = 0.5, xlab = "", main = "Chr 2")
    plotSubcloneProfiles(results, chr = 2, cex = 2, main = "Chr 2")

    plotSegmentMedians(segs, chr=2, resultType = "LogRatio", plotType = "CopyNumber",
                    plot.new = TRUE, ylim = c(0, 4), main = "Chr 2")

[Package TitanCNA version 1.32.0 Index]