GRanges
tRNAdbImport 1.12.0
The tRNAdb and mttRNAdb (Jühling et al. 2009) is a compilation of tRNA sequences and tRNA genes. It is a follow up version of the database of Sprinzl et al. (Sprinzl and Vassilenko 2005).
Using tRNAdbImport
the tRNAdb can be accessed as outlined on the website
http://trna.bioinf.uni-leipzig.de/ and the results
are returned as a GRanges
object.
GRanges
library(tRNAdbImport)
# accessing tRNAdb
# tRNA from yeast for Alanine and Phenylalanine
gr <- import.tRNAdb(organism = "Saccharomyces cerevisiae",
aminoacids = c("Phe","Ala"))
# get a Phenylalanine tRNA from yeast
gr <- import.tRNAdb.id(tdbID = gr[gr$tRNA_type == "Phe",][1L]$tRNAdb_ID)
# find the same tRNA via blast
gr <- import.tRNAdb.blast(blastSeq = gr$tRNA_seq)
# accessing mtRNAdb
# get the mitochrondrial tRNA for Alanine in Bos taurus
gr <- import.mttRNAdb(organism = "Bos taurus",
aminoacids = "Ala")
# get one mitochrondrial tRNA in Bos taurus.
gr <- import.mttRNAdb.id(mtdbID = gr[1L]$tRNAdb_ID)
# check that the result has the appropriate columns
istRNAdbGRanges(gr)
## [1] TRUE
GRanges
from the RNA databaseThe tRNAdb offers two different sets of data, one containing DNA sequences and
one containing RNA sequences. Depending on the database selected, DNA
as
default, the GRanges will contain a DNAStringSet
or a ModRNAStringSet
as
the tRNA_seq
column. Because the RNA sequences can contain modified
nucleotides, the ModRNAStringSet
class is used instead of the RNAStringSet
class to store the sequences correctly with all information intact.
gr <- import.tRNAdb(organism = "Saccharomyces cerevisiae",
aminoacids = c("Phe","Ala"),
database = "RNA")
gr$tRNA_seq
## A ModRNAStringSet instance of length 3
## width seq names
## [1] 76 GGGCGUGUKGCGUAGDCGGDAGC...TPCGAUUCCGGACUCGUCCACCA tdbR00000012
## [2] 76 GCGGAUUUALCUCAGDDGGGAGA...TPCG"UCCACAGAAUUCGCACCA tdbR00000083
## [3] 76 GCGGACUUALCUCAGDDGGGAGA...TPCG"UCCACAGAGUUCGCACCA tdbR00000084
The special characters in the sequence might no exactly match the ones shown on
the website, since they are sanitized internally to a unified dictionary defined
in the Modstrings
package. However, the type of modification encoded will
remain the same (See the Modstrings
package for more details).
The information on the position and type of the modifications can also be
converted into a tabular format using the separate
function from the
Modstrings
package.
separate(gr$tRNA_seq)
## GRanges object with 38 ranges and 1 metadata column:
## seqnames ranges strand | mod
## <Rle> <IRanges> <Rle> | <character>
## [1] tdbR00000012 9 + | m1G
## [2] tdbR00000012 16 + | D
## [3] tdbR00000012 20 + | D
## [4] tdbR00000012 26 + | m2,2G
## [5] tdbR00000012 34 + | I
## ... ... ... ... . ...
## [34] tdbR00000084 46 + | m7G
## [35] tdbR00000084 49 + | f5Cm
## [36] tdbR00000084 54 + | m5U
## [37] tdbR00000084 55 + | Y
## [38] tdbR00000084 58 + | m1A
## -------
## seqinfo: 3 sequences from an unspecified genome; no seqlengths
The output can be saved or directly used for further analysis.
library(Biostrings)
library(rtracklayer)
# saving the tRAN sequences as fasta file
writeXStringSet(gr$tRNA_seq, filepath = tempfile())
# converting tRNAdb information to GFF compatible values
gff <- tRNAdb2GFF(gr)
gff
## GRanges object with 3 ranges and 20 metadata columns:
## seqnames ranges strand | source type score phase
## <Rle> <IRanges> <Rle> | <factor> <factor> <integer> <integer>
## [1] tdbR00000012 1-76 * | tRNAdb tRNA <NA> <NA>
## [2] tdbR00000083 1-76 * | tRNAdb tRNA <NA> <NA>
## [3] tdbR00000084 1-76 * | tRNAdb tRNA <NA> <NA>
## ID no tRNA_length tRNA_type tRNA_anticodon
## <character> <integer> <integer> <character> <character>
## [1] tdbR00000012 1 76 Ala IGC
## [2] tdbR00000083 2 76 Phe #AA
## [3] tdbR00000084 3 76 Phe #AA
## tRNA_seq tRNA_str tRNA_CCA.end tRNAdb
## <character> <character> <logical> <character>
## [1] GGGCGUGUKGCGUAGDCGGD.. <<<<<.<..<<<<......... TRUE RNA
## [2] GCGGAUUUALCUCAGDDGGG.. <<<<<<<..<<<<......... TRUE RNA
## [3] GCGGACUUALCUCAGDDGGG.. <<<<<<<..<<<<......... TRUE RNA
## tRNAdb_ID tRNAdb_organism tRNAdb_strain tRNAdb_taxonomyID
## <character> <character> <character> <character>
## [1] tdbR00000012 Saccharomyces cerevi.. 4932
## [2] tdbR00000083 Saccharomyces cerevi.. 4932
## [3] tdbR00000084 Saccharomyces cerevi.. 4932
## tRNAdb_verified tRNAdb_reference tRNAdb_pmid
## <logical> <CharacterList> <CharacterList>
## [1] TRUE J.R.PENSWICK, R.MART..
## [2] TRUE P.E.NIELSEN, V.LEICK..
## [3] TRUE G.KEITH, G.DIRHEIMER..
## -------
## seqinfo: 3 sequences from an unspecified genome; no seqlengths
# Saving the information as gff3 file
export.gff3(gff, con = tempfile())
Please have a look at the tRNA
package for further analysis of the tRNA
sequences.
sessionInfo()
## R version 4.1.1 (2021-08-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.3 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.14-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.14-bioc/R/lib/libRlapack.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB 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
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] rtracklayer_1.54.0 tRNAdbImport_1.12.0 tRNA_1.12.0
## [4] Structstrings_1.10.0 Modstrings_1.10.0 Biostrings_2.62.0
## [7] XVector_0.34.0 GenomicRanges_1.46.0 GenomeInfoDb_1.30.0
## [10] IRanges_2.28.0 S4Vectors_0.32.0 BiocGenerics_0.40.0
## [13] BiocStyle_2.22.0
##
## loaded via a namespace (and not attached):
## [1] lattice_0.20-45 Rsamtools_2.10.0
## [3] assertthat_0.2.1 digest_0.6.28
## [5] utf8_1.2.2 R6_2.5.1
## [7] evaluate_0.14 httr_1.4.2
## [9] ggplot2_3.3.5 pillar_1.6.4
## [11] zlibbioc_1.40.0 rlang_0.4.12
## [13] curl_4.3.2 jquerylib_0.1.4
## [15] Matrix_1.3-4 rmarkdown_2.11
## [17] BiocParallel_1.28.0 stringr_1.4.0
## [19] RCurl_1.98-1.5 munsell_0.5.0
## [21] DelayedArray_0.20.0 compiler_4.1.1
## [23] xfun_0.27 pkgconfig_2.0.3
## [25] htmltools_0.5.2 SummarizedExperiment_1.24.0
## [27] tidyselect_1.1.1 tibble_3.1.5
## [29] GenomeInfoDbData_1.2.7 bookdown_0.24
## [31] matrixStats_0.61.0 XML_3.99-0.8
## [33] fansi_0.5.0 crayon_1.4.1
## [35] dplyr_1.0.7 GenomicAlignments_1.30.0
## [37] bitops_1.0-7 grid_4.1.1
## [39] jsonlite_1.7.2 gtable_0.3.0
## [41] lifecycle_1.0.1 DBI_1.1.1
## [43] magrittr_2.0.1 scales_1.1.1
## [45] stringi_1.7.5 xml2_1.3.2
## [47] bslib_0.3.1 ellipsis_0.3.2
## [49] generics_0.1.1 vctrs_0.3.8
## [51] rjson_0.2.20 restfulr_0.0.13
## [53] tools_4.1.1 Biobase_2.54.0
## [55] glue_1.4.2 purrr_0.3.4
## [57] MatrixGenerics_1.6.0 parallel_4.1.1
## [59] fastmap_1.1.0 yaml_2.2.1
## [61] colorspace_2.0-2 BiocManager_1.30.16
## [63] knitr_1.36 sass_0.4.0
## [65] BiocIO_1.4.0
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: D159–D162. 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: D139–D140. https://doi.org/10.1093/nar/gki012.