Copy-number Aware Methylation Deconvolution Analysis of Cancer (CAMDAC) is an R library for deconvolving bulk tumor DNA methylation (bisulfite) sequencing data (Larose Cadieux et al., 2022, bioRxiv).
A CAMDAC container is available on dockerhub for use with Docker, Singularity or Apptainer:
docker pull nmensah5/camdac:latest
echo "library(CAMDAC)" > commands.R
docker run -v $(pwd):/app nmensah5/camdac:latest Rscript /app/commands.R
You can install CAMDAC and its dependencies from an R console:
install.packages("remotes")
remotes::install_github("VanLoo-lab/CAMDAC")
We provide pre-built reference datasets for hg38 and hg19. These files are required to run CAMDAC for either RRBS or WGBS analysis from the Zenodo repository: (10565423). An R getter function is provided for convenience:
CAMDAC::download_pipeline_files(bsseq = "rrbs", directory = "./refs")
CAMDAC::download_pipeline_files(bsseq = "wgbs", directory = "./refs")
For WGBS analysis, CAMDAC requires the java
command line utility to be available in the system PATH.
With reference files downloaded, run the tumor-normal deconvolution pipeline with test data:
[!NOTE]
We provide downsampled BAM files for testing the pipeline. For representative results, please use your own BAM files.
library(CAMDAC)
tumor_bam <- system.file("testdata", "tumor.bam", package = "CAMDAC")
normal_bam <- system.file("testdata", "normal.bam", package = "CAMDAC")
# Select samples for basic tumor-normal analysis
tumor <- CamSample(id = "T", sex = "XY", bam = tumor_bam)
normal <- CamSample(id = "N", sex = "XY", bam = normal_bam)
# Configure pipeline
config <- CamConfig(
outdir = "./results", bsseq = "rrbs", lib = "pe",
build = "hg38", refs = "./refs", n_cores = 1, cna_caller='ascat'
)
# Run CAMDAC
CAMDAC::pipeline(
tumor, germline = normal, infiltrates = normal, origin = normal, config
)
For a more detailed walkthrough with test data, see vignette("pipeline")
.
To contribute to CAMDAC, fork the repository and install the development dependencies with remotes::install_dev_deps('.')
.
After making your changes, run the build and test commands listed in vignette("contributing")
.
Finally, submit a pull request with the changes on your fork.