EpiTxDb: creating an EpiTxDb object

Introduction

To create an EpiTxDb object a number of different functions are available. The most univeral functions are makeEpiTxDb and makeEpiTxDbFromGRanges. makeEpiTxDb uses four data.frames as input, whereas makeEpiTxDbFromGRanges is a wrapper for information available as a GRanges object.

The other functions are makeEpiTxDbFromRMBase and makeEpiTxDbFromtRNAdb, which are aimed to make data available from the RMBase v2.0 database (Xuan et al. 2017; Sun et al. 2015) or the tRNAdb (Jühling et al. 2009; Sprinzl and Vassilenko 2005). However, before creating your EpiTxDb objects, have a look at the already available resources for H. sapiens, M. musculus and S. cerevisiae.

Additional metadata can be provided as separate data.frame for all functions. The data.frame must have two columns name and value.

## Warning: replacing previous import 'GenomicFeatures::makeTxDbPackage' by
## 'txdbmaker::makeTxDbPackage' when loading 'EpiTxDb'
## Warning: replacing previous import
## 'GenomicFeatures::supportedUCSCFeatureDbTables' by
## 'txdbmaker::supportedUCSCFeatureDbTables' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDbFromGFF' by
## 'txdbmaker::makeTxDbFromGFF' when loading 'EpiTxDb'
## Warning: replacing previous import
## 'GenomicFeatures::makeTxDbPackageFromBiomart' by
## 'txdbmaker::makeTxDbPackageFromBiomart' when loading 'EpiTxDb'
## Warning: replacing previous import
## 'GenomicFeatures::supportedMiRBaseBuildValues' by
## 'txdbmaker::supportedMiRBaseBuildValues' when loading 'EpiTxDb'
## Warning: replacing previous import
## 'GenomicFeatures::supportedUCSCFeatureDbTracks' by
## 'txdbmaker::supportedUCSCFeatureDbTracks' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::browseUCSCtrack' by
## 'txdbmaker::browseUCSCtrack' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::getChromInfoFromBiomart'
## by 'txdbmaker::getChromInfoFromBiomart' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDbFromGRanges' by
## 'txdbmaker::makeTxDbFromGRanges' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::supportedUCSCtables' by
## 'txdbmaker::supportedUCSCtables' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDbFromBiomart' by
## 'txdbmaker::makeTxDbFromBiomart' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::UCSCFeatureDbTableSchema'
## by 'txdbmaker::UCSCFeatureDbTableSchema' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDbFromEnsembl' by
## 'txdbmaker::makeTxDbFromEnsembl' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDb' by
## 'txdbmaker::makeTxDb' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeFDbPackageFromUCSC' by
## 'txdbmaker::makeFDbPackageFromUCSC' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDbFromUCSC' by
## 'txdbmaker::makeTxDbFromUCSC' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeTxDbPackageFromUCSC'
## by 'txdbmaker::makeTxDbPackageFromUCSC' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makePackageName' by
## 'txdbmaker::makePackageName' when loading 'EpiTxDb'
## Warning: replacing previous import 'GenomicFeatures::makeFeatureDbFromUCSC' by
## 'txdbmaker::makeFeatureDbFromUCSC' when loading 'EpiTxDb'
library(GenomicRanges)
library(EpiTxDb)

makeEpiTxDb and makeEpiTxDbFromGRanges

The creation of an etdb object is quite easy starting with a GRanges object.

gr <- GRanges(seqnames = "test",
              ranges = IRanges::IRanges(1,1),
              strand = "+",
              DataFrame(mod_id = 1L,
                        mod_type = "Am",
                        mod_name = "Am_1"))
etdb <- makeEpiTxDbFromGRanges(gr, metadata = data.frame(name = "test",
                                                         value = "Yes"))
## Creating EpiTxDb object ... done
etdb
## EpiTxDb object:
## # Db type: EpiTxDb
## # Supporting package: EpiTxDb
## # test: Yes
## # Nb of modifications: 1
## # Db created by: EpiTxDb package from Bioconductor
## # Creation time: 2024-10-30 07:20:03 +0000 (Wed, 30 Oct 2024)
## # EpiTxDb version at creation time: 1.19.0
## # RSQLite version at creation time: 2.3.7
## # DBSCHEMAVERSION: 1.0
metadata(etdb)
##                               name                                        value
## 1                          Db type                                      EpiTxDb
## 2               Supporting package                                      EpiTxDb
## 3                             test                                          Yes
## 4              Nb of modifications                                            1
## 5                    Db created by            EpiTxDb package from Bioconductor
## 6                    Creation time 2024-10-30 07:20:03 +0000 (Wed, 30 Oct 2024)
## 7 EpiTxDb version at creation time                                       1.19.0
## 8 RSQLite version at creation time                                        2.3.7
## 9                  DBSCHEMAVERSION                                          1.0

Additional data can be provided via the metadata columns of the GRanges object. For supported columns have a look at ?makeEpiTxDb or ?makeEpiTxDbFromGRanges.

makeEpiTxDbFromtRNAdb

The information of the tRNAdb can be accessed via the tRNAdbImport package using the RNA database. As a result a ModRNAStringSet object is returned from which the modifications can be extracted using separate().

The only input require is a valid organism name returned by listAvailableOrganismsFromtRNAdb().

# Currently not run since the server is not available
etdb <- makeEpiTxDbFromtRNAdb("Saccharomyces cerevisiae")
etdb

For additional information have a look at ?makeEpiTxDbFromtRNAdb. The result returned from the tRNAdb is also available as GRanges object, if gettRNAdbDataAsGRanges() is used.

makeEpiTxDbFromRMBase

Analogous to the example above makeEpiTxDbFromRMBase() will download the data from the RMBase v2.0. Three inputs are required, organism, genome and modtype, which have to valid bia the functions listAvailableOrganismsFromRMBase(), .listAvailableGenomesFromRMBase() and listAvailableModFromRMBase.

etdb <- makeEpiTxDbFromRMBase(organism = "yeast",
                              genome = "sacCer3",
                              modtype = "m1A")

Internally, the files are cached using the BiocFileCache package and passed to makeEpiTxDbFromRMBaseFiles(), which can also be used with locally stored files. The resuls for creating the EpiTxDb class are processed from these files via the getRMBaseDataAsGRanges() function.

Session info

sessionInfo()
## R version 4.4.1 (2024-06-14)
## 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    stats     graphics  grDevices utils     datasets  methods  
## [8] base     
## 
## other attached packages:
##  [1] EpiTxDb_1.19.0       Modstrings_1.21.0    Biostrings_2.75.0   
##  [4] XVector_0.45.0       AnnotationDbi_1.69.0 Biobase_2.67.0      
##  [7] GenomicRanges_1.57.2 GenomeInfoDb_1.41.2  IRanges_2.39.2      
## [10] S4Vectors_0.43.2     BiocGenerics_0.53.0  BiocStyle_2.35.0    
## 
## loaded via a namespace (and not attached):
##  [1] tRNAdbImport_1.23.0         tidyselect_1.2.1           
##  [3] dplyr_1.1.4                 blob_1.2.4                 
##  [5] filelock_1.0.3              bitops_1.0-9               
##  [7] fastmap_1.2.0               RCurl_1.98-1.16            
##  [9] BiocFileCache_2.15.0        GenomicAlignments_1.41.0   
## [11] rex_1.2.1                   XML_3.99-0.17              
## [13] digest_0.6.37               lifecycle_1.0.4            
## [15] KEGGREST_1.45.1             RSQLite_2.3.7              
## [17] magrittr_2.0.3              compiler_4.4.1             
## [19] rlang_1.1.4                 sass_0.4.9                 
## [21] progress_1.2.3              tools_4.4.1                
## [23] utf8_1.2.4                  yaml_2.3.10                
## [25] rtracklayer_1.65.0          knitr_1.48                 
## [27] prettyunits_1.2.0           S4Arrays_1.5.11            
## [29] bit_4.5.0                   curl_5.2.3                 
## [31] DelayedArray_0.31.14        xml2_1.3.6                 
## [33] abind_1.4-8                 BiocParallel_1.41.0        
## [35] txdbmaker_1.1.2             sys_3.4.3                  
## [37] grid_4.4.1                  fansi_1.0.6                
## [39] colorspace_2.1-1            ggplot2_3.5.1              
## [41] scales_1.3.0                biomaRt_2.63.0             
## [43] SummarizedExperiment_1.35.5 cli_3.6.3                  
## [45] rmarkdown_2.28              crayon_1.5.3               
## [47] generics_0.1.3              httr_1.4.7                 
## [49] rjson_0.2.23                DBI_1.2.3                  
## [51] cachem_1.1.0                stringr_1.5.1              
## [53] zlibbioc_1.51.2             parallel_4.4.1             
## [55] BiocManager_1.30.25         restfulr_0.0.15            
## [57] matrixStats_1.4.1           vctrs_0.6.5                
## [59] Matrix_1.7-1                jsonlite_1.8.9             
## [61] hms_1.1.3                   bit64_4.5.2                
## [63] GenomicFeatures_1.57.1      maketools_1.3.1            
## [65] jquerylib_0.1.4             glue_1.8.0                 
## [67] codetools_0.2-20            gtable_0.3.6               
## [69] stringi_1.8.4               BiocIO_1.17.0              
## [71] UCSC.utils_1.1.0            munsell_0.5.1              
## [73] tibble_3.2.1                pillar_1.9.0               
## [75] rappdirs_0.3.3              htmltools_0.5.8.1          
## [77] GenomeInfoDbData_1.2.13     R6_2.5.1                   
## [79] dbplyr_2.5.0                httr2_1.0.5                
## [81] evaluate_1.0.1              lattice_0.22-6             
## [83] png_0.1-8                   Rsamtools_2.21.2           
## [85] memoise_2.0.1               bslib_0.8.0                
## [87] Structstrings_1.21.0        tRNA_1.23.0                
## [89] SparseArray_1.5.45          xfun_0.48                  
## [91] MatrixGenerics_1.17.1       buildtools_1.0.0           
## [93] pkgconfig_2.0.3

References

Jühling, Frank, Mario Mörl, Roland K. Hartmann, Mathias Sprinzl, Peter F. Stadler, and Joern Pütz. 2009. “tRNAdb 2009: Compilation of tRNA Sequences and tRNA Genes.” Nucleic Acids Research 37 (suppl_1): D159–62. https://doi.org/10.1093/nar/gkn772.
Sprinzl, Mathias, and Konstantin S. Vassilenko. 2005. “Compilation of tRNA Sequences and Sequences of tRNA Genes.” Nucleic Acids Research 33 (suppl_1): D139–40. https://doi.org/10.1093/nar/gki012.
Sun, Wen-Ju, Jun-Hao Li, Shun Liu, Jie Wu, Hui Zhou, Liang-Hu Qu, and Jian-Hua Yang. 2015. RMBase: a resource for decoding the landscape of RNA modifications from high-throughput sequencing data.” Nucleic Acids Research 44 (D1): D259–65. https://doi.org/10.1093/nar/gkv1036.
Xuan, Jia-Jia, Wen-Ju Sun, Peng-Hui Lin, Ke-Ren Zhou, Shun Liu, Ling-Ling Zheng, Liang-Hu Qu, and Jian-Hua Yang. 2017. RMBase v2.0: deciphering the map of RNA modifications from epitranscriptome sequencing data.” Nucleic Acids Research 46 (D1): D327–34. https://doi.org/10.1093/nar/gkx934.