chore(lint): clean up R CMD check warnings and notes
- Move methods from Suggests to Imports and add @importFrom methods new to MiRNANameConverter constructor (resolves “no visible global function definition for ‘new’” note and missing methods import)
- Escape braces in translateMiRNAName sequenceFormat doc (resolves “Lost braces” Rd note)
- Mark internal .dbconn getter/setter @noRd to prevent stray Rd files
- Regenerate Rd files with roxygen2 7.3.3 (was 6.0.1); adds the missing getMirnasForMirbaseVersion.Rd that resolves the undocumented-objects warning
R CMD check –no-manual now reports Status: OK with no warnings or notes.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
Build:
miRNAmeConverter
When working with a set of miRNAs, useful information includes
The miRNAmeConverter R package has been developed for handling naming challenges of mature miRNAs.
In addition we have developed a web interface that enables one to use the
translateMiRNANamefunction via web interface and is based on shiny miRNAmeConverter-web.Please support this work
If you make use of this package, please cite the following ‘OpenAccess’ publication to allow us to keep the package up to date:
Introduction
The miRNAmeConverter package delivers results in a fast and transparent way. The main functions
The core function, translating miRNA names to different versions, is especially useful when dealing with miRNA tools other than miRBase. To retrieve targets from miRTarBase, for example, the miRNA name from version 20 is required, whereas the website miRecords only accepts version 17. The miRNAmeConverter can manage large sets of miRNA names and hence can be easily implemented into workflows.
The data set included in the package (miRNAs) is a collection of human miRNA names. It consists of valid miRNA names (some duplicates), incorrect names and features used as controls in experiments, such as the RNU44 as a house keeping gene for HT-qPCR assay plates from Applied Biosystems.
To load the package and gain access to the functions and sample dataset of the miRNAmeConverter package just run the following command:
miRNA name input values
According to the nomenclature used in the miRBase repository
hsa-mir-29ais a stem-loop sequence name. If we substitute the ‘r’ by a capital ‘R’ it codes for the mature 3’ miRNAhsa-miR-29a(orhsa-miR-29a-5pin the current version). ThemiRNAsinput value for the functions has to be in form of acharactervector. Algorithms of the package are not case sensitive. This has the effect, that for example in the casehsa-mir-29aandhsa-miR-29aas input values both will be considered as valid mature miRNA names.The MiRNANameConverter class
The MiRNANameConverter class is coded in S4 style. All functions offered by the miRNAmeConverter package are methods of that class. All methods can be displayed by
The slot names (attributes) of the class can be displayed by
An instance of the
MiRNANameConverterclass can be created by calling theMiRNANameConverterfunction:Use Cases
Check for valid miRNA name
Valid input values
We have given a set of mature miRNA names
miRNAsand would like to check if the names are actual miRNA names that are or were listed in any miRBase version. OurmiRNAshave the following values:Our first step is to create an instance of the
MiRNANameConverterclass by calling the constructor and saving it to the variablenc.Now we check if the names are valid names listed in any of the provided miRBase versions:
Mixed input values
The following set of miRNA names contains valid as well as invalid names.
This time the function prints information for the features that did not pass the check and therefore are not included in the return value.
Translate miRNA names and their sequence
Translating miRNA names to different versions is the most required function. Let us assume we found a paper that shows that the miRNA
"hsa-miR-422b"is significantly differentially expressed under certain conditions. Assume further, that we did a similar experiment but this miRNA does not show up in our analysis. Instead we got"hsa-miR-378a-3p"from a recent miRBase release. We see, that the previous paper was released a couple of years ago so there might be a chance that their miRNA could now run under a different name. We apply thetranslateMiRNANamefunction withhsa-miR-422bas miRNA parameter and no version. With no given version the function returns the current miRBase version (22.1) by default.The result shows that these two miRNAs are actually the same. This is because
"hsa-miR-422b"is last listed in miRBase version 9.2. In version 10.0 it was named"hsa-miR-378"which in the current version 22.1 runs under the name"hsa-miR-378a-3p".Another example with more diverse input names is shown below, with the respective console output and the entry in the attribute
description.The console output shows us that one of the input values is not a miRNA (
"bpcv1-miR-B23") and another is not listed in the current miRBase version ("hsa-miR-128b").Attribute
descriptionThe information, whether a miRNA is OK or not, is stored in form of an attribute of the return value of the function. This
data.frameobject provides information about every single input value and can be accessed via theattrcommand followed by'description'.Attribute
sequencesSometimes it can be useful to confirm the sequence of miRNAs for selected miRBase versions. In such a case all we have to do is checking out the
sequenceattribute of our translation result.Due to the fact that we called the
translateMiRNANamefunction with the parametersequenceFormat = 1the attribute only contains the sequence for each version respectively. If we would like to have miRNA name and sequence combined in one table we can call thetranslateMiRNANamefunction withsequenceFormat = 2.Retrieve all miRNAs from different miRBase versions
In cases where one has a dataframe with expression values and miRNA names from a particular miRBase version it can be easier to just ‘join’ a second dataframe with valid miRNA names, such as from v17 to v22.
In the case where miRNAs are assigned to multiple accessions, records will be neglected.
Assess most likely miRBase version
Sometimes it is useful to know the miRBase version that a given set of miRNA names is from. In this case one can use the
assessVersionfunction to receive the most likely miRBase version. The following example makes use of the providedexample-miRNAs-dataset.The console output shows that from the 384 input names there were 355 unique values. Five of these values are not listed in any miRBase version and were neglected. The return value is a data.frame object with the two columns
versionandfrequency. It is ordered by frequency and version. It shows that 347 out of 350 valid input miRNAs could be assigned to miRBase version 9.0. This is the highest score and therefore the most likely miRBase version of the input mature miRNA names.Other functions
Save translation results
Sometimes it is useful to save a variable to a file. Taking the translation
resultfrom above we can do so by running the following command with default settings:Three files will be saved, the miRNA name translation result, the description and sequence. By default the files are tab-separated files without the parameter
quoteset toFALSE. Other options can be applied and will be passed on to theutils::write.tablefunction.Additional information
Database information
The data used in the miRNAmeConverter package is obtained from the
miRBaseVersions.dbannotation package.References {-}