dagLogo Vignette

Introduction

A sequence logo has been widely used as a graphical representation of nucleic acid sequence motifs. There is a R package seqlogo(Bembom 2006) for drawing sequence logos for a single DNA motif. There is another R package motifStack(Ou et al. 2018) for depicting individual sequence motif as well as multiple motifs for amino acid (AA), DNA and RNA sequences.

IceLogo(Colaert et al. 2009) is a tool developed in Java for visualizing significantly conserved sequence patterns in a list of aligned AA sequences against a set of background sequences. Compared to webLogo(Crooks et al. 2004), which relies on information theory, IceLogo builds on probability theory. It is reported that IceLogo has a more dynamic nature and is more appropriate for analysis of conserved sequence patterns.

However, IceLogo can only compare conserved sequences to reference sequences at the individual amino acid level. As we know, some conserved sequence patterns are not conserved at the individual amino acid level, but conserved at the level of amino acid group characteristic of their physical and chemical properties, such as charge and hydrophobicity.

Here we developed a R/Bioconductor package dagLogo, for visualizing significantly conserved sequence patterns relative to a proper background set of sequences, with or without grouping amino acid residuals based on their physical and chemical properties. Figure 1 shows the flowchart of performing analysis using dagLogo. Comparing to existing tools, dagLogo allows aligned or not aligned subsequences of different length as input; Provides more options and functions to generate various background sets that can be tailored to fit the experimental design; Both significantly over- and under-represented amino acid residues can be plotted; AA residues can be grouped and statistical significance test can be performed at the group level.

Figure 1. Flowchart of performing analysis using dagLogo. Two ways to prepare an object of Proteome are colored in greenish and yellowish, while two alternative ways to build an object of dagPeptides are colored in blue and red..

Figure 1. Flowchart of performing analysis using dagLogo. Two ways to prepare an object of Proteome are colored in greenish and yellowish, while two alternative ways to build an object of dagPeptides are colored in blue and red.

Session Info

sessionInfo()
## R version 4.4.2 (2024-10-31)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.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.26.so;  LAPACK version 3.12.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## time zone: Etc/UTC
## tzcode source: system (glibc)
## 
## attached base packages:
## [1] stats4    grid      stats     graphics  grDevices utils     datasets 
## [8] methods   base     
## 
## other attached packages:
##  [1] Biostrings_2.75.3   GenomeInfoDb_1.43.2 XVector_0.47.0     
##  [4] IRanges_2.41.2      S4Vectors_0.45.2    motifStack_1.51.0  
##  [7] UniProt.ws_2.47.1   RSQLite_2.3.9       BiocGenerics_0.53.3
## [10] generics_0.1.3      biomaRt_2.63.0      dagLogo_1.45.0     
## [13] BiocStyle_2.35.0   
## 
## loaded via a namespace (and not attached):
##   [1] RColorBrewer_1.1-3          sys_3.4.3                  
##   [3] jsonlite_1.8.9              magrittr_2.0.3             
##   [5] rmarkdown_2.29              BiocIO_1.17.1              
##   [7] zlibbioc_1.52.0             vctrs_0.6.5                
##   [9] memoise_2.0.1               Rsamtools_2.23.1           
##  [11] RCurl_1.98-1.16             base64enc_0.1-3            
##  [13] htmltools_0.5.8.1           S4Arrays_1.7.1             
##  [15] BiocBaseUtils_1.9.0         progress_1.2.3             
##  [17] curl_6.0.1                  CNEr_1.43.0                
##  [19] SparseArray_1.7.2           sass_0.4.9                 
##  [21] pracma_2.4.4                bslib_0.8.0                
##  [23] htmlwidgets_1.6.4           plyr_1.8.9                 
##  [25] httr2_1.0.7                 cachem_1.1.0               
##  [27] buildtools_1.0.0            GenomicAlignments_1.43.0   
##  [29] lifecycle_1.0.4             pkgconfig_2.0.3            
##  [31] Matrix_1.7-1                R6_2.5.1                   
##  [33] fastmap_1.2.0               GenomeInfoDbData_1.2.13    
##  [35] MatrixGenerics_1.19.0       digest_0.6.37              
##  [37] colorspace_2.1-1            TFMPvalue_0.0.9            
##  [39] AnnotationDbi_1.69.0        GenomicRanges_1.59.1       
##  [41] seqLogo_1.73.0              filelock_1.0.3             
##  [43] httr_1.4.7                  abind_1.4-8                
##  [45] compiler_4.4.2              bit64_4.5.2                
##  [47] BiocParallel_1.41.0         DBI_1.2.3                  
##  [49] rjsoncons_1.3.1             R.utils_2.12.3             
##  [51] MASS_7.3-61                 rappdirs_0.3.3             
##  [53] poweRlaw_0.80.0             DelayedArray_0.33.3        
##  [55] rjson_0.2.23                gtools_3.9.5               
##  [57] caTools_1.18.3              tools_4.4.2                
##  [59] R.oo_1.27.0                 glue_1.8.0                 
##  [61] restfulr_0.0.15             reshape2_1.4.4             
##  [63] ade4_1.7-22                 TFBSTools_1.45.0           
##  [65] gtable_0.3.6                BSgenome_1.75.0            
##  [67] tzdb_0.4.0                  R.methodsS3_1.8.2          
##  [69] hms_1.1.3                   xml2_1.3.6                 
##  [71] pillar_1.10.0               stringr_1.5.1              
##  [73] dplyr_1.1.4                 BiocFileCache_2.15.0       
##  [75] lattice_0.22-6              rtracklayer_1.67.0         
##  [77] bit_4.5.0.1                 annotate_1.85.0            
##  [79] tidyselect_1.2.1            DirichletMultinomial_1.49.0
##  [81] GO.db_3.20.0                maketools_1.3.1            
##  [83] knitr_1.49                  grImport2_0.3-3            
##  [85] SummarizedExperiment_1.37.0 xfun_0.49                  
##  [87] Biobase_2.67.0              matrixStats_1.4.1          
##  [89] pheatmap_1.0.12             stringi_1.8.4              
##  [91] UCSC.utils_1.3.0            yaml_2.3.10                
##  [93] evaluate_1.0.1              codetools_0.2-20           
##  [95] tibble_3.2.1                BiocManager_1.30.25        
##  [97] cli_3.6.3                   xtable_1.8-4               
##  [99] munsell_0.5.1               jquerylib_0.1.4            
## [101] Rcpp_1.0.13-1               dbplyr_2.5.0               
## [103] png_0.1-8                   XML_3.99-0.17              
## [105] parallel_4.4.2              ggplot2_3.5.1              
## [107] readr_2.1.5                 blob_1.2.4                 
## [109] prettyunits_1.2.0           jpeg_0.1-10                
## [111] bitops_1.0-9                pwalign_1.3.1              
## [113] scales_1.3.0                crayon_1.5.3               
## [115] rlang_1.1.4                 KEGGREST_1.47.0
Bembom, Oliver. 2006. “seqLogo: Sequence Logos for DNA Sequence Alignments.” R Package Version 1.5.4.
Colaert, Niklaas, Kenny Helsens, Lennart Martens, Joel Vandekerckhove, and Kris Gevaert. 2009. “Improved Visualization of Protein Consensus Sequences by iceLogo.” Nature Methods 6 (11): 786–87.
Crooks, Gavin E., Gary Hon, John-Marc Chandonia, and Steven E. Brenner. 2004. “WebLogo: A Sequence Logo Generator.” Genome Research 14: 1188–90.
Ou, Jianhong, Scot A Wolfe, Michael H Brodsky, and Lihua Julie Zhu. 2018. “motifStack for the Analysis of Transcription Factor Binding Site Evolution.” Nature Methods 15 (1): 8.