Skip to content

Commit 6cd38ab

Browse files
authored
Merge pull request showteeth#45 from m-jahn/dev
fix: formatting issues and examples for CRAN
2 parents 8465fd8 + 6430c5f commit 6cd38ab

19 files changed

+390
-322
lines changed

DESCRIPTION

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,13 @@ Authors@R: c(
88
comment = c(ORCID = "0000-0002-3913-153X"))
99
)
1010
Maintainer: Yabing Song <[email protected]>
11-
Description: The goal of 'ggcoverage' is to visualize coverage tracks from
12-
genomics, transcriptomics or proteomics data. It contains functions to
13-
load data from BAM, BigWig, BedGraph, txt, or xlsx files, create
14-
genome/protein coverage plots, and add various annotations including
15-
base and amino acid composition, GC content, copy number variation
16-
(CNV), genes, transcripts, ideograms, peak highlights, HiC contact
17-
maps, contact links and protein features. It is based on and
18-
integrates well with 'ggplot2'.
11+
Description: Visualize coverage tracks from genomics, transcriptomics
12+
or proteomics data. The package contains functions to load data from 'BAM',
13+
'BigWig', 'BedGraph', 'txt', or 'xlsx' files, create genome/protein coverage
14+
plots, and add various annotations including base and amino acid
15+
composition, GC content, copy number variation (CNV), genes, transcripts,
16+
ideograms, peak highlights, HiC contact maps, contact links and protein
17+
features. It is based on and integrates well with 'ggplot2'.
1918
License: MIT + file LICENSE
2019
URL: https://showteeth.github.io/ggcoverage/,
2120
https://github.com/showteeth/ggcoverage
@@ -51,6 +50,7 @@ Suggests:
5150
HiCBricks,
5251
htmltools,
5352
knitr,
53+
openxlsx,
5454
rmarkdown
5555
VignetteBuilder:
5656
knitr

R/ConsensusPeak.R

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,21 @@
2020
#' @export
2121
#'
2222
#' @examples
23-
#' # library(ggcoverage)
24-
#' # peak.file <- system.file("extdata", "ChIP-seq", "consensus.peak", package = "ggcoverage")
25-
#' # peak.df <- GetConsensusPeak(peak.file = peak.file)
26-
GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, rep.type = c("bio", "tec"), stringency.threshold = 1e-8,
27-
weak.threshold = 1e-4, gamma = 1e-8, alpha = 0.05, min.overlap.num = 1,
28-
multiple.intersections = c("Lowest", "Highest"), parallelism.degree = 1) {
23+
#' peak_file <- system.file("extdata", "ChIP-seq", "consensus.peak", package = "ggcoverage")
24+
#' peak_df <- GetConsensusPeak(peak.file = peak_file)
25+
#' head(peak_df)
26+
#'
27+
GetConsensusPeak <- function(peak.file,
28+
peak.folder = NULL,
29+
mspc.path = NULL,
30+
rep.type = c("bio", "tec"),
31+
stringency.threshold = 1e-8,
32+
weak.threshold = 1e-4,
33+
gamma = 1e-8,
34+
alpha = 0.05,
35+
min.overlap.num = 1,
36+
multiple.intersections = c("Lowest", "Highest"),
37+
parallelism.degree = 1) {
2938
# check parameters
3039
rep.type <- match.arg(arg = rep.type)
3140
multiple.intersections <- match.arg(arg = multiple.intersections)
@@ -39,7 +48,9 @@ GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, re
3948
stop("Peak file number is less than or equal to one!")
4049
} else if (length(peak.file) == 1) {
4150
# read file directly, do not get consensus peaks
42-
consensus.peak.df <- read.table(file = peak.file, sep = "\t", header = FALSE)
51+
consensus.peak.df <- read.table(file = peak.file,
52+
sep = "\t",
53+
header = FALSE)
4354
consensus.peak.df <- consensus.peak.df[, 1:5]
4455
colnames(consensus.peak.df) <- c("chr", "start", "stop", "name", "score")
4556
} else {
@@ -62,9 +73,26 @@ GetConsensusPeak <- function(peak.file, peak.folder = NULL, mspc.path = NULL, re
6273

6374
# full command
6475
mspc.cmd <- paste(
65-
mspc.path, input.para, "-r", rep.type, "-s", stringency.threshold,
66-
"-w", weak.threshold, "-g", gamma, "-a", alpha, "-c", min.overlap.num, "-m", multiple.intersections,
67-
"-d", parallelism.degree, "-o", out.folder
76+
mspc.path,
77+
input.para,
78+
"-r",
79+
rep.type,
80+
"-s",
81+
stringency.threshold,
82+
"-w",
83+
weak.threshold,
84+
"-g",
85+
gamma,
86+
"-a",
87+
alpha,
88+
"-c",
89+
min.overlap.num,
90+
"-m",
91+
multiple.intersections,
92+
"-d",
93+
parallelism.degree,
94+
"-o",
95+
out.folder
6896
)
6997
# change language information
7098
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
78106
# obtain results
79107
if (!file.exists(file.path(out.folder, "ConsensusPeaks.bed"))) {
80108
out.base <- basename(out.folder)
81-
all.tmp.dirs <- sort(dir(path = dirname(out.folder), pattern = out.base, full.names = TRUE))
109+
all.tmp.dirs <- sort(dir(
110+
path = dirname(out.folder),
111+
pattern = out.base,
112+
full.names = TRUE
113+
))
82114
out.folder <- all.tmp.dirs[length(all.tmp.dirs)]
83115
}
84116
consensus.peak.file <- file.path(out.folder, "ConsensusPeaks.bed")
85-
consensus.peak.df <- read.table(file = consensus.peak.file, sep = "\t", header = TRUE)
117+
consensus.peak.df <- read.table(file = consensus.peak.file,
118+
sep = "\t",
119+
header = TRUE)
86120
}
87121
return(consensus.peak.df)
88122
}

R/geom_cnv.R

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,35 +22,37 @@
2222
#' @export
2323
#'
2424
#' @examples
25-
#' \dontrun{
26-
#' library("BSgenome.Hsapiens.UCSC.hg19")
25+
#' \donttest{
26+
#' if (requireNamespace("BSgenome.Hsapiens.UCSC.hg19", quietly = TRUE)) {
27+
#' library("BSgenome.Hsapiens.UCSC.hg19")
2728
#'
28-
#' # load track data
29-
#' track_file <-
30-
#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage")
31-
#' track_df <- LoadTrackFile(
32-
#' track.file = track_file,
33-
#' format = "bw",
34-
#' region = "4:1-160000000"
35-
#' )
36-
#' track_df$seqnames <- paste0("chr", track_df$seqnames)
29+
#' # load track data
30+
#' track_file <-
31+
#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage")
32+
#' track_df <- LoadTrackFile(
33+
#' track.file = track_file,
34+
#' format = "bw",
35+
#' region = "4:1-160000000"
36+
#' )
37+
#' track_df$seqnames <- paste0("chr", track_df$seqnames)
3738
#'
38-
#' # read CNV data
39-
#' cnv_file <-
40-
#' system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", package = "ggcoverage")
41-
#' cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE)
39+
#' # read CNV data
40+
#' cnv_file <-
41+
#' system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", package = "ggcoverage")
42+
#' cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE)
4243
#'
43-
#' # plot coverage, GC content, CNV
44-
#' basic_coverage <- ggcoverage(
45-
#' data = track_df,
46-
#' color = "grey",
47-
#' mark.region = NULL,
48-
#' range.position = "out"
49-
#' )
44+
#' # plot coverage, GC content, CNV
45+
#' basic_coverage <- ggcoverage(
46+
#' data = track_df,
47+
#' color = "grey",
48+
#' mark.region = NULL,
49+
#' range.position = "out"
50+
#' )
5051
#'
51-
#' basic_coverage +
52-
#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) +
53-
#' geom_cnv(cnv.df = cnv_df, bin.col = 3, cn.col = 4)
52+
#' basic_coverage +
53+
#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19) +
54+
#' geom_cnv(cnv.df = cnv_df, bin.col = 3, cn.col = 4)
55+
#' }
5456
#' }
5557
geom_cnv <- function(cnv.df, bin.col = 3, cn.col = 4, ref.cn = 2,
5658
bin.point.color = "grey", bin.point.alpha = 0.6, cn.line.color = "red",

R/geom_gc.R

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,31 @@
2020
#' @export
2121
#'
2222
#' @examples
23-
#' \dontrun{
24-
#' library("BSgenome.Hsapiens.UCSC.hg19")
23+
#' \donttest{
24+
#' if (requireNamespace("BSgenome.Hsapiens.UCSC.hg19", quietly = TRUE)) {
25+
#' library("BSgenome.Hsapiens.UCSC.hg19")
2526
#'
26-
#' # load track data
27-
#' track_file <-
28-
#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage")
29-
#' track_df <- LoadTrackFile(
30-
#' track.file = track_file,
31-
#' format = "bw",
32-
#' region = "4:1-160000000"
33-
#' )
34-
#' track_df$seqnames <- paste0("chr", track_df$seqnames)
27+
#' # load track data
28+
#' track_file <-
29+
#' system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage")
30+
#' track_df <- LoadTrackFile(
31+
#' track.file = track_file,
32+
#' format = "bw",
33+
#' region = "4:1-160000000"
34+
#' )
35+
#' track_df$seqnames <- paste0("chr", track_df$seqnames)
3536
#'
36-
#' # plot coverage and GC content
37-
#' basic_coverage <- ggcoverage(
38-
#' data = track_df,
39-
#' color = "grey",
40-
#' mark.region = NULL,
41-
#' range.position = "out"
42-
#' )
37+
#' # plot coverage and GC content
38+
#' basic_coverage <- ggcoverage(
39+
#' data = track_df,
40+
#' color = "grey",
41+
#' mark.region = NULL,
42+
#' range.position = "out"
43+
#' )
4344
#'
44-
#' basic_coverage +
45-
#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19)
45+
#' basic_coverage +
46+
#' geom_gc(bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19)
47+
#' }
4648
#' }
4749
geom_gc <- function(fa.file = NULL, bs.fa.seq = NULL, chr.split = "[[:space:]]", guide.line = NULL,
4850
line.color = "black", guide.line.color = "red", guide.line.type = "dashed",

R/geom_ideogram.R

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -35,43 +35,44 @@
3535
#' @export
3636
#'
3737
#' @examples
38-
#' \dontrun{
39-
#' # note that you need to have package 'ggbio' installed
40-
#' library(ggbio)
38+
#' \donttest{
39+
#' if (requireNamespace("ggbio", quietly = TRUE)) {
40+
#' library(ggbio)
4141
#'
42-
#' # load metadata
43-
#' meta_file <-
44-
#' system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage")
45-
#' sample_meta <- read.csv(meta_file)
42+
#' # load metadata
43+
#' meta_file <-
44+
#' system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage")
45+
#' sample_meta <- read.csv(meta_file)
4646
#'
47-
#' # track folder
48-
#' track_folder <-
49-
#' system.file("extdata", "RNA-seq", package = "ggcoverage")
50-
#' # load bigwig file
51-
#' track_df <- LoadTrackFile(
52-
#' track.folder = track_folder,
53-
#' format = "bw",
54-
#' region = "chr14:21,677,306-21,737,601",
55-
#' extend = 2000,
56-
#' meta.info = sample_meta
57-
#' )
47+
#' # track folder
48+
#' track_folder <-
49+
#' system.file("extdata", "RNA-seq", package = "ggcoverage")
50+
#' # load bigwig file
51+
#' track_df <- LoadTrackFile(
52+
#' track.folder = track_folder,
53+
#' format = "bw",
54+
#' region = "chr14:21,677,306-21,737,601",
55+
#' extend = 2000,
56+
#' meta.info = sample_meta
57+
#' )
5858
#'
59-
#' # gene annotation
60-
#' gtf_file <-
61-
#' system.file("extdata", "used_hg19.gtf", package = "ggcoverage")
62-
#' gtf_gr <- rtracklayer::import.gff(con = gtf_file, format = "gtf")
59+
#' # gene annotation
60+
#' gtf_file <-
61+
#' system.file("extdata", "used_hg19.gtf", package = "ggcoverage")
62+
#' gtf_gr <- rtracklayer::import.gff(con = gtf_file, format = "gtf")
6363
#'
64-
#' # coverage plot + ideogram
65-
#' basic_coverage <- ggcoverage(
66-
#' data = track_df,
67-
#' plot.type = "facet",
68-
#' range.position = "in",
69-
#' facet.y.scale = "fixed"
70-
#' )
64+
#' # coverage plot + ideogram
65+
#' basic_coverage <- ggcoverage(
66+
#' data = track_df,
67+
#' plot.type = "facet",
68+
#' range.position = "in",
69+
#' facet.y.scale = "fixed"
70+
#' )
7171
#'
72-
#' basic_coverage +
73-
#' geom_gene(gtf.gr = gtf_gr) +
74-
#' geom_ideogram(genome = "hg19", plot.space = 0)
72+
#' basic_coverage +
73+
#' geom_gene(gtf.gr = gtf_gr) +
74+
#' geom_ideogram(genome = "hg19", plot.space = 0)
75+
#' }
7576
#' }
7677
#'
7778
geom_ideogram <- function(genome = "hg19", mark.color = "red", mark.alpha = 0.7, mark.line.size = 1,

R/geom_protein.R

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,31 +33,33 @@
3333
#' @export
3434
#'
3535
#' @examples
36-
#' \dontrun{
37-
#' library(ggplot2)
38-
#' library(openxlsx)
36+
#' \donttest{
37+
#' if (requireNamespace("openxlsx", quietly = TRUE)) {
38+
#' library(ggplot2)
39+
#' library(openxlsx)
3940
#'
40-
#' # import coverage dataframe with function from openxlsx
41-
#' coverage.file <- system.file(
42-
#' "extdata", "Proteomics", "MS_BSA_coverage.xlsx",
43-
#' package = "ggcoverage"
44-
#' )
45-
#' coverage.df <- read.xlsx(coverage.file)
46-
#' head(coverage.df)
41+
#' # import coverage dataframe with function from openxlsx
42+
#' coverage.file <- system.file(
43+
#' "extdata", "Proteomics", "MS_BSA_coverage.xlsx",
44+
#' package = "ggcoverage"
45+
#' )
46+
#' coverage.df <- read.xlsx(coverage.file)
47+
#' head(coverage.df)
4748
#'
48-
#' # get fasta file
49-
#' fasta.file <- system.file(
50-
#' "extdata", "Proteomics", "MS_BSA_coverage.fasta",
51-
#' package = "ggcoverage"
52-
#' )
49+
#' # get fasta file
50+
#' fasta.file <- system.file(
51+
#' "extdata", "Proteomics", "MS_BSA_coverage.fasta",
52+
#' package = "ggcoverage"
53+
#' )
5354
#'
54-
#' protein.id <- "sp|P02769|ALBU_BOVIN"
55-
#' ggplot() +
56-
#' geom_protein(
57-
#' coverage.df = coverage.df,
58-
#' fasta.file = fasta.file,
59-
#' protein.id = protein.id
60-
#' )
55+
#' protein.id <- "sp|P02769|ALBU_BOVIN"
56+
#' ggplot() +
57+
#' geom_protein(
58+
#' coverage.df = coverage.df,
59+
#' fasta.file = fasta.file,
60+
#' protein.id = protein.id
61+
#' )
62+
#' }
6163
#' }
6264
geom_protein <- function(coverage.df, fasta.file, protein.id, XCorr.threshold = 2,
6365
confidence = "High", contaminant = NULL, remove.na = TRUE,

0 commit comments

Comments
 (0)