From 5234de311484271063972cc79fdf53ef0c2dddfe Mon Sep 17 00:00:00 2001 From: jahn Date: Mon, 13 May 2024 11:37:06 +0200 Subject: [PATCH 1/2] fix: update to fetch USCS cytoband info, closes #19 --- NAMESPACE | 1 + R/geom_ideogram.R | 20 ++------------------ R/utils.R | 10 +++++----- 3 files changed, 8 insertions(+), 23 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index ea95618..a59ad92 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -55,6 +55,7 @@ importFrom(Biostrings,readAAStringSet) importFrom(Biostrings,readDNAStringSet) importFrom(Biostrings,translate) importFrom(GenomeInfoDb,"seqlengths<-") +importFrom(GenomeInfoDb,genome) importFrom(GenomeInfoDb,seqlengths) importFrom(GenomeInfoDb,seqnames) importFrom(GenomicAlignments,alphabetFrequencyFromBam) diff --git a/R/geom_ideogram.R b/R/geom_ideogram.R index a621241..e5374b5 100644 --- a/R/geom_ideogram.R +++ b/R/geom_ideogram.R @@ -31,7 +31,7 @@ #' @importFrom utils menu #' @importFrom rtracklayer ucscGenomes ucscTableQuery tableName getTable #' GRangesForUCSCGenome browserSession -#' @importFrom GenomeInfoDb seqlengths seqlengths<- seqnames +#' @importFrom GenomeInfoDb seqlengths genome seqlengths<- seqnames #' @export #' #' @examples @@ -95,22 +95,6 @@ geom_ideogram <- function(genome = "hg19", mark.color = "red", mark.alpha = 0.7, #' @export ggplot_add.ideogram <- function(object, plot, object_name) { - # if (length(plot$layers) == 0) { - # # geom_base - # # get plot data - # plot.data <- plot[[1]]$layers[[1]]$data - # # prepare plot range - # plot.chr <- as.character(plot.data[1, "seqnames"]) - # plot.region.start <- plot.data[1, "start"] - # plot.region.end <- plot.data[nrow(plot.data), "end"] - # } else { - # # get plot data - # plot.data <- plot$layers[[1]]$data - # # prepare plot range - # plot.chr <- as.character(plot.data[1, "seqnames"]) - # plot.region.start <- plot$coordinates$limits$x[1] - # plot.region.end <- plot$coordinates$limits$x[2] - # } # get plot data, plot data should contain bins if ("patchwork" %in% class(plot)) { plot.data <- plot[[1]]$layers[[1]]$data @@ -146,7 +130,7 @@ ggplot_add.ideogram <- function(object, plot, object_name) { plot.height <- object$plot.height # get genome and chr ideogram - genome.info <- suppressWarnings(getIdeogram(genome = genome, subchr = plot.chr, cytobands = TRUE)) + genome.info <- suppressWarnings(getIdeogram(genomes = genome, subchr = plot.chr, cytobands = TRUE)) genome.info.df <- genome.info %>% as.data.frame() # get genome length genome.length <- genome.info.df[nrow(genome.info.df), "end"] diff --git a/R/utils.R b/R/utils.R index 696a618..c4d187c 100644 --- a/R/utils.R +++ b/R/utils.R @@ -242,9 +242,8 @@ SplitTxExonUTR <- function(exon.df, utr.df) { # From: https://github.com/jorainer/biovizBase/blob/master/R/ideogram.R # Fix bug: the names on the supplied 'seqlengths' vector must be # identical to the seqnames -getIdeogram <- function(genome, subchr = NULL, cytobands = TRUE) { - .gnm <- genome - lst <- lapply(.gnm, function(genome) { +getIdeogram <- function(genomes, subchr = NULL, cytobands = TRUE) { + lst <- lapply(genomes, function(genome) { if (!(exists("session") && extends(class(session), "BrowserSession"))) { session <- rtracklayer::browserSession() } @@ -255,8 +254,9 @@ getIdeogram <- function(genome, subchr = NULL, cytobands = TRUE) { } if (cytobands) { message("Loading ideogram...") + GenomeInfoDb::genome(session) <- genome tryres <- try(query <- - rtracklayer::ucscTableQuery(session, "cytoBand", genome)) + rtracklayer::ucscTableQuery(session, table = "cytoBand", genome = genome)) if (!inherits(tryres, "try-error")) { rtracklayer::tableName(query) <- "cytoBand" df <- rtracklayer::getTable(query) @@ -292,7 +292,7 @@ getIdeogram <- function(genome, subchr = NULL, cytobands = TRUE) { gr <- sort(gr) gr }) - names(lst) <- .gnm + names(lst) <- genomes if (length(lst) == 1) { res <- lst[[1]] } else { From 27e4b946994657da4f29d4fab504552881ef5769 Mon Sep 17 00:00:00 2001 From: jahn Date: Thu, 16 May 2024 09:50:26 +0200 Subject: [PATCH 2/2] fix: typos and documentation --- DESCRIPTION | 16 +- README.Rmd | 36 ++- README.md | 214 +++++++++++------- .../README-base_aa_coverage_highlight-1.png | Bin 22322 -> 22268 bytes .../README-base_aa_coverage_star-1.png | Bin 23242 -> 23187 bytes man/figures/README-cnv_gc_coverage-1.png | Bin 21358 -> 21423 bytes man/figures/README-gc_coverage-1.png | Bin 33510 -> 33685 bytes man/figures/README-ideogram_coverage_1-1.png | Bin 14150 -> 14172 bytes man/figures/README-ideogram_coverage_2-1.png | Bin 69865 -> 69921 bytes man/figures/README-peak_coverage-1.png | Bin 16602 -> 16368 bytes vignettes/ggcoverage.Rmd | 40 ++-- 11 files changed, 182 insertions(+), 124 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5d4ee74..70a3a6a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -8,14 +8,14 @@ Authors@R: c( comment = c(ORCID = "0000-0002-3913-153X")) ) Maintainer: Michael Jahn -Description: The goal of 'ggcoverage' is to simplify the process of - visualizing genome/protein coverage. It contains functions to load - data from BAM, BigWig, BedGraph or txt/xlsx files, create - genome/protein coverage plots, add various annotations to the coverage - plot, including base and amino acid annotation, GC annotation, gene - annotation, transcript annotation, ideogram annotation, peak - annotation, contact map annotation, link annotation and protein - feature annotation. +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`. License: MIT + file LICENSE URL: https://showteeth.github.io/ggcoverage/, https://github.com/showteeth/ggcoverage diff --git a/README.Rmd b/README.Rmd index 239808c..d5a45fb 100644 --- a/README.Rmd +++ b/README.Rmd @@ -28,7 +28,9 @@ knitr::opts_chunk$set( ## Introduction -The goal of `ggcoverage` is simplify the process of visualizing omics coverage. It contains three main parts: +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`. + +It contains three main parts: * **Load the data**: `ggcoverage` can load BAM, BigWig (.bw), BedGraph, txt/xlsx files from various omics data, including WGS, RNA-seq, ChIP-seq, ATAC-seq, proteomics, et al. * **Create omics coverage plot** @@ -44,12 +46,9 @@ The goal of `ggcoverage` is simplify the process of visualizing omics coverage. * **link annotation**: Visualize genome coverage with contacts * **peotein feature annotation**: Visualize protein coverage with features -`ggcoverage` utilizes `ggplot2` plotting system, so its usage is **ggplot2-style**! - - ## Installation -`ggcoverage` is an R package distributed as part of the [CRAN](https://cran.r-project.org/). +`ggcoverage` is an R package distributed as part of the [CRAN repository](https://cran.r-project.org/). To install the package, start R and enter one of the following commands: ```{r install, eval = FALSE} @@ -61,9 +60,9 @@ install.package("remotes") remotes::install_github("showteeth/ggcoverage") ``` -In general, it is **recommended** to install from [Github repository](https://github.com/showteeth/ggcoverage) (update more timely). +In general, it is **recommended** to install from the [Github repository](https://github.com/showteeth/ggcoverage) (updated more regularly). -Once `ggcoverage` is installed, it can be loaded as every other package: +Once `ggcoverage` is installed, it can be loaded like every other package: ```{r library, message = FALSE, warning = FALSE} library("ggcoverage") @@ -74,14 +73,14 @@ library("ggcoverage") `ggcoverage` provides two [vignettes](https://showteeth.github.io/ggcoverage/): * **detailed manual**: step-by-step usage -* **customize the plot**: customize the plot and add additional layer +* **customize the plot**: customize the plot and add additional layers ## RNA-seq data ### Load the data -The RNA-seq data used here are from [Transcription profiling by high throughput sequencing of HNRNPC knockdown and control HeLa cells](https://bioconductor.org/packages/release/data/experiment/html/RNAseqData.HNRNPC.bam.chr14.html), we select four sample to use as example: ERR127307_chr14, ERR127306_chr14, ERR127303_chr14, ERR127302_chr14, and all bam files are converted to bigwig file with [deeptools](https://deeptools.readthedocs.io/en/develop/). +The RNA-seq data used here is from [Transcription profiling by high throughput sequencing of HNRNPC knockdown and control HeLa cells](https://bioconductor.org/packages/release/data/experiment/html/RNAseqData.HNRNPC.bam.chr14.html). We select four samples to use as example: `ERR127307_chr14`, `ERR127306_chr14`, `ERR127303_chr14`, `ERR127302_chr14`, and all bam files were converted to bigwig files with [deeptools](https://deeptools.readthedocs.io/en/develop/). Load metadata: @@ -125,7 +124,7 @@ mark_region ### Load GTF -To add **gene annotation**, the gtf file should contain **gene_type** and **gene_name** attributes in **column 9**; to add **transcript annotation**, the gtf file should contain **transcript_name** attribute in **column 9**. +To add **gene annotation**, the gtf file should contain **gene_type** and **gene_name** attributes in **column 9**; to add **transcript annotation**, the gtf file should contain a **transcript_name** attribute in **column 9**. ```{r load_gtf} gtf_file <- @@ -230,14 +229,14 @@ basic_coverage + ### Add transcript annotation -**In "loose" stype (default style; each transcript occupies one line)**: +**In "loose" style (default style; each transcript occupies one line)**: ```{r transcript_coverage, warning = FALSE, fig.height = 12, fig.width = 12, fig.align = "center"} basic_coverage + geom_transcript(gtf.gr = gtf_gr, label.vjust = 1.5) ``` -**In "tight" style (place non-overlap transcripts in one line)**: +**In "tight" style (attempted to place non-overlapping transcripts in one line)**: ```{r transcript_coverage_tight, warning = FALSE, fig.height = 12, fig.width = 12, fig.align = "center"} basic_coverage + @@ -436,9 +435,9 @@ head(track_df) #### Default color scheme -For base and amino acid annotation, we have following default color schemes, you can change with `nuc.color` and `aa.color` parameters. +For base and amino acid annotation, the package comes with the following default color schemes. Color schemes can be changed with `nuc.color` and `aa.color` parameters. -Default color scheme for base annotation is `Clustal-style`, more popular color schemes is available [here](https://www.biostars.org/p/171056/). +THe default color scheme for base annotation is `Clustal-style`, more popular color schemes are available [here](https://www.biostars.org/p/171056/). ```{r base_color_scheme, warning = FALSE, fig.height = 2, fig.width = 6, fig.align = "center"} # color scheme @@ -587,7 +586,7 @@ ggcoverage( ## ChIP-seq data -The ChIP-seq data used here are from [DiffBind](https://bioconductor.org/packages/release/bioc/html/DiffBind.html), I select four sample to use as example: Chr18_MCF7_input, Chr18_MCF7_ER_1, Chr18_MCF7_ER_3, Chr18_MCF7_ER_2, and all bam files are converted to bigwig file with [deeptools](https://deeptools.readthedocs.io/en/develop/). +The ChIP-seq data used here is from [DiffBind](https://bioconductor.org/packages/release/bioc/html/DiffBind.html). Four samples are selected as examples: `Chr18_MCF7_input`, `Chr18_MCF7_ER_1`, `Chr18_MCF7_ER_3`, `Chr18_MCF7_ER_2`, and all bam files were converted to bigwig files with [deeptools](https://deeptools.readthedocs.io/en/develop/). Create metadata: @@ -679,7 +678,7 @@ The Hi-C method maps chromosome contacts in eukaryotic cells. For this purpose, DNA and protein complexes are cross-linked and DNA fragments then purified. As a result, even distant chromatin fragments can be found to interact due to the spatial organization of the DNA and histones in the cell. Hi-C data shows these interactions for example as a contact map. -The Hi-C data are from [pyGenomeTracks: reproducible plots for multivariate genomic datasets](https://academic.oup.com/bioinformatics/article/37/3/422/5879987?login=false). +The Hi-C data is taken from [pyGenomeTracks: reproducible plots for multivariate genomic datasets](https://academic.oup.com/bioinformatics/article/37/3/422/5879987?login=false). The Hi-C matrix visualization is implemented by [`HiCBricks`](https://github.com/koustav-pal/HiCBricks). This package needs to be installed separately (it is only 'Suggested' by `ggcoverage`). @@ -785,7 +784,7 @@ basic_coverage + ## Mass spectrometry protein coverage -[Mass spectrometry (MS) is an important method for the accurate mass determination and characterization of proteins, and a variety of methods and instrumentations have been developed for its many uses](https://en.wikipedia.org/wiki/Protein_mass_spectrometry). After MS, we can check the coverage of protein to check the quality of the data and find the reason why the segment did not appear and improve the experiment. +[Mass spectrometry](https://en.wikipedia.org/wiki/Protein_mass_spectrometry) (MS) is an important method for the accurate mass determination and characterization of proteins, and a variety of methods and instruments have been developed for its many uses. With `ggcoverage`, we can easily inspect the peptide coverage of a protein in order to learn about the quality of the data. ### Load coverage @@ -855,6 +854,5 @@ protein_coverage + ``` ## Code of Conduct - - Please note that the `ggcoverage` project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. +Please note that the `ggcoverage` project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. diff --git a/README.md b/README.md index 3323a9e..4fa4178 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,15 @@ commit](https://img.shields.io/github/last-commit/showteeth/ggcoverage) ## Introduction -The goal of `ggcoverage` is simplify the process of visualizing omics -coverage. It contains three main parts: +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`. + +It contains three main parts: - **Load the data**: `ggcoverage` can load BAM, BigWig (.bw), BedGraph, txt/xlsx files from various omics data, including WGS, RNA-seq, @@ -41,14 +48,11 @@ coverage. It contains three main parts: - **peotein feature annotation**: Visualize protein coverage with features -`ggcoverage` utilizes `ggplot2` plotting system, so its usage is -**ggplot2-style**! - ## Installation -`ggcoverage` is an R package distributed as part of the -[CRAN](https://cran.r-project.org/). To install the package, start R and -enter one of the following commands: +`ggcoverage` is an R package distributed as part of the [CRAN +repository](https://cran.r-project.org/). To install the package, start +R and enter one of the following commands: ``` r # install via CRAN (not yet available) @@ -59,11 +63,12 @@ install.package("remotes") remotes::install_github("showteeth/ggcoverage") ``` -In general, it is **recommended** to install from [Github -repository](https://github.com/showteeth/ggcoverage) (update more -timely). +In general, it is **recommended** to install from the [Github +repository](https://github.com/showteeth/ggcoverage) (updated more +regularly). -Once `ggcoverage` is installed, it can be loaded as every other package: +Once `ggcoverage` is installed, it can be loaded like every other +package: ``` r library("ggcoverage") @@ -75,18 +80,18 @@ library("ggcoverage") [vignettes](https://showteeth.github.io/ggcoverage/): - **detailed manual**: step-by-step usage -- **customize the plot**: customize the plot and add additional layer +- **customize the plot**: customize the plot and add additional layers ## RNA-seq data ### Load the data -The RNA-seq data used here are from [Transcription profiling by high +The RNA-seq data used here is from [Transcription profiling by high throughput sequencing of HNRNPC knockdown and control HeLa -cells](https://bioconductor.org/packages/release/data/experiment/html/RNAseqData.HNRNPC.bam.chr14.html), -we select four sample to use as example: ERR127307_chr14, -ERR127306_chr14, ERR127303_chr14, ERR127302_chr14, and all bam files are -converted to bigwig file with +cells](https://bioconductor.org/packages/release/data/experiment/html/RNAseqData.HNRNPC.bam.chr14.html). +We select four samples to use as example: `ERR127307_chr14`, +`ERR127306_chr14`, `ERR127303_chr14`, `ERR127302_chr14`, and all bam +files were converted to bigwig files with [deeptools](https://deeptools.readthedocs.io/en/develop/). Load metadata: @@ -149,8 +154,8 @@ mark_region To add **gene annotation**, the gtf file should contain **gene_type** and **gene_name** attributes in **column 9**; to add **transcript -annotation**, the gtf file should contain **transcript_name** attribute -in **column 9**. +annotation**, the gtf file should contain a **transcript_name** +attribute in **column 9**. ``` r gtf_file <- @@ -274,7 +279,7 @@ basic_coverage + ### Add transcript annotation -**In “loose” stype (default style; each transcript occupies one line)**: +**In “loose” style (default style; each transcript occupies one line)**: ``` r basic_coverage + @@ -283,13 +288,16 @@ basic_coverage + -**In “tight” style (place non-overlap transcripts in one line)**: +**In “tight” style (attempted to place non-overlapping transcripts in +one line)**: ``` r basic_coverage + - geom_transcript(gtf.gr = gtf_gr, - overlap.style = "tight", - label.vjust = 1.5) + geom_transcript( + gtf.gr = gtf_gr, + overlap.style = "tight", + label.vjust = 1.5 + ) ``` @@ -315,8 +323,8 @@ library(ggbio) #> colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find, #> get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply, #> match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, -#> Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort, -#> table, tapply, union, unique, unsplit, which.max, which.min +#> Position, rank, rbind, Reduce, rownames, sapply, setdiff, table, +#> tapply, union, unique, unsplit, which.max, which.min #> Loading required package: ggplot2 #> Registered S3 method overwritten by 'GGally': #> method from @@ -329,6 +337,9 @@ library(ggbio) #> #> geom_bar, geom_rect, geom_segment, ggsave, stat_bin, stat_identity, #> xlim +``` + +``` r basic_coverage + geom_gene(gtf.gr = gtf_gr) + @@ -376,7 +387,9 @@ cnv_meta_info <- data.frame( # track file track_file <- system.file("extdata", - "DNA-seq", "CNV_example.txt", package = "ggcoverage") + "DNA-seq", "CNV_example.txt", + package = "ggcoverage" +) # load txt file track_df <- LoadTrackFile( @@ -439,7 +452,16 @@ library("BSgenome.Hsapiens.UCSC.hg19") #> The following object is masked from 'package:base': #> #> strsplit +#> Loading required package: BiocIO #> Loading required package: rtracklayer +#> +#> Attaching package: 'rtracklayer' +#> The following object is masked from 'package:BiocIO': +#> +#> FileForFormat +``` + +``` r # create plot basic_coverage + @@ -469,10 +491,15 @@ track_file <- system.file("extdata", "DNA-seq", "SRR054616.bw", package = "ggcoverage") # load track -track_df <- LoadTrackFile(track.file = track_file, - format = "bw", - region = "4:1-160000000") +track_df <- LoadTrackFile( + track.file = track_file, + format = "bw", + region = "4:1-160000000" +) #> No metadata provided, returning coverage as is. +``` + +``` r # add chr prefix track_df$seqnames <- paste0("chr", track_df$seqnames) @@ -509,7 +536,8 @@ basic_coverage # prepare files cnv_file <- system.file("extdata", "DNA-seq", "SRR054616_copynumber.txt", - package = "ggcoverage") + package = "ggcoverage" + ) # read CNV cnv_df <- read.table(file = cnv_file, sep = "\t", header = TRUE) @@ -533,9 +561,11 @@ Add **GC**, **ideogram** and **CNV** annotations. # create plot 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( + cnv.df = cnv_df, + bin.col = 3, + cn.col = 4 + ) + geom_ideogram( genome = "hg19", plot.space = 0, @@ -563,8 +593,9 @@ sample_meta <- data.frame( # load bam file bam_file <- system.file("extdata", - "DNA-seq", "tumorA.chr4.selected.bam", - package = "ggcoverage") + "DNA-seq", "tumorA.chr4.selected.bam", + package = "ggcoverage" +) track_df <- LoadTrackFile( track.file = bam_file, @@ -575,6 +606,9 @@ track_df <- LoadTrackFile( #> No 'region' specified; extracting coverage for an example range #> (<=100,000 bases, first annotated sequence) #> Coverage extracted from sequence/chromosome: chr10 +``` + +``` r head(track_df) #> seqnames start end width strand score Type Group @@ -588,11 +622,12 @@ head(track_df) #### Default color scheme -For base and amino acid annotation, we have following default color -schemes, you can change with `nuc.color` and `aa.color` parameters. +For base and amino acid annotation, the package comes with the following +default color schemes. Color schemes can be changed with `nuc.color` and +`aa.color` parameters. -Default color scheme for base annotation is `Clustal-style`, more -popular color schemes is available +THe default color scheme for base annotation is `Clustal-style`, more +popular color schemes are available [here](https://www.biostars.org/p/171056/). ``` r @@ -690,9 +725,11 @@ ggcoverage( single.nuc = TRUE, rect.color = "white" ) + - geom_base(bam.file = bam_file, - bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19, - mark.type = "twill") + + geom_base( + bam.file = bam_file, + bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19, + mark.type = "twill" + ) + geom_ideogram(genome = "hg19", plot.space = 0) #> Loading ideogram... #> Loading ranges... @@ -711,9 +748,11 @@ ggcoverage( single.nuc = TRUE, rect.color = "white" ) + - geom_base(bam.file = bam_file, - bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19, - mark.type = "star") + + geom_base( + bam.file = bam_file, + bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19, + mark.type = "star" + ) + geom_ideogram(genome = "hg19", plot.space = 0) #> Loading ideogram... #> Loading ranges... @@ -734,9 +773,11 @@ ggcoverage( single.nuc = TRUE, rect.color = "white" ) + - geom_base(bam.file = bam_file, - bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19, - mark.type = "highlight") + + geom_base( + bam.file = bam_file, + bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19, + mark.type = "highlight" + ) + geom_ideogram(genome = "hg19", plot.space = 0) #> Loading ideogram... #> Loading ranges... @@ -748,11 +789,11 @@ ggcoverage( ## ChIP-seq data -The ChIP-seq data used here are from -[DiffBind](https://bioconductor.org/packages/release/bioc/html/DiffBind.html), -I select four sample to use as example: Chr18_MCF7_input, -Chr18_MCF7_ER_1, Chr18_MCF7_ER_3, Chr18_MCF7_ER_2, and all bam files are -converted to bigwig file with +The ChIP-seq data used here is from +[DiffBind](https://bioconductor.org/packages/release/bioc/html/DiffBind.html). +Four samples are selected as examples: `Chr18_MCF7_input`, +`Chr18_MCF7_ER_1`, `Chr18_MCF7_ER_3`, `Chr18_MCF7_ER_2`, and all bam +files were converted to bigwig files with [deeptools](https://deeptools.readthedocs.io/en/develop/). Create metadata: @@ -822,9 +863,11 @@ mark_region ### Basic coverage ``` r -basic_coverage <- ggcoverage(data = track_df, - mark.region = mark_region, - show.mark.label = FALSE) +basic_coverage <- ggcoverage( + data = track_df, + mark.region = mark_region, + show.mark.label = FALSE +) basic_coverage ``` @@ -839,9 +882,10 @@ annotation, we first **get consensus peaks** with ``` r # get consensus peak file peak_file <- system.file("extdata", - "ChIP-seq", - "consensus.peak", - package = "ggcoverage") + "ChIP-seq", + "consensus.peak", + package = "ggcoverage" +) basic_coverage + geom_gene(gtf.gr = gtf_gr) + @@ -864,7 +908,7 @@ found to interact due to the spatial organization of the DNA and histones in the cell. Hi-C data shows these interactions for example as a contact map. -The Hi-C data are from [pyGenomeTracks: reproducible plots for +The Hi-C data is taken from [pyGenomeTracks: reproducible plots for multivariate genomic datasets](https://academic.oup.com/bioinformatics/article/37/3/422/5879987?login=false). @@ -887,6 +931,9 @@ track_df <- LoadTrackFile( extend = 0 ) #> No metadata provided, returning coverage as is. +``` + +``` r track_df$score <- ifelse(track_df$score < 0, 0, track_df$score) @@ -908,7 +955,9 @@ Matrix: ``` r ## matrix hic_mat_file <- system.file("extdata", - "HiC", "HiC_mat.txt", package = "ggcoverage") + "HiC", "HiC_mat.txt", + package = "ggcoverage" +) hic_mat <- read.table(file = hic_mat_file, sep = "\t") hic_mat <- as.matrix(hic_mat) ``` @@ -972,6 +1021,9 @@ library(HiCBricks) #> The following object is masked from 'package:Biostrings': #> #> pattern +``` + +``` r basic_coverage + geom_tad( @@ -983,9 +1035,11 @@ basic_coverage + top = FALSE, show.rect = TRUE ) + - geom_link(link.file = link_file, - file.type = "bedpe", - show.rect = TRUE) + geom_link( + link.file = link_file, + file.type = "bedpe", + show.rect = TRUE + ) #> Read 534 lines after Skipping 0 lines #> Inserting Data at location: 1 #> Data length: 534 @@ -1001,13 +1055,13 @@ basic_coverage + ## Mass spectrometry protein coverage -[Mass spectrometry (MS) is an important method for the accurate mass -determination and characterization of proteins, and a variety of methods -and instrumentations have been developed for its many -uses](https://en.wikipedia.org/wiki/Protein_mass_spectrometry). After -MS, we can check the coverage of protein to check the quality of the -data and find the reason why the segment did not appear and improve the -experiment. +[Mass +spectrometry](https://en.wikipedia.org/wiki/Protein_mass_spectrometry) +(MS) is an important method for the accurate mass determination and +characterization of proteins, and a variety of methods and instruments +have been developed for its many uses. With `ggcoverage`, we can easily +inspect the peptide coverage of a protein in order to learn about the +quality of the data. ### Load coverage @@ -1019,7 +1073,9 @@ library(openxlsx) # prepare coverage dataframe coverage_file <- system.file("extdata", - "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage") + "Proteomics", "MS_BSA_coverage.xlsx", + package = "ggcoverage" + ) coverage_df <- openxlsx::read.xlsx(coverage_file, sheet = "Sheet1") # check the data head(coverage_df) @@ -1079,7 +1135,9 @@ The input protein fasta: ``` r fasta_file <- system.file("extdata", - "Proteomics", "MS_BSA_coverage.fasta", package = "ggcoverage") + "Proteomics", "MS_BSA_coverage.fasta", + package = "ggcoverage" + ) # prepare track dataframe protein_set <- Biostrings::readAAStringSet(fasta_file) @@ -1128,8 +1186,10 @@ protein_feature_df <- data.frame( # add annotation protein_coverage + - geom_feature(feature.df = protein_feature_df, - feature.color = c("#4d81be", "#173b5e", "#6a521d")) + geom_feature( + feature.df = protein_feature_df, + feature.color = c("#4d81be", "#173b5e", "#6a521d") + ) ``` diff --git a/man/figures/README-base_aa_coverage_highlight-1.png b/man/figures/README-base_aa_coverage_highlight-1.png index 9015d7d79565b0a62da3d38033f81f45adfbd2c8..e21ee983f3fb6f67cc6e37dae4a8f5ef6c1464bb 100644 GIT binary patch delta 4308 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 W!x6=H^aT;%A1!rVc)6-g=>Gv1@WcTC diff --git a/man/figures/README-cnv_gc_coverage-1.png b/man/figures/README-cnv_gc_coverage-1.png index 4b4f42d1f3444c89bcfc56df74b546c5294000c2..9a33a69661f467e5604111dcf04b3ef58e245171 100644 GIT binary patch literal 21423 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 literal 21358 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 Xbyx4*wSXYOz>t?#mMW5X=Kp^H;i91K diff --git a/man/figures/README-ideogram_coverage_1-1.png b/man/figures/README-ideogram_coverage_1-1.png index 665b7265d3d842cc4fbfe793b42db0d942802953..7fdd3998eacfa3457b52f33b99b84209f0242f68 100644 GIT binary patch literal 14172 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 DSC`1@ literal 14150 zcmdUW2UL??w`LTjNEZa9iim(xL^=p4RX{u)GwaU1GiNPKd_tNXFt#0dHYyJf%F311qcK}s`xY?sbgI&jn zDn{@uo~3@5L3myldF>r>T&h-}@g=9aZ1KJW3I#XD)lchuw0rG8Twcasv8$3a?W<&= zeXMZ5@D0Dl6^%%-sW-%t8QkUmG6ucu5ofNy_FnbaC(kXY z-X7_)aOG<_1MyjHWVRbz$@H=V&mogMaQhnAK$Iy#z`8aEiko%0;% zbNg@lad2|}Y;C>8#l^+Vy=9F-9IiEx7wT8sIXpN6fu!m@&eFI*Ost)!vp!@J-ajy4 zGxRm(%a;#i&1da?S4>rsm*@y85kKw+0K1FvuFjJlOgKLgxTh35lbH?lb~& zCI$&NN0_w`bbQ6Wf&|~U$#~tGxy|7WFd@wfNlU6+a1^f*kDtqCw*uU1*!WJ2y@P{z zsiLy-({HvZ4U;a1>n#Z?S#VFVF4(XQJg^K4fh3a?3faCeH7zi#9w~{Bh;Z0ldybLO zJsHwLhq&Q^af2S*_r-UOUS3*q8#jkQy5Q#|Gd{+}A)L{AD8VaNuJmR;BF-Og4y8Bi zh`%y|TM_dmmjG5?Ufz(cC@$TL&G}&SBwve%f=5~;WB_g;B&3+b%3z<2)p zE}Nu_gZZzmTmKSpursASZAp#x}ai6u5MtWsz|GvJ`lR5wSR*rhkOTfu(cGL4p zn!^<@3nbg@jH{P9HL$<*uRe!!`fBmrpYzcC-G<=^2b<$01%~ngMoU97cOsQ+U}_lY zC4xdM`i@M98ll}}=pfo1)9^L=DtP*2m^!rDPW5Mb18POh&whI^;)bEC?vS#r5^$I5 zgM~dO`3O$vVs#1T*2UPN^(p1&y!R)76)_`vPuUGcTPaKgJ{uRC8FgD&leiP%OzSrP zs@yeN@R22~6s&FVWRA2fBaPyv&iRM6Iu3|i&K`G6=lcH4Z$$PqSd_)<`)u@!7pfw~ zJ3bUsJ&4t>By^XzrEzC^GxztjYDq!mL&6UtB2J@u8m|7|0&u5X0W1U3LkaBV7K4JN5ooII~YhXSb zI$kXnng3<7cIu7giTza#$6eIwRojWy1raq-AB0X!{CR4cL_RGiC#U;r_8*%Idv6!{ zqJ%WOmMcEX;1^8drn9IyoU7Y@(rN#_?hJt>NBfUNjx-8>;CTy!K^r%YW~5fTM^}T1 zz1+G(2jTJMN;exxa8?_%uztw!@ur`x(r&{h)5(*sRxNM9k5!9OZ_;)o-TE^pz1?^^ z<@}?I(xqjkBC*z{%F;uBoMw)SU4mF)M?3zmhWmQ^#&^Rvz{h>YJ@*D^P`vpH^dCEw zh@q!j1pAo)|HV_^Vhldu_>ai>Pn-V#cliol`B1I5x3#r3uVd5l50r5Byiwm6E_|)D zcR(PHsWmm@2!^AU*!}(eM91Q>Ne=8x$um7Y`Y?a}Chdv3BFn)7G!hOo#1x2qF%8?^ zkcHyG`gc$t$k5fx)!}XfA{xF!?sYpXY}Q`}9v7yQUXpHXZg$pgf*mA2+QU4*oe+*c zhBk=|>M%UtpxWs>n$1sVdQ87F22ESo>Tv(HwTRJie0K~rcX1zbwRA>|Ayy;?War^c z22NkmdCwWig6h?&Uut<7qPN3+&F|h}HE9f@Ou4kLruL}Utp)@Dh}5a;)9ywpVRCbF zes8=oH8m~VItNK+u2D!@kQ&g?)bt-!eAN3;e){WcJYRE<;)=bDK|{p$h^0*K?4{5X zd=$Jcx|c*=K$tmOJZMO&EQbpbkj1kEVF#Gn+Hc>!RaI3bQ0?)jV5Mc^4#p^ep>$dVdm)QD4BInPY(@`{(`Lt zllP%rR_~%UYG`P|V7uCm3;f~RXLt&xrgKaExe~3SqN0K1%-fQYpKycC??)$Y>=f*j zGYhD9c@eMjjOS>o)sgH|@5`*KI|k~0^G+S&gaX8k*2Y3LR?PB#-Pgm|onoo}}e z%PNPG|Ak}+VFOZL)1iF$z7$ho!C5w(NUH6Nr{NN1+BUS=KA1Gf@PyiK{YP7FNlAm@ z8}*yOY-33%Z`2Ecf^T!NDE)*&BJ@u*v)>=&EGa9SHJfj|OmZX5ZZ+LO6n}m-x3OzhO@+e|B9_n+gw#%-bMg9 zHnTv5uxRG@EqwMH0o4?^V|TQlTy+>5&%h$9_oPQtQStW$JJNrjiJTnoqgYY5Qi`cz zMrPMRu2|Q%A*VQai%rsy(5|5(!k@w^OBE{q)#wk74bIp`MxxD~MViSOmj(nh)qovO zVQgL*#uYC#W*l~uo}(l`LV+{W`)7ArE|cJEzEvarsC1fb?9C_D)~0xQdme2?uq)p@ zebT|K{(j6Va#@$@MNt(3hH-5OY~?tCs(q*KA0M#Lj(!_>x$Vg2dG)LWt0KieFb2!X zc=_tdM~d&0R?!-#05s+?>3<7;XrLL1%rxZs17k?AQPJV_(c(5$V~ZY+%Lw6zi5?vj zER)=)(APMOxPX`WBe=i2+47q-@JnA8}L-uw&aUzZ(d7+u$<%> zCIKXr(pebB+EaBe(4Ii*5hCsoy`&&VNc0%8zfg zKH*DVU{qT}TRD}IAU13xaMNyG&oUU6agi2dAVi0^GhD*>vaW7zhn(<}^HMs+o99Hb z`P-D0xLhPEL8bXqLn#@);dmY{cf>TcZ5;ymGyziBOOZ){&ngMXKGe zg`px7FDAx2FCP38eE|94no+Tcb#90!_Jv}XKXpEgxx-efXV`sN#7gLCIs$~sgc_&K z#ph7i3fDm^l!rWXc4@FRj6t+V3J-S}ep%hox3B;DOwVTTs~FcMJfntxPp}+aYZ@%d zF0g=L4?-iLP|C{6p2!0pDZsC8X%~D(WuLH!v{J*N=~m*4EWs{F^gv(~-fEW6$eN7P?X#=Gr(pIVq(_VJOe+>}&uA z%Y%hG)~GSSQhZd-i8laR>b1Gh?Mpx&#w1aR5Q-CqI#=l9`_>y5?Us|z0gOv#CUy=m z=}whvjpn75zPrDW_O#rJFXkbD4aSl5j0|r5Z(WnNcaL|cRkC`KHDFx`D>$-Y#2Xlz z;2gck9e#f8LPNA}$IqXl9=l(6Qu1(vi$&H8H)>$j@T27WzE!PGPEHaS0TADwo=tl4 zv%TE_;hc|&4G9S`@6Ghrf=)Mw@|$&#pm8e-zi_wV17N$&Zpu+yMAHKRh?DA=p&-Eh z$;JPR^F|-TRFB7Wi#(8fjksv`AEdKaSjPa@qqr3NbflFm@p!H-yV!RCyVrkya!lle zI=RnOjAg~fuNMWZ$0*XODpenisDXfgO1Y*)Iq@PM%KP?=PFX+)so4(MKI77SOaa1U z*D0EOP+)ys8+Eiddla~AjdeNBS&KTQRo-JyG!4hn%}2gWzTKfU4P}hEynQkL32;u# zQaBP#rj1Z`K$OkVm?`JpTKRL&I;v2q}W(ooxal(fU}#=u82v9n&6l3uOdI5vaUA7 z(h8nt=s_-BA;S1u`o&YK=UI8MJK)W<#YL{f2R+(daGfUj^%pv+sVx1L6OGN}uCm!= zbWlhrE&n%gD&poA)S`TsmT&OnlnH6S7ykWWe*4Qidt_M}+o#jLqn%ARjEuPH_qD8C zcsTwo5#L|PQzLG^!xgESSdde4X`JHNmF$E_?u>{F)));4mXat3lmB5@+Kw9{!)&`c zAUpgQTEiy(tZ&Z)*cr&Rw}7kNWA3FzHOM+m>{@S4;;usc?rRVL%qiawAp=&r=}?srgzw2|yH)`h%>I`eY7rmXNi-Q`v-lMeLn0m| z5JW=~2BT{{H_x`jgyA)lLatVc6#pw>z+Q2sN(Saf{CtK^?Lb5 zDW@4sc0jg3=9o_O!vlEKrEc!E6=dfidUAYC7l%cQY+h}yW=$&_sr z*-?kzAsemW$GQcpy|Zal`&eNqn*D|g^TUS^SNfR}vst%Vsi>q^(^EMHGRuwfM<^do zch+PlG3&*U$qD99cUSv@sK|KNL#-#5EH-xi;U%TZpt^|IQu;;jfm~2H}a@ZgSh_`vQ~~nKSu+?x`6kFlp!W2CRe*~ zn`?e%hC$L}=-{yyZbVUBlfn%YVjSt!m3)7E7O1F+Fu=SvxnHYh&& zOU-+wbK!Q=%`yCD0oyqGsBk`U@<(ec@z4#Ie_&&R{Qo79#V!2zeREt+^#LeyZbasI zK8dGl*gvAS0xnkkYhZ3Z5zuAN$F-M3Q8mTI#hwS-N5?z0^&wwq)Jy5CjdEiLvl3_hP zJ&?m+0YPcgW__wjI;gz79Hf2{?%P#+b8*-s6qa%PG@WPhyB+gzcz9TN%&|9!lJ$Fy zo#~037s0N&?={@jMezq0ZI1T0YK*{k{~>xu7B)8JI$X88O}rl31;FiBPBq4(o7~*! zD*M&Zis!ttI7>?1ab6kv3XS+j?EUtN8U)Q)F{d1gDR1nKceN!Am(JC+Q_82LqCz7* zGe1wvg3Itc51bYKaq)M-z`&gn>+v?PP^xs^0s(EllnY z)gs@#Is50LfuiD1wrG9(#f<0?^tKdsuX9k};SrFaT$E21?-}y@KCQQUO&}Sg*yc78 z+S1%S?%4aN1|~*MdxDf^0(4LWx*RxJaq*qtCQvB&i}QyvN$3$4IWG1jh{GiJW+H?~ zZDoK8O-j&3|Dw(N?7eSoNm53H&jsi(RU0abC;1YjNA5p@%Kt?c`1jH9VX_miF{BB7 z?TdthL)$59g4@|6k`rl60r&pTdBH)S)#X#@Qy}m#J`Z5->IjaeED!+HyA20{xR$aS z_jjB0o;Pf7Pl5}mely&YE+A3`YbVupKo-(c*=#AKz?+uTYqsx& zx>_&W`;4zWWwxuP6gk9xmbrW`gdX56jY%C1*p7V=Y27r^4}G3^O>A(^8?H4CCVC^R zw&aZSIHa!niKJAB-7U=;cAI)oZ8kacGa~h{j`nTQnP9KlN695Tfsb!b=MY?y!1CXC zO}OwoXl>ePkGN*ntykB#+9>g^YcX7GK79V$a1-7v!L~pG39gtXn$Q6@`59f{^3#-8 zv2(ReRjwO2-^4@^OoDzixjqahQwF6B+ z_%=KmTvt$w*?L~ z>Cn(n2`(!6_V#viiOnu%>~6~g*g3cLW_sxL>(|>7CB%CeUmJ26R_*e7?*-?`Hwii~ z6v~Iv^|xNaOM0UC2shCF1?RGhitOrq&QxO)-q>VhWwBqsetV|N^2w7Y;IncQ_oS#? zaD|KHzz1C*09MvzX{6_5XS>dR(tdcOS8!0D-+4ucMb^{v2$bd|!i59{tJl60+rZtA z5BF|FEP`;VN&OPMmrq-7qBWwH=FKKQd6%<;k{)Eyn0@0W)&P9XlrC7bpXSD3}Mm}*SQ$8x%N1-A{|4QN&oZ2G>2%Y zw}S`+Y}77rzWY&}(4%+}K5p)OKp4x*x2rZf)HSzCIwc*%5~2;9W9pv`fhr{$jsjIb z5Duy=H8j!o!@U>9=DmNodh9P|Ne8`qcj52JYYu-a|J&r9wqWsHRzesgoR^JFPO~4} z7sz-LIk~wJA3xr_d6TF1@b~8CCO{4O-cpbw9Bd65sj8}KQ_q6kN{k{UB^?)x&2*|@ zNHLIgT$h^hqlnG)1mQB6mUq0!Brxf9<9nI+ZG2zT$q}kme>e2bVe9x_EWOTR~_#!GXvEZc^b0&Av==yGZRr#R*nO8TQ1$6*)+iF6GiNd zjg6%zMsp{+(s8MIM&WMaY<131W(!FkOI&FBs2hS zW@p*h*$a(ofm*nn4|mh+NR&V#c?H8C+HzgUeR1$LX^V@&^Br;L1BM)G3yCOs8*1Kb44T6{3mmN$ZgNQ9q z_&-J6CggqwfzYhrdI6%ynC=dF16I(*9vKz2eauWqvP2ga$mI58r;imE69dSZ#}DKx z%0&MqDf;iP%l;$yo(kK^s>OQwx3uyu3tIF656n_cN__u*B8v}~>0G4-C#Gd{u@`Je z2FEW0*w}0>9}X1!roctvahEiTsb9AWOZD=P>8U_Ea*qSl+LJuDhe7HDY8nSpN!M^- za8&>l0zj?f?s8rU$au7XZ1dM``m)t;M3{rZKy0SOMjQVz{RU2&pm_HbT3rUpCufzyVb9_l8(w@qX zf)AfWn#L%p;dC9>K#SFkkr_f+{3Svrie^) zJ?Xp=^yAgW4RJxM_w_FbwJ}}T3PHP^;e_~Px-H>sYbb3}lsLXlWGS`p&oA*d&h#YG zgzJHDtKQB~dhvS>L~2fbm&|B*CEvVhY;kAU;`0?3M|DeA>s(B%k-oKgv88%T%np-tforEwS87Kb)8HJn zD68=yG^d@7$*rtt(h-pwWY<8_+Y*x%x-4@1x}(O@v34zdu32lRoqsw`uPl4It)5`C z#s;}sUhCDzRn`dgin@DO^OqX70%o10CFXbS03tIh-?lnx=rkL7|{?-^)bQnXt# zf12D*Lx0$rXA4=}NI`zoHghKq|<=pbp3M5{;YD|byh}zJ~YiC(X#r6B>2l0yC zeqZ6|M<_L~H|7jP)zLo;QAb;kB%#dv#n5eLpRjb7@wl;cxkg&zQu$U0Qzd=*tmun! zlt0&V%9ST=j?=z*ny6Z_M4K7-n#cN02~Le%r`9|lpiDY;*7&JmU8qr1khHEq)0oZOPr zd+C|)jWpvs@8<4_r*fobHyw?%m5=9dR_+ zW_E6A!buv{Xh%i^6O+iK&TM!0^YD?w+RtRFg4At6-Uki`$6{GYrZ>{=+-l9snM&YAd&Ls5 z6bH2EOR%kedV>5Aact;FHQgsCrMUa5aC#c=*o)&Gg?dY@sY-~aU0gdhctjVE1a3%Y zRNPuK|Gt)yFUMF*YsEFqxbon>OQ^DNM>WTBe@~PQYL7UZ$aHpfI4XQcTym8DnWMq& z5l2^*l@W5QSd@`nr_NCexk*`jHW7=E_xMOkOwK!H_RqWwCSG$1rr1drjo9@8Wv|P* zl3?d--{Lu;FbSga6S11t z@Tagu!JS@-inZ_dny*7WdhEZBqrw`SId*1rCG%goLt#G5MP_+5htD@)q0c=Hjua+} z+ zk4#dQMvz@jyJx9kLo?!^=d2J z0d&Z*)SQ&DFP97AEVey2w^a3-$Pp1Alf#sSSMy#`NndZu)_%0=_FGr8G5LDG>EPKK zcjX|>i*3L7YAa+xjjicDwM>J#c3pOC_xJiQ+cot z=F-$dCHpsen4M%czsH(hLu*L4KHNcT3*iWYGaF&ae~ll*#5z4b#e z8f(NT7c?elZH-P{8VWaT48^BRyZLq)_G8**4oyTG+flaXV#UH z`5B-72b0xeK9e$W&zE^4cpt$&wfKSR8V|RzG(yB_7;D7S8D2V+HJbX+#5|z zhr0=x*JR(xIU(fgvV(^%zx0ulptDt={t%lkM6gpy2h}>PMNzSYYAWE)uO-YuPI290 zVC^z??;c@Fjjhf}GiexZzCjXm?aTztgOd{V@YEM;uYXWF7gc`>{rEID2R( z^UM9>oOW?ZO*u8{N0d{eANb73`3xPyLL8Bh-5Z_^f>FJmlLRMK^AxL%ZJoN<;HnS=uQ5}ycq=ARXsFPTt zN<2$ZoPI7gcJH22X_BJf+WmSzvsM-4q0XD=u~CZT*6^i>-JVH3Gp>4pL1NYd7M$|a zB7|=UuP&fxVCLM`lwI?Th-BuQXJzH)3Mv&HN_>s5O1Csr?s0)9QrNkq`!-7h1#>Qg z_|cL7)k3cqs)~0)=u%6|g7Ga8T_BC(bGJW?vB9or`0DEU93;2d&7@l%Z@QpVGmhpr zv=F`h1)S&k+qG51rpes>ZrQd0zPP26wRX8a0V%5JDpIMks^!WXAWo1RT#8gl~;4UcMf@V&@!$AqRbl3{J zWrP(3^-~~++s*v=z^)SSGVz*V+;hhOr2weOevdLQXfbNzx3ehHSp_T3>Kz8+wQb(Thu1Q*L7W+{AXFy!954WYv0-=5XK0rP%}j+Q!D0VMn&51R$* z4h!9dUR$|R$LryVvpCz}X5r!S0&G%DN>4*$bF){~{rKt(P{7NrhOha3$<2LQW}$g* zpY*C2SoT&veEbRZETGwTVhK-yL-3gdoZeQ=-v0L`ZGAO0wMhehkKMH~1PsXUj(cBP z7y*X@K@2@ow%quZsup{MaW89uq_*jrC6u|WPfZ{lrg?$P#-=ZPEXInfqW&e){qJer z|3#n9IuX3yoF@iSMu*sP-uNN~V7xi$>5Zl(TlQ)|k^|1}zP*xNP!NT>0=VB8a09p6 zR}(mq+lOiDq`CaGm;IlDM5R0a+WAq(iVo7n-X;%4N}7r#-@z&=;^QWe%Q z2Rk9g$O0Q|;BX+7mzTTISP8`;(Z}5Z)N(*%(^o-MV;@Z58+V4cDBNMNmij}EU>#7}!+XVO-Lft#DVh7&X%G|k#Oy_y?V zgO33wvCn_UOd*HR0C1l!Gs z0t6?n-L#|(m<DDPrsR)7?A>cFm7i<2486?F+INBXz8P z{Dfl?Y+Q_Z`!UBfB9(o!)vaPibUl0HFRO}tY_?`dq@z_auF-Eo&ekV6PQ;(>igTnC zsq7seUj++#%bLJTx?Uq>_xfh)2xmacJDWs?vAvG zFGaRFUif>da*C+1GxxluCl=Tkc}Umw^G3$1TdSb1te>Ub>~U7xd`#Gj&osJA2)Pzk zN2#ciRZ>PJ<*h#m6KmWM8ga+Jf6lWHh8TO7x*HB2YVSQpw3I$nzOz=E5L0Z15hFN{ z%6d-%NiJlym1T@>?HBdORV}2lSIMx6CRLb86f6Vkw(vEeRULeZ;e1VQ|F2KCfGX#f za_dM2R7-}fj@zML`~b>$=vPK7HtGqO8Kk^CtgNio;xwt*K%6@!FrlMwH+6^@_V{kR z9v=;&SPj-9b^uuZXmHlPV$3GGb=F`_k~$2uac;5!&{CDy(%_{fJ!yKI z=KjsU<9K7D{wuU(o@Wd(SaN$YJIm{LM3SS6BdCMT?u@bf>FB9-r#YMx9=$s5p`ND$ zl8M`&=RmoPv|5XIq|`hDi(gpvTM0%!=CRRkP=G1(Bp=#)=9dANSX2bxlYo%}^iAl_ zWCGy$9?@NoLl}O~cS$K1AHz&ISNx?pXp6sMuQ>|0r5`t+7cD;`F_Ah9UrWR$9}$a? zh&d()Hkbl%1I0E*|@<-|XSm>MyL>zu8j_qUJ|JhU%2^a-klB)Bp4gkF6T9u`5)9 z-dWj;;QlwFZ=L+^J0U|)8Llo=sW9=r<0s=^@8m$WXMyRpjM(u-2?*pI*`hH{i5p|J zePE`wcLRj9Fq0HVA`o_cR_(YVdAgqkIf7dU-3BYmNxeI1EBj}rG~t<<8QDtWKhp{a zkcfgZ)wMBj0W@~7jDfT?Q#FYR^yok+6hXZ;8Qa>~DYY}|up?IqiZrsI2xl*m#sP|~ zst+HI3Yk7kKLAA`(9bked9;nx)ZF5d{mW(rK+^C0ez><0%!&je;I+Uy7PYqO9WpwB zA0<|IVsNhTW19ft^MJ+n$M5xY#hr2YLQE{E_oJz9$mW3Jx9sBy)$G#JQsDGefiKIy zjY*73n<*?UH`KJ-irVhY79P&>E`?*?y-VfrK3X=ymFun`V12Zb zy1K*Tr1Wphy+LyJ-f}CG^tH3ud`H5V#0vpuiO=rVC_HD$%g-0BRo(1C2D8dE0y3*B z))v^~BNkYiFU9tc&c{Sw5JlA6(kzk0xxZn}>9=@KnZsiD2%4|-518;ImocdIa-r~}DEmkh3r=>P2dKgUv(UOmJHtTe#4 PArM7571;vmXK(%oYRQsf diff --git a/man/figures/README-ideogram_coverage_2-1.png b/man/figures/README-ideogram_coverage_2-1.png index bc4157c611915d581e6d1183386d00df96605d10..658678a739273bf35632a3396330179ded4071f4 100644 GIT binary patch delta 14243 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 delta 14186 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 literal 16602 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 diff --git a/vignettes/ggcoverage.Rmd b/vignettes/ggcoverage.Rmd index c51819f..0fc5c41 100644 --- a/vignettes/ggcoverage.Rmd +++ b/vignettes/ggcoverage.Rmd @@ -11,7 +11,7 @@ author: date: "`r BiocStyle::doc_date()`" package: "`r BiocStyle::pkg_ver('ggcoverage')`" abstract: > - The goal of `ggcoverage` is to simplify the process of visualizing omics coverage. It contains functions to load data from BAM, BigWig, BedGraph, txt/xlsx files, create genome/protein coverage plot, add various annotation to the coverage plot, including base and amino acid annotation, GC annotation, CNV annotation, gene annotation, transcript annotation, ideogram annotation, peak annotation, HiC contact map, contact link annotation and peotein feature annotation. + 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`. output: BiocStyle::html_document: toc_depth: 4 @@ -39,7 +39,9 @@ knitr::opts_chunk$set( ## Introduction -The goal of `ggcoverage` is simplify the process of visualizing omics coverage. It contains three main parts: +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`. + +It contains three main parts: * **Load the data**: `ggcoverage` can load BAM, BigWig (.bw), BedGraph, txt/xlsx files from various omics data, including WGS, RNA-seq, ChIP-seq, ATAC-seq, proteomics, et al. * **Create omics coverage plot** @@ -55,12 +57,9 @@ The goal of `ggcoverage` is simplify the process of visualizing omics coverage. * **link annotation**: Visualize genome coverage with contacts * **protein feature annotation**: Visualize protein coverage with features -`ggcoverage` utilizes `ggplot2` plotting system, so its usage is **ggplot2-style**! - - ## Installation -`ggcoverage` is an R package distributed as part of the [CRAN](https://cran.r-project.org/). +`ggcoverage` is an R package distributed as part of the [CRAN repository](https://cran.r-project.org/). To install the package, start R and enter one of the following commands: ```{r install, eval = FALSE} @@ -72,9 +71,9 @@ install.package("remotes") remotes::install_github("showteeth/ggcoverage") ``` -In general, it is **recommended** to install from [Github repository](https://github.com/showteeth/ggcoverage) (update more timely). +In general, it is **recommended** to install from the [Github repository](https://github.com/showteeth/ggcoverage) (updated more regularly). -Once `ggcoverage` is installed, it can be loaded as every other package: +Once `ggcoverage` is installed, it can be loaded like every other package: ```{r library, message = FALSE, warning = FALSE} library("ggcoverage") @@ -85,14 +84,14 @@ library("ggcoverage") `ggcoverage` provides two [vignettes](https://showteeth.github.io/ggcoverage/): * **detailed manual**: step-by-step usage -* **customize the plot**: customize the plot and add additional layer +* **customize the plot**: customize the plot and add additional layers ## RNA-seq data ### Load the data -The RNA-seq data used here are from [Transcription profiling by high throughput sequencing of HNRNPC knockdown and control HeLa cells](https://bioconductor.org/packages/release/data/experiment/html/RNAseqData.HNRNPC.bam.chr14.html), we select four sample to use as example: ERR127307_chr14, ERR127306_chr14, ERR127303_chr14, ERR127302_chr14, and all bam files are converted to bigwig file with [deeptools](https://deeptools.readthedocs.io/en/develop/). +The RNA-seq data used here is from [Transcription profiling by high throughput sequencing of HNRNPC knockdown and control HeLa cells](https://bioconductor.org/packages/release/data/experiment/html/RNAseqData.HNRNPC.bam.chr14.html). We select four samples to use as example: `ERR127307_chr14`, `ERR127306_chr14`, `ERR127303_chr14`, `ERR127302_chr14`, and all bam files were converted to bigwig files with [deeptools](https://deeptools.readthedocs.io/en/develop/). Load metadata: @@ -136,7 +135,7 @@ mark_region ### Load GTF -To add **gene annotation**, the gtf file should contain **gene_type** and **gene_name** attributes in **column 9**; to add **transcript annotation**, the gtf file should contain **transcript_name** attribute in **column 9**. +To add **gene annotation**, the gtf file should contain **gene_type** and **gene_name** attributes in **column 9**; to add **transcript annotation**, the gtf file should contain a **transcript_name** attribute in **column 9**. ```{r load_gtf} gtf_file <- @@ -241,14 +240,14 @@ basic_coverage + ### Add transcript annotation -**In "loose" stype (default style; each transcript occupies one line)**: +**In "loose" style (default style; each transcript occupies one line)**: ```{r transcript_coverage, warning = FALSE, fig.height = 12, fig.width = 12, fig.align = "center"} basic_coverage + geom_transcript(gtf.gr = gtf_gr, label.vjust = 1.5) ``` -**In "tight" style (place non-overlap transcripts in one line)**: +**In "tight" style (attempted to place non-overlapping transcripts in one line)**: ```{r transcript_coverage_tight, warning = FALSE, fig.height = 12, fig.width = 12, fig.align = "center"} basic_coverage + @@ -465,9 +464,9 @@ head(track_df) #### Default color scheme -For base and amino acid annotation, we have following default color schemes, you can change with `nuc.color` and `aa.color` parameters. +For base and amino acid annotation, the package comes with the following default color schemes. Color schemes can be changed with `nuc.color` and `aa.color` parameters. -Default color scheme for base annotation is `Clustal-style`, more popular color schemes is available [here](https://www.biostars.org/p/171056/). +THe default color scheme for base annotation is `Clustal-style`, more popular color schemes are available [here](https://www.biostars.org/p/171056/). ```{r base_color_scheme, warning = FALSE, fig.height = 2, fig.width = 6, fig.align = "center"} # color scheme @@ -615,7 +614,7 @@ knitr::include_graphics("../man/figures/README-base_aa_coverage_highlight-1.png" ## ChIP-seq data -The ChIP-seq data used here are from [DiffBind](https://bioconductor.org/packages/release/bioc/html/DiffBind.html), I select four sample to use as example: Chr18_MCF7_input, Chr18_MCF7_ER_1, Chr18_MCF7_ER_3, Chr18_MCF7_ER_2, and all bam files are converted to bigwig file with [deeptools](https://deeptools.readthedocs.io/en/develop/). +The ChIP-seq data used here is from [DiffBind](https://bioconductor.org/packages/release/bioc/html/DiffBind.html). Four samples are selected as examples: `Chr18_MCF7_input`, `Chr18_MCF7_ER_1`, `Chr18_MCF7_ER_3`, `Chr18_MCF7_ER_2`, and all bam files were converted to bigwig files with [deeptools](https://deeptools.readthedocs.io/en/develop/). Create metadata: @@ -706,7 +705,7 @@ The Hi-C method maps chromosome contacts in eukaryotic cells. For this purpose, DNA and protein complexes are cross-linked and DNA fragments then purified. As a result, even distant chromatin fragments can be found to interact due to the spatial organization of the DNA and histones in the cell. Hi-C data shows these interactions for example as a contact map. -The Hi-C data are from [pyGenomeTracks: reproducible plots for multivariate genomic datasets](https://academic.oup.com/bioinformatics/article/37/3/422/5879987?login=false). +The Hi-C data is taken from [pyGenomeTracks: reproducible plots for multivariate genomic datasets](https://academic.oup.com/bioinformatics/article/37/3/422/5879987?login=false). The Hi-C matrix visualization is implemented by [`HiCBricks`](https://github.com/koustav-pal/HiCBricks). This package needs to be installed separately (it is only 'Suggested' by `ggcoverage`). @@ -816,7 +815,7 @@ knitr::include_graphics("../man/figures/README-hic_coverage-1.png") ## Mass spectrometry protein coverage -[Mass spectrometry (MS) is an important method for the accurate mass determination and characterization of proteins, and a variety of methods and instrumentations have been developed for its many uses](https://en.wikipedia.org/wiki/Protein_mass_spectrometry). After MS, we can check the coverage of protein to check the quality of the data and find the reason why the segment did not appear and improve the experiment. +[Mass spectrometry](https://en.wikipedia.org/wiki/Protein_mass_spectrometry) (MS) is an important method for the accurate mass determination and characterization of proteins, and a variety of methods and instruments have been developed for its many uses. With `ggcoverage`, we can easily inspect the peptide coverage of a protein in order to learn about the quality of the data. ### Load coverage @@ -855,7 +854,7 @@ protein_set ```{r basic_coverage_protein, eval = FALSE} protein_coverage <- ggprotein( - coverage.file = coverage_file, + coverage.df = coverage_df, fasta.file = fasta_file, protein.id = "sp|P02769|ALBU_BOVIN", range.position = "out" @@ -870,7 +869,7 @@ knitr::include_graphics("../man/figures/README-basic_coverage_protein-1.png") ### Add annotation -We can obtain features of the protein from [UniProt](https://www.uniprot.org/). For example, the above protein coverage plot shows that there is empty region in 1-24, and this empty region in [UniProt](https://www.uniprot.org/uniprotkb/P02769/entry) is annotated as Signal peptide and Propeptide peptide. When the protein is mature and released extracellular, these peptides will be cleaved. This is the reason why there is empty region in 1-24. +We can obtain features of the protein from [UniProt](https://www.uniprot.org/). For example, the above protein coverage plot shows that there is an empty region in 1-24, and this empty region in [UniProt](https://www.uniprot.org/uniprotkb/P02769/entry) is annotated as Signal peptide and Propeptide peptide. When the protein is mature and released extracellular, these peptides will be cleaved. This is the reason why there is empty region in 1-24. ```{r basic_coverage_protein_feature, eval = FALSE} # protein feature obtained from UniProt @@ -900,6 +899,7 @@ Please note that the `ggcoverage` project is released with a [Contributor Code o --------------------- ## Session info + ```{r session} sessionInfo() ```