Skip to content
Analysis of subclonal copy number alterations (CNA) and loss of heterozygosity (LOH) in cancer
Branch: master
Clone or download
gavinha fix Corrected_Ratio column in output segs file
Corrected_Ratio contained all NAs because correctIntegerCN() was looking at the Median_HaplotypeRatio column.  Median_HaplotypeRatio should only be present in the segs and results objects/files for 10X Genomics WGS data. Now, Median_HaplotypeRatio will not be included in the output files if not using TitanCNA_10X_snakemake pipeline.
Fixes #67. Thanks to @aleighgreen for catching this bug.
Latest commit 88a51c0 Feb 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
inst merge conflicts to keep master changes Aug 10, 2017
man fix error for BioC 3.9 Dec 19, 2018
scripts ploidy2 path fix Feb 7, 2019
src merge conflicts to keep master changes Aug 10, 2017
.Rbuildignore merge conflicts to keep master changes Aug 10, 2017
.travis.yml set CRAN repo Nov 8, 2018
DESCRIPTION fix error for BioC 3.9 Dec 19, 2018
LICENSE merge conflicts to keep master changes Aug 10, 2017
NAMESPACE hg38: non-internet access and plot function export Oct 19, 2018
NEWS v1.17.1 update [ci skip] Mar 22, 2018 updated hmmcopy link. addresses issue #62 Jan 3, 2019

Build Status


TitanCNA a R/Bioconductor package for analyzing subclonal copy number alterations (CNA) and loss of heterozygosity (LOH) in whole genome and exome sequencing of tumours.

Ha, G., et al. (2014). TITAN: Inference of copy number architectures in clonal cell populations from tumour whole genome sequence data. Genome Research, 24: 1881-1893. (PMID: 25060187)


Gavin Ha
Fred Hutchinson Cancer Research Center
contact: or
Date: January 2, 2019

Table of Contents


Snakemake Workflow:
10X Snakemake Workflow:
Google Groups:!forum/titancna
TitanCNA website:
Publication in Genome Research:


(See NEWS for previous version notes)

August 9, 2018

Improved parameter inference by handling errors and allowing EM to continue until convergence. This fixes runs that previously would fail because samples had very low tumor content.

July 26, 2018

Snakemake workflow for 10X Genomics whole genome sequencing data is now included in another Git repo.

TitanCNA version 1.17.1 changes

  1. New functions:

    • correctIntegerCN(): recomputes high-level copy number that is capped by the maximum CN state. Performs two tasks - (1) correct log ratio based on purity and ploidy, and then convert to decimal CN value; (2) Correct bins and segments in which the original predicted integer copy number was assigned the maximum CN state; bins and segments for all of chromosome X are also corrected, if provided in the input.
  2. Modified functions:

    • plotSegmentMedians() and plotCNlogRByChr(): includes argument to show color-coding for corrected copy number; defaults to TRUE for this argument.
  3. Removed functions/manual/dependencies:

    • extractAlleleReadCounts()
    • Rsamtools dependency

TitanCNA version 1.15.0 changes

  1. 10X Genomics analysis
  • Please see scripts for instructions on running the 10X Genomics analysis.
  1. New script to help select optimal solutions.
    Please see scripts/R_scripts

  2. Added snakemake pipeline for entire TITAN workflow
    Please see scripts/snakemake.

  3. New function:

    • plotSegmentMedians()
    • loadHaplotypeAlleleCounts(): loads input allele counts with phasing information
    • plotHaplotypeFraction(): results from 10X Genomics WGS data with phasing of haplotype blocks
  4. Modified features (no changes for user-accessible functions):

    • updateParameters: coordinate descent estimate of ploidy update uses previously estimated normal parameter from the same corodinate descent iteration ; leads to faster convergence


Install TitanCNA R package from github

From within R-3.3.2 or higher,


Install TitanCNA from Bioconductor

From within R-3.3.2 or higher,

if (!requireNamespace("BiocManager", quietly=TRUE))

Install other dependencies

  1. Install the HMMcopy suite Please follow instructions on the HMMcopy GitHub

  2. Install ichorCNA Please follow instructions on the ichorCNA GitHub Wiki


R scripts are provided to run the R component of the TITAN analysis using the TitanCNA R/Bioconductor package.
Please go to the scripts directory and look at the README there for more details.

Snakemake workflow

A snakemake is also provided in this repo.
This workflow will run the TITAN a set of tumour-normal pairs, starting from the BAM files and generating TitanCNA outputs. It will also perform model selection at the end of the workflow to choose the optimal ploidy and clonal cluster solutions.

Vignette in TitanCNA R package

The PDF of the vignette can be accessed from R

browseVignettes(package = "TitanCNA")

The path of the file can also be located using

pathToInstall <- system.file(package = "TitanCNA")
pathToPdf <- paste0(pathToInstall, "/int/doc/TitanCNA.pdf)

The example provided will reproduce Figure 1 in the manuscript. However, it will be slightly different because the example is only based on the analysis of chr2, not genome-wide.


TitanCNA was developed by Gavin Ha while in the laboratories of Sohrab Shah ( and Sam Aparicio ( at the Dept of Molecular Oncology, BC Cancer Agency, Vancouver, Canada.
Yikan Wang and Daniel Lai have contributed code and discussions to this project.
The KRONOS TITAN workflow was developed by Diljot Grewal ( and Jafar Taghiyar (
HMMcopy was co-developed by Daniel Lai and Gavin Ha.

TitanCNA was inspired by existing methods including OncoSNP and PyClone

Software License

License: GPLv3

TitanCNA R code is open source and R/Bioconductor package is under GPLv3. This applies to the v1.9.0 and all subsequent versions within and obtained from Bioconductor.

Users who are using TitanCNA earlier than v1.9.0 not for the purpose of academic research should contact,, and to inquire about previous licensing.

You can’t perform that action at this time.