Git Product home page Git Product logo

ggcoverage's People

Contributors

m-jahn avatar olivroy avatar showteeth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ggcoverage's Issues

inconstistent behavior with colors for `geom_coverage`

Hi,

I noticed some problem with the color flag in geom_coverage.
The documentation is a little sparse on what arguments exactly it takes, so I needed to try a lot to find out. I used the example from the docs page, and this is what I noticed.

Loading example data:

library(ggcoverage)
meta.file <- system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage")
sample.meta <- utils::read.csv(meta.file)

track.folder <- system.file("extdata", "RNA-seq", package = "ggcoverage")

track.df <- LoadTrackFile(
  track.folder = track.folder, format = "bw",
  meta.info = sample.meta
)
  1. example color = "auto" has no effect, like any other string. This produces a warning.
ggplot() +
  geom_coverage(data = track.df, color = "auto")
  1. supplying two colors for two groups does not have desired effect. I would think that you could subdivide the data by facets/tracks, and use same or different colors for those, but that doesn't work. Falls back to some default scheme
ggplot() +
  geom_coverage(data = track.df, color = c("#E7298A", "#66A61E"))
  1. supplying more colors than needed also does not have desired effect, again another palette is used
ggplot() +
  geom_coverage(data = track.df, color = c("#E7298A", "#66A61E", "#E6AB02"))

Suggestion for fixes:

  • remove "auto" from examples, replace with NULL
  • check that supplied colors are in fact valid
  • make number of colors match number of groups ("Group" variable), not tracks ("Type" variable)
  • allow supplying more colors than needed for groups, but not less --> raise warning

I implemented those fixes in a commit on my fork. I can make a PR if you like. You can test it here:
https://github.com/m-jahn/ggcoverage

  • this will work as expected now, with tracks and groups being handled separately
ggplot() +
  geom_coverage(data = track.df, color = c("#E7298A", "#66A61E"))

image

  • if you want different colors for each track, just use the same variable for tracks and groups
ggplot() +
  geom_coverage(
    data = track.df,
    group.key = "Type", facet.key = "Type",
    color = c("#E7298A", "#66A61E", "#E6AB02", "#7570B3")
  )

image

  • supplying too few colors raises a warning and falls back to a default scale
ggplot() +
  geom_coverage(
    data = track.df,
    group.key = "Type",
    color = c("#E7298A", "#66A61E", "#E6AB02")
  )
  • supplying more colors is not a problem
ggplot() +
  geom_coverage(
    data = track.df,
    color = heat.colors(4)
  )
  • supplying invalid colors raises an error
ggplot() +
  geom_coverage(data = track.df, color = c("red", "notacolor"))

Load arabidopsis annotation

I am trying to load the Arabidopsis annotation of https://www.arabidopsis.org/download_files/Genes/TAIR10_genome_release/TAIR10_gff3/TAIR10_GFF3_genes_transposons.gff

I have converted the file to GTF with AGAT and changed the feature names "Name" to "gene_name" and "Note" to "gene_type"

Resulting in a file structured like so:

##gtf-version 3
ChrM TAIR10 gene 273 734 . - . gene_id "ATMG00010"; ID "ATMG00010"; gene_name "ATMG00010"; gene_type "protein_coding_gene";
ChrM TAIR10 transcript 273 734 . - . gene_id "ATMG00010"; transcript_name "ATMG00010.1"; ID "ATMG00010.1"; level "1"; gene_name "ATMG00010.1"; Parent "ATMG00010"; original_biotype "mrna";
ChrM TAIR10 exon 273 734 . - . gene_id "ATMG00010"; transcript_name "ATMG00010.1"; ID "exon-215746"; Parent "ATMG00010.1";
ChrM TAIR10 CDS 273 734 . - 0 gene_id "ATMG00010"; transcript_name "ATMG00010.1"; ID "cds-197021"; Parent "ATMG00010.1";
ChrM TAIR10 gene 273 734 . - . gene_id "nbis-gene-35265"; ID "nbis-gene-35265";
ChrM TAIR10 transcript 273 734 . - . gene_id "nbis-gene-35265"; transcript_name "ATMG00010.1-Protein"; ID "ATMG00010.1-Protein"; Parent "nbis-gene-35265"; original_biotype "mrna";
ChrM TAIR10 exon 273 734 . - . gene_id "nbis-gene-35265"; transcript_name "ATMG00010.1-Protein"; ID "nbis-exon-197021"; Parent "ATMG00010.1-Protein";
ChrM TAIR10 CDS 273 734 . - 0 gene_id "nbis-gene-35265"; transcript_name "ATMG00010.1-Protein"; ID "cds-197021"; Parent "ATMG00010.1-Protein";
ChrM TAIR10 gene 8848 11415 . - . gene_id "ATMG00020"; ID "ATMG00020"; gene_name "ATMG00020"; gene_type "rRNA";
ChrM TAIR10 transcript 8848 11415 . - . gene_id "ATMG00020"; transcript_name "ATMG00020.1"; ID "ATMG00020.1"; level "1"; gene_name "ATMG00020.1"; Parent "ATMG00020"; original_biotype "rrna";
ChrM TAIR10 exon 8848 11415 . - . gene_id "ATMG00020"; transcript_name "ATMG00020.1"; ID "exon-215747"; Parent "ATMG00020.1";
ChrM TAIR10 gene 11918 12241 . + . gene_id "ATMG00030"; ID "ATMG00030"; gene_name "ATMG00030"; gene_type "protein_coding_gene";
ChrM TAIR10 transcript 11918 12241 . + . gene_id "ATMG00030"; transcript_name "ATMG00030.1"; ID "ATMG00030.1"; level "1"; gene_name "ATMG00030.1"; Parent "ATMG00030"; original_biotype "mrna";
ChrM TAIR10 exon 11918 12241 . + . gene_id "ATMG00030"; transcript_name "ATMG00030.1"; ID "exon-215748"; Parent "ATMG00030.1";
ChrM TAIR10 CDS 11918 12241 . + 0 gene_id "ATMG00030"; transcript_name "ATMG00030.1"; ID "cds-197022"; Parent "ATMG00030.1";
ChrM TAIR10 gene 11918 12241 . + . gene_id "nbis-gene-35266"; ID "nbis-gene-35266";

While plotting I encounter the following error though.

Error in geom_segment():
! Problem while computing aesthetics.
ℹ Error occurred in the 2nd layer.
Caused by error:
! object 'group' not found
Run rlang::last_trace() to see where the error occurred.

Could you please explain me what is going wrong?

No output with geom.base()

Hi

I am trying to get ggcoverage up and running, looking single nucleotide level.
I have installed the package and required dependencies without problems.

I will use the code in the vignette as my example.

The following works:

library("rtracklayer")`
library("ggcoverage")
library("ggpattern")
library("BSgenome.Hsapiens.UCSC.hg19")
sample.meta <- data.frame(
  SampleName = c("tumorA.chr4.selected"),
  Type = c("tumorA"),
  Group = c("tumorA")
)
bam.file = system.file("extdata", "DNA-seq", "tumorA.chr4.selected.bam", package = "ggcoverage")
track.df <- LoadTrackFile(
  track.file = bam.file,
  meta.info = sample.meta,
  single.nuc=TRUE, single.nuc.region="chr4:62474235-62474295"
)
head(track.df)

Running the following also works as expected:

ggcoverage(data = track.df, color = "grey", range.position = "out", 
           single.nuc=T, rect.color = "white")

Adding an ideogram also works:

ggcoverage(data = track.df, color = "grey", range.position = "out", 
           single.nuc=T, rect.color = "white") +
  geom_ideogram(genome = "hg19",plot.space = 0)

However, running the following code results in no plot output, and no errors or warnings are generated:

ggcoverage(data = track.df, color = "grey", range.position = "out", 
           single.nuc=T, rect.color = "white") +
  geom_base(bam.file = bam.file,
            bs.fa.seq = BSgenome.Hsapiens.UCSC.hg19,
            mark.type = "twill") +
  geom_ideogram(genome = "hg19",plot.space = 0)

At this stage, I'm not sure where to find the problem.

My setup:

RStudio / R (ver 4.2.2) running in Docker based on an Ubuntu container.

> sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] BSgenome.Hsapiens.UCSC.hg19_1.4.3 BSgenome_1.66.3                   Biostrings_2.66.0                
 [4] XVector_0.38.0                    ggcoverage_1.2.0                  rtracklayer_1.58.0               
 [7] GenomicRanges_1.50.2              GenomeInfoDb_1.34.9               IRanges_2.32.0                   
[10] S4Vectors_0.36.2                  BiocGenerics_0.44.0               ggpattern_1.0.1                  

loaded via a namespace (and not attached):
  [1] backports_1.4.1             Hmisc_5.1-0                 GenomeMatrix_0.99.3        
  [4] BiocFileCache_2.6.1         plyr_1.8.8                  lazyeval_0.2.2             
  [7] BiocParallel_1.32.6         ggplot2_3.4.3               digest_0.6.33              
 [10] ensembldb_2.22.0            htmltools_0.5.6             viridis_0.6.4              
 [13] fansi_1.0.4                 magrittr_2.0.3              checkmate_2.2.0            
 [16] memoise_2.0.1               cluster_2.1.4               openxlsx_4.2.5.2           
 [19] tzdb_0.4.0                  readr_2.1.4                 matrixStats_1.0.0          
 [22] R.utils_2.12.2              ggbio_1.46.0                prettyunits_1.1.1          
 [25] ggh4x_0.2.5                 colorspace_2.1-0            ggrepel_0.9.3              
 [28] blob_1.2.4                  rappdirs_0.3.3              xfun_0.40                  
 [31] dplyr_1.1.2                 crayon_1.5.2                RCurl_1.98-1.12            
 [34] jsonlite_1.8.7              graph_1.76.0                VariantAnnotation_1.44.1   
 [37] glue_1.6.2                  polyclip_1.10-4             gtable_0.3.4               
 [40] zlibbioc_1.44.0             seqinr_4.2-30               DelayedArray_0.24.0        
 [43] Rhdf5lib_1.20.0             scales_1.2.1                DBI_1.1.3                  
 [46] GGally_2.1.2                Rcpp_1.0.11                 viridisLite_0.4.2          
 [49] progress_1.2.2              htmlTable_2.4.1             units_0.8-3                
 [52] proxy_0.4-27                foreign_0.8-83              bit_4.0.5                  
 [55] OrganismDbi_1.40.0          Formula_1.2-5               htmlwidgets_1.6.2          
 [58] httr_1.4.7                  RColorBrewer_1.1-3          pkgconfig_2.0.3            
 [61] reshape_0.8.9               XML_3.99-0.14               R.methodsS3_1.8.2          
 [64] farver_2.1.1                nnet_7.3-18                 dbplyr_2.3.3               
 [67] utf8_1.2.3                  labeling_0.4.3              polynom_1.4-1              
 [70] tidyselect_1.2.0            rlang_1.1.1                 reshape2_1.4.4             
 [73] AnnotationDbi_1.60.2        munsell_0.5.0               tools_4.2.2                
 [76] cachem_1.0.8                cli_3.6.1                   generics_0.1.3             
 [79] RSQLite_2.3.1               ade4_1.7-22                 evaluate_0.21              
 [82] stringr_1.5.0               fastmap_1.1.1               yaml_2.3.7                 
 [85] ggpp_0.5.4                  knitr_1.43                  bit64_4.0.5                
 [88] zip_2.3.0                   KEGGREST_1.38.0             AnnotationFilter_1.22.0    
 [91] RBGL_1.74.0                 R.oo_1.25.0                 xml2_1.3.5                 
 [94] gridpattern_1.0.2           biomaRt_2.54.1              HiCBricks_1.16.0           
 [97] compiler_4.2.2              rstudioapi_0.15.0           filelock_1.0.2             
[100] curl_5.0.2                  png_0.1-8                   e1071_1.7-13               
[103] tibble_3.2.1                tweenr_2.0.2                stringi_1.7.12             
[106] GenomicFeatures_1.50.4      lattice_0.20-45             ProtGenerics_1.30.0        
[109] Matrix_1.5-1                classInt_0.4-9              vctrs_0.6.3                
[112] pillar_1.9.0                lifecycle_1.0.3             rhdf5filters_1.10.1        
[115] BiocManager_1.30.22         data.table_1.14.8           bitops_1.0-7               
[118] patchwork_1.1.3             R6_2.5.1                    BiocIO_1.8.0               
[121] KernSmooth_2.23-20          gridExtra_2.3               codetools_0.2-18           
[124] dichromat_2.0-0.1           MASS_7.3-58.1               rhdf5_2.42.1               
[127] SummarizedExperiment_1.28.0 rjson_0.2.21                withr_2.5.0                
[130] GenomicAlignments_1.34.1    Rsamtools_2.14.0            GenomeInfoDbData_1.2.9     
[133] parallel_4.2.2              hms_1.1.3                   grid_4.2.2                 
[136] rpart_4.1.19                class_7.3-20                rmarkdown_2.24             
[139] MatrixGenerics_1.10.0       biovizBase_1.46.0           ggforce_0.4.1              
[142] Biobase_2.58.0              base64enc_0.1-3             restfulr_0.0.15  

Your help would be greatly appreciated.

Cheers,

Armin

R CMD CHECK gives 3 warnings and 5 notes, could be fixed for BioC submission

This is current R CMD CHECK result when the main errors are fixed (see latest open PR):

==> devtools::check()

══ Documenting ════════════════════════════════════════════
ℹ Updating ggcoverage documentation
Registered S3 method overwritten by 'GGally':
  method from   
  +.gg   ggplot2
Registered S3 methods overwritten by 'ggpp':
  method                  from   
  heightDetails.titleGrob ggplot2
  widthDetails.titleGrob  ggplot2
ℹ Loading ggcoverage
Warning: replacing previous import 'ggplot2::annotate' by 'ggpp::annotate' when loading 'ggcoverage'

══ Building ═══════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ────────────────────────────────────────────
✔  checking for file ‘/media/michael/data/Scilifelab/Resources/R_projects/ggcoverage/DESCRIPTION’ ...
─  preparing ‘ggcoverage’:
✔  checking DESCRIPTION meta-information ...
─  installing the package to build vignettes
✔  creating vignettes (33.7s)
─  checking for LF line-endings in source and make files and shell scripts
─  checking for empty or unneeded directories
─  building ‘ggcoverage_1.2.0.tar.gz’
   
══ Checking ═══════════════════════════════════════════════
Setting env vars:
• _R_CHECK_CRAN_INCOMING_USE_ASPELL_           : TRUE
• _R_CHECK_CRAN_INCOMING_REMOTE_               : FALSE
• _R_CHECK_CRAN_INCOMING_                      : FALSE
• _R_CHECK_FORCE_SUGGESTS_                     : FALSE
• _R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_: FALSE
• NOT_CRAN                                     : true
── R CMD check ────────────────────────────────────────────
─  using log directory ‘/media/michael/data/Scilifelab/Resources/R_projects/ggcoverage.Rcheck’
─  using R version 4.3.2 (2023-10-31)
─  using platform: x86_64-pc-linux-gnu (64-bit)
─  R was compiled by
       gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
       GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
─  running under: Ubuntu 22.04.3 LTS
─  using session charset: UTF-8
─  using options ‘--no-manual --as-cran’ (722ms)
✔  checking for file ‘ggcoverage/DESCRIPTION’ ...
─  checking extension type ... Package
─  this is package ‘ggcoverage’ version ‘1.2.0’
─  package encoding: UTF-8
✔  checking package namespace information ...
N  checking package dependencies (1.5s)
   Imports includes 28 non-default packages.
   Importing from so many packages makes the package vulnerable to any of
   them becoming unavailable.  Move as many as possible to Suggests and
   use conditionally.
✔  checking if this is a source package ...
✔  checking if there is a namespace
✔  checking for executable files ...
✔  checking for hidden files and directories ...
✔  checking for portable file names ... OK
✔  checking for sufficient/correct file permissions
✔  checking serialization versions
─  checking whether package ‘ggcoverage’ can be installed ... [22s/22s] WARNING (22.2s)
   Found the following significant warnings:
     Warning: replacing previous import 'ggplot2::annotate' by 'ggpp::annotate' when loading 'ggcoverage'
   See ‘/media/michael/data/Scilifelab/Resources/R_projects/ggcoverage.Rcheck/00install.out’ for details.
N  checking installed package size ...
     installed size is 35.6Mb
     sub-directories of 1Mb or more:
       doc       5.8Mb
       extdata  28.6Mb
✔  checking package directory
✔  checking for future file timestamps ...
✔  checking ‘build’ directory ...
✔  checking DESCRIPTION meta-information ...
✔  checking top-level files
✔  checking for left-over files
✔  checking index information ...
✔  checking package subdirectories ...
✔  checking R files for non-ASCII characters ...
✔  checking R files for syntax errors ...
✔  checking whether the package can be loaded (6.9s)
✔  checking whether the package can be loaded with stated dependencies (6.7s)
✔  checking whether the package can be unloaded cleanly (6.8s)
✔  checking whether the namespace can be loaded with stated dependencies (6.8s)
✔  checking whether the namespace can be unloaded cleanly (7.2s)
✔  checking loading without being on the library search path (7.6s)
✔  checking startup messages can be suppressed (15.2s)
✔  checking dependencies in R code (8s)
✔  checking S3 generic/method consistency (7.1s)
✔  checking replacement functions (7s)
✔  checking foreign function calls (7s)
─  checking R code for possible problems ... [30s/30s] NOTE (30.4s)
   GetGeneGroupTight: no visible binding for global variable 'ID'
   ggplot_add.base: no visible binding for global variable 'Ref'
   ggplot_add.base: no visible binding for global variable 'Base'
   ggplot_add.base: no visible binding for global variable 'Total'
   ggplot_add.base: no visible binding for global variable 'Freq'
   ggplot_add.base: no visible binding for global variable 'Pos'
   Undefined global functions or variables:
     Base Freq ID Pos Ref Total
✔  checking Rd files ...
✔  checking Rd metadata ...
N  checking Rd line widths ...
   Rd file 'geom_feature.Rd':
     \examples lines wider than 100 characters:
        # coverage.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage")
        # fasta.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.fasta", package = "ggcoverage")
        # protein.coverage = ggprotein(coverage.file = coverage.file, fasta.file = fasta.file, protein.id = protein.id)
   
   Rd file 'geom_protein.Rd':
     \examples lines wider than 100 characters:
        coverage.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage")
   
   Rd file 'ggprotein.Rd':
     \examples lines wider than 100 characters:
        # coverage.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage")
        # fasta.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.fasta", package = "ggcoverage")
   
   These lines will be truncated in the PDF manual.
✔  checking Rd cross-references ...
✔  checking for missing documentation entries (7s)
✔  checking for code/documentation mismatches (22.3s)
W  checking Rd \usage sections ...
   Undocumented arguments in documentation object 'ggprotein'
     ‘plot.space’
   
   Functions with \usage entries need to have the appropriate \alias
   entries, and all their arguments documented.
   The \usage entries must correspond to syntactically valid R code.
   See chapter ‘Writing R documentation files’ in the ‘Writing R
   Extensions’ manual.
✔  checking Rd contents (7.5s)
✔  checking for unstated dependencies in examples ...
    WARNING
   ‘qpdf’ is needed for checks on size reduction of PDFs
✔  checking installed files from ‘inst/doc’ ...
N  checking files in ‘vignettes’ ...
   Files named as vignettes but with no recognized vignette engine:
      ‘vignettes/CustomizeThePlot.Rmd’
      ‘vignettes/TimeAndMemory.Rmd’
   (Is a VignetteBuilder field missing?)
─  checking examples ... [31s/31s] OK (30.7s)
   Examples with CPU (user + system) or elapsed time > 5s
             user system elapsed
   geom_tad 11.33  0.191   11.54
✔  checking for unstated dependencies in vignettes ...
✔  checking package vignettes in ‘inst/doc’ ...
─  checking re-building of vignette outputs ... [11s/11s] OK (11s)
✔  checking for non-standard things in the check directory ...
✔  checking for detritus in the temp directory
   
   See
     ‘/media/michael/data/Scilifelab/Resources/R_projects/ggcoverage.Rcheck/00check.log’
   for details.
   
   
── R CMD check results ────────────── ggcoverage 1.2.0 ────
Duration: 3m 42.3s

❯ checking whether package ‘ggcoverage’ can be installed ... [22s/22s] WARNING
  See below...

❯ checking Rd \usage sections ... WARNING
  Undocumented arguments in documentation object 'ggprotein'
    ‘plot.space’
  
  Functions with \usage entries need to have the appropriate \alias
  entries, and all their arguments documented.
  The \usage entries must correspond to syntactically valid R code.
  See chapter ‘Writing R documentation files’ in the ‘Writing R
  Extensions’ manual.

❯ checking for unstated dependencies in examples ... OK
   WARNING
  ‘qpdf’ is needed for checks on size reduction of PDFs

❯ checking package dependencies ... NOTE
  Imports includes 28 non-default packages.
  Importing from so many packages makes the package vulnerable to any of
  them becoming unavailable.  Move as many as possible to Suggests and
  use conditionally.

❯ checking installed package size ... NOTE
    installed size is 35.6Mb
    sub-directories of 1Mb or more:
      doc       5.8Mb
      extdata  28.6Mb

❯ checking R code for possible problems ... [30s/30s] NOTE
  GetGeneGroupTight: no visible binding for global variable 'ID'
  ggplot_add.base: no visible binding for global variable 'Ref'
  ggplot_add.base: no visible binding for global variable 'Base'
  ggplot_add.base: no visible binding for global variable 'Total'
  ggplot_add.base: no visible binding for global variable 'Freq'
  ggplot_add.base: no visible binding for global variable 'Pos'
  Undefined global functions or variables:
    Base Freq ID Pos Ref Total

❯ checking Rd line widths ... NOTE
  Rd file 'geom_feature.Rd':
    \examples lines wider than 100 characters:
       # coverage.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage")
       # fasta.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.fasta", package = "ggcoverage")
       # protein.coverage = ggprotein(coverage.file = coverage.file, fasta.file = fasta.file, protein.id = protein.id)
  
  Rd file 'geom_protein.Rd':
    \examples lines wider than 100 characters:
       coverage.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage")
  
  Rd file 'ggprotein.Rd':
    \examples lines wider than 100 characters:
       # coverage.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.xlsx", package = "ggcoverage")
       # fasta.file <- system.file("extdata", "Proteomics", "MS_BSA_coverage.fasta", package = "ggcoverage")
  
  These lines will be truncated in the PDF manual.

❯ checking files in ‘vignettes’ ... NOTE
  Files named as vignettes but with no recognized vignette engine:
     ‘vignettes/CustomizeThePlot.Rmd’
     ‘vignettes/TimeAndMemory.Rmd’
  (Is a VignetteBuilder field missing?)

0 errors ✔ | 3 warnings ✖ | 5 notes ✖
Error: R CMD check found WARNINGs
Execution halted

Exited with status 1.

If these were fixed, package could be put on Bioconductor.
This is just a point for discussion. If the main author does not consider this, the case can be closed.

Unable to install ggcoverage package on MacOS 14.4.1

Hi,

I am looking to try your software. However, I am unable to install it on RStudio (RStudio-2024.04.1-748) or R (R-4.4.0-x86_64). I am working on MacOS 14.4.1.

install.packages("ggcoverage")
Warning in install.packages :
package ‘ggcoverage’ is not available for this version of R

A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages

Please, can you provide assistance?

Best,
Sébastien

Overlapping labels

Hi,

I've just tried your package and like the idea, but I'm running into an issue with overlapping gene names.
I'm trying to visualise copy number changes over medium-sized regions (say a Mb or two), and the gene names are ending up running into each other. Is it possible to make the genes go onto different lines when this happens, as happens when the genes are physically overlapping?

Here is an example, where OXCT2 and BMP8B physically overlap, so they are placed on separate lines. But HEYL, NT5C1A and HPCAL4 don't physically overlap, it is just the label that does.

library(plyranges)
library(tidyverse)
library(ggcoverage)
#> Registered S3 method overwritten by 'GGally':
#>   method from   
#>   +.gg   ggplot2
#> Warning: replacing previous import 'ggplot2::annotate' by 'ggpp::annotate' when
#> loading 'ggcoverage'

my.track.data <- data.frame(seqnames = "chr1", start = 39500000, end = 40000000, 
                            score = 1, Type = "Sample1")

my.gtf.gr <- tribble(~seqnames,~start,~end, ~strand, ~gene_name,
                     "chr1",39623435,39639643,"+","HEYL",
                     "chr1",39659121,39672038,"-","NT5C1A",
                     "chr1",39678648,39691485,"+","HPCAL4",
                     "chr1",39692182,39763914,"+","PPIE",
                     "chr1",39757182,39788865,"-","BMP8B",
                     "chr1",39769523,39771348,"+","OXCT2") %>%
  mutate(gene_biotype = "protein_coding",type = "gene") %>%
  as_granges()

ggplot() +
  geom_coverage(data = my.track.data ) +
  geom_gene(my.gtf.gr) 
#> Warning in ggplot_add.gene(object, p, objectname): No UTR detected in provided
#> GTF!

Created on 2023-08-14 with reprex v2.0.2

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.2.3 (2023-03-15)
#>  os       macOS Big Sur ... 10.16
#>  system   x86_64, darwin17.0
#>  ui       X11
#>  language (EN)
#>  collate  en_US.UTF-8
#>  ctype    en_US.UTF-8
#>  tz       Europe/London
#>  date     2023-08-14
#>  pandoc   2.19.2 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package              * version   date (UTC) lib source
#>  ade4                   1.7-22    2023-02-06 [1] CRAN (R 4.2.0)
#>  AnnotationDbi          1.60.2    2023-03-10 [1] Bioconductor
#>  AnnotationFilter       1.22.0    2022-11-01 [1] Bioconductor
#>  backports              1.4.1     2021-12-13 [1] CRAN (R 4.2.0)
#>  base64enc              0.1-3     2015-07-28 [1] CRAN (R 4.2.0)
#>  Biobase                2.58.0    2022-11-01 [1] Bioconductor
#>  BiocFileCache          2.6.1     2023-02-17 [1] Bioconductor
#>  BiocGenerics         * 0.44.0    2022-11-01 [1] Bioconductor
#>  BiocIO                 1.8.0     2022-11-01 [1] Bioconductor
#>  BiocManager            1.30.20   2023-02-24 [1] CRAN (R 4.2.0)
#>  BiocParallel           1.32.6    2023-03-17 [1] Bioconductor
#>  biomaRt                2.54.1    2023-03-20 [1] Bioconductor
#>  Biostrings             2.66.0    2022-11-01 [1] Bioconductor
#>  biovizBase             1.46.0    2022-11-01 [1] Bioconductor
#>  bit                    4.0.5     2022-11-15 [1] CRAN (R 4.2.0)
#>  bit64                  4.0.5     2020-08-30 [1] CRAN (R 4.2.0)
#>  bitops                 1.0-7     2021-04-24 [1] CRAN (R 4.2.0)
#>  blob                   1.2.4     2023-03-17 [1] CRAN (R 4.2.0)
#>  BSgenome               1.66.3    2023-02-16 [1] Bioconductor
#>  cachem                 1.0.8     2023-05-01 [1] CRAN (R 4.2.0)
#>  checkmate              2.2.0     2023-04-27 [1] CRAN (R 4.2.0)
#>  cli                    3.6.1     2023-03-23 [1] CRAN (R 4.2.0)
#>  cluster                2.1.4     2022-08-22 [1] CRAN (R 4.2.3)
#>  codetools              0.2-19    2023-02-01 [1] CRAN (R 4.2.3)
#>  colorspace             2.1-0     2023-01-23 [1] CRAN (R 4.2.0)
#>  crayon                 1.5.2     2022-09-29 [1] CRAN (R 4.2.0)
#>  curl                   5.0.0     2023-01-12 [1] CRAN (R 4.2.0)
#>  data.table             1.14.8    2023-02-17 [1] CRAN (R 4.2.0)
#>  DBI                    1.1.3     2022-06-18 [1] CRAN (R 4.2.0)
#>  dbplyr                 2.3.2     2023-03-21 [1] CRAN (R 4.2.0)
#>  DelayedArray           0.24.0    2022-11-01 [1] Bioconductor
#>  dichromat              2.0-0.1   2022-05-02 [1] CRAN (R 4.2.0)
#>  digest                 0.6.31    2022-12-11 [1] CRAN (R 4.2.0)
#>  dplyr                * 1.1.2     2023-04-20 [1] CRAN (R 4.2.0)
#>  ensembldb              2.22.0    2022-11-01 [1] Bioconductor
#>  evaluate               0.21      2023-05-05 [1] CRAN (R 4.2.0)
#>  fansi                  1.0.4     2023-01-22 [1] CRAN (R 4.2.0)
#>  farver                 2.1.1     2022-07-06 [1] CRAN (R 4.2.0)
#>  fastmap                1.1.1     2023-02-24 [1] CRAN (R 4.2.0)
#>  filelock               1.0.2     2018-10-05 [1] CRAN (R 4.2.0)
#>  forcats              * 1.0.0     2023-01-29 [1] CRAN (R 4.2.0)
#>  foreign                0.8-84    2022-12-06 [1] CRAN (R 4.2.3)
#>  Formula                1.2-5     2023-02-24 [1] CRAN (R 4.2.0)
#>  fs                     1.6.2     2023-04-25 [1] CRAN (R 4.2.0)
#>  generics               0.1.3     2022-07-05 [1] CRAN (R 4.2.0)
#>  GenomeInfoDb         * 1.34.9    2023-02-02 [1] Bioconductor
#>  GenomeInfoDbData       1.2.9     2023-04-11 [1] Bioconductor
#>  GenomeMatrix           0.99.3    2023-08-11 [1] Github (areyesq89/GenomeMatrix@102c273)
#>  GenomicAlignments      1.34.1    2023-03-09 [1] Bioconductor
#>  GenomicFeatures        1.50.4    2023-01-24 [1] Bioconductor
#>  GenomicRanges        * 1.50.2    2022-12-16 [1] Bioconductor
#>  GGally                 2.1.2     2021-06-21 [1] CRAN (R 4.2.0)
#>  ggbio                  1.46.0    2022-11-01 [1] Bioconductor
#>  ggcoverage           * 1.2.0     2023-08-11 [1] Github (showteeth/ggcoverage@c37c0cb)
#>  ggforce                0.4.1     2022-10-04 [1] CRAN (R 4.2.0)
#>  ggh4x                  0.2.5     2023-07-15 [1] CRAN (R 4.2.0)
#>  ggpattern              1.0.1     2022-11-09 [1] CRAN (R 4.2.0)
#>  ggplot2              * 3.4.2     2023-04-03 [1] CRAN (R 4.2.0)
#>  ggpp                   0.5.3     2023-07-16 [1] CRAN (R 4.2.0)
#>  ggrepel                0.9.3     2023-02-03 [1] CRAN (R 4.2.0)
#>  glue                   1.6.2     2022-02-24 [1] CRAN (R 4.2.0)
#>  graph                  1.76.0    2022-11-01 [1] Bioconductor
#>  gridExtra              2.3       2017-09-09 [1] CRAN (R 4.2.0)
#>  gtable                 0.3.3     2023-03-21 [1] CRAN (R 4.2.0)
#>  HiCBricks              1.16.0    2022-11-01 [1] Bioconductor
#>  highr                  0.10      2022-12-22 [1] CRAN (R 4.2.0)
#>  Hmisc                  5.1-0     2023-05-08 [1] CRAN (R 4.2.0)
#>  hms                    1.1.3     2023-03-21 [1] CRAN (R 4.2.0)
#>  htmlTable              2.4.1     2022-07-07 [1] CRAN (R 4.2.0)
#>  htmltools              0.5.5     2023-03-23 [1] CRAN (R 4.2.0)
#>  htmlwidgets            1.6.2     2023-03-17 [1] CRAN (R 4.2.0)
#>  httr                   1.4.6     2023-05-08 [1] CRAN (R 4.2.0)
#>  IRanges              * 2.32.0    2022-11-01 [1] Bioconductor
#>  jsonlite               1.8.5     2023-06-05 [1] CRAN (R 4.2.3)
#>  KEGGREST               1.38.0    2022-11-01 [1] Bioconductor
#>  knitr                  1.43      2023-05-25 [1] CRAN (R 4.2.0)
#>  labeling               0.4.2     2020-10-20 [1] CRAN (R 4.2.0)
#>  lattice                0.21-8    2023-04-05 [1] CRAN (R 4.2.0)
#>  lazyeval               0.2.2     2019-03-15 [1] CRAN (R 4.2.0)
#>  lifecycle              1.0.3     2022-10-07 [1] CRAN (R 4.2.0)
#>  lubridate            * 1.9.2     2023-02-10 [1] CRAN (R 4.2.0)
#>  magrittr               2.0.3     2022-03-30 [1] CRAN (R 4.2.0)
#>  MASS                   7.3-60    2023-05-04 [1] CRAN (R 4.2.0)
#>  Matrix                 1.5-4.1   2023-05-18 [1] CRAN (R 4.2.0)
#>  MatrixGenerics         1.10.0    2022-11-01 [1] Bioconductor
#>  matrixStats            1.0.0     2023-06-02 [1] CRAN (R 4.2.0)
#>  memoise                2.0.1     2021-11-26 [1] CRAN (R 4.2.0)
#>  munsell                0.5.0     2018-06-12 [1] CRAN (R 4.2.0)
#>  nnet                   7.3-19    2023-05-03 [1] CRAN (R 4.2.0)
#>  openxlsx               4.2.5.2   2023-02-06 [1] CRAN (R 4.2.0)
#>  OrganismDbi            1.40.0    2022-11-01 [1] Bioconductor
#>  patchwork              1.1.2     2022-08-19 [1] CRAN (R 4.2.0)
#>  pillar                 1.9.0     2023-03-22 [1] CRAN (R 4.2.0)
#>  pkgconfig              2.0.3     2019-09-22 [1] CRAN (R 4.2.0)
#>  plyr                   1.8.8     2022-11-11 [1] CRAN (R 4.2.0)
#>  plyranges            * 1.18.0    2022-11-01 [1] Bioconductor
#>  png                    0.1-8     2022-11-29 [1] CRAN (R 4.2.0)
#>  polyclip               1.10-4    2022-10-20 [1] CRAN (R 4.2.0)
#>  polynom                1.4-1     2022-04-11 [1] CRAN (R 4.2.0)
#>  prettyunits            1.1.1     2020-01-24 [1] CRAN (R 4.2.0)
#>  progress               1.2.2     2019-05-16 [1] CRAN (R 4.2.0)
#>  ProtGenerics           1.30.0    2022-11-01 [1] Bioconductor
#>  purrr                * 1.0.1     2023-01-10 [1] CRAN (R 4.2.0)
#>  R.methodsS3            1.8.2     2022-06-13 [1] CRAN (R 4.2.0)
#>  R.oo                   1.25.0    2022-06-12 [1] CRAN (R 4.2.0)
#>  R.utils                2.12.2    2022-11-11 [1] CRAN (R 4.2.0)
#>  R6                     2.5.1     2021-08-19 [1] CRAN (R 4.2.0)
#>  rappdirs               0.3.3     2021-01-31 [1] CRAN (R 4.2.0)
#>  RBGL                   1.74.0    2022-11-01 [1] Bioconductor
#>  RColorBrewer           1.1-3     2022-04-03 [1] CRAN (R 4.2.0)
#>  Rcpp                   1.0.11    2023-07-06 [1] CRAN (R 4.2.0)
#>  RCurl                  1.98-1.12 2023-03-27 [1] CRAN (R 4.2.0)
#>  readr                * 2.1.4     2023-02-10 [1] CRAN (R 4.2.0)
#>  reprex                 2.0.2     2022-08-17 [1] CRAN (R 4.2.0)
#>  reshape                0.8.9     2022-04-12 [1] CRAN (R 4.2.0)
#>  reshape2               1.4.4     2020-04-09 [1] CRAN (R 4.2.0)
#>  restfulr               0.0.15    2022-06-16 [1] CRAN (R 4.2.0)
#>  rhdf5                  2.42.1    2023-04-07 [1] Bioconductor
#>  rhdf5filters           1.10.1    2023-03-24 [1] Bioconductor
#>  Rhdf5lib               1.20.0    2022-11-01 [1] Bioconductor
#>  rjson                  0.2.21    2022-01-09 [1] CRAN (R 4.2.0)
#>  rlang                  1.1.1     2023-04-28 [1] CRAN (R 4.2.0)
#>  rmarkdown              2.22      2023-06-01 [1] CRAN (R 4.2.0)
#>  rpart                  4.1.19    2022-10-21 [1] CRAN (R 4.2.3)
#>  Rsamtools              2.14.0    2022-11-01 [1] Bioconductor
#>  RSQLite                2.3.1     2023-04-03 [1] CRAN (R 4.2.0)
#>  rstudioapi             0.14      2022-08-22 [1] CRAN (R 4.2.0)
#>  rtracklayer            1.58.0    2022-11-01 [1] Bioconductor
#>  S4Vectors            * 0.36.2    2023-02-26 [1] Bioconductor
#>  scales                 1.2.1     2022-08-20 [1] CRAN (R 4.2.0)
#>  seqinr                 4.2-30    2023-04-05 [1] CRAN (R 4.2.0)
#>  sessioninfo            1.2.2     2021-12-06 [1] CRAN (R 4.2.0)
#>  stringi                1.7.12    2023-01-11 [1] CRAN (R 4.2.0)
#>  stringr              * 1.5.0     2022-12-02 [1] CRAN (R 4.2.0)
#>  SummarizedExperiment   1.28.0    2022-11-01 [1] Bioconductor
#>  tibble               * 3.2.1     2023-03-20 [1] CRAN (R 4.2.0)
#>  tidyr                * 1.3.0     2023-01-24 [1] CRAN (R 4.2.0)
#>  tidyselect             1.2.0     2022-10-10 [1] CRAN (R 4.2.0)
#>  tidyverse            * 2.0.0     2023-02-22 [1] CRAN (R 4.2.0)
#>  timechange             0.2.0     2023-01-11 [1] CRAN (R 4.2.0)
#>  tweenr                 2.0.2     2022-09-06 [1] CRAN (R 4.2.0)
#>  tzdb                   0.4.0     2023-05-12 [1] CRAN (R 4.2.0)
#>  utf8                   1.2.3     2023-01-31 [1] CRAN (R 4.2.0)
#>  VariantAnnotation      1.44.1    2023-02-15 [1] Bioconductor
#>  vctrs                  0.6.3     2023-06-14 [1] CRAN (R 4.2.0)
#>  viridis                0.6.3     2023-05-03 [1] CRAN (R 4.2.0)
#>  viridisLite            0.4.2     2023-05-02 [1] CRAN (R 4.2.0)
#>  withr                  2.5.0     2022-03-03 [1] CRAN (R 4.2.0)
#>  xfun                   0.40      2023-08-09 [1] CRAN (R 4.2.0)
#>  XML                    3.99-0.14 2023-03-19 [1] CRAN (R 4.2.0)
#>  xml2                   1.3.4     2023-04-27 [1] CRAN (R 4.2.0)
#>  XVector                0.38.0    2022-11-01 [1] Bioconductor
#>  yaml                   2.3.7     2023-01-23 [1] CRAN (R 4.2.0)
#>  zip                    2.3.0     2023-04-17 [1] CRAN (R 4.2.0)
#>  zlibbioc               1.44.0    2022-11-01 [1] Bioconductor
#> 
#>  [1] /Library/Frameworks/R.framework/Versions/4.2/Resources/library
#> 
#> ──────────────────────────────────────────────────────────────────────────────

CRAN Release 1.4.0

CRAN checklist for re-release:

  • reduce dependencies <= 20, move BioC deps to suggests
  • usethis::use_cran_comments()
  • Update (aspirational) install instructions in README
  • Proofread Title: and Description:
  • Check that all exported functions have @return and @examples
  • Check that Authors@R: includes a copyright holder (role 'cph')
  • Check licensing of included files
  • Review https://github.com/DavisVaughan/extrachecks

Prepare for release:

  • urlchecker::url_check()
  • devtools::build_readme()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • usethis::use_github_release()
  • usethis::use_dev_version(push = TRUE)

Issue with `seqnames` when adding gene/transcript annotation

I get the following error when trying to add gene or transcript annotations to the coverage plot:

Error in stop_if_wrong_length("'seqnames'", ans_len) :                                                                                                                                                     
  'seqnames' must have the length of the object to construct (1) or                                  
  length 1   

I checked, and the seqnames of the gene/transcript annotation are overlapping the one shown in the plot, so I don't know what causes this error. It is produced by a function that creates new GRanges object under the hood, but I couldn't figure out why.

The gtf file I am loading looks like this:

GRanges object with 360449 ranges and 9 metadata columns:
              seqnames            ranges strand |   source       type     score
                 <Rle>         <IRanges>  <Rle> | <factor>   <factor> <numeric>
       [1] NC_064034.1     555751-623986      - |   Gnomon transcript        NA
       [2] NC_064034.1     555751-556233      - |   Gnomon exon              NA
       [3] NC_064034.1     557679-557838      - |   Gnomon exon              NA
       [4] NC_064034.1     558967-559103      - |   Gnomon exon              NA
       [5] NC_064034.1     559356-559885      - |   Gnomon exon              NA
       ...         ...               ...    ... .      ...        ...       ...
  [360445] NC_064048.1 13228100-13228198      - |   Gnomon       exon        NA
  [360446] NC_064048.1 13228331-13228935      - |   Gnomon       exon        NA
  [360447] NC_064048.1 13227468-13227632      - |   Gnomon       CDS         NA
  [360448] NC_064048.1 13228100-13228198      - |   Gnomon       CDS         NA
  [360449] NC_064048.1 13228331-13228558      - |   Gnomon       CDS         NA
               phase          transcript_id                gene_id    gene_name
           <integer>            <character>            <character>  <character>
       [1]      <NA> Nvec_vc1.1_XM_032374.. Nvec_vc1.1_LOC116613.. LOC116613690
       [2]      <NA> Nvec_vc1.1_XM_032374.. Nvec_vc1.1_LOC116613.. LOC116613690
       [3]      <NA> Nvec_vc1.1_XM_032374.. Nvec_vc1.1_LOC116613.. LOC116613690
       [4]      <NA> Nvec_vc1.1_XM_032374.. Nvec_vc1.1_LOC116613.. LOC116613690
       [5]      <NA> Nvec_vc1.1_XM_032374.. Nvec_vc1.1_LOC116613.. LOC116613690
       ...       ...                    ...                    ...          ...
  [360445]      <NA> Nvec_vc1.1_XM_048723.. Nvec_vc1.1_LOC125560.. LOC125560762
  [360446]      <NA> Nvec_vc1.1_XM_048723.. Nvec_vc1.1_LOC125560.. LOC125560762
  [360447]         0 Nvec_vc1.1_XM_048723.. Nvec_vc1.1_LOC125560.. LOC125560762
  [360448]         0 Nvec_vc1.1_XM_048723.. Nvec_vc1.1_LOC125560.. LOC125560762
  [360449]         0 Nvec_vc1.1_XM_048723.. Nvec_vc1.1_LOC125560.. LOC125560762
                  transcript_name      gene_type
                      <character>    <character>
       [1] Nvec_vc1.1_XM_032374.. protein_coding
       [2] Nvec_vc1.1_XM_032374.. protein_coding
       [3] Nvec_vc1.1_XM_032374.. protein_coding
       [4] Nvec_vc1.1_XM_032374.. protein_coding
       [5] Nvec_vc1.1_XM_032374.. protein_coding
       ...                    ...            ...
  [360445] Nvec_vc1.1_XM_048723.. protein_coding
  [360446] Nvec_vc1.1_XM_048723.. protein_coding
  [360447] Nvec_vc1.1_XM_048723.. protein_coding
  [360448] Nvec_vc1.1_XM_048723.. protein_coding
  [360449] Nvec_vc1.1_XM_048723.. protein_coding
  -------
  seqinfo: 31 sequences from an unspecified genome; no seqlengths

And the regions are:

       seqnames  start    end      score      Type
 1: NC_064034.1 554751 555575 0.00000000 muscle_1
 2: NC_064034.1 555576 555600 0.04792738 muscle_1
 3: NC_064034.1 555601 555650 0.00000000 muscle_1
 4: NC_064034.1 555651 555700 0.09585476 muscle_1
 5: NC_064034.1 555701 555725 0.00000000 muscle_1
 ---                                                        
26: NC_064034.1 556176 558125 0.00000000 muscle_2
27: NC_064034.1 558126 558175 0.07412679 muscle_2
28: NC_064034.1 558176 559350 0.00000000 muscle_2
29: NC_064034.1 559351 559400 0.07412679 muscle_2
30: NC_064034.1 559401 560885 0.00000000 muscle_2

I also attache the files to reproduce this, if it may help. Hope you could have an idea that will narrow down the source of the problem.

Thanks,
Anamaria

reproduce-issues-files.zip

Non-eukaryotic data and input files?

Hi,

This looks very useful but from all the examples it seems the package focuses mostly on eukaryotic omic data? I wanted to use this for bacterial genomes, to generate a similar plot:
image

plotting genome coverage, GC, gene annotation, and CNV annotation (without the ideogram). Would this be doable for a bacterial/viral genome and corresponding data?

Looking at the handy tutorials you provided, unfortunately I don't see how to get started from the initial files without loading existing data, or what their format should be. For example, I have:

  • (sorted/indexed) BAM file for coverage
  • GTF3 for genome annotation
  • VCF file for variant calling

The way I understand the pipeline:

  1. Prepare GTF file like this:
# prepare gtf
gtf.file = system.file("extdata", "annotation.gtf", package = "ggcoverage")
gtf.gr = rtracklayer::import.gff(con = gtf.file, format = 'gtf')
  1. Sample metadata - not sure how or if this is needed. I only have one sample in this case.
  2. Prepare BAM track data:
# load bam file
bam.file = system.file("extdata", "DNA-seq", "aligned.bam", package = "ggcoverage")
track.df <- LoadTrackFile(
  track.file = bam.file
)
  1. Load CNV file (is this just a VCF file?):
cnv.file <- system.file("extdata", "DNA-seq", "variant.vcf", package = "ggcoverage")
# read CNV
cnv.df = read.table(file = cnv.file, sep = "\t", header = TRUE)
  1. Plot basic coverage:
basic.coverage = ggcoverage(data = track.df, color = "grey", mark.region = NULL,
                            range.position = "out")
basic.coverage
  1. Plot GC, CNV annotations, gene annotations:
basic.coverage +
  geom_gc(fa.file=genome.fasta) +
  geom_cnv(cnv.df = cnv.df, bin.col = 3, cn.col = 4)
  geom_gene(gtf.gr=gtf.gr)

I guess it should look something like that? Thank you for any feedback!

Error in geom_rect() when running ggcoverage() examples

Hello, I installed the package from Github and tried to run the examples shown in the help documentation for 'ggcoverage()'. Here is the code I ran and the error I got.

library(ggcoverage)
library(utils)
library(rtracklayer)

meta.file <- system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage")
sample.meta <- utils::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)
gtf.file <- system.file("extdata", "used_hg19.gtf", package = "ggcoverage")
gtf.gr <- rtracklayer::import.gff(con = gtf.file, format = "gtf")

ggcoverage(data = track.df, color = "auto", range.position = "out")

Error:

Error in `geom_rect()`:
! Problem while converting geom to grob.
ℹ Error occurred in the 1st layer.
Caused by error in `abs()`:
! non-numeric argument to mathematical function
Run `rlang::last_trace()` to see where the error occurred.
Warning messages:
1: In geom_coverage(data = data, mapping = mapping, color = color,  :
  Fewer colors provided than there are groups in Group variable, falling back to default colors
2: Removed 314 rows containing missing values (`geom_rect()`). 

Here is my session info:

devtools::session_info()
─ Session info ─────────────────────────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.2.0 (2022-04-22)
 os       Red Hat Enterprise Linux
 system   x86_64, linux-gnu
 ui       RStudio
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       America/New_York
 date     2023-12-19
 rstudio  2023.03.0+386 Cherry Blossom (server)
 pandoc   2.2.3.2 @ /ihome/crc/install/python/bioconda-3.7-2019.03/bin/pandoc

─ Packages ─────────────────────────────────────────────────────────────────────────────────────
 package              * version  date (UTC) lib source
 ade4                   1.7-19   2022-04-19 [2] CRAN (R 4.2.0)
 AnnotationDbi          1.58.0   2022-04-26 [2] Bioconductor
 AnnotationFilter       1.20.0   2022-04-26 [2] Bioconductor
 assertthat             0.2.1    2019-03-21 [2] CRAN (R 4.2.0)
 backports              1.4.1    2021-12-13 [2] CRAN (R 4.2.0)
 base64enc              0.1-3    2015-07-28 [2] CRAN (R 4.2.0)
 Biobase                2.56.0   2022-04-26 [2] Bioconductor
 BiocFileCache          2.4.0    2022-04-26 [2] Bioconductor
 BiocGenerics         * 0.42.0   2022-04-26 [2] Bioconductor
 BiocIO                 1.6.0    2022-04-26 [2] Bioconductor
 BiocManager            1.30.18  2022-05-18 [2] CRAN (R 4.2.0)
 BiocParallel           1.30.3   2022-06-05 [2] Bioconductor
 biomaRt                2.52.0   2022-04-26 [2] Bioconductor
 Biostrings             2.64.0   2022-04-26 [2] Bioconductor
 biovizBase             1.44.0   2022-04-26 [2] Bioconductor
 bit                    4.0.5    2022-11-15 [2] CRAN (R 4.2.0)
 bit64                  4.0.5    2020-08-30 [2] CRAN (R 4.2.0)
 bitops                 1.0-7    2021-04-24 [2] CRAN (R 4.2.0)
 blob                   1.2.3    2022-04-10 [2] CRAN (R 4.2.0)
 BSgenome               1.64.0   2022-04-26 [2] Bioconductor
 cachem                 1.0.6    2021-08-19 [2] CRAN (R 4.2.0)
 callr                  3.7.1    2022-07-13 [2] CRAN (R 4.2.0)
 checkmate              2.1.0    2022-04-21 [2] CRAN (R 4.2.0)
 cli                    3.4.1    2022-09-23 [2] CRAN (R 4.2.0)
 cluster                2.1.3    2022-03-28 [2] CRAN (R 4.2.0)
 codetools              0.2-18   2020-11-04 [2] CRAN (R 4.2.0)
 colorspace             2.0-3    2022-02-21 [2] CRAN (R 4.2.0)
 crayon                 1.5.2    2022-09-29 [2] CRAN (R 4.2.0)
 curl                   4.3.3    2022-10-06 [2] CRAN (R 4.2.0)
 data.table             1.14.6   2022-11-16 [2] CRAN (R 4.2.0)
 DBI                    1.1.3    2022-06-18 [2] CRAN (R 4.2.0)
 dbplyr                 2.2.1    2022-06-27 [2] CRAN (R 4.2.0)
 DelayedArray           0.22.0   2022-04-26 [2] Bioconductor
 deldir                 1.0-6    2021-10-23 [2] CRAN (R 4.2.0)
 devtools             * 2.4.3    2021-11-30 [2] CRAN (R 4.2.0)
 dichromat              2.0-0.1  2022-05-02 [2] CRAN (R 4.2.0)
 digest                 0.6.30   2022-10-18 [2] CRAN (R 4.2.0)
 dplyr                  1.1.4    2023-11-17 [1] CRAN (R 4.2.0)
 ellipsis               0.3.2    2021-04-29 [2] CRAN (R 4.2.0)
 ensembldb              2.20.1   2022-04-29 [2] Bioconductor
 fansi                  1.0.3    2022-03-24 [2] CRAN (R 4.2.0)
 farver                 2.1.1    2022-07-06 [2] CRAN (R 4.2.0)
 fastmap                1.1.0    2021-01-25 [2] CRAN (R 4.2.0)
 filelock               1.0.2    2018-10-05 [2] CRAN (R 4.2.0)
 foreign                0.8-82   2022-01-16 [2] CRAN (R 4.2.0)
 Formula                1.2-4    2020-10-16 [2] CRAN (R 4.2.0)
 fs                     1.5.2    2021-12-08 [2] CRAN (R 4.2.0)
 generics               0.1.3    2022-07-05 [2] CRAN (R 4.2.0)
 GenomeInfoDb         * 1.32.4   2022-09-06 [1] Bioconductor
 GenomeInfoDbData       1.2.8    2022-04-28 [2] Bioconductor
 GenomeMatrix           0.99.3   2023-12-18 [1] Github (areyesq89/GenomeMatrix@102c273)
 GenomicAlignments      1.32.0   2022-04-26 [2] Bioconductor
 GenomicFeatures        1.48.0   2022-04-27 [2] Bioconductor
 GenomicRanges        * 1.48.0   2022-04-26 [2] Bioconductor
 GGally                 2.1.2    2021-06-21 [2] CRAN (R 4.2.0)
 ggbio                  1.44.0   2022-04-26 [2] Bioconductor
 ggcoverage           * 1.2.0    2023-12-18 [1] Github (showteeth/ggcoverage@d4bdec6)
 ggforce                0.4.1    2022-10-04 [2] CRAN (R 4.2.0)
 ggh4x                  0.2.6    2023-08-30 [1] CRAN (R 4.2.0)
 ggpattern              1.0.1    2022-11-09 [1] CRAN (R 4.2.0)
 ggplot2                3.4.4    2023-10-12 [2] CRAN (R 4.2.0)
 ggpp                   0.5.5    2023-11-08 [1] CRAN (R 4.2.0)
 ggrepel                0.9.2    2022-11-06 [2] CRAN (R 4.2.0)
 glue                   1.6.2    2022-02-24 [2] CRAN (R 4.2.0)
 graph                  1.74.0   2022-04-26 [2] Bioconductor
 gridExtra              2.3      2017-09-09 [2] CRAN (R 4.2.0)
 gtable                 0.3.4    2023-08-21 [1] CRAN (R 4.2.0)
 HiCBricks              1.16.0   2022-11-01 [1] Bioconductor
 Hmisc                  4.7-0    2022-04-19 [2] CRAN (R 4.2.0)
 hms                    1.1.1    2021-09-26 [2] CRAN (R 4.2.0)
 htmlTable              2.4.1    2022-07-07 [2] CRAN (R 4.2.0)
 htmltools              0.5.6.1  2023-10-06 [2] CRAN (R 4.2.0)
 htmlwidgets            1.5.4    2021-09-08 [2] CRAN (R 4.2.0)
 httr                   1.4.4    2022-08-17 [2] CRAN (R 4.2.0)
 interp                 1.1-3    2022-07-13 [2] CRAN (R 4.2.0)
 IRanges              * 2.30.1   2022-08-18 [2] Bioconductor
 jpeg                   0.1-9    2021-07-24 [2] CRAN (R 4.2.0)
 jsonlite               1.8.3    2022-10-21 [2] CRAN (R 4.2.0)
 KEGGREST               1.36.0   2022-04-26 [2] Bioconductor
 knitr                  1.45     2023-10-30 [1] CRAN (R 4.2.0)
 lattice                0.20-45  2021-09-22 [2] CRAN (R 4.2.0)
 latticeExtra           0.6-30   2022-07-04 [2] CRAN (R 4.2.0)
 lazyeval               0.2.2    2019-03-15 [2] CRAN (R 4.2.0)
 lifecycle              1.0.3    2022-10-07 [2] CRAN (R 4.2.0)
 magrittr               2.0.3    2022-03-30 [2] CRAN (R 4.2.0)
 MASS                   7.3-60   2023-05-04 [1] CRAN (R 4.2.0)
 Matrix                 1.5-3    2022-11-11 [2] CRAN (R 4.2.0)
 MatrixGenerics         1.8.0    2022-04-26 [2] Bioconductor
 matrixStats            0.63.0   2022-11-18 [2] CRAN (R 4.2.0)
 memoise                2.0.1    2021-11-26 [2] CRAN (R 4.2.0)
 munsell                0.5.0    2018-06-12 [2] CRAN (R 4.2.0)
 nnet                   7.3-17   2022-01-16 [2] CRAN (R 4.2.0)
 openxlsx               4.2.5    2021-12-14 [2] CRAN (R 4.2.0)
 OrganismDbi            1.38.0   2022-04-27 [2] Bioconductor
 patchwork              1.1.2    2022-08-19 [2] CRAN (R 4.2.0)
 pillar                 1.9.0    2023-03-22 [1] CRAN (R 4.2.0)
 pkgbuild               1.3.1    2021-12-20 [2] CRAN (R 4.2.0)
 pkgconfig              2.0.3    2019-09-22 [2] CRAN (R 4.2.0)
 pkgload                1.3.0    2022-06-27 [2] CRAN (R 4.2.0)
 plyr                   1.8.9    2023-10-02 [1] CRAN (R 4.2.0)
 png                    0.1-7    2013-12-03 [2] CRAN (R 4.2.0)
 polyclip               1.10-4   2022-10-20 [2] CRAN (R 4.2.0)
 polynom                1.4-1    2022-04-11 [2] CRAN (R 4.2.0)
 prettyunits            1.1.1    2020-01-24 [2] CRAN (R 4.2.0)
 processx               3.7.0    2022-07-07 [2] CRAN (R 4.2.0)
 progress               1.2.2    2019-05-16 [2] CRAN (R 4.2.0)
 ProtGenerics           1.28.0   2022-04-26 [2] Bioconductor
 ps                     1.7.1    2022-06-18 [2] CRAN (R 4.2.0)
 purrr                  0.3.5    2022-10-06 [2] CRAN (R 4.2.0)
 R.methodsS3            1.8.2    2022-06-13 [2] CRAN (R 4.2.0)
 R.oo                   1.25.0   2022-06-12 [2] CRAN (R 4.2.0)
 R.utils                2.12.1   2022-10-30 [2] CRAN (R 4.2.0)
 R6                     2.5.1    2021-08-19 [2] CRAN (R 4.2.0)
 rappdirs               0.3.3    2021-01-31 [2] CRAN (R 4.2.0)
 RBGL                   1.72.0   2022-04-26 [2] Bioconductor
 RColorBrewer           1.1-3    2022-04-03 [2] CRAN (R 4.2.0)
 Rcpp                   1.0.9    2022-07-08 [2] CRAN (R 4.2.0)
 RCurl                  1.98-1.8 2022-07-30 [2] CRAN (R 4.2.0)
 readr                  2.1.2    2022-01-30 [2] CRAN (R 4.2.0)
 remotes                2.4.2    2021-11-30 [2] CRAN (R 4.2.0)
 reshape                0.8.9    2022-04-12 [2] CRAN (R 4.2.0)
 reshape2               1.4.4    2020-04-09 [2] CRAN (R 4.2.0)
 restfulr               0.0.13   2017-08-06 [2] CRAN (R 4.2.0)
 rhdf5                  2.40.0   2022-04-26 [2] Bioconductor
 rhdf5filters           1.8.0    2022-04-26 [2] Bioconductor
 Rhdf5lib               1.18.0   2022-04-26 [2] Bioconductor
 rjson                  0.2.21   2022-01-09 [2] CRAN (R 4.2.0)
 rlang                  1.1.1    2023-04-28 [2] CRAN (R 4.2.0)
 rpart                  4.1.16   2022-01-24 [2] CRAN (R 4.2.0)
 Rsamtools              2.12.0   2022-04-26 [2] Bioconductor
 RSQLite                2.2.20   2022-12-22 [2] CRAN (R 4.2.0)
 rstudioapi             0.13     2020-11-12 [2] CRAN (R 4.2.0)
 rtracklayer          * 1.56.0   2022-04-26 [2] Bioconductor
 S4Vectors            * 0.34.0   2022-04-26 [2] Bioconductor
 scales                 1.3.0    2023-11-28 [1] CRAN (R 4.2.0)
 seqinr                 4.2-16   2022-05-19 [2] CRAN (R 4.2.0)
 sessioninfo            1.2.2    2021-12-06 [2] CRAN (R 4.2.0)
 stringi                1.7.8    2022-07-11 [2] CRAN (R 4.2.0)
 stringr                1.5.1    2023-11-14 [1] CRAN (R 4.2.0)
 SummarizedExperiment   1.26.1   2022-04-29 [2] Bioconductor
 survival               3.3-1    2022-03-03 [2] CRAN (R 4.2.0)
 tibble                 3.2.1    2023-03-20 [1] CRAN (R 4.2.0)
 tidyselect             1.2.0    2022-10-10 [2] CRAN (R 4.2.0)
 tweenr                 2.0.2    2022-09-06 [2] CRAN (R 4.2.0)
 tzdb                   0.3.0    2022-03-28 [2] CRAN (R 4.2.0)
 usethis              * 2.1.5    2021-12-09 [2] CRAN (R 4.2.0)
 utf8                   1.2.2    2021-07-24 [2] CRAN (R 4.2.0)
 VariantAnnotation      1.42.0   2022-04-26 [2] Bioconductor
 vctrs                  0.6.4    2023-10-12 [2] CRAN (R 4.2.0)
 viridis                0.6.2    2021-10-13 [2] CRAN (R 4.2.0)
 viridisLite            0.4.1    2022-08-22 [2] CRAN (R 4.2.0)
 withr                  2.5.2    2023-10-30 [1] CRAN (R 4.2.0)
 xfun                   0.40     2023-08-09 [2] CRAN (R 4.2.0)
 XML                    3.99-0.9 2022-02-24 [2] CRAN (R 4.2.0)
 xml2                   1.3.3    2021-11-30 [2] CRAN (R 4.2.0)
 XVector                0.36.0   2022-04-26 [2] Bioconductor
 yaml                   2.3.8    2023-12-11 [1] CRAN (R 4.2.0)
 zip                    2.2.0    2021-05-31 [2] CRAN (R 4.2.0)
 zlibbioc               1.42.0   2022-04-26 [2] Bioconductor

incorrect annotations

Screen Shot 2022-11-14 at 7 19 01 AM

not able to add gene annotations - I assume this is due to using a different annotation from what's in the tutorial. If this is the case, can you please provide the correct annotations, or make a statement regarding which annotations to use in the tutorial.

Getting installation error

When I try to install the package in R in a Linux environment, all installation methods give a non-zero exit status.

I have updated both R and R studio to R.4.3.1
See Error messages below:

/usr/bin/ld: cannot find -llapack: No such file or directory
/usr/bin/ld: cannot find -lblas: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [/usr/share/R/share/make/shlib.mk:10: RcppArmadillo.so] Error 1
ERROR: compilation failed for package ‘RcppArmadillo’

Warning in install.packages :
installation of package ‘RcppArmadillo’ had non-zero exit status
ERROR: dependency ‘RcppArmadillo’ is not available for package ‘ade4’

Warning in install.packages :
installation of package ‘ade4’ had non-zero exit status
ERROR: dependency ‘ade4’ is not available for package ‘seqinr’

Warning in install.packages :
installation of package ‘seqinr’ had non-zero exit status
ERROR: dependencies ‘GenomicRanges’, ‘ggbio’, ‘IRanges’, ‘Rsamtools’, ‘rtracklayer’, ‘GenomeInfoDb’, ‘S4Vectors’, ‘Biostrings’, ‘BSgenome’, ‘GenomicAlignments’, ‘seqinr’ are not available for package ‘ggcoverage’

  • removing ‘/home/abolaji/R/x86_64-pc-linux-gnu-library/4.3/ggcoverage’
    Warning in install.packages :
    installation of package ‘ggcoverage’ had non-zero exit status

Error in CeilingNumber(max(.x)) : object 'x.ceiling' not found

Hi! The package looks great!

I found this error in the current version (ggcoverage_1.2.0).
#1.

track.df = LoadTrackFile(track.file =/path/to/'Cells.bedGraph', format = "bedgraph",meta.info = NULL,region = "chr2:102415689-102455565")
Sample without metadata!

head(track.df)
seqnames start end score Type Group
1 chr2 102418385 102419013 0 Cells.bedGraph Cells.bedGraph
2 chr2 102422977 102423192 0 Cells.bedGraph Cells.bedGraph
3 chr2 102424446 102425154 0 Cells.bedGraph Cells.bedGraph
4 chr2 102425478 102425997 0 Cells.bedGraph Cells.bedGraph
5 chr2 102430644 102430927 0 Cells.bedGraph Cells.bedGraph
6 chr2 102435476 102436635 0 Cells.bedGraph Cells.bedGraph

ggcoverage(data = track.df, color = "grey",
mark.region = NULL, range.position = "out")

Error in CeilingNumber(max(.x)) : object 'x.ceiling' not found

Thank you!

formatting of scale range can be improved

Hi!

I noticed that the formatting of the scale range is somewhat inconsistent:

  • problem 1: the scale does not work with negative numbers (shows [0,0])
  • problem 2: the formatting of numbers by CeilingNumber() sometimes creates incorrect numbers

Here's an example, e.g. if one would like to draw the minus strand in negative range:

library(ggcoverage)
library(ggplot2)

# import track data
meta.file <- system.file("extdata", "RNA-seq", "meta_info.csv", package = "ggcoverage")
sample.meta <- utils::read.csv(meta.file)
track.folder <- system.file("extdata", "RNA-seq", package = "ggcoverage")

track.df <- LoadTrackFile(
  track.folder = track.folder, format = "bw",
  meta.info = sample.meta
)

# make some non-zero, as in minus strand
track.df[track.df$Type == "KO_rep2", "score"] <- with(track.df, score[Type == "KO_rep2"] * -1)
track.df[track.df$Type == "WT_rep2", "score"] <- with(track.df, score[Type == "WT_rep2"] * -1)

# plot tracks with coloring by 'Group' variable
ggplot() +
geom_coverage(data = track.df, facet.key = "Type", group.key = "Group")

image

This plot also shows the second problem, one of the numbers is formatted as 1250.01, but in fact it's 1250.

The output from CeilingNumber() is somewhat unpredictable. Note the 0.01 added for some but not all values.

> sapply(c(0:10, 100, 123.45, 123.4567), CeilingNumber)
[1]   0.00   1.00   2.00   3.00   4.00   5.00   6.00   7.00   8.01   9.01  10.01 100.00 123.46 123.46

I suggest to make some minor changes such that plotting negative values is allowed and also formatting of numbers is simplified. Is there any reason for adding this bit, that I am not aware of? I could add a commit to the current PR or make a new one.

Where to start for ATAC-seq data?

Hi, I have some scATAC-seq data and I would like to graph the coverage across the different chromosomes, especially the X and the Y. I notice that you have a section called DNA-seq which has the following:

# track file
track.file = [system.file](https://rdrr.io/r/base/system.file.html)("extdata", "DNA-seq", "CNV_example.txt", package = "ggcoverage")
# load txt file
track.df = [LoadTrackFile](https://showteeth.github.io/ggcoverage/reference/LoadTrackFile.html)(track.file = track.file, format = "txt", region = "chr4:61750000-62,700,000",
                         meta.info = cnv.meta.info)

What data is in the CNV_example.txt? Do I need to calculate coverage before using ggcoverage? If so, what software would you recommend for ease of transferring it to ggcoverage? In the next section, I see that the region is limited to a section on chr4. If I want to visualize the entire chromosome, would like change to chr4:1-full_length? I have little experience with the system.file usage so I apologize for any basic questions.

Thank you in advance for your help!

Is it possible to set custom y-axis limits?

Hi, I was wondering whether it was possible to specify the y-axis limits. As you can see from the attached picture, the ranges between the three coverage 5 coverage plots are quite different and may be misleading at first glance.

Loving the package though, thanks for creating it.

image

enable range selection for "LoadTrackFile"

Hi, thanks for providing this useful tool. However, I found that the function "LoadTrackFile()" could be very slow and require lots of resources when loading genome-wide signal files. I noticed that the "import()" function from "rtracklayer" was used to import bigwig, wig, and bedgraph files. I was wondering if the "selection" option from "import.bw()" could be added to allow users to load only a portion of the bigwig files (e.g. one chromosome, regions of interest). This could make the function more flexible and much faster.

Thanks!

suggestion: reduce number of dependencies (currently 28)

R CMD CHECK passes with latest commit but gives a note about the high number of used packages (28):

* checking package dependencies ... NOTE
Imports includes 28 non-default packages.
Importing from so many packages makes the package vulnerable to any of
them becoming unavailable.  Move as many as possible to Suggests and
use conditionally.

The full dependency tree (these packages all need to be installed) for ggcoverage is about 180 (!) packages.
I suggest to move some of them that are only rarely used for special functions (geom_ideogram for example) to Suggests.
The suggestion from CRAN is to have not more than 20 deps.

Every entry labelled [new] in the following list where an additional dependency is added.

> pak::local_deps_tree()
✔ Updated metadata database: 2.92 MB in 8 files.                           
✔ Updating metadata database ... done                                      
local::. 1.2.0 [new][bld][dl] (unknown size)                               
├─dplyr 1.1.4 [new][bld][cmp][dl] (1.21 MB)
│ ├─cli 3.6.2 [new][bld][cmp][dl] (569.77 kB)
│ ├─generics 0.1.3 [new][bld][dl] (172.20 kB)
│ ├─glue 1.7.0 [new][bld][cmp][dl] (105.42 kB)
│ ├─lifecycle 1.0.4 [new][bld][dl] (107.66 kB)
│ │ ├─cli
│ │ ├─glue
│ │ └─rlang 1.1.3 [new][bld][cmp][dl] (763.76 kB)
│ ├─magrittr 2.0.3 [new][bld][cmp][dl] (267.07 kB)
│ ├─pillar 1.9.0 [new][bld][dl] (444.53 kB)
│ │ ├─cli
│ │ ├─fansi 1.0.6 [new][bld][cmp][dl] (482.48 kB)
│ │ ├─glue
│ │ ├─lifecycle
│ │ ├─rlang
│ │ ├─utf8 1.2.4 [new][bld][cmp][dl] (241.08 kB)
│ │ └─vctrs 0.6.5 [new][bld][cmp][dl] (969.07 kB)
│ │   ├─cli
│ │   ├─glue
│ │   ├─lifecycle
│ │   └─rlang
│ ├─R6 2.5.1 [new][bld][dl] (63.42 kB)
│ ├─rlang
│ ├─tibble 3.2.1 [new][bld][cmp][dl] (565.98 kB)
│ │ ├─fansi
│ │ ├─lifecycle
│ │ ├─magrittr
│ │ ├─pillar
│ │ ├─pkgconfig 2.0.3 [new][bld][dl] (6.08 kB)
│ │ ├─rlang
│ │ └─vctrs
│ ├─tidyselect 1.2.1 [new][bld][cmp][dl] (103.59 kB)
│ │ ├─cli
│ │ ├─glue
│ │ ├─lifecycle
│ │ ├─rlang
│ │ ├─vctrs
│ │ └─withr 3.0.0 [new][bld][dl] (107.68 kB)
│ └─vctrs
├─GenomicRanges 1.54.1 [new][bld][cmp][dl] (unknown size)
│ ├─BiocGenerics 0.48.1 [new][bld][dl] (unknown size)
│ ├─S4Vectors 0.40.2 [new][bld][cmp][dl] (unknown size)
│ │ └─BiocGenerics
│ ├─IRanges 2.36.0 [new][bld][cmp][dl] (unknown size)
│ │ ├─BiocGenerics
│ │ └─S4Vectors
│ ├─GenomeInfoDb 1.38.8 [new][bld][dl] (unknown size)
│ │ ├─BiocGenerics
│ │ ├─S4Vectors
│ │ ├─IRanges
│ │ ├─RCurl 1.98-1.14 [new][bld][cmp][dl] (731.31 kB)
│ │ │ └─bitops 1.0-7 [new][bld][cmp][dl] (10.81 kB)
│ │ └─GenomeInfoDbData 1.2.11 [new][bld][dl] (unknown size)
│ └─XVector 0.42.0 [new][bld][cmp][dl] (unknown size)
│   ├─BiocGenerics
│   ├─S4Vectors
│   ├─IRanges
│   └─zlibbioc 1.48.2 [new][bld][cmp][dl] (unknown size)
├─ggbio 1.50.0 [new][bld][dl] (unknown size)
│ ├─BiocGenerics
│ ├─ggplot2 3.5.0 [new][bld][dl] (3.56 MB)
│ │ ├─cli
│ │ ├─glue
│ │ ├─gtable 0.3.4 [new][bld][dl] (130.10 kB)
│ │ │ ├─cli
│ │ │ ├─glue
│ │ │ ├─lifecycle
│ │ │ └─rlang
│ │ ├─isoband 0.2.7 [new][bld][cmp][dl] (1.59 MB)
│ │ ├─lifecycle
│ │ ├─MASS 7.3-60 -> 7.3-60.0.1 [upd][bld][cmp][dl] (561.61 kB)
│ │ ├─mgcv 1.9-1 
│ │ │ ├─nlme 3.1-163 -> 3.1-164 [upd][bld][cmp][dl] (836.83 kB)
│ │ │ │ └─lattice 0.22-5 -> 0.22-6 [upd][bld][cmp][dl] (598.58 kB)
│ │ │ └─Matrix 1.6-5 < 1.7-0 [old]
│ │ │   └─lattice
│ │ ├─rlang
│ │ ├─scales 1.3.0 [new][bld][cmp][dl] (302.54 kB)
│ │ │ ├─cli
│ │ │ ├─farver 2.1.1 [new][bld][cmp][dl] (1.27 MB)
│ │ │ ├─glue
│ │ │ ├─labeling 0.4.3 [new][bld][dl] (10.17 kB)
│ │ │ ├─lifecycle
│ │ │ ├─munsell 0.5.1 [new][bld][dl] (182.31 kB)
│ │ │ │ └─colorspace 2.1-0 [new][bld][cmp][dl] (2.12 MB)
│ │ │ ├─R6
│ │ │ ├─RColorBrewer 1.1-3 [new][bld][dl] (11.64 kB)
│ │ │ ├─rlang
│ │ │ └─viridisLite 0.4.2 [new][bld][dl] (1.27 MB)
│ │ ├─tibble
│ │ ├─vctrs
│ │ └─withr
│ ├─gridExtra 2.3 [new][bld][dl] (1.06 MB)
│ │ └─gtable
│ ├─scales
│ ├─reshape2 1.4.4 [new][bld][cmp][dl] (37.31 kB)
│ │ ├─plyr 1.8.9 [new][bld][cmp][dl] (401.49 kB)
│ │ │ └─Rcpp 1.0.12 [new][bld][cmp][dl] (3.43 MB)
│ │ ├─Rcpp
│ │ └─stringr 1.5.1 [new][bld][dl] (176.60 kB)
│ │   ├─cli
│ │   ├─glue
│ │   ├─lifecycle
│ │   ├─magrittr
│ │   ├─rlang
│ │   ├─stringi 1.8.3 [new][bld][cmp][dl] (11.92 MB)
│ │   └─vctrs
│ ├─gtable
│ ├─Hmisc 5.1-2 [new][bld][cmp][dl] (876.75 kB)
│ │ ├─ggplot2
│ │ ├─cluster 2.1.6 
│ │ ├─rpart 4.1.23 
│ │ ├─nnet 7.3-19 
│ │ ├─foreign 0.8-86 
│ │ ├─gtable
│ │ ├─gridExtra
│ │ ├─data.table 1.15.4 [new][bld][cmp][dl] (5.39 MB)
│ │ ├─htmlTable 2.4.2 [new][bld][dl] (436.12 kB)
│ │ │ ├─stringr
│ │ │ ├─knitr 1.46 [new][bld][dl] (471.55 kB)
│ │ │ │ ├─evaluate 0.23 [new][bld][dl] (28.35 kB)
│ │ │ │ ├─highr 0.10 [new][bld][dl] (15.08 kB)
│ │ │ │ │ └─xfun 0.43 [new][bld][cmp][dl] (144.50 kB)
│ │ │ │ ├─xfun
│ │ │ │ └─yaml 2.3.8 [new][bld][cmp][dl] (94.76 kB)
│ │ │ ├─magrittr
│ │ │ ├─checkmate 2.3.1 [new][bld][cmp][dl] (225.53 kB)
│ │ │ │ └─backports 1.4.1 [new][bld][cmp][dl] (26.20 kB)
│ │ │ ├─htmlwidgets 1.6.4 [new][bld][dl] (868.89 kB)
│ │ │ │ ├─htmltools 0.5.8.1 [new][bld][cmp][dl] (135.13 kB)
│ │ │ │ │ ├─base64enc 0.1-3 [new][bld][cmp][dl] (7.83 kB)
│ │ │ │ │ ├─digest 0.6.35 [new][bld][cmp][dl] (230.39 kB)
│ │ │ │ │ ├─fastmap 1.1.1 [new][bld][cmp][dl] (46.41 kB)
│ │ │ │ │ └─rlang
│ │ │ │ ├─jsonlite 1.8.8 [new][bld][cmp][dl] (1.05 MB)
│ │ │ │ ├─knitr
│ │ │ │ ├─rmarkdown 2.26 [new][bld][dl] (2.19 MB)
│ │ │ │ │ ├─bslib 0.7.0 [new][bld][dl] (5.13 MB)
│ │ │ │ │ │ ├─base64enc
│ │ │ │ │ │ ├─cachem 1.0.8 [new][bld][cmp][dl] (26.51 kB)
│ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ └─fastmap
│ │ │ │ │ │ ├─fastmap
│ │ │ │ │ │ ├─htmltools
│ │ │ │ │ │ ├─jquerylib 0.1.4 [new][bld][dl] (520.21 kB)
│ │ │ │ │ │ │ └─htmltools
│ │ │ │ │ │ ├─jsonlite
│ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ ├─memoise 2.0.1 [new][bld][dl] (17.85 kB)
│ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ └─cachem
│ │ │ │ │ │ ├─mime 0.12 [new][bld][cmp][dl] (12.56 kB)
│ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ └─sass 0.4.9 [new][bld][cmp][dl] (3.03 MB)
│ │ │ │ │ │   ├─fs 1.6.3 [new][bld][cmp][dl] (1.19 MB)
│ │ │ │ │ │   ├─rlang
│ │ │ │ │ │   ├─htmltools
│ │ │ │ │ │   ├─R6
│ │ │ │ │ │   └─rappdirs 0.3.3 [new][bld][cmp][dl] (12.29 kB)
│ │ │ │ │ ├─evaluate
│ │ │ │ │ ├─fontawesome 0.5.2 [new][bld][dl] (1.28 MB)
│ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ └─htmltools
│ │ │ │ │ ├─htmltools
│ │ │ │ │ ├─jquerylib
│ │ │ │ │ ├─jsonlite
│ │ │ │ │ ├─knitr
│ │ │ │ │ ├─tinytex 0.50 [new][bld][dl] (34.31 kB)
│ │ │ │ │ │ └─xfun
│ │ │ │ │ ├─xfun
│ │ │ │ │ └─yaml
│ │ │ │ └─yaml
│ │ │ ├─htmltools
│ │ │ └─rstudioapi 0.16.0 [new][bld][dl] (117.42 kB)
│ │ ├─viridis 0.6.5 [new][bld][dl] (3.05 MB)
│ │ │ ├─viridisLite
│ │ │ ├─ggplot2
│ │ │ └─gridExtra
│ │ ├─htmltools
│ │ ├─base64enc
│ │ ├─colorspace
│ │ ├─rmarkdown
│ │ ├─knitr
│ │ └─Formula 1.2-5 [new][bld][dl] (128.26 kB)
│ ├─biovizBase 1.50.0 [new][bld][cmp][dl] (unknown size)
│ │ ├─scales
│ │ ├─Hmisc
│ │ ├─RColorBrewer
│ │ ├─dichromat 2.0-0.1 [new][bld][dl] (84.90 kB)
│ │ ├─BiocGenerics
│ │ ├─S4Vectors
│ │ ├─IRanges
│ │ ├─GenomeInfoDb
│ │ ├─GenomicRanges
│ │ ├─SummarizedExperiment 1.32.0 [new][bld][dl] (unknown size)
│ │ │ ├─MatrixGenerics 1.14.0 [new][bld][dl] (unknown size)
│ │ │ │ └─matrixStats 1.3.0 [new][bld][cmp][dl] (210.87 kB)
│ │ │ ├─GenomicRanges
│ │ │ ├─Biobase 2.62.0 [new][bld][cmp][dl] (unknown size)
│ │ │ │ └─BiocGenerics
│ │ │ ├─Matrix
│ │ │ ├─BiocGenerics
│ │ │ ├─S4Vectors
│ │ │ ├─IRanges
│ │ │ ├─GenomeInfoDb
│ │ │ ├─S4Arrays 1.2.1 [new][bld][cmp][dl] (unknown size)
│ │ │ │ ├─Matrix
│ │ │ │ ├─abind 1.4-5 [new][bld][dl] (21.81 kB)
│ │ │ │ ├─BiocGenerics
│ │ │ │ ├─S4Vectors
│ │ │ │ ├─IRanges
│ │ │ │ └─crayon 1.5.2 [new][bld][dl] (40.57 kB)
│ │ │ └─DelayedArray 0.28.0 [new][bld][cmp][dl] (unknown size)
│ │ │   ├─Matrix
│ │ │   ├─BiocGenerics
│ │ │   ├─MatrixGenerics
│ │ │   ├─S4Vectors
│ │ │   ├─IRanges
│ │ │   ├─S4Arrays
│ │ │   └─SparseArray 1.2.4 [new][bld][cmp][dl] (unknown size)
│ │ │     ├─Matrix
│ │ │     ├─BiocGenerics
│ │ │     ├─MatrixGenerics
│ │ │     ├─S4Vectors
│ │ │     ├─S4Arrays
│ │ │     ├─matrixStats
│ │ │     ├─IRanges
│ │ │     └─XVector
│ │ ├─Biostrings 2.70.3 [new][bld][cmp][dl] (unknown size)
│ │ │ ├─BiocGenerics
│ │ │ ├─S4Vectors
│ │ │ ├─IRanges
│ │ │ ├─XVector
│ │ │ ├─GenomeInfoDb
│ │ │ └─crayon
│ │ ├─Rsamtools 2.18.0 [new][bld][cmp][dl] (unknown size)
│ │ │ ├─GenomeInfoDb
│ │ │ ├─GenomicRanges
│ │ │ ├─Biostrings
│ │ │ ├─BiocGenerics
│ │ │ ├─S4Vectors
│ │ │ ├─IRanges
│ │ │ ├─XVector
│ │ │ ├─zlibbioc
│ │ │ ├─bitops
│ │ │ ├─BiocParallel 1.36.0 [new][bld][cmp][dl] (unknown size)
│ │ │ │ ├─futile.logger 1.4.3 [new][bld][dl] (17.46 kB)
│ │ │ │ │ ├─lambda.r 1.2.4 [new][bld][dl] (25.67 kB)
│ │ │ │ │ │ └─formatR 1.14 [new][bld][dl] (96.08 kB)
│ │ │ │ │ └─futile.options 1.0.1 [new][bld][dl] (3.92 kB)
│ │ │ │ ├─snow 0.4-4 [new][bld][dl] (20.46 kB)
│ │ │ │ ├─codetools 0.2-19 -> 0.2-20 [upd][bld][dl] (38.68 kB)
│ │ │ │ ├─BH 1.84.0-0 [new][bld][dl] (14.02 MB)
│ │ │ │ └─cpp11 0.4.7 [new][bld][dl] (285.78 kB)
│ │ │ └─Rhtslib 2.4.1 [new][bld][cmp][dl] (unknown size)
│ │ │   └─zlibbioc
│ │ ├─GenomicAlignments 1.38.2 [new][bld][cmp][dl] (unknown size)
│ │ │ ├─BiocGenerics
│ │ │ ├─S4Vectors
│ │ │ ├─IRanges
│ │ │ ├─GenomeInfoDb
│ │ │ ├─GenomicRanges
│ │ │ ├─SummarizedExperiment
│ │ │ ├─Biostrings
│ │ │ ├─Rsamtools
│ │ │ └─BiocParallel
│ │ ├─GenomicFeatures 1.54.4 [new][bld][dl] (unknown size)
│ │ │ ├─BiocGenerics
│ │ │ ├─S4Vectors
│ │ │ ├─IRanges
│ │ │ ├─GenomeInfoDb
│ │ │ ├─GenomicRanges
│ │ │ ├─AnnotationDbi 1.64.1 [new][bld][dl] (unknown size)
│ │ │ │ ├─BiocGenerics
│ │ │ │ ├─Biobase
│ │ │ │ ├─IRanges
│ │ │ │ ├─DBI 1.2.2 [new][bld][dl] (1.13 MB)
│ │ │ │ ├─RSQLite 2.3.6 [new][bld][cmp][dl] (4.25 MB)
│ │ │ │ │ ├─bit64 4.0.5 [new][bld][cmp][dl] (135.09 kB)
│ │ │ │ │ │ └─bit 4.0.5 [new][bld][cmp][dl] (827.75 kB)
│ │ │ │ │ ├─blob 1.2.4 [new][bld][dl] (10.62 kB)
│ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ └─vctrs
│ │ │ │ │ ├─DBI
│ │ │ │ │ ├─memoise
│ │ │ │ │ ├─pkgconfig
│ │ │ │ │ ├─rlang
│ │ │ │ │ ├─plogr 0.2.0 [new][bld][dl] (7.79 kB)
│ │ │ │ │ └─cpp11
│ │ │ │ ├─S4Vectors
│ │ │ │ └─KEGGREST 1.42.0 [new][bld][dl] (unknown size)
│ │ │ │   ├─httr 1.4.7 [new][bld][dl] (118.50 kB)
│ │ │ │   │ ├─curl 5.2.1 [new][bld][cmp][dl] (716.70 kB)
│ │ │ │   │ ├─jsonlite
│ │ │ │   │ ├─mime
│ │ │ │   │ ├─openssl 2.1.1 [new][bld][cmp][dl] (1.21 MB)
│ │ │ │   │ │ └─askpass 1.2.0 [new][bld][cmp][dl] (6.04 kB)
│ │ │ │   │ │   └─sys 3.4.2 [new][bld][cmp][dl] (20.17 kB)
│ │ │ │   │ └─R6
│ │ │ │   ├─png 0.1-8 [new][bld][cmp][dl] (24.88 kB)
│ │ │ │   └─Biostrings
│ │ │ ├─httr
│ │ │ ├─rjson 0.2.21 [new][bld][cmp][dl] (116.51 kB)
│ │ │ ├─DBI
│ │ │ ├─RSQLite
│ │ │ ├─XVector
│ │ │ ├─Biostrings
│ │ │ ├─BiocIO 1.12.0 [new][bld][dl] (unknown size)
│ │ │ │ ├─BiocGenerics
│ │ │ │ └─S4Vectors
│ │ │ ├─rtracklayer 1.62.0 [new][bld][cmp][dl] (unknown size)
│ │ │ │ ├─GenomicRanges
│ │ │ │ ├─XML 3.99-0.16.1 [new][bld][cmp][dl] (971.99 kB)
│ │ │ │ ├─BiocGenerics
│ │ │ │ ├─S4Vectors
│ │ │ │ ├─IRanges
│ │ │ │ ├─XVector
│ │ │ │ ├─GenomeInfoDb
│ │ │ │ ├─Biostrings
│ │ │ │ ├─zlibbioc
│ │ │ │ ├─RCurl
│ │ │ │ ├─Rsamtools
│ │ │ │ ├─GenomicAlignments
│ │ │ │ ├─BiocIO
│ │ │ │ └─restfulr 0.0.15 [new][bld][cmp][dl] (15.03 kB)
│ │ │ │   ├─XML
│ │ │ │   ├─RCurl
│ │ │ │   ├─rjson
│ │ │ │   ├─S4Vectors
│ │ │ │   └─yaml
│ │ │ ├─biomaRt 2.58.2 [new][bld][dl] (unknown size)
│ │ │ │ ├─XML
│ │ │ │ ├─AnnotationDbi
│ │ │ │ ├─progress 1.2.3 [new][bld][dl] (30.50 kB)
│ │ │ │ │ ├─crayon
│ │ │ │ │ ├─hms 1.1.3 [new][bld][dl] (43.38 kB)
│ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ ├─pkgconfig
│ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ └─vctrs
│ │ │ │ │ ├─prettyunits 1.2.0 [new][bld][dl] (97.50 kB)
│ │ │ │ │ └─R6
│ │ │ │ ├─stringr
│ │ │ │ ├─httr
│ │ │ │ ├─digest
│ │ │ │ ├─BiocFileCache 2.10.2 [new][bld][dl] (unknown size)
│ │ │ │ │ ├─dbplyr 2.5.0 [new][bld][dl] (770.65 kB)
│ │ │ │ │ │ ├─blob
│ │ │ │ │ │ ├─cli
│ │ │ │ │ │ ├─DBI
│ │ │ │ │ │ ├─dplyr
│ │ │ │ │ │ ├─glue
│ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ ├─magrittr
│ │ │ │ │ │ ├─pillar
│ │ │ │ │ │ ├─purrr 1.0.2 [new][bld][cmp][dl] (220.87 kB)
│ │ │ │ │ │ │ ├─cli
│ │ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ │ ├─magrittr
│ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ └─vctrs
│ │ │ │ │ │ ├─R6
│ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ ├─tibble
│ │ │ │ │ │ ├─tidyr 1.3.1 [new][bld][cmp][dl] (809.06 kB)
│ │ │ │ │ │ │ ├─cli
│ │ │ │ │ │ │ ├─dplyr
│ │ │ │ │ │ │ ├─glue
│ │ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ │ ├─magrittr
│ │ │ │ │ │ │ ├─purrr
│ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ ├─stringr
│ │ │ │ │ │ │ ├─tibble
│ │ │ │ │ │ │ ├─tidyselect
│ │ │ │ │ │ │ ├─vctrs
│ │ │ │ │ │ │ └─cpp11
│ │ │ │ │ │ ├─tidyselect
│ │ │ │ │ │ ├─vctrs
│ │ │ │ │ │ └─withr
│ │ │ │ │ ├─dplyr
│ │ │ │ │ ├─RSQLite
│ │ │ │ │ ├─DBI
│ │ │ │ │ ├─filelock 1.0.3 [new][bld][cmp][dl] (15.44 kB)
│ │ │ │ │ ├─curl
│ │ │ │ │ └─httr
│ │ │ │ ├─rappdirs
│ │ │ │ └─xml2 1.3.6 [new][bld][cmp][dl] (294.71 kB)
│ │ │ │   ├─cli
│ │ │ │   └─rlang
│ │ │ └─Biobase
│ │ ├─AnnotationDbi
│ │ ├─VariantAnnotation 1.48.1 [new][bld][cmp][dl] (unknown size)
│ │ │ ├─BiocGenerics
│ │ │ ├─MatrixGenerics
│ │ │ ├─GenomeInfoDb
│ │ │ ├─GenomicRanges
│ │ │ ├─SummarizedExperiment
│ │ │ ├─Rsamtools
│ │ │ ├─DBI
│ │ │ ├─zlibbioc
│ │ │ ├─Biobase
│ │ │ ├─S4Vectors
│ │ │ ├─IRanges
│ │ │ ├─XVector
│ │ │ ├─Biostrings
│ │ │ ├─AnnotationDbi
│ │ │ ├─rtracklayer
│ │ │ ├─BSgenome 1.70.2 [new][bld][dl] (unknown size)
│ │ │ │ ├─BiocGenerics
│ │ │ │ ├─S4Vectors
│ │ │ │ ├─IRanges
│ │ │ │ ├─GenomeInfoDb
│ │ │ │ ├─GenomicRanges
│ │ │ │ ├─Biostrings
│ │ │ │ ├─BiocIO
│ │ │ │ ├─rtracklayer
│ │ │ │ ├─matrixStats
│ │ │ │ ├─XVector
│ │ │ │ └─Rsamtools
│ │ │ ├─GenomicFeatures
│ │ │ └─Rhtslib
│ │ ├─ensembldb 2.26.0 [new][bld][dl] (unknown size)
│ │ │ ├─BiocGenerics
│ │ │ ├─GenomicRanges
│ │ │ ├─GenomicFeatures
│ │ │ ├─AnnotationFilter 1.26.0 [new][bld][dl] (unknown size)
│ │ │ │ ├─GenomicRanges
│ │ │ │ └─lazyeval 0.2.2 [new][bld][cmp][dl] (83.48 kB)
│ │ │ ├─RSQLite
│ │ │ ├─DBI
│ │ │ ├─Biobase
│ │ │ ├─GenomeInfoDb
│ │ │ ├─AnnotationDbi
│ │ │ ├─rtracklayer
│ │ │ ├─S4Vectors
│ │ │ ├─Rsamtools
│ │ │ ├─IRanges
│ │ │ ├─ProtGenerics 1.34.0 [new][bld][dl] (unknown size)
│ │ │ ├─Biostrings
│ │ │ └─curl
│ │ ├─AnnotationFilter
│ │ └─rlang
│ ├─Biobase
│ ├─S4Vectors
│ ├─IRanges
│ ├─GenomeInfoDb
│ ├─GenomicRanges
│ ├─SummarizedExperiment
│ ├─Biostrings
│ ├─Rsamtools
│ ├─GenomicAlignments
│ ├─BSgenome
│ ├─VariantAnnotation
│ ├─rtracklayer
│ ├─GenomicFeatures
│ ├─OrganismDbi 1.44.0 [new][bld][dl] (unknown size)
│ │ ├─BiocGenerics
│ │ ├─AnnotationDbi
│ │ ├─GenomicFeatures
│ │ ├─Biobase
│ │ ├─BiocManager 1.30.22 [new][bld][dl] (582.69 kB)
│ │ ├─GenomicRanges
│ │ ├─graph 1.80.0 [new][bld][cmp][dl] (unknown size)
│ │ │ └─BiocGenerics
│ │ ├─IRanges
│ │ ├─RBGL 1.78.0 [new][bld][cmp][dl] (unknown size)
│ │ │ ├─graph
│ │ │ └─BH
│ │ ├─DBI
│ │ └─S4Vectors
│ ├─GGally 2.2.1 [new][bld][dl] (1.73 MB)
│ │ ├─ggplot2
│ │ ├─dplyr
│ │ ├─tidyr
│ │ ├─ggstats 0.6.0 [new][bld][dl] (722.55 kB)
│ │ │ ├─broom.helpers 1.15.0 [new][bld][dl] (200.13 kB)
│ │ │ │ ├─broom 1.0.5 [new][bld][dl] (641.85 kB)
│ │ │ │ │ ├─backports
│ │ │ │ │ ├─dplyr
│ │ │ │ │ ├─ellipsis 0.3.2 [new][bld][cmp][dl] (8.07 kB)
│ │ │ │ │ │ └─rlang
│ │ │ │ │ ├─generics
│ │ │ │ │ ├─glue
│ │ │ │ │ ├─lifecycle
│ │ │ │ │ ├─purrr
│ │ │ │ │ ├─rlang
│ │ │ │ │ ├─stringr
│ │ │ │ │ ├─tibble
│ │ │ │ │ └─tidyr
│ │ │ │ ├─cli
│ │ │ │ ├─dplyr
│ │ │ │ ├─labelled 2.12.0 [new][bld][dl] (238.62 kB)
│ │ │ │ │ ├─haven 2.5.4 [new][bld][cmp][dl] (313.33 kB)
│ │ │ │ │ │ ├─cli
│ │ │ │ │ │ ├─forcats 1.0.0 [new][bld][dl] (294.18 kB)
│ │ │ │ │ │ │ ├─cli
│ │ │ │ │ │ │ ├─glue
│ │ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ │ ├─magrittr
│ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ └─tibble
│ │ │ │ │ │ ├─hms
│ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ ├─readr 2.1.5 [new][bld][cmp][dl] (298.06 kB)
│ │ │ │ │ │ │ ├─cli
│ │ │ │ │ │ │ ├─clipr 0.8.0 [new][bld][dl] (21.90 kB)
│ │ │ │ │ │ │ ├─crayon
│ │ │ │ │ │ │ ├─hms
│ │ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ │ ├─R6
│ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ ├─tibble
│ │ │ │ │ │ │ ├─vroom 1.6.5 [new][bld][cmp][dl] (750.42 kB)
│ │ │ │ │ │ │ │ ├─bit64
│ │ │ │ │ │ │ │ ├─cli
│ │ │ │ │ │ │ │ ├─crayon
│ │ │ │ │ │ │ │ ├─glue
│ │ │ │ │ │ │ │ ├─hms
│ │ │ │ │ │ │ │ ├─lifecycle
│ │ │ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ │ │ ├─tibble
│ │ │ │ │ │ │ │ ├─tidyselect
│ │ │ │ │ │ │ │ ├─tzdb 0.4.0 [new][bld][cmp][dl] (586.33 kB)
│ │ │ │ │ │ │ │ │ └─cpp11
│ │ │ │ │ │ │ │ ├─vctrs
│ │ │ │ │ │ │ │ ├─withr
│ │ │ │ │ │ │ │ ├─cpp11
│ │ │ │ │ │ │ │ └─progress
│ │ │ │ │ │ │ ├─cpp11
│ │ │ │ │ │ │ └─tzdb
│ │ │ │ │ │ ├─rlang
│ │ │ │ │ │ ├─tibble
│ │ │ │ │ │ ├─tidyselect
│ │ │ │ │ │ ├─vctrs
│ │ │ │ │ │ └─cpp11
│ │ │ │ │ ├─dplyr
│ │ │ │ │ ├─lifecycle
│ │ │ │ │ ├─rlang
│ │ │ │ │ ├─vctrs
│ │ │ │ │ ├─stringr
│ │ │ │ │ └─tidyr
│ │ │ │ ├─lifecycle
│ │ │ │ ├─purrr
│ │ │ │ ├─rlang
│ │ │ │ ├─stringr
│ │ │ │ ├─tibble
│ │ │ │ └─tidyr
│ │ │ ├─cli
│ │ │ ├─dplyr
│ │ │ ├─forcats
│ │ │ ├─ggplot2
│ │ │ ├─lifecycle
│ │ │ ├─magrittr
│ │ │ ├─patchwork 1.2.0 [new][bld][dl] (3.29 MB)
│ │ │ │ ├─ggplot2
│ │ │ │ ├─gtable
│ │ │ │ ├─rlang
│ │ │ │ └─cli
│ │ │ ├─purrr
│ │ │ ├─rlang
│ │ │ ├─scales
│ │ │ ├─stringr
│ │ │ └─tidyr
│ │ ├─gtable
│ │ ├─lifecycle
│ │ ├─plyr
│ │ ├─progress
│ │ ├─RColorBrewer
│ │ ├─rlang
│ │ ├─scales
│ │ └─magrittr
│ ├─ensembldb
│ ├─AnnotationDbi
│ ├─AnnotationFilter
│ └─rlang
├─ggh4x 0.2.8 [new][bld][dl] (1.31 MB)
│ ├─ggplot2
│ ├─gtable
│ ├─scales
│ ├─vctrs
│ ├─rlang
│ ├─lifecycle
│ └─cli
├─ggplot2
├─ggrepel 0.9.5 [new][bld][cmp][dl] (151.03 kB)
│ ├─ggplot2
│ ├─Rcpp
│ ├─rlang
│ ├─scales
│ └─withr
├─IRanges
├─magrittr
├─patchwork
├─RColorBrewer
├─rlang
├─Rsamtools
├─rtracklayer
├─scales
├─GenomeInfoDb
├─S4Vectors
├─Biostrings
├─BSgenome
├─GenomicAlignments
├─reshape2
├─seqinr 4.2-36 [new][bld][cmp][dl] (3.54 MB)
│ ├─ade4 1.7-22 [new][bld][cmp][dl] (3.37 MB)
│ │ ├─MASS
│ │ ├─pixmap 0.4-12 [new][bld][dl] (34.64 kB)
│ │ ├─sp 2.1-3 [new][bld][cmp][dl] (1.24 MB)
│ │ │ └─lattice
│ │ ├─Rcpp
│ │ └─RcppArmadillo 0.12.8.2.1 [new][bld][cmp][dl] (1.41 MB)
│ │   └─Rcpp
│ └─segmented 2.0-3 [new][bld][dl] (274.59 kB)
│   ├─MASS
│   └─nlme
├─ggforce 0.4.2 [new][bld][cmp][dl] (866.25 kB)
│ ├─ggplot2
│ ├─Rcpp
│ ├─scales
│ ├─MASS
│ ├─tweenr 2.0.3 [new][bld][cmp][dl] (585.00 kB)
│ │ ├─farver
│ │ ├─magrittr
│ │ ├─rlang
│ │ ├─vctrs
│ │ └─cpp11
│ ├─gtable
│ ├─rlang
│ ├─polyclip 1.10-6 [new][bld][cmp][dl] (79.83 kB)
│ ├─tidyselect
│ ├─withr
│ ├─lifecycle
│ ├─cli
│ ├─vctrs
│ ├─systemfonts 1.0.6 [new][bld][cmp][dl] (80.84 kB)
│ │ └─cpp11
│ └─RcppEigen 0.3.4.0.0 [new][bld][cmp][dl] (1.77 MB)
│   └─Rcpp
├─HiCBricks 1.20.0 [new][bld][dl] (unknown size)
│ ├─curl
│ ├─rhdf5 2.46.1 [new][bld][cmp][dl] (unknown size)
│ │ ├─Rhdf5lib 1.24.2 [new][bld][cmp][dl] (unknown size)
│ │ ├─rhdf5filters 1.14.1 [new][bld][cmp][dl] (unknown size)
│ │ │ └─Rhdf5lib
│ │ └─S4Vectors
│ ├─R6
│ ├─ggplot2
│ ├─viridis
│ ├─RColorBrewer
│ ├─scales
│ ├─reshape2
│ ├─stringr
│ ├─data.table
│ ├─GenomeInfoDb
│ ├─GenomicRanges
│ ├─IRanges
│ ├─S4Vectors
│ ├─digest
│ ├─tibble
│ ├─jsonlite
│ ├─BiocParallel
│ ├─R.utils 2.12.3 [new][bld][dl] (364.19 kB)
│ │ ├─R.oo 1.26.0 [new][bld][dl] (383.65 kB)
│ │ │ └─R.methodsS3 1.8.2 [new][bld][dl] (24.13 kB)
│ │ └─R.methodsS3
│ └─readr
├─ggpattern 1.0.1 [new][bld][dl] (4.16 MB)
│ ├─ggplot2
│ ├─glue
│ ├─gridpattern 1.1.1 [new][bld][dl] (2.47 MB)
│ │ ├─glue
│ │ ├─memoise
│ │ ├─png
│ │ ├─rlang
│ │ └─sf 1.0-16 [new][bld][cmp][dl] (3.49 MB)
│ │   ├─classInt 0.4-10 [new][bld][cmp][dl] (440.27 kB)
│ │   │ ├─e1071 1.7-14 [new][bld][cmp][dl] (326.38 kB)
│ │   │ │ ├─class 7.3-22 
│ │   │ │ │ └─MASS
│ │   │ │ └─proxy 0.4-27 [new][bld][cmp][dl] (74.62 kB)
│ │   │ ├─class
│ │   │ └─KernSmooth 2.23-22 
│ │   ├─DBI
│ │   ├─magrittr
│ │   ├─Rcpp
│ │   ├─s2 1.1.6 [new][bld][cmp][dl] (2.38 MB)
│ │   │ ├─Rcpp
│ │   │ └─wk 0.9.1 [new][bld][cmp][dl] (1.04 MB)
│ │   └─units 0.8-5 [new][bld][cmp][dl] (247.97 kB)
│ │     └─Rcpp
│ ├─rlang
│ └─scales
├─BiocParallel
├─openxlsx 4.2.5.2 [new][bld][cmp][dl] (1.34 MB)
│ ├─Rcpp
│ ├─stringi
│ └─zip 2.3.1 [new][bld][cmp][dl] (111.28 kB)
├─stringr
└─gridExtra

unable to plot a basic coverage?

I could not plot a basic coverage from my .bw files converted from .bam by deeptools.
I wonder whether I misunderstood what the manual says.

Error in UseMethod("group_by") : no applicable method for 'group_by' applied to an object of class "NULL" `

The full code run follows:
library("rtracklayer")
library("graphics")
library("ggcoverage")

bw <- c("/data1.bam.bw", "/data2.bam.bw")
meta<- data.frame(SampleName=c("data1.bam", "data2.bam"),
Type=c("type1","type2"),
Group=c("group1", "group2"))
track.df <- LoadTrackFile(bw,
meta.info = meta,
format ="bw")
ggcoverage(data = track.df)

---environment---
R version 4.2.2 (2022-10-31) -- "Innocent and Trusting"
Platform: x86_64-apple-darwin17.0 (64-bit)

在ggcoverage中绘制基因结构的注释图的三个问题

1)读取的gff文件需要包含哪些基因信息,才能正常绘制?
原本用烟草参考基因组注释文件画图时会报错:

> basic.coverage + geom_gene(gtf.gr = gtf.gr)
Error in `dplyr::select()`:
! Can't subset columns that don't exist.Column `gene_type` doesn't exist.
Run `rlang::last_error()` to see where the error occurred.
> 

对比示例gtf文件,发现缺少一些基因注释信息,手动补充了一下,可以画出来了,但是读取的gff文件需要包含哪些基因信息,才能正常绘制?

3D6B2F83-DD18-4809-A3D5-8562AE57C743
90573A0F-BA15-41f2-8981-04C121FFF08F

2)目标基因有7个外显子,为何只显示六个?
目标基因包含有7个外显子,为何只显示六个?图中的各形状分别代表哪些基因信息?此外是否有图例参考?
520A217C-3992-4006-9947-CD4D0A0D33F6

3)目标基因所在的基因组区间也不对
目标基因位于421068-432552,为何图上从420000之前就开始?
4B18FB67-B159-4029-B019-38651CE0CB37

4)可否提供您的邮箱以便发送代码和输入文件测试?

Error when running ggcoverage() examples

Hello, I have installed the ggcoverage and currently testing this package running ggcoverage() examples. But the problem arose when I wanted to draw an ideogram, here's the error message:
Loading ideogram...
Error in normArgTrack(track, trackids) : Unknown track: cytoBand
cytoBand informatin is not available, only get ranges.
Loading ranges...
Done
Error in .local(data, ...) :
Need cytoband information, please check the getIdeogram function

Thank you for developing ggcoverage and providing me with a great tool for visualizing genes and variation information. I also appreciate your help in solving this problem.

Best,
Yanze

Column `seqnames` doesn't exist when adding geom_gene()

I ran the following code:

plt <- ggcoverage(data = data, plot.type = "joint", facet.key = "Type", group.key = "Group", joint.avg = TRUE, range.position = "out")
plt <- plt + geom_gene(gtf.gr = gtf.gr)

But I got the error message:
Error in track.data[1, "seqnames"]:
! Can't subset columns that don't exist.
✖ Column seqnames doesn't exist.

Here is the details of traceback()

23: stop(fallback)
22: signal_abort(cnd)
21: cnd_signal(cnd)
20: (function (cnd)
{
cnd$subscript_arg <- j_arg
cnd$subscript_elt <- "column"
if (isTRUE(assign) && !isTRUE(cnd$subscript_action %in% c("negate"))) {
cnd$subscript_action <- "assign"
}
cnd_signal(cnd)
})(structure(list(message = "", trace = structure(list(call = list(
+.gg(plt, geom_gene(gtf.gr = gtf.gr)), e1 %+% e2, add_ggplot(e1,
e2, e2name), ggplot_add(object, p, objectname), ggplot_add.gene(object,
p, objectname), track.data[1, "seqnames"], [.grouped_df(track.data,
1, "seqnames"), NextMethod(), [.tbl_df(track.data,
1, "seqnames"), vectbl_as_col_location(j, length(x),
names(x), j_arg = j_arg, assign = FALSE), subclass_col_index_errors(vec_as_location(j,
n, names, missing = "error", call = call), j_arg = j_arg,
assign = assign), withCallingHandlers(expr, vctrs_error_subscript = function(cnd) {
cnd$subscript_arg <- j_arg
cnd$subscript_elt <- "column"
if (isTRUE(assign) && !isTRUE(cnd$subscript_action %in%
...
19: signalCondition(cnd)
18: signal_abort(cnd, .file)
17: abort(class = c(class, "vctrs_error_subscript"), i = i, ...,
call = call)
16: stop_subscript(class = "vctrs_error_subscript_oob", i = i, subscript_type = subscript_type,
..., call = call)
15: stop_subscript_oob(i = i, subscript_type = subscript_type, names = names,
subscript_action = subscript_action, subscript_arg = subscript_arg,
call = call)
14: (function ()
stop_subscript_oob(i = i, subscript_type = subscript_type, names = names,
subscript_action = subscript_action, subscript_arg = subscript_arg,
call = call))()
13: vec_as_location(j, n, names, missing = "error", call = call)
12: withCallingHandlers(expr, vctrs_error_subscript = function(cnd) {
cnd$subscript_arg <- j_arg
cnd$subscript_elt <- "column"
if (isTRUE(assign) && !isTRUE(cnd$subscript_action %in% c("negate"))) {
cnd$subscript_action <- "assign"
}
cnd_signal(cnd)
})
11: subclass_col_index_errors(vec_as_location(j, n, names, missing = "error",
call = call), j_arg = j_arg, assign = assign)
10: vectbl_as_col_location(j, length(x), names(x), j_arg = j_arg,
assign = FALSE)
9: [.tbl_df(track.data, 1, "seqnames")
8: NextMethod()
7: [.grouped_df(track.data, 1, "seqnames")
6: track.data[1, "seqnames"]
5: ggplot_add.gene(object, p, objectname)
4: ggplot_add(object, p, objectname)
3: add_ggplot(e1, e2, e2name)
2: e1 %+% e2
1: +.gg(plt, geom_gene(gtf.gr = gtf.gr))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.