:package: Automate Absolute Copy Number Calling using 'ABSOLUTE' package
The goal of DoAbsolute is to automate ABSOLUTE calling for multiple
samples in batch-processing.
Running this tool with 1 thread (default setting) is highly
recommended, see note!!!!
ABSOLUTE is a famous
software developed by Broad Institute, however, the RunAbsolute
function is designed for computing one sample each time and set no
default values. DoAbsolute helps user set default parameters
according to ABSOLUTE
documentation,
provides a uniform interface to input data easily and runs
RunAbsolute parallelly.
More detail about how to analyze ABSOLUTE results please see this
link.
You can install the released version of DoAbsolute with:
# Option 1: GitHub
devtools::install_github("ShixiangWang/DoAbsolute")
# Option 2: r-universe
#
# Enable repository from shixiangwang
options(repos = c(
shixiangwang = 'https://shixiangwang.r-universe.dev',
CRAN = 'https://cloud.r-project.org'))
install.packages('DoAbsolute')
Install ABSOLUTE, the version provided by DoAbsolute is 1.0.6. You can
find available versions at
https://software.broadinstitute.org/cancer/cga/absolute_download.
Users of DoAbsolute all should accept LICENCE from Firehorse.
install.packages("numDeriv")
path_to_file = system.file("extdata", "ABSOLUTE_1.0.6.tar.gz", package = "DoAbsolute", mustWork = T)
install.packages(path_to_file, repos = NULL, type="source")
NOTE: the builtin ABSOLUTE package is modified for fitting current R
version and reducing some errors (this may be described in NEWS.md).
If you want to use the raw package without modification, you can find
it
here.
Remember the raw package (v1.0.6) is only working under R4.2.
This is a basic example which shows you how to run DoAbsolute using
example data from ABSOLUTE
documentation.
Load package.
library(DoAbsolute)
example_path = system.file("extdata", package = "DoAbsolute", mustWork = T)
library(data.table)
# Load Test Data ----------------------------------------------------------
# segmentation file
seg_normal = file.path(example_path, "SNP6_blood_normal.seg.txt")
seg_solid = file.path(example_path, "SNP6_solid_tumor.seg.txt")
seg_metastatic = file.path(example_path, "SNP6_metastatic_tumor.seg.txt")
# MAF file
maf_solid = file.path(example_path, "solid_tumor.maf.txt")
maf_metastatic = file.path(example_path, "metastatic_tumor.maf.txt")
# read data
seg_normal = fread(seg_normal)
seg_solid = fread(seg_solid)
seg_metastatic = fread(seg_metastatic)
maf_solid = fread(maf_solid)
maf_metastatic = fread(maf_metastatic)
# merge data
Seg = Reduce(rbind, list(seg_normal, seg_solid, seg_metastatic))
Maf = Reduce(rbind, list(maf_solid, maf_metastatic))
Seg$Sample = substr(Seg$Sample, 1, 15)
Maf$Tumor_Sample_Barcode = substr(Maf$Tumor_Sample_Barcode, 1, 15)
# test function
DoAbsolute(Seg = Seg, Maf = Maf, platform = "SNP_6.0", copy.num.type = "total",
results.dir = "test", keepAllResult = TRUE, verbose = TRUE)
Some inconsistent results have been reported in some issues (See
discussion in https://github.com/ShixiangWang/DoAbsolute/issues/23 and
https://github.com/ShixiangWang/DoAbsolute/issues/26), and it possibly
relates to the parallel computation backend. So, at default, run this
tool with only 1 thread is highly recommended!
Wang, Shixiang, et al. "The predictive power of tumor mutational burden
in lung cancer immunotherapy response is influenced by patients' sex."
International journal of cancer (2019).
Reference: