R/get_Aneuploidy_score.R
get_Aneuploidy_score.Rd
This implements a Cohen-Sharir method (see reference) like "Aneuploidy Score" computation. You can read the source code to see how it works. Basically, it follows the logic of Cohen-Sharir method but with some difference in detail implementation. Their results should be counterpart, but with no data validation for now. Please raise an issue if you find problem/bugs in this function.
get_Aneuploidy_score(
data,
ploidy_df = NULL,
genome_build = "hg19",
rm_black_arms = FALSE
)
a CopyNumber object or a data.frame
containing at least
'chromosome', 'start', 'end', 'segVal', 'sample' these columns.
default is NULL
, compute ploidy by segment-size weighted copy number
aross autosome, see get_cn_ploidy. You can also provide a data.frame
with 'sample'
and 'ploidy' columns.
genome build version, should be 'hg19', 'hg38', 'mm9' or 'mm10'.
if TRUE
, remove short arms of chr13/14/15/21/22 from calculation
as documented in reference #3.
A data.frame
Cohen-Sharir, Y., McFarland, J. M., Abdusamad, M., Marquis, C., Bernhard, S. V., Kazachkova, M., ... & Ben-David, U. (2021). Aneuploidy renders cancer cells vulnerable to mitotic checkpoint inhibition. Nature, 1-6.
Logic reference: https://github.com/quevedor2/aneuploidy_score/.
Taylor, Alison M., et al. "Genomic and functional approaches to understanding cancer aneuploidy." Cancer cell 33.4 (2018): 676-689.
# Load copy number object
load(system.file("extdata", "toy_copynumber.RData",
package = "sigminer", mustWork = TRUE
))
df <- get_Aneuploidy_score(cn)
df
#> sample AScore chr1-p chr1-q chr10-p chr10-q chr11-p
#> <char> <num> <int> <int> <int> <int> <int>
#> 1: TCGA-05-4417-01A-22D-1854-01 20 -1 0 0 0 0
#> 2: TCGA-06-0644-01A-02D-0310-01 7 0 0 -1 -1 0
#> 3: TCGA-19-2621-01B-01D-0911-01 5 0 0 -1 -1 0
#> 4: TCGA-26-6174-01A-21D-1842-01 7 0 0 0 0 0
#> 5: TCGA-99-7458-01A-11D-2035-01 14 1 1 0 0 0
#> 6: TCGA-A5-A0G2-01A-11D-A042-01 11 1 0 0 0 0
#> 7: TCGA-A8-A07S-01A-11D-A036-01 5 0 1 0 0 0
#> 8: TCGA-B6-A0X5-01A-21D-A107-01 2 0 0 0 0 0
#> 9: TCGA-CV-7432-01A-11D-2128-01 7 0 0 0 0 -1
#> 10: TCGA-DF-A2KN-01A-11D-A17U-01 2 0 0 0 0 0
#> chr11-q chr12-p chr12-q chr13-q chr14-q chr15-q chr16-p chr16-q chr17-q
#> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: 0 1 -1 -1 1 -1 0 0 0
#> 2: 0 0 0 0 -1 0 0 0 0
#> 3: 0 0 0 -1 0 0 0 0 0
#> 4: 0 0 0 0 0 -1 0 0 0
#> 5: 0 -1 -1 -1 0 -1 0 0 0
#> 6: 0 1 1 -1 0 0 0 0 0
#> 7: 0 0 0 0 0 0 1 -1 0
#> 8: 0 0 0 -1 0 0 0 0 0
#> 9: 1 0 0 0 0 -1 0 0 0
#> 10: 0 0 0 0 0 0 0 0 0
#> chr18-p chr18-q chr19-p chr19-q chr2-q chr20-p chr20-q chr21-q chr22-q
#> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: -1 -1 0 0 0 1 -1 -1 -1
#> 2: 0 0 0 0 0 0 0 0 0
#> 3: 0 0 0 0 0 0 0 0 0
#> 4: 0 0 1 -1 0 -1 0 0 0
#> 5: 0 0 -1 -1 0 -1 0 0 -1
#> 6: 0 0 0 0 0 1 0 0 0
#> 7: 0 0 0 0 0 0 0 0 0
#> 8: 0 0 0 0 0 0 0 0 0
#> 9: 0 0 0 0 -1 0 0 0 0
#> 10: 0 0 0 0 0 1 -1 0 0
#> chr3-p chr3-q chr4-p chr4-q chr5-q chr6-p chr6-q chr7-q chr8-q chr9-p
#> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: -1 -1 1 -1 -1 1 0 -1 1 0
#> 2: 0 0 0 -1 0 0 0 1 0 0
#> 3: 0 0 0 0 0 0 0 -1 0 0
#> 4: 0 0 0 0 0 0 0 1 0 1
#> 5: 0 0 0 0 0 0 -1 0 -1 0
#> 6: 0 0 -1 -1 -1 0 -1 0 0 0
#> 7: 0 0 0 0 0 0 -1 0 0 0
#> 8: 0 0 0 0 0 0 0 0 0 0
#> 9: -1 0 1 0 0 0 0 0 0 -1
#> 10: 0 0 0 0 0 0 0 0 0 0
#> chr9-q chr17-p chr2-p chr5-p chr7-p chr8-p
#> <int> <int> <int> <int> <int> <int>
#> 1: 0 0 0 0 0 0
#> 2: 0 0 0 0 1 -1
#> 3: -1 0 0 0 0 0
#> 4: 0 0 0 0 1 0
#> 5: 0 0 0 1 0 -1
#> 6: 0 0 1 -1 0 0
#> 7: 0 0 0 0 0 -1
#> 8: 0 0 0 0 0 1
#> 9: 0 0 0 0 0 0
#> 10: 0 0 0 0 0 0
df2 <- get_Aneuploidy_score(cn@data)
df2
#> sample AScore chr1-p chr1-q chr10-p chr10-q chr11-p
#> <char> <num> <int> <int> <int> <int> <int>
#> 1: TCGA-05-4417-01A-22D-1854-01 20 -1 0 0 0 0
#> 2: TCGA-06-0644-01A-02D-0310-01 7 0 0 -1 -1 0
#> 3: TCGA-19-2621-01B-01D-0911-01 5 0 0 -1 -1 0
#> 4: TCGA-26-6174-01A-21D-1842-01 7 0 0 0 0 0
#> 5: TCGA-99-7458-01A-11D-2035-01 14 1 1 0 0 0
#> 6: TCGA-A5-A0G2-01A-11D-A042-01 11 1 0 0 0 0
#> 7: TCGA-A8-A07S-01A-11D-A036-01 5 0 1 0 0 0
#> 8: TCGA-B6-A0X5-01A-21D-A107-01 2 0 0 0 0 0
#> 9: TCGA-CV-7432-01A-11D-2128-01 7 0 0 0 0 -1
#> 10: TCGA-DF-A2KN-01A-11D-A17U-01 2 0 0 0 0 0
#> chr11-q chr12-p chr12-q chr13-q chr14-q chr15-q chr16-p chr16-q chr17-q
#> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: 0 1 -1 -1 1 -1 0 0 0
#> 2: 0 0 0 0 -1 0 0 0 0
#> 3: 0 0 0 -1 0 0 0 0 0
#> 4: 0 0 0 0 0 -1 0 0 0
#> 5: 0 -1 -1 -1 0 -1 0 0 0
#> 6: 0 1 1 -1 0 0 0 0 0
#> 7: 0 0 0 0 0 0 1 -1 0
#> 8: 0 0 0 -1 0 0 0 0 0
#> 9: 1 0 0 0 0 -1 0 0 0
#> 10: 0 0 0 0 0 0 0 0 0
#> chr18-p chr18-q chr19-p chr19-q chr2-q chr20-p chr20-q chr21-q chr22-q
#> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: -1 -1 0 0 0 1 -1 -1 -1
#> 2: 0 0 0 0 0 0 0 0 0
#> 3: 0 0 0 0 0 0 0 0 0
#> 4: 0 0 1 -1 0 -1 0 0 0
#> 5: 0 0 -1 -1 0 -1 0 0 -1
#> 6: 0 0 0 0 0 1 0 0 0
#> 7: 0 0 0 0 0 0 0 0 0
#> 8: 0 0 0 0 0 0 0 0 0
#> 9: 0 0 0 0 -1 0 0 0 0
#> 10: 0 0 0 0 0 1 -1 0 0
#> chr3-p chr3-q chr4-p chr4-q chr5-q chr6-p chr6-q chr7-q chr8-q chr9-p
#> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: -1 -1 1 -1 -1 1 0 -1 1 0
#> 2: 0 0 0 -1 0 0 0 1 0 0
#> 3: 0 0 0 0 0 0 0 -1 0 0
#> 4: 0 0 0 0 0 0 0 1 0 1
#> 5: 0 0 0 0 0 0 -1 0 -1 0
#> 6: 0 0 -1 -1 -1 0 -1 0 0 0
#> 7: 0 0 0 0 0 0 -1 0 0 0
#> 8: 0 0 0 0 0 0 0 0 0 0
#> 9: -1 0 1 0 0 0 0 0 0 -1
#> 10: 0 0 0 0 0 0 0 0 0 0
#> chr9-q chr17-p chr2-p chr5-p chr7-p chr8-p
#> <int> <int> <int> <int> <int> <int>
#> 1: 0 0 0 0 0 0
#> 2: 0 0 0 0 1 -1
#> 3: -1 0 0 0 0 0
#> 4: 0 0 0 0 1 0
#> 5: 0 0 0 1 0 -1
#> 6: 0 0 1 -1 0 0
#> 7: 0 0 0 0 0 -1
#> 8: 0 0 0 0 0 1
#> 9: 0 0 0 0 0 0
#> 10: 0 0 0 0 0 0
df3 <- get_Aneuploidy_score(cn@data,
ploidy_df = get_cn_ploidy(cn@data)
)
df3
#> sample AScore chr1-p chr1-q chr10-p chr10-q chr11-p
#> <char> <num> <int> <int> <int> <int> <int>
#> 1: TCGA-05-4417-01A-22D-1854-01 20 -1 0 0 0 0
#> 2: TCGA-06-0644-01A-02D-0310-01 7 0 0 -1 -1 0
#> 3: TCGA-19-2621-01B-01D-0911-01 5 0 0 -1 -1 0
#> 4: TCGA-26-6174-01A-21D-1842-01 7 0 0 0 0 0
#> 5: TCGA-99-7458-01A-11D-2035-01 14 1 1 0 0 0
#> 6: TCGA-A5-A0G2-01A-11D-A042-01 11 1 0 0 0 0
#> 7: TCGA-A8-A07S-01A-11D-A036-01 5 0 1 0 0 0
#> 8: TCGA-B6-A0X5-01A-21D-A107-01 2 0 0 0 0 0
#> 9: TCGA-CV-7432-01A-11D-2128-01 7 0 0 0 0 -1
#> 10: TCGA-DF-A2KN-01A-11D-A17U-01 2 0 0 0 0 0
#> chr11-q chr12-p chr12-q chr13-q chr14-q chr15-q chr16-p chr16-q chr17-q
#> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: 0 1 -1 -1 1 -1 0 0 0
#> 2: 0 0 0 0 -1 0 0 0 0
#> 3: 0 0 0 -1 0 0 0 0 0
#> 4: 0 0 0 0 0 -1 0 0 0
#> 5: 0 -1 -1 -1 0 -1 0 0 0
#> 6: 0 1 1 -1 0 0 0 0 0
#> 7: 0 0 0 0 0 0 1 -1 0
#> 8: 0 0 0 -1 0 0 0 0 0
#> 9: 1 0 0 0 0 -1 0 0 0
#> 10: 0 0 0 0 0 0 0 0 0
#> chr18-p chr18-q chr19-p chr19-q chr2-q chr20-p chr20-q chr21-q chr22-q
#> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: -1 -1 0 0 0 1 -1 -1 -1
#> 2: 0 0 0 0 0 0 0 0 0
#> 3: 0 0 0 0 0 0 0 0 0
#> 4: 0 0 1 -1 0 -1 0 0 0
#> 5: 0 0 -1 -1 0 -1 0 0 -1
#> 6: 0 0 0 0 0 1 0 0 0
#> 7: 0 0 0 0 0 0 0 0 0
#> 8: 0 0 0 0 0 0 0 0 0
#> 9: 0 0 0 0 -1 0 0 0 0
#> 10: 0 0 0 0 0 1 -1 0 0
#> chr3-p chr3-q chr4-p chr4-q chr5-q chr6-p chr6-q chr7-q chr8-q chr9-p
#> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#> 1: -1 -1 1 -1 -1 1 0 -1 1 0
#> 2: 0 0 0 -1 0 0 0 1 0 0
#> 3: 0 0 0 0 0 0 0 -1 0 0
#> 4: 0 0 0 0 0 0 0 1 0 1
#> 5: 0 0 0 0 0 0 -1 0 -1 0
#> 6: 0 0 -1 -1 -1 0 -1 0 0 0
#> 7: 0 0 0 0 0 0 -1 0 0 0
#> 8: 0 0 0 0 0 0 0 0 0 0
#> 9: -1 0 1 0 0 0 0 0 0 -1
#> 10: 0 0 0 0 0 0 0 0 0 0
#> chr9-q chr17-p chr2-p chr5-p chr7-p chr8-p
#> <int> <int> <int> <int> <int> <int>
#> 1: 0 0 0 0 0 0
#> 2: 0 0 0 0 1 -1
#> 3: -1 0 0 0 0 0
#> 4: 0 0 0 0 1 0
#> 5: 0 0 0 1 0 -1
#> 6: 0 0 1 -1 0 0
#> 7: 0 0 0 0 0 -1
#> 8: 0 0 0 0 0 1
#> 9: 0 0 0 0 0 0
#> 10: 0 0 0 0 0 0