CLONETv2-package: CLONETv2

Description Author(s) References Examples

Description

This package is designed to analyze data from next-generation sequencing experiments on genomic samples. It offers a set of functions to compute allele specific copy number and clonality from segmented data and SNPs position pileup. The library also calculated the clonality of single nucleotide variants given read counts at mutated positions.

The package has been developed at the laboratory of Computational and Functional Oncology, Department of CIBIO, University of Trento (Italy), under the supervision of prof. Francesca Demichelis.

Author(s)

Maintainer: Davide Prandi

Contributors: Tarcisio Fedrizzi, Alessandro Romanel

References

Prandi, D., Baca, S. C., Romanel, A., Barbieri, C. E., Mosquera, J. M., Fontugne, J., Beltran, H., Sboner, A., Garraway, L. A., Rubin, M. A., and Demichelis, F. (2014). Unraveling the clonal hierarchy of somatic genomic aberrations. Genome biology 15, 439.

Carreira, S., Romanel, A., Goodall, J., Grist, E., Ferraldeschi, R., Miranda, S., Prandi, D., Lorente, D., Frenel, J. S., Pezaro, C., et al. (2014). Tumor clone dynamics in lethal prostate cancer. Science translational medicine 6, 254ra125.

Beltran, H., Eng, K., Mosquera, J. M., Sigaras, A., Romanel, A., Rennert, H., Kossai, M., Pauli, C., Faltas, B., Fontugne, J., et al. (2015). Whole-Exome Sequencing of Metastatic Cancer and Biomarkers of Treatment Response. JAMA Oncol 1, 466-474.

Faltas, B. M., Prandi, D., Tagawa, S. T., Molina, A. M., Nanus, D. M., Sternberg, C., Rosenberg, J., Mosquera, J. M., Robinson, B., Elemento, O., et al. (2016). Clonal evolution of chemotherapyresistant urothelial carcinoma. Nature genetics 48, 1490-1499.

Examples

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
###############
###############
## Diploid tumor sample

## Load example data
seg_tb <- read.table(system.file("sample1.seg", package = "CLONETv2"),header = TRUE, as.is=TRUE)
pileup_tumor <- read.table(
  gzfile(system.file("sample1_tumor_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
pileup_normal <- read.table(
  gzfile(system.file("sample1_normal_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
snv_reads <- read.table(system.file("sample1_snv_read_count.tsv", package = "CLONETv2"),
  header = TRUE, as.is=TRUE, comment.char = "", check.names = FALSE, na.strings = "-")

## Compute beta table with default parameters
bt <- compute_beta_table(seg_tb, pileup_tumor, pileup_normal)

## Compute ploidy table with default parameters
pl_table <- compute_ploidy(bt)

## Compute admixture table with default parameters (admixture= 1-tumor_purity)
adm_table <- compute_dna_admixture(beta_table = bt, ploidy_table = pl_table)

## Check ploidy and admixture estimates
check_plot <-  check_ploidy_and_admixture(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)
print(check_plot)

## Compute clonality table with default parameters
scna_clonality_table <- compute_scna_clonality_table(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)

## Compute allele specific scna
allele_specific_cna_table <- compute_allele_specific_scna_table(beta_table = bt,
  ploidy_table = pl_table, admixture_table = adm_table)

## Compute snvs colonality
sample_id <- "sample1"
snv_clonality_table <- compute_snv_clonality(sample_id = sample_id, snv_read_count = snv_reads,
  beta_table = bt, ploidy_table = pl_table, admixture_table = adm_table)


###############
###############
## Aneuploid tumor sample

## Load example data
seg_tb <- read.table(system.file("sample2.seg", package = "CLONETv2"),header = TRUE, as.is=TRUE)
pileup_tumor <- read.table(
  gzfile(system.file("sample2_tumor_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
pileup_normal <- read.table(
  gzfile(system.file("sample2_normal_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
snv_reads <- read.table(system.file("sample2_snv_read_count.tsv", package = "CLONETv2"),
  header = TRUE, as.is=TRUE, comment.char = "", check.names = FALSE, na.strings = "-")

## Compute beta table with default parameters
bt <- compute_beta_table(seg_tb, pileup_tumor, pileup_normal)

## Compute ploidy table with default parameters
pl_table <- compute_ploidy(bt)

## Compute admixture table with default parameters (admixture= 1-tumor_purity)
adm_table <- compute_dna_admixture(beta_table = bt, ploidy_table = pl_table)

## Check ploidy and admixture estimates
check_plot <-  check_ploidy_and_admixture(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)
print(check_plot)

## Compute clonality table with default parameters
scna_clonality_table <- compute_scna_clonality_table(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)

## Compute allele specific scna
allele_specific_cna_table <- compute_allele_specific_scna_table(beta_table = bt,
  ploidy_table = pl_table, admixture_table = adm_table)

## Compute snvs colonality
sample_id <- "sample2"
snv_clonality_table <- compute_snv_clonality(sample_id = sample_id, snv_read_count = snv_reads,
  beta_table = bt, ploidy_table = pl_table, admixture_table = adm_table)


###############
###############
## Aneuploidy tumor sample with problematic ploidy estimate

## Load example data
seg_tb <- read.table(system.file("sample3.seg", package = "CLONETv2"),header = TRUE, as.is=TRUE)
pileup_tumor <- read.table(
  gzfile(system.file("sample3_tumor_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
pileup_normal <- read.table(
  gzfile(system.file("sample3_normal_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)

## Compute beta table with default parameters
bt <- compute_beta_table(seg_tb, pileup_tumor, pileup_normal)

## Compute ploidy table with default parameters
pl_table <- compute_ploidy(bt)

## Compute admixture table with default parameters (admixture= 1-tumor_purity)
adm_table <- compute_dna_admixture(beta_table = bt, ploidy_table = pl_table)

## Check ploidy and admixture estimates
check_plot <-  check_ploidy_and_admixture(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)
print(check_plot)
## Observed data (gray points) does not fit with expcted positions (Red circles)


###############
###############
## Tumor sample with problem in the segmented input data

## Load example data
seg_tb <- read.table(system.file("sample4.seg", package = "CLONETv2"),header = TRUE, as.is=TRUE)
pileup_tumor <- read.table(
  gzfile(system.file("sample4_tumor_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
pileup_normal <- read.table(
  gzfile(system.file("sample4_normal_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)

## Compute beta table with default parameters
bt <- compute_beta_table(seg_tb, pileup_tumor, pileup_normal)

## Compute ploidy table with default parameters
pl_table <- compute_ploidy(bt)

## Compute admixture table with default parameters (admixture= 1-tumor_purity)
adm_table <- compute_dna_admixture(beta_table = bt, ploidy_table = pl_table)

## Check ploidy and admixture estimates
check_plot <-  check_ploidy_and_admixture(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)
print(check_plot)
## CLONETv2 does not provide an estimate of the DNA admixture because
## (LogR, beta) data does not fit any CLONETv2 model


###############
###############
## Diploid tumor sample with subclonal hemizygous and homozygous deletions

## Load example data
seg_tb <- read.table(system.file("sample5.seg", package = "CLONETv2"),header = TRUE, as.is=TRUE)
pileup_tumor <- read.table(
  gzfile(system.file("sample5_tumor_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
pileup_normal <- read.table(
  gzfile(system.file("sample5_normal_pileup.tsv.gz", package = "CLONETv2")),
  header = TRUE, as.is=TRUE)
snv_reads <- read.table(system.file("sample5_snv_read_count.tsv", package = "CLONETv2"),
  header = TRUE, as.is=TRUE, comment.char = "", check.names = FALSE, na.strings = "-")

## Compute beta table with default parameters
bt <- compute_beta_table(seg_tb, pileup_tumor, pileup_normal)

## Compute ploidy table with default parameters
pl_table <- compute_ploidy(bt)

## Compute admixture table with default parameters (admixture= 1-tumor_purity)
adm_table <- compute_dna_admixture(beta_table = bt, ploidy_table = pl_table)

## Check ploidy and admixture estimates
check_plot <-  check_ploidy_and_admixture(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)
print(check_plot)

## Compute clonality table with default parameters
scna_clonality_table <- compute_scna_clonality_table(beta_table = bt, ploidy_table = pl_table,
  admixture_table = adm_table)

## Compute allele specific scna
allele_specific_cna_table <- compute_allele_specific_scna_table(beta_table = bt,
  ploidy_table = pl_table, admixture_table = adm_table)

## Compute snvs colonality
sample_id <- "sample5"
snv_clonality_table <- compute_snv_clonality(sample_id = sample_id, snv_read_count = snv_reads,
  beta_table = bt, ploidy_table = pl_table, admixture_table = adm_table)

CLONETv2 documentation built on Oct. 14, 2021, 1:07 a.m.