sig_tally | R Documentation |
Tally a variation object like MAF, CopyNumber and return a matrix for NMF de-composition and more. This is a generic function, so it can be further extended to other mutation cases. Please read details about how to set sex for identifying copy number signatures. Please read https://osf.io/s93d5/ for the generation of SBS, DBS and ID (INDEL) components.
sig_tally(object, ...)
## S3 method for class 'CopyNumber'
sig_tally(
object,
method = "Wang",
ignore_chrs = NULL,
indices = NULL,
add_loh = FALSE,
feature_setting = sigminer::CN.features,
cores = 1,
keep_only_matrix = FALSE,
...
)
## S3 method for class 'RS'
sig_tally(object, keep_only_matrix = FALSE, ...)
## S3 method for class 'MAF'
sig_tally(
object,
mode = c("SBS", "DBS", "ID", "ALL"),
ref_genome = "BSgenome.Hsapiens.UCSC.hg19",
genome_build = NULL,
add_trans_bias = FALSE,
ignore_chrs = NULL,
use_syn = TRUE,
keep_only_matrix = FALSE,
...
)
object |
a CopyNumber object or MAF object or SV object (from read_sv_as_rs). |
... |
custom setting for operating object. Detail see S3 method for
corresponding class (e.g. |
method |
method for feature classification, can be one of "Wang" ("W"), "S" (for method described in Steele et al. 2019), "X" (for method described in Tao et al. 2023). |
ignore_chrs |
Chromsomes to ignore from analysis. e.g. chrX and chrY. |
indices |
integer vector indicating segments to keep. |
add_loh |
flag to add LOH classifications. |
feature_setting |
a |
cores |
number of computer cores to run this task.
You can use |
keep_only_matrix |
if |
mode |
type of mutation matrix to extract, can be one of 'SBS', 'DBS' and 'ID'. |
ref_genome |
'BSgenome.Hsapiens.UCSC.hg19', 'BSgenome.Hsapiens.UCSC.hg38', 'BSgenome.Mmusculus.UCSC.mm10', 'BSgenome.Mmusculus.UCSC.mm9', etc. |
genome_build |
genome build 'hg19', 'hg38', 'mm9' or "mm10", if not set, guess it by |
add_trans_bias |
if |
use_syn |
Logical. If |
For identifying copy number signatures, we have to derive copy number features firstly. Due to the difference of copy number values in sex chromosomes between male and female, we have to do an extra step if we don't want to ignore them.
I create two options to control this, the default values are shown as the following, you can use the same way to set (per R session).
options(sigminer.sex = "female", sigminer.copynumber.max = NA_integer_)
If your cohort are all females, you can totally ignore this.
If your cohort are all males, set sigminer.sex
to 'male' and
sigminer.copynumber.max
to a proper value (the best is consistent
with read_copynumber).
If your cohort contains both males and females, set sigminer.sex
as a data.frame
with two columns "sample" and "sex". And
set sigminer.copynumber.max
to a proper value (the best is consistent
with read_copynumber).
a list
contains a matrix
used for NMF de-composition.
sig_tally(CopyNumber)
: Returns copy number features, components and component-by-sample matrix
sig_tally(RS)
: Returns genome rearrangement sample-by-component matrix
sig_tally(MAF)
: Returns SBS mutation sample-by-component matrix and APOBEC enrichment
Shixiang Wang
Wang, Shixiang, et al. "Copy number signature analyses in prostate cancer reveal distinct etiologies and clinical outcomes." medRxiv (2020).
Steele, Christopher D., et al. "Undifferentiated sarcomas develop through distinct evolutionary pathways." Cancer Cell 35.3 (2019): 441-456.
Mayakonda, Anand, et al. "Maftools: efficient and comprehensive analysis of somatic variants in cancer." Genome research 28.11 (2018): 1747-1756.
Roberts SA, Lawrence MS, Klimczak LJ, et al. An APOBEC Cytidine Deaminase Mutagenesis Pattern is Widespread in Human Cancers. Nature genetics. 2013;45(9):970-976. doi:10.1038/ng.2702.
Bergstrom EN, Huang MN, Mahto U, Barnes M, Stratton MR, Rozen SG, Alexandrov LB: SigProfilerMatrixGenerator: a tool for visualizing and exploring patterns of small mutational events. BMC Genomics 2019, 20:685 https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-019-6041-2
sig_estimate for estimating signature number for sig_extract, sig_auto_extract for extracting signatures using automatic relevance determination technique.
# Load copy number object
load(system.file("extdata", "toy_copynumber.RData",
package = "sigminer", mustWork = TRUE
))
# Use method designed by Wang, Shixiang et al.
cn_tally_W <- sig_tally(cn, method = "W")
# Use method designed by Steele et al.
# See example in read_copynumber
# Prepare SBS signature analysis
laml.maf <- system.file("extdata", "tcga_laml.maf.gz", package = "maftools")
laml <- read_maf(maf = laml.maf)
if (require("BSgenome.Hsapiens.UCSC.hg19")) {
mt_tally <- sig_tally(
laml,
ref_genome = "BSgenome.Hsapiens.UCSC.hg19",
use_syn = TRUE
)
mt_tally$nmf_matrix[1:5, 1:5]
## Use strand bias categories
mt_tally <- sig_tally(
laml,
ref_genome = "BSgenome.Hsapiens.UCSC.hg19",
use_syn = TRUE, add_trans_bias = TRUE
)
## Test it by enrichment analysis
enrich_component_strand_bias(mt_tally$nmf_matrix)
enrich_component_strand_bias(mt_tally$all_matrices$SBS_24)
} else {
message("Please install package 'BSgenome.Hsapiens.UCSC.hg19' firstly!")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.