Question: Cannot specify groups when overlaying aligned read tracks
gravatar for JohnTownsend
3 months ago by
JohnTownsend10 wrote:

I am trying to overlay two sets of read depth data on a single track in Gviz. As a minimal example, I can get this data plotted on two tracks:


coords <- seq(from=1000, to=5000, by=100)

starts1 <- sample(1500:4500, 10)
ends1 <- starts1 + 100
reads1 <- GRanges(Rle("chr1"), IRanges(starts1, ends1), strand = Rle("+"))

starts2 <- sample(1500:4500, 10)
ends2 <- starts2 + 100
reads2 <- GRanges(Rle("chr1"), IRanges(starts2, ends2), strand = Rle("+"))

ax <- GenomeAxisTrack()

T1 <- AlignedReadTrack(reads1)
T2 <- AlignedReadTrack(reads2)

plotTracks(list(ax, T1, T2))

I can also overlay these two tracks

ot <- OverlayTrack(list(T1, T2))

plotTracks(list(ax, ot))

However, this is not very useful as I cannot distinguish between the two datasets. So I've tried to specify each track as a separate group before overlaying them.

T1 <- AlignedReadTrack(reads1, groups = factor("sample 1", levels = c("sample 1", "sample 2")), legend = TRUE)
T2 <- AlignedReadTrack(reads2, groups = factor("sample 2", levels = c("sample 1", "sample 2")), legend = TRUE)

ot <- OverlayTrack(list(T1, T2))

plotTracks(list(ax, ot))

But this gives me the following error:

Error in rep(yy, nrow(valsS)) : invalid 'times' argument

Am I making a mistake somewhere? Or is this because the AlignedReadTrack is still in development, so there are still bugs like this coming up?

Many thanks!


PS. Here's my sessionInfo()

R version 3.4.2 (2017-09-28)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

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

other attached packages:
[1] Gviz_1.20.0          GenomicRanges_1.28.3 GenomeInfoDb_1.12.1  IRanges_2.10.2      
[5] S4Vectors_0.14.7     BiocGenerics_0.22.0

loaded via a namespace (and not attached):
 [1] Biobase_2.36.2                httr_1.2.1                    bit64_0.9-7                  
 [4] AnnotationHub_2.8.2           splines_3.4.2                 shiny_1.0.3                  
 [7] Formula_1.2-2                 interactiveDisplayBase_1.14.0 latticeExtra_0.6-28          
[10] blob_1.1.0                    BSgenome_1.44.0               GenomeInfoDbData_0.99.0      
[13] Rsamtools_1.28.0              yaml_2.1.14                   RSQLite_2.0                  
[16] backports_1.1.0               lattice_0.20-35               biovizBase_1.24.0            
[19] digest_0.6.12                 RColorBrewer_1.1-2            XVector_0.16.0               
[22] checkmate_1.8.3               colorspace_1.3-2              httpuv_1.3.3                 
[25] htmltools_0.3.6               Matrix_1.2-11                 plyr_1.8.4                   
[28] XML_3.98-1.7                  biomaRt_2.32.1                zlibbioc_1.22.0              
[31] xtable_1.8-2                  scales_0.4.1                  BiocParallel_1.10.1          
[34] htmlTable_1.9                 tibble_1.3.4                  AnnotationFilter_1.0.0       
[37] ggplot2_2.2.1                 SummarizedExperiment_1.6.3    GenomicFeatures_1.28.5       
[40] nnet_7.3-12                   lazyeval_0.2.0                mime_0.5                     
[43] survival_2.41-3               magrittr_1.5                  memoise_1.1.0                
[46] foreign_0.8-69                BiocInstaller_1.26.1          tools_3.4.2                  
[49] data.table_1.10.4             matrixStats_0.52.2            stringr_1.2.0                
[52] munsell_0.4.3                 cluster_2.0.6                 DelayedArray_0.2.7           
[55] AnnotationDbi_1.38.1          ensembldb_2.0.4               Biostrings_2.44.1            
[58] compiler_3.4.2                rlang_0.1.2.9000              RCurl_1.95-4.8               
[61] dichromat_2.0-0               VariantAnnotation_1.22.1      htmlwidgets_0.9              
[64] bitops_1.0-6                  base64enc_0.1-3               gtable_0.2.0                 
[67] curl_2.8.1                    DBI_0.6-1                     R6_2.2.2                     
[70] GenomicAlignments_1.12.2      gridExtra_2.2.1               knitr_1.16                   
[73] rtracklayer_1.36.3            bit_1.1-12                    Hmisc_4.0-3                  
[76] ProtGenerics_1.8.0            stringi_1.1.5                 Rcpp_0.12.13                 
[79] rpart_4.1-11                  acepack_1.4.1 
ADD COMMENTlink modified 3 months ago by Robert Ivanek460 • written 3 months ago by JohnTownsend10
gravatar for Robert Ivanek
3 months ago by
Robert Ivanek460
Robert Ivanek460 wrote:

Hi John,

You can either use annotation tracks and then code similar to this one should work:

T1 <- AnnotationTrack(reads1, feature = factor(rep("sample 1",length(reads1)), levels = c("sample 1", "sample 2")), shape = "box", showId=FALSE)
T2 <- AnnotationTrack(reads2, feature = factor(rep("sample 2",length(reads2)), levels = c("sample 1", "sample 2")), shape = "box", showId=FALSE)

ot <- OverlayTrack(list(T1, T2))

plotTracks(list(ax, ot), groupAnnotation = "feature", `sample 1` = "darkred", `sample 2` = "darkgreen")

Or if you want to show legend then you need to use DataTrack and then you can follow the example in the vignette (chapter 5.2 Overlays)

Hope that helps

ADD COMMENTlink written 3 months ago by Robert Ivanek460
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 142 users visited in the last hour