R/get_pLOH_score.R
get_pLOH_score.RdpLOH score represents the genome that displayed LOH.
get_pLOH_score(data, rm_chrs = c("chrX", "chrY"), genome_build = "hg19")a CopyNumber object or a data.frame containing at least
'chromosome', 'start', 'end', 'segVal', "minor_cn", 'sample' these columns.
chromosomes to be removed in calculation. Default is sex chromosomes (recommended).
genome build version, should be 'hg19', 'hg38', 'mm9' or 'mm10'.
A data.frame
Steele, Christopher D., et al. "Signatures of copy number alterations in human cancer." bioRxiv (2021).
# \donttest{
# Load toy dataset of absolute copynumber profile
load(system.file("extdata", "toy_segTab.RData",
package = "sigminer", mustWork = TRUE
))
set.seed(1234)
segTabs$minor_cn <- sample(c(0, 1), size = nrow(segTabs), replace = TRUE)
cn <- read_copynumber(segTabs,
seg_cols = c("chromosome", "start", "end", "segVal"),
genome_measure = "wg", complement = TRUE, add_loh = TRUE
)
#> ℹ [2025-11-30 14:25:00.835791]: Started.
#> ℹ [2025-11-30 14:25:00.837554]: Genome build : hg19.
#> ℹ [2025-11-30 14:25:00.839124]: Genome measure: wg.
#> ℹ [2025-11-30 14:25:00.840672]: When add_loh is TRUE, use_all is forced to TRUE.
#> Please drop columns you don't want to keep before reading.
#> ✔ [2025-11-30 14:25:00.845]: Chromosome size database for build obtained.
#> ℹ [2025-11-30 14:25:00.846691]: Reading input.
#> ✔ [2025-11-30 14:25:00.848287]: A data frame as input detected.
#> ✔ [2025-11-30 14:25:00.849935]: Column names checked.
#> ✔ [2025-11-30 14:25:00.851627]: Column order set.
#> ✔ [2025-11-30 14:25:00.854927]: Chromosomes unified.
#> ✔ [2025-11-30 14:25:00.868753]: Value 2 (normal copy) filled to uncalled chromosomes.
#> ✔ [2025-11-30 14:25:00.87776]: Data imported.
#> ℹ [2025-11-30 14:25:00.879367]: Segments info:
#> ℹ [2025-11-30 14:25:00.880928]: Keep - 477
#> ℹ [2025-11-30 14:25:00.882501]: Drop - 0
#> ✔ [2025-11-30 14:25:00.884479]: Segments sorted.
#> ℹ [2025-11-30 14:25:00.886058]: Adding LOH labels...
#> ℹ [2025-11-30 14:25:00.888133]: Joining adjacent segments with same copy number value. Be patient...
#> ✔ [2025-11-30 14:25:00.999341]: 410 segments left after joining.
#> ✔ [2025-11-30 14:25:01.001452]: Segmental table cleaned.
#> ℹ [2025-11-30 14:25:01.003137]: Annotating.
#> ✔ [2025-11-30 14:25:01.017372]: Annotation done.
#> ℹ [2025-11-30 14:25:01.01899]: Summarizing per sample.
#> ✔ [2025-11-30 14:25:01.033147]: Summarized.
#> ℹ [2025-11-30 14:25:01.034772]: Generating CopyNumber object.
#> ✔ [2025-11-30 14:25:01.036858]: Generated.
#> ℹ [2025-11-30 14:25:01.038496]: Validating object.
#> ✔ [2025-11-30 14:25:01.040124]: Done.
#> ℹ [2025-11-30 14:25:01.041718]: 0.206 secs elapsed.
df <- get_pLOH_score(cn)
df
#> sample pLOH
#> <char> <num>
#> 1: TCGA-05-4417-01A-22D-1854-01 0.3909788
#> 2: TCGA-06-0644-01A-02D-0310-01 0.5511234
#> 3: TCGA-19-2621-01B-01D-0911-01 0.3154956
#> 4: TCGA-26-6174-01A-21D-1842-01 0.5771739
#> 5: TCGA-99-7458-01A-11D-2035-01 0.5248894
#> 6: TCGA-A5-A0G2-01A-11D-A042-01 0.6509913
#> 7: TCGA-A8-A07S-01A-11D-A036-01 0.4353611
#> 8: TCGA-B6-A0X5-01A-21D-A107-01 0.3938989
#> 9: TCGA-CV-7432-01A-11D-2128-01 0.3113043
#> 10: TCGA-DF-A2KN-01A-11D-A17U-01 0.4588324
df2 <- get_pLOH_score(cn@data)
df2
#> sample pLOH
#> <char> <num>
#> 1: TCGA-05-4417-01A-22D-1854-01 0.3909788
#> 2: TCGA-06-0644-01A-02D-0310-01 0.5511234
#> 3: TCGA-19-2621-01B-01D-0911-01 0.3154956
#> 4: TCGA-26-6174-01A-21D-1842-01 0.5771739
#> 5: TCGA-99-7458-01A-11D-2035-01 0.5248894
#> 6: TCGA-A5-A0G2-01A-11D-A042-01 0.6509913
#> 7: TCGA-A8-A07S-01A-11D-A036-01 0.4353611
#> 8: TCGA-B6-A0X5-01A-21D-A107-01 0.3938989
#> 9: TCGA-CV-7432-01A-11D-2128-01 0.3113043
#> 10: TCGA-DF-A2KN-01A-11D-A17U-01 0.4588324
# }