From 7a300547777124eb6d5df539913248d6e68e557b Mon Sep 17 00:00:00 2001 From: jahn Date: Tue, 21 Jan 2025 16:02:07 +0100 Subject: [PATCH 1/2] fix: formatting issues --- DESCRIPTION | 16 ++++++++-------- README.Rmd | 9 --------- README.md | 15 --------------- cran-comments.md | 24 +++++++++++++++--------- vignettes/ggcoverage.Rmd | 9 --------- 5 files changed, 23 insertions(+), 50 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index b2563e9..f3c53f5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -8,14 +8,13 @@ Authors@R: c( comment = c(ORCID = "0000-0002-3913-153X")) ) Maintainer: Yabing Song -Description: The goal of 'ggcoverage' is to visualize coverage tracks from - genomics, transcriptomics or proteomics data. It contains functions to - load data from BAM, BigWig, BedGraph, txt, or xlsx files, create - genome/protein coverage plots, and add various annotations including - base and amino acid composition, GC content, copy number variation - (CNV), genes, transcripts, ideograms, peak highlights, HiC contact - maps, contact links and protein features. It is based on and - integrates well with 'ggplot2'. +Description: Visualize coverage tracks from genomics, transcriptomics + or proteomics data. The package contains functions to load data from 'BAM', + 'BigWig', 'BedGraph', 'txt', or 'xlsx' files, create genome/protein coverage + plots, and add various annotations including base and amino acid + composition, GC content, copy number variation (CNV), genes, transcripts, + ideograms, peak highlights, HiC contact maps, contact links and protein + features. It is based on and integrates well with 'ggplot2'. License: MIT + file LICENSE URL: https://showteeth.github.io/ggcoverage/, https://github.com/showteeth/ggcoverage @@ -51,6 +50,7 @@ Suggests: HiCBricks, htmltools, knitr, + openxlsx, rmarkdown VignetteBuilder: knitr diff --git a/README.Rmd b/README.Rmd index 0f0b77f..84d64ff 100644 --- a/README.Rmd +++ b/README.Rmd @@ -446,10 +446,8 @@ THe default color scheme for base annotation is `Clustal-style`, more popular co nuc_color <- c( "A" = "#ff2b08", "C" = "#009aff", "G" = "#ffb507", "T" = "#00bc0d" ) -opar <- graphics::par() # create plot -graphics::par(mar = c(1, 5, 1, 1)) graphics::image( seq_along(nuc_color), 1, @@ -468,9 +466,6 @@ graphics::mtext( las = 1, side = 2 ) - -# reset par default -graphics::par(opar) ``` Default color scheme for amino acid annotation is from [Residual colours: a proposal for aminochromography](https://pubmed.ncbi.nlm.nih.gov/9342138/): @@ -486,7 +481,6 @@ aa_color <- c( " " = "#FFFFFF" ) -graphics::par(mar = c(1, 5, 1, 1)) graphics::image( 1:5, 1:5, @@ -506,9 +500,6 @@ graphics::mtext( las = 1, side = 2 ) - -# reset par default -graphics::par(opar) ``` #### Add base and amino acid annotation diff --git a/README.md b/README.md index b1af77a..bb174a4 100644 --- a/README.md +++ b/README.md @@ -626,10 +626,8 @@ popular color schemes are available nuc_color <- c( "A" = "#ff2b08", "C" = "#009aff", "G" = "#ffb507", "T" = "#00bc0d" ) -opar <- graphics::par() # create plot -graphics::par(mar = c(1, 5, 1, 1)) graphics::image( seq_along(nuc_color), 1, @@ -652,12 +650,6 @@ graphics::mtext( -``` r - -# reset par default -graphics::par(opar) -``` - Default color scheme for amino acid annotation is from [Residual colours: a proposal for aminochromography](https://pubmed.ncbi.nlm.nih.gov/9342138/): @@ -673,7 +665,6 @@ aa_color <- c( " " = "#FFFFFF" ) -graphics::par(mar = c(1, 5, 1, 1)) graphics::image( 1:5, 1:5, @@ -697,12 +688,6 @@ graphics::mtext( -``` r - -# reset par default -graphics::par(opar) -``` - #### Add base and amino acid annotation **Use twill to mark position with SNV**: diff --git a/cran-comments.md b/cran-comments.md index 4576a09..de9d90e 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,6 +1,20 @@ # Resubmission -Update for current submission: +This package has been submitted previously (2023, v0.7.1) and was removed +from CRAN due to several issues, which have been addressed now. + +## Issues + +### Update for current submission: + +- fixed DESCRIPTION abstract, added quotation marks for package names etc +- examples that are running >5 sec were wrapped in `/donttest{}` instead of `/dontrun{}` +- example in `ggcoverage.Rd` does not contain out-commented code as stated by the reviewer +- changing of graphical parameters using `par(mfrow=c(2,2))` were removed from vignette +- however the package does not contain any `par()` statement in any of the + functions (supposedly `R/geom_base.R`) as stated by the reviewer + +### Previously fixed issues - We have substantially removed the size of test files for the examples, reducing overall package size from ~30 Mb to only ~6 Mb. A further reduction @@ -13,14 +27,6 @@ on the test environment -- this package never exceeds the threshold when tested locally on a 3 year old average laptop, or in 3 different github actions workflows, but regularly fails on the CRAN server. -Background information: - -This package has been submitted previously (2023, v0.7.1) and was removed from -CRAN due to several issues. In the mean time many functions were re-factored, -more than 10 dependencies were removed to make the package lighter, and other -problems regarding documentation and style were fixed. Current version 1.4.0 -now builds fine on the tested platforms. - ## Test environments ### Local diff --git a/vignettes/ggcoverage.Rmd b/vignettes/ggcoverage.Rmd index 0e62a25..4120bc7 100644 --- a/vignettes/ggcoverage.Rmd +++ b/vignettes/ggcoverage.Rmd @@ -475,10 +475,8 @@ THe default color scheme for base annotation is `Clustal-style`, more popular co nuc_color <- c( "A" = "#ff2b08", "C" = "#009aff", "G" = "#ffb507", "T" = "#00bc0d" ) -opar <- graphics::par() # create plot -graphics::par(mar = c(1, 5, 1, 1)) graphics::image( seq_along(nuc_color), 1, @@ -497,9 +495,6 @@ graphics::mtext( las = 1, side = 2 ) - -# reset par default -graphics::par(opar) ``` Default color scheme for amino acid annotation is from [Residual colours: a proposal for aminochromography](https://pubmed.ncbi.nlm.nih.gov/9342138/): @@ -515,7 +510,6 @@ aa_color <- c( " " = "#FFFFFF" ) -graphics::par(mar = c(1, 5, 1, 1)) graphics::image( 1:5, 1:5, @@ -535,9 +529,6 @@ graphics::mtext( las = 1, side = 2 ) - -# reset par default -graphics::par(opar) ``` #### Add base and amino acid annotation From 6430c5f69265a5cb941979f46a4e617091fdd66b Mon Sep 17 00:00:00 2001 From: jahn Date: Tue, 21 Jan 2025 16:03:34 +0100 Subject: [PATCH 2/2] fix: changed dontrun to donttest in examples --- R/ConsensusPeak.R | 58 ++++++++++++++++++++++++------- R/geom_cnv.R | 52 ++++++++++++++-------------- R/geom_gc.R | 42 ++++++++++++----------- R/geom_ideogram.R | 65 +++++++++++++++++------------------ R/geom_protein.R | 46 +++++++++++++------------ R/ggprotein.R | 44 ++++++++++++------------ R/utils.R | 27 +++++++++++++-- man/GetConsensusPeak.Rd | 7 ++-- man/GetPlotData.Rd | 27 +++++++++++++-- man/geom_cnv.Rd | 52 ++++++++++++++-------------- man/geom_gc.Rd | 42 ++++++++++++----------- man/geom_ideogram.Rd | 75 +++++++++++++++++++++-------------------- man/geom_protein.Rd | 52 ++++++++++++++-------------- man/ggprotein.Rd | 50 ++++++++++++++------------- 14 files changed, 367 insertions(+), 272 deletions(-) diff --git a/R/ConsensusPeak.R b/R/ConsensusPeak.R index 9df6099..94a3aa1 100644 --- a/R/ConsensusPeak.R +++ b/R/ConsensusPeak.R @@ -20,12 +20,21 @@ #' @export #' #' @examples -#' # library(ggcoverage) -#' # peak.file <- system.file("extdata", "ChIP-seq", "consensus.peak", package = "ggcoverage") -#' # peak.df <- GetConsensusPeak(peak.file = peak.file) -GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, rep.type = c("bio", "tec"), stringency.threshold = 1e-8, - weak.threshold = 1e-4, gamma = 1e-8, alpha = 0.05, min.overlap.num = 1, - multiple.intersections = c("Lowest", "Highest"), parallelism.degree = 1) { +#' peak_file <- system.file("extdata", "ChIP-seq", "consensus.peak", package = "ggcoverage") +#' peak_df <- GetConsensusPeak(peak.file = peak_file) +#' head(peak_df) +#' +GetConsensusPeak <- function(peak.file, + peak.folder = NULL, + mspc.path = NULL, + rep.type = c("bio", "tec"), + stringency.threshold = 1e-8, + weak.threshold = 1e-4, + gamma = 1e-8, + alpha = 0.05, + min.overlap.num = 1, + multiple.intersections = c("Lowest", "Highest"), + parallelism.degree = 1) { # check parameters rep.type <- match.arg(arg = rep.type) multiple.intersections <- match.arg(arg = multiple.intersections) @@ -39,7 +48,9 @@ GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, re stop("Peak file number is less than or equal to one!") } else if (length(peak.file) == 1) { # read file directly, do not get consensus peaks - consensus.peak.df <- read.table(file = peak.file, sep = "\t", header = FALSE) + consensus.peak.df <- read.table(file = peak.file, + sep = "\t", + header = FALSE) consensus.peak.df <- consensus.peak.df[, 1:5] colnames(consensus.peak.df) <- c("chr", "start", "stop", "name", "score") } else { @@ -62,9 +73,26 @@ GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, re # full command mspc.cmd <- paste( - mspc.path, input.para, "-r", rep.type, "-s", stringency.threshold, - "-w", weak.threshold, "-g", gamma, "-a", alpha, "-c", min.overlap.num, "-m", multiple.intersections, - "-d", parallelism.degree, "-o", out.folder + mspc.path, + input.para, + "-r", + rep.type, + "-s", + stringency.threshold, + "-w", + weak.threshold, + "-g", + gamma, + "-a", + alpha, + "-c", + min.overlap.num, + "-m", + multiple.intersections, + "-d", + parallelism.degree, + "-o", + out.folder ) # change language information full.mspc.cmd <- paste0("export LC_ALL=en_US.UTF-8;", mspc.cmd) @@ -78,11 +106,17 @@ GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, re # obtain results if (!file.exists(file.path(out.folder, "ConsensusPeaks.bed"))) { out.base <- basename(out.folder) - all.tmp.dirs <- sort(dir(path = dirname(out.folder), pattern = out.base, full.names = TRUE)) + all.tmp.dirs <- sort(dir( + path = dirname(out.folder), + pattern = out.base, + full.names = TRUE + )) out.folder <- all.tmp.dirs[length(all.tmp.dirs)] } consensus.peak.file <- file.path(out.folder, "ConsensusPeaks.bed") - consensus.peak.df <- read.table(file = consensus.peak.file, sep = "\t", header = TRUE) + consensus.peak.df <- read.table(file = consensus.peak.file, + sep = "\t", + header = TRUE) } return(consensus.peak.df) } diff --git a/R/geom_cnv.R b/R/geom_cnv.R index 15bd853..1289b93 100644 --- a/R/geom_cnv.R +++ b/R/geom_cnv.R @@ -22,35 +22,37 @@ #' @export #' #' @examples -#' \dontrun{ -#' library("BSgenome.Hsapiens.UCSC.hg19") +#' \donttest{ +#' if (requireNamespace("BSgenome.Hsapiens.UCSC.hg19", quietly = TRUE)) { +#' library("BSgenome.Hsapiens.UCSC.hg19") #' -#' # load track data -#' track_file <- -#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") -#' track_df <- LoadTrackFile( -#' track.file = track_file, -#' format = "bw", -#' region = "4:1-160000000" -#' ) -#' track_df$seqnames <- paste0("chr", track_df$seqnames) +#' # load track data +#' track_file <- +#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") +#' track_df <- LoadTrackFile( +#' track.file = track_file, +#' format = "bw", +#' region = "4:1-160000000" +#' ) +#' track_df$seqnames <- paste0("chr", track_df$seqnames) #' -#' # read CNV data -#' cnv_file <- -#' system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", package = "ggcoverage") -#' cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE) +#' # read CNV data +#' cnv_file <- +#' system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", package = "ggcoverage") +#' cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE) #' -#' # plot coverage, GC content, CNV -#' basic_coverage <- ggcoverage( -#' data = track_df, -#' color = "grey", -#' mark.region = NULL, -#' range.position = "out" -#' ) +#' # plot coverage, GC content, CNV +#' basic_coverage <- ggcoverage( +#' data = track_df, +#' color = "grey", +#' mark.region = NULL, +#' range.position = "out" +#' ) #' -#' basic_coverage + -#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) + -#' geom_cnv(cnv.df = cnv_df, bin.col = 3, cn.col = 4) +#' basic_coverage + +#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) + +#' geom_cnv(cnv.df = cnv_df, bin.col = 3, cn.col = 4) +#' } #' } geom_cnv <- function(cnv.df, bin.col = 3, cn.col = 4, ref.cn = 2, bin.point.color = "grey", bin.point.alpha = 0.6, cn.line.color = "red", diff --git a/R/geom_gc.R b/R/geom_gc.R index 3f7383b..fce1069 100644 --- a/R/geom_gc.R +++ b/R/geom_gc.R @@ -20,29 +20,31 @@ #' @export #' #' @examples -#' \dontrun{ -#' library("BSgenome.Hsapiens.UCSC.hg19") +#' \donttest{ +#' if (requireNamespace("BSgenome.Hsapiens.UCSC.hg19", quietly = TRUE)) { +#' library("BSgenome.Hsapiens.UCSC.hg19") #' -#' # load track data -#' track_file <- -#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") -#' track_df <- LoadTrackFile( -#' track.file = track_file, -#' format = "bw", -#' region = "4:1-160000000" -#' ) -#' track_df$seqnames <- paste0("chr", track_df$seqnames) +#' # load track data +#' track_file <- +#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") +#' track_df <- LoadTrackFile( +#' track.file = track_file, +#' format = "bw", +#' region = "4:1-160000000" +#' ) +#' track_df$seqnames <- paste0("chr", track_df$seqnames) #' -#' # plot coverage and GC content -#' basic_coverage <- ggcoverage( -#' data = track_df, -#' color = "grey", -#' mark.region = NULL, -#' range.position = "out" -#' ) +#' # plot coverage and GC content +#' basic_coverage <- ggcoverage( +#' data = track_df, +#' color = "grey", +#' mark.region = NULL, +#' range.position = "out" +#' ) #' -#' basic_coverage + -#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) +#' basic_coverage + +#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) +#' } #' } geom_gc <- function(fa.file = NULL, bs.fa.seq = NULL, chr.split = "[[:space:]]", guide.line = NULL, line.color = "black", guide.line.color = "red", guide.line.type = "dashed", diff --git a/R/geom_ideogram.R b/R/geom_ideogram.R index afb8ee5..569d54f 100644 --- a/R/geom_ideogram.R +++ b/R/geom_ideogram.R @@ -35,43 +35,44 @@ #' @export #' #' @examples -#' \dontrun{ -#' # note that you need to have package 'ggbio' installed -#' library(ggbio) +#' \donttest{ +#' if (requireNamespace("ggbio", quietly = TRUE)) { +#' library(ggbio) #' -#' # load metadata -#' meta_file <- -#' system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage") -#' sample_meta <- read.csv(meta_file) +#' # load metadata +#' meta_file <- +#' system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage") +#' sample_meta <- read.csv(meta_file) #' -#' # track folder -#' track_folder <- -#' system.file("extdata", "RNA-seq", package = "ggcoverage") -#' # load bigwig file -#' track_df <- LoadTrackFile( -#' track.folder = track_folder, -#' format = "bw", -#' region = "chr14:21,677,306-21,737,601", -#' extend = 2000, -#' meta.info = sample_meta -#' ) +#' # track folder +#' track_folder <- +#' system.file("extdata", "RNA-seq", package = "ggcoverage") +#' # load bigwig file +#' track_df <- LoadTrackFile( +#' track.folder = track_folder, +#' format = "bw", +#' region = "chr14:21,677,306-21,737,601", +#' extend = 2000, +#' meta.info = sample_meta +#' ) #' -#' # gene annotation -#' gtf_file <- -#' system.file("extdata", "used_hg19.gtf", package = "ggcoverage") -#' gtf_gr <- rtracklayer::import.gff(con = gtf_file, format = "gtf") +#' # gene annotation +#' gtf_file <- +#' system.file("extdata", "used_hg19.gtf", package = "ggcoverage") +#' gtf_gr <- rtracklayer::import.gff(con = gtf_file, format = "gtf") #' -#' # coverage plot + ideogram -#' basic_coverage <- ggcoverage( -#' data = track_df, -#' plot.type = "facet", -#' range.position = "in", -#' facet.y.scale = "fixed" -#' ) +#' # coverage plot + ideogram +#' basic_coverage <- ggcoverage( +#' data = track_df, +#' plot.type = "facet", +#' range.position = "in", +#' facet.y.scale = "fixed" +#' ) #' -#' basic_coverage + -#' geom_gene(gtf.gr = gtf_gr) + -#' geom_ideogram(genome = "hg19", plot.space = 0) +#' basic_coverage + +#' geom_gene(gtf.gr = gtf_gr) + +#' geom_ideogram(genome = "hg19", plot.space = 0) +#' } #' } #' geom_ideogram <- function(genome = "hg19", mark.color = "red", mark.alpha = 0.7, mark.line.size = 1, diff --git a/R/geom_protein.R b/R/geom_protein.R index d5630e0..e38ff42 100644 --- a/R/geom_protein.R +++ b/R/geom_protein.R @@ -33,31 +33,33 @@ #' @export #' #' @examples -#' \dontrun{ -#' library(ggplot2) -#' library(openxlsx) +#' \donttest{ +#' if (requireNamespace("openxlsx", quietly = TRUE)) { +#' library(ggplot2) +#' library(openxlsx) #' -#' # import coverage dataframe with function from openxlsx -#' coverage.file <- system.file( -#' "extdata", "Proteomics", "MS_BSA_coverage.xlsx", -#' package = "ggcoverage" -#' ) -#' coverage.df <- read.xlsx(coverage.file) -#' head(coverage.df) +#' # import coverage dataframe with function from openxlsx +#' coverage.file <- system.file( +#' "extdata", "Proteomics", "MS_BSA_coverage.xlsx", +#' package = "ggcoverage" +#' ) +#' coverage.df <- read.xlsx(coverage.file) +#' head(coverage.df) #' -#' # get fasta file -#' fasta.file <- system.file( -#' "extdata", "Proteomics", "MS_BSA_coverage.fasta", -#' package = "ggcoverage" -#' ) +#' # get fasta file +#' fasta.file <- system.file( +#' "extdata", "Proteomics", "MS_BSA_coverage.fasta", +#' package = "ggcoverage" +#' ) #' -#' protein.id <- "sp|P02769|ALBU_BOVIN" -#' ggplot() + -#' geom_protein( -#' coverage.df = coverage.df, -#' fasta.file = fasta.file, -#' protein.id = protein.id -#' ) +#' protein.id <- "sp|P02769|ALBU_BOVIN" +#' ggplot() + +#' geom_protein( +#' coverage.df = coverage.df, +#' fasta.file = fasta.file, +#' protein.id = protein.id +#' ) +#' } #' } geom_protein <- function(coverage.df, fasta.file, protein.id, XCorr.threshold = 2, confidence = "High", contaminant = NULL, remove.na = TRUE, diff --git a/R/ggprotein.R b/R/ggprotein.R index a7b8a23..a25e6d7 100644 --- a/R/ggprotein.R +++ b/R/ggprotein.R @@ -24,30 +24,32 @@ #' @export #' #' @examples -#' \dontrun{ -#' library(ggplot2) -#' library(openxlsx) +#' \donttest{ +#' if (requireNamespace("openxlsx", quietly = TRUE)) { +#' library(ggplot2) +#' library(openxlsx) #' -#' # import coverage dataframe with function from openxlsx -#' coverage.file <- system.file( -#' "extdata", "Proteomics", "MS_BSA_coverage.xlsx", -#' package = "ggcoverage" -#' ) -#' coverage.df <- read.xlsx(coverage.file) -#' head(coverage.df) +#' # import coverage dataframe with function from openxlsx +#' coverage.file <- system.file( +#' "extdata", "Proteomics", "MS_BSA_coverage.xlsx", +#' package = "ggcoverage" +#' ) +#' coverage.df <- read.xlsx(coverage.file) +#' head(coverage.df) #' -#' # get fasta file -#' fasta.file <- system.file( -#' "extdata", "Proteomics", "MS_BSA_coverage.fasta", -#' package = "ggcoverage" -#' ) +#' # get fasta file +#' fasta.file <- system.file( +#' "extdata", "Proteomics", "MS_BSA_coverage.fasta", +#' package = "ggcoverage" +#' ) #' -#' protein.id <- "sp|P02769|ALBU_BOVIN" -#' ggprotein( -#' coverage.df = coverage.df, -#' fasta.file = fasta.file, -#' protein.id = protein.id -#' ) +#' protein.id <- "sp|P02769|ALBU_BOVIN" +#' ggprotein( +#' coverage.df = coverage.df, +#' fasta.file = fasta.file, +#' protein.id = protein.id +#' ) +#' } #' } ggprotein <- function(coverage.df, fasta.file, protein.id, XCorr.threshold = 2, confidence = "High", contaminant = NULL, remove.na = TRUE, diff --git a/R/utils.R b/R/utils.R index e298989..64e4d5a 100644 --- a/R/utils.R +++ b/R/utils.R @@ -331,9 +331,30 @@ PrepareRect <- function(df, y.center = -0.2) { #' @export #' #' @examples -#' # cov.plot = ggcoverage(data = track.df, color = "auto", region = "chr18:76822285-76900000", -#' # range.position = "out", mark.region=mark.region, show.mark.label = TRUE) -#' # plot.data = GetPlotData(plot = cov.plot, layer.num=1) +#' # import track data +#' meta.file <- system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage") +#' sample.meta <- read.csv(meta.file) +#' track.folder <- system.file("extdata", "RNA-seq", package = "ggcoverage") +#' +#' track.df <- LoadTrackFile( +#' track.folder = track.folder, +#' format = "bw", +#' region = "chr14:21,677,306-21,737,601", +#' extend = 2000, +#' meta.info = sample.meta +#' ) +#' +#' # plot tracks +#' plot_coverage <- ggcoverage( +#' data = track.df, +#' range.position = "out", +#' show.mark.label = TRUE +#' ) +#' +#' # extract data again +#' plot_data <- GetPlotData(plot = plot_coverage, layer.num = 1) +#' head(plot_data) +#' GetPlotData <- function(plot, layer.num = 1) { plot.str <- deparse(substitute(plot)) if (layer.num == 1) { diff --git a/man/GetConsensusPeak.Rd b/man/GetConsensusPeak.Rd index f2f1143..4f585f9 100644 --- a/man/GetConsensusPeak.Rd +++ b/man/GetConsensusPeak.Rd @@ -51,7 +51,8 @@ A dataframe contains all consensus peak. Get Consensus Peak from Replicates with MSPC. } \examples{ -# library(ggcoverage) -# peak.file <- system.file("extdata", "ChIP-seq", "consensus.peak", package = "ggcoverage") -# peak.df <- GetConsensusPeak(peak.file = peak.file) +peak_file <- system.file("extdata", "ChIP-seq", "consensus.peak", package = "ggcoverage") +peak_df <- GetConsensusPeak(peak.file = peak_file) +head(peak_df) + } diff --git a/man/GetPlotData.Rd b/man/GetPlotData.Rd index d1a9100..902ed29 100644 --- a/man/GetPlotData.Rd +++ b/man/GetPlotData.Rd @@ -18,7 +18,28 @@ A dataframe. Plot Object Generated by ggcoverage. } \examples{ -# cov.plot = ggcoverage(data = track.df, color = "auto", region = "chr18:76822285-76900000", -# range.position = "out", mark.region=mark.region, show.mark.label = TRUE) -# plot.data = GetPlotData(plot = cov.plot, layer.num=1) +# import track data +meta.file <- system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage") +sample.meta <- read.csv(meta.file) +track.folder <- system.file("extdata", "RNA-seq", package = "ggcoverage") + +track.df <- LoadTrackFile( + track.folder = track.folder, + format = "bw", + region = "chr14:21,677,306-21,737,601", + extend = 2000, + meta.info = sample.meta +) + +# plot tracks +plot_coverage <- ggcoverage( + data = track.df, + range.position = "out", + show.mark.label = TRUE +) + +# extract data again +plot_data <- GetPlotData(plot = plot_coverage, layer.num = 1) +head(plot_data) + } diff --git a/man/geom_cnv.Rd b/man/geom_cnv.Rd index ddde347..ed92126 100644 --- a/man/geom_cnv.Rd +++ b/man/geom_cnv.Rd @@ -46,34 +46,36 @@ Plot. Add CNV Annotation to Coverage Plot. } \examples{ -\dontrun{ - library("BSgenome.Hsapiens.UCSC.hg19") +\donttest{ + if (requireNamespace("BSgenome.Hsapiens.UCSC.hg19", quietly = TRUE)) { + library("BSgenome.Hsapiens.UCSC.hg19") - # load track data - track_file <- - system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") - track_df <- LoadTrackFile( - track.file = track_file, - format = "bw", - region = "4:1-160000000" - ) - track_df$seqnames <- paste0("chr", track_df$seqnames) + # load track data + track_file <- + system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") + track_df <- LoadTrackFile( + track.file = track_file, + format = "bw", + region = "4:1-160000000" + ) + track_df$seqnames <- paste0("chr", track_df$seqnames) - # read CNV data - cnv_file <- - system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", package = "ggcoverage") - cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE) + # read CNV data + cnv_file <- + system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", package = "ggcoverage") + cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE) - # plot coverage, GC content, CNV - basic_coverage <- ggcoverage( - data = track_df, - color = "grey", - mark.region = NULL, - range.position = "out" - ) + # plot coverage, GC content, CNV + basic_coverage <- ggcoverage( + data = track_df, + color = "grey", + mark.region = NULL, + range.position = "out" + ) - basic_coverage + - geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) + - geom_cnv(cnv.df = cnv_df, bin.col = 3, cn.col = 4) + basic_coverage + + geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) + + geom_cnv(cnv.df = cnv_df, bin.col = 3, cn.col = 4) + } } } diff --git a/man/geom_gc.Rd b/man/geom_gc.Rd index 45b264c..ccf5957 100644 --- a/man/geom_gc.Rd +++ b/man/geom_gc.Rd @@ -42,28 +42,30 @@ Plot. Add GC Content Annotation to Coverage Plot. } \examples{ -\dontrun{ - library("BSgenome.Hsapiens.UCSC.hg19") +\donttest{ + if (requireNamespace("BSgenome.Hsapiens.UCSC.hg19", quietly = TRUE)) { + library("BSgenome.Hsapiens.UCSC.hg19") - # load track data - track_file <- - system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") - track_df <- LoadTrackFile( - track.file = track_file, - format = "bw", - region = "4:1-160000000" - ) - track_df$seqnames <- paste0("chr", track_df$seqnames) + # load track data + track_file <- + system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") + track_df <- LoadTrackFile( + track.file = track_file, + format = "bw", + region = "4:1-160000000" + ) + track_df$seqnames <- paste0("chr", track_df$seqnames) - # plot coverage and GC content - basic_coverage <- ggcoverage( - data = track_df, - color = "grey", - mark.region = NULL, - range.position = "out" - ) + # plot coverage and GC content + basic_coverage <- ggcoverage( + data = track_df, + color = "grey", + mark.region = NULL, + range.position = "out" + ) - basic_coverage + - geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) + basic_coverage + + geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) + } } } diff --git a/man/geom_ideogram.Rd b/man/geom_ideogram.Rd index 91d0e8c..4fe54e1 100644 --- a/man/geom_ideogram.Rd +++ b/man/geom_ideogram.Rd @@ -67,43 +67,44 @@ Plot. Add Ideogram Annotation to Coverage Plot. } \examples{ -\dontrun{ -# note that you need to have package 'ggbio' installed -library(ggbio) - -# load metadata -meta_file <- - system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage") -sample_meta <- read.csv(meta_file) - -# track folder -track_folder <- - system.file("extdata", "RNA-seq", package = "ggcoverage") -# load bigwig file -track_df <- LoadTrackFile( - track.folder = track_folder, - format = "bw", - region = "chr14:21,677,306-21,737,601", - extend = 2000, - meta.info = sample_meta -) - -# gene annotation -gtf_file <- - system.file("extdata", "used_hg19.gtf", package = "ggcoverage") -gtf_gr <- rtracklayer::import.gff(con = gtf_file, format = "gtf") - -# coverage plot + ideogram -basic_coverage <- ggcoverage( - data = track_df, - plot.type = "facet", - range.position = "in", - facet.y.scale = "fixed" -) - -basic_coverage + - geom_gene(gtf.gr = gtf_gr) + - geom_ideogram(genome = "hg19", plot.space = 0) +\donttest{ + if (requireNamespace("ggbio", quietly = TRUE)) { + library(ggbio) + + # load metadata + meta_file <- + system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage") + sample_meta <- read.csv(meta_file) + + # track folder + track_folder <- + system.file("extdata", "RNA-seq", package = "ggcoverage") + # load bigwig file + track_df <- LoadTrackFile( + track.folder = track_folder, + format = "bw", + region = "chr14:21,677,306-21,737,601", + extend = 2000, + meta.info = sample_meta + ) + + # gene annotation + gtf_file <- + system.file("extdata", "used_hg19.gtf", package = "ggcoverage") + gtf_gr <- rtracklayer::import.gff(con = gtf_file, format = "gtf") + + # coverage plot + ideogram + basic_coverage <- ggcoverage( + data = track_df, + plot.type = "facet", + range.position = "in", + facet.y.scale = "fixed" + ) + + basic_coverage + + geom_gene(gtf.gr = gtf_gr) + + geom_ideogram(genome = "hg19", plot.space = 0) + } } } diff --git a/man/geom_protein.Rd b/man/geom_protein.Rd index 8255e2d..4b85480 100644 --- a/man/geom_protein.Rd +++ b/man/geom_protein.Rd @@ -68,30 +68,32 @@ A ggplot2 object. Layer for Protein Coverage Plot. } \examples{ -\dontrun{ -library(ggplot2) -library(openxlsx) - -# import coverage dataframe with function from openxlsx -coverage.file <- system.file( - "extdata", "Proteomics", "MS_BSA_coverage.xlsx", - package = "ggcoverage" -) -coverage.df <- read.xlsx(coverage.file) -head(coverage.df) - -# get fasta file -fasta.file <- system.file( - "extdata", "Proteomics", "MS_BSA_coverage.fasta", - package = "ggcoverage" -) - -protein.id <- "sp|P02769|ALBU_BOVIN" -ggplot() + - geom_protein( - coverage.df = coverage.df, - fasta.file = fasta.file, - protein.id = protein.id - ) +\donttest{ + if (requireNamespace("openxlsx", quietly = TRUE)) { + library(ggplot2) + library(openxlsx) + + # import coverage dataframe with function from openxlsx + coverage.file <- system.file( + "extdata", "Proteomics", "MS_BSA_coverage.xlsx", + package = "ggcoverage" + ) + coverage.df <- read.xlsx(coverage.file) + head(coverage.df) + + # get fasta file + fasta.file <- system.file( + "extdata", "Proteomics", "MS_BSA_coverage.fasta", + package = "ggcoverage" + ) + + protein.id <- "sp|P02769|ALBU_BOVIN" + ggplot() + + geom_protein( + coverage.df = coverage.df, + fasta.file = fasta.file, + protein.id = protein.id + ) + } } } diff --git a/man/ggprotein.Rd b/man/ggprotein.Rd index 5e247ef..36e2041 100644 --- a/man/ggprotein.Rd +++ b/man/ggprotein.Rd @@ -68,29 +68,31 @@ A ggplot2 object. Create Mass Spectrometry Protein Coverage Plot. } \examples{ -\dontrun{ -library(ggplot2) -library(openxlsx) - -# import coverage dataframe with function from openxlsx -coverage.file <- system.file( - "extdata", "Proteomics", "MS_BSA_coverage.xlsx", - package = "ggcoverage" -) -coverage.df <- read.xlsx(coverage.file) -head(coverage.df) - -# get fasta file -fasta.file <- system.file( - "extdata", "Proteomics", "MS_BSA_coverage.fasta", - package = "ggcoverage" -) - -protein.id <- "sp|P02769|ALBU_BOVIN" -ggprotein( - coverage.df = coverage.df, - fasta.file = fasta.file, - protein.id = protein.id -) +\donttest{ + if (requireNamespace("openxlsx", quietly = TRUE)) { + library(ggplot2) + library(openxlsx) + + # import coverage dataframe with function from openxlsx + coverage.file <- system.file( + "extdata", "Proteomics", "MS_BSA_coverage.xlsx", + package = "ggcoverage" + ) + coverage.df <- read.xlsx(coverage.file) + head(coverage.df) + + # get fasta file + fasta.file <- system.file( + "extdata", "Proteomics", "MS_BSA_coverage.fasta", + package = "ggcoverage" + ) + + protein.id <- "sp|P02769|ALBU_BOVIN" + ggprotein( + coverage.df = coverage.df, + fasta.file = fasta.file, + protein.id = protein.id + ) + } } }