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
)

Arguments

data

a CopyNumber object or a data.frame containing at least 'chromosome', 'start', 'end', 'segVal', 'sample' these columns.

ploidy_df

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

genome build version, should be 'hg19', 'hg38', 'mm9' or 'mm10'.

rm_black_arms

if TRUE, remove short arms of chr13/14/15/21/22 from calculation as documented in reference #3.

Value

A data.frame

References

  • 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.

Examples

# 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