options(width = 999) knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE, cache = FALSE, tidy = FALSE, size = "small")
knitr::opts_chunk$set(collapse = TRUE)
miRBaseConverter is an R/Bioconductor package for converting and retrieving the definition of miRNAs ( Names, Accessions, Sequences, Families and others) in different miRBase versions ( From miRBase version 6 to version 22 [ The latest version ] ). A tiny built-in database is embedded in the miRBaseConverter R package for retrieving miRNA information efficiently.
microRNAs( miRNAs) are one of the essential molecules that play the important role in the post-transcriptional gene regulation. The studies about novel miRNA and their function discoveries have an explosive growth in the last decade. The miRBase database is the authority archive of miRNA annotations and sequences for all species. With the development of researches about miRNAs, the annotation of miRNA has been changed significantly and develops many different historical versions. Each of the previous versions has been adopted in many research literatures and databases. Due to the inconsistent of name annotation of miRNAs, there is a barrier for the later scholars to reuse the previous research results in a convenient way, especially for miRNA databases with thousands of entries. There are some webservers or R-based tools can handle the batch conversion of miRNA names. However, an easy-to-use and well-documented tool for miRNA conversion and information retrieval is still lack. We present the miRBaseConverter R package, a comprehensive tool for miRNA research, to provide a suite of tools for checking miRNA Name, Accession, Sequence, version and family and history information. The miRBaseConverter package can be competent for all species including Precursor and Mature miRNAs defined in miRBase.
In addtion, we also develop an online application with interactive interface for this package which can be accessed in http://nugget.unisa.edu.au:3838/miRBaseConverter or
https://taoshengxu.shinyapps.io/miRBaseConverter/.
In the following sections, we present the detail usage of the functions included in the miRBaseConverter package.
For a list of miRNA names without version information, users may need to check what is the most possible miRBase version. miRBaseConverter package provides an easy-to-use function checkMiRNAVersion()
to address this issue with an straightforward result.
library(miRBaseConverter) data(miRNATest) miRNANames = miRNATest$miRNA_Name version=checkMiRNAVersion(miRNANames, verbose = TRUE)
The output text in console shows the matched proportions in all the miRBase version and gives the recommended version which is the best matched with the highest proportion values. This function is of great helpful miRNA version checking of a chunk of miRNAs.
An Accession is the identifier that define miRNA uniquely in miRBase. Users can apply Accessions to retrieve the entire information of the miRNAs in miRBase. One of the most commonly used functions is to retrieve the corresponding miRNA name from Accession. The manual retrieval one by one in miRBase could be a tough work for a chunk of Accessions of interest. The function miRNA_AccessionToName()
in miRBaseConverter package can conduct a high throughput transformation within quite short time.
library(miRBaseConverter) data(miRNATest) Accessions = miRNATest$Accession #### 1. Convert to the Accessions to miRNA names in miRBase version 13 result1 = miRNA_AccessionToName(Accessions,targetVersion = "v13") result1[c(341:345),] ####2. Convert to the Accessions to miRNA names in miRBase version 22. result2 = miRNA_AccessionToName(Accessions,targetVersion = "v22") result2[c(341:345),]
The conversion of miRNA Name to Accession is the reversion process. Due to the frequent changes of miRNA name in different versions, researches are likely to adopt the miRBase Accessions as the identifiers in most literatures and databases.
library(miRBaseConverter) data(miRNATest) miRNANames = miRNATest$miRNA_Name result1 = miRNA_NameToAccession(miRNANames,version = "v18") result1[c(341:345),]
In miRBaseConverter package, there are two ways to conduct the conversion of miRNA Names between two different miRBase versions.
miRBaseConverter package provides the miRNAVersionConvert()
function to detect all the match miRNA Names with the same Accession in all miRBase historical versions. The conversion result may not match to the unique Name for some miRNAs but it is useful for all possible information retrieval for the miRNAs of interest.
library(miRBaseConverter) data(miRNATest) miRNANames = miRNATest$miRNA_Name result1 = miRNAVersionConvert(miRNANames,targetVersion = "v13",exact = TRUE) result1[c(341:345),] result2 = miRNAVersionConvert(miRNANames,targetVersion = "v20",exact = TRUE) result2[c(341:345),]
The miRBase Accession can be a bridge to exactly match miRNA Name between two different miRBase versions. For a group of miRNA Names, users could apply the function checkMiRNAVersion()
to check the possible miRNA version firstly. Then the miRNA Names accompanying with the version information are mapped to the Accessions using the function miRNA_NameToAccession()
. In the last step, the Accessions can be easily mapped to the miRNA Names in the target version. This approach can output more exact result than the global searching and matching.
[ checkMiRNAVersion()
-> miRNA_NameToAccession()
-> miRNA_AccessionToName()
]
library(miRBaseConverter) data(miRNATest) miRNANames = miRNATest$miRNA_Name #### Step 1. Check the possible version for miRNAs data(miRNATest) miRNANames = miRNATest$miRNA_Name version=checkMiRNAVersion(miRNANames, verbose = FALSE) #### Step 2. miRNA Names to miRBase Accessions with the specific version information result1 = miRNA_NameToAccession(miRNANames,version = version) #### Step 3. miRBase Accessions to miRNA Names of the target version result2 = miRNA_AccessionToName(result1[,2],targetVersion = "v22") result2[c(341:345),]
A Precursor miRNA is about 70mer RNA with a stem-loop to form as a hairpin structure. The 5' UTR and/or 3' UTR of the stem-loop can be cleaved by dicer to generate one or two mature miRNAs ( about 22 nucleotides ). In miRBaseConverter package, we provide the functions for conversion between precursors and mature miRNAs.
library(miRBaseConverter) data(miRNATest) miRNANames=miRNATest$miRNA_Name result1=miRNA_MatureToPrecursor(miRNANames) head(result1)
library(miRBaseConverter) miRNANames=c("pma-mir-100a","sko-mir-92a","hsa-mir-6131","mtr-MIR2655i", "mmu-mir-153","mtr-MIR2592am","mml-mir-1239","xtr-mir-128-2","oan-mir-100", "mmu-mir-378b","hsa-miR-508-5p","mmu-miR-434-3p") result2=miRNA_PrecursorToMature(miRNANames) head(result2)
miRNAs are manually classified by the single-linkage method to cluster the precursor sequences based on BLAST hits and adjusted manually the clustered families by multiple sequence alignment in miRBase. The family classification is based on a common ancestor for each family representing sequences. Normally, the miRNAs from the same family may possess similar physiological functions in cell metabolism. In miRBaseConverter package, the function checkMiRNAFamily()
is specifically designed for the retrieval information of miRNA families. It can be applied to retrieve the miRNA families and family accessions for a list of miRNAs.
library(miRBaseConverter) ## The input is miRNA Accessions Accessions=miRNATest$Accession Family_Info1=checkMiRNAFamily(Accessions) head(Family_Info1) ##The input is miRNA names miRNANames=miRNATest$miRNA_Name version=checkMiRNAVersion(miRNANames,verbose = FALSE) result=miRNA_NameToAccession(miRNANames,version=version) Accessions=result$Accession Family_Info2=checkMiRNAFamily(Accessions) head(Family_Info2)
The miRNA sequence is great important for base alignment in the research of gene regulation. In miRBaseConverter package, we provide an efficient tool to batch retrieve the sequence of miRNAs based on the Accessions. It will be great help of automated analyses of sequence alignment between miRNAs and their target molecules.
library(miRBaseConverter) data(miRNATest) Accessions = miRNATest$Accession result1 = getMiRNASequence(Accessions,targetVersion = "v13") head(result1) result2 = getMiRNASequence(Accessions,targetVersion = "v22") head(result2)
Currently, the latest miRBase version is 22 which was released in March 2018. In miRBaseConverter package, we implement a query function to check all the miRBase version information from miRBase version 1 to version 22. The return includes the information of the defined version names, release dates, the number of defined miRNAs (Entries including Precursors and Mature miRNAs) and the available status in miRBaseConverter package.
library(miRBaseConverter) getAllVersionInfo()
miRBase has defined the miRNAs for hundreds of species. In miRBaseConverter package, users can apply the function getAllSpecies()
to check the abbreviation and the full name of the available species.
library(miRBaseConverter) allSpecies=getAllSpecies() head(allSpecies)
In miRBaseConverter package, the function getAllMiRNAs()
can be applied to get all miRNAs which are defined in each available miRBase version. Meanwhile, users can use the control parameters to custom the species and miRNA type in the output.
library(miRBaseConverter) miRNAs=getAllMiRNAs(version="v22", type="all", species="hsa") head(miRNAs)
In some applications, users may want to have a comprehensive investigation of a miRNA about the Name, Accession, Sequence, Precursor and mature miRNA information. The miRBaseConverter package embeds a useful function getMiRNAHistory()
to retrieve all the detailed miRNA information in all miRBase historic version. Users can get a comprehensive overview of the miRNA.
#### 1. The input is a miRNA Name name = "hsa-miR-26b-5p" result1 = miRNA_NameToAccession(name) Accession = result1$Accession result2 = getMiRNAHistory(Accession) result2
#### 2. The input is miRNA Accession Id Accession = "MIMAT0000765" result3 = getMiRNAHistory(Accession) result3
There is a data table for presenting the detailed information of the defined miRNAs in each miRBase version. In miRBaseConverter package, we provide a function getMiRNATable()
to return the miRNA data table for each miRBase version. Meanwhile, users can use the control parameter to custom the species in output.
library(miRBaseConverter) miRNA_Tab=getMiRNATable(version="v22",species="hsa") head(miRNA_Tab)
In miRBaseConverter package, the function goTo_miRBase()
redirects users to the miRBase webpages of some specified miRNAs.
library(miRBaseConverter) Accessions=miRNATest$Accession[1:10] goTo_miRBase(Accessions)
In miRBaseConverter package, the function goTo_miRNAFamily()
redirects users to the miRBase miRNA family webpages of some specified miRNA families.
library(miRBaseConverter) Accessions=miRNATest$Accession Family_Info=checkMiRNAFamily(Accessions) FamilyAccessions=Family_Info$FamilyAccession[1:15] goTo_miRNAFamily(FamilyAccessions)
The R/Bioconductor package miRBaseConverter provides a suite of tools for checking miRNA Name, Accession, Sequence, Species, Version, Hisotry and Family information in different miRBase versions. We wish that the miRBaseConverter package could be a useful tool for miRNA research community and help to speed up the studies of miRNAs.
[1] Kozomara, Ana, and Sam Griffiths-Jones. "miRBase: annotating high confidence microRNAs using deep sequencing data." Nucleic acids research 42.D1 (2014): D68-D73.
[2] Kozomara, Ana, and Sam Griffiths-Jones. "miRBase: integrating microRNA annotation and deep-sequencing data." Nucleic acids research (2010): gkq1027.
[3] Griffiths-Jones, Sam, et al. "miRBase: tools for microRNA genomics." Nucleic acids research 36.suppl 1 (2008): D154-D158.
[4] Griffiths-Jones, Sam, et al. "miRBase: microRNA sequences, targets and gene nomenclature." Nucleic acids research 34.suppl 1 (2006): D140-D144.
[5] Ding, Jiandong, Shuigeng Zhou, and Jihong Guan. "miRFam: an effective automatic miRNA classification method based on n-grams and a multiclass SVM." BMC bioinformatics 12.1 (2011): 216.
[6] Zou, Quan, et al. "miRClassify: an advanced web server for miRNA family classification and annotation." Computers in biology and medicine 45 (2014): 157-160.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.