| Literature DB >> 20074352 |
Anders Jacobsen1, Anders Krogh, Sakari Kauppinen, Morten Lindow.
Abstract
BACKGROUND: MicroRNAs (miRNAs) are endogenous small RNAs that play a key role in post-transcriptional regulation of gene expression in animals and plants. The number of known miRNAs has increased rapidly over the years. The current release (version 14.0) of miRBase, the central online repository for miRNA annotation, comprises over 10.000 miRNA precursors from 115 different species. Furthermore, a large number of decentralized online resources are now available, each contributing with important miRNA annotation and information.Entities:
Mesh:
Substances:
Year: 2010 PMID: 20074352 PMCID: PMC2831003 DOI: 10.1186/1471-2105-11-29
Source DB: PubMed Journal: BMC Bioinformatics ISSN: 1471-2105 Impact factor: 3.169
Figure 1Architecture overview. miRMaid uses a Model-View-controller architecture. The model layer provides object oriented encapsulation of data stored in a relational database. The model layer can be efficiently and directly queried using the Ruby programming language. Each model is additionally exposed as a RESTful web resource. The data returned from a resource URL can be returned as HTML (suitable for web browsers), XML (suitable for computer programs) and for some resources also as FASTA sequence format.
Models
| Model | Description | Attributes | Relationships |
|---|---|---|---|
| Precursor | The miRNA precursor, processed from longer primary transcripts by endonucleases. | name, accession, description, sequence, comment | |
| Mature | The mature miRNA, processed from the miRNA precursor by Dicer. | name, accession, evidence, experiment, similarity, sequence | |
| Species | The taxonomic species having miRNAs encoded in the genome. | abbreviation, name, division, taxonomy, genome_assembly | |
| PrecursorFamily | The miRBase grouping of precursors into families. | name, accession, description | |
| GenomeContext | Other gene models overlapping the miRNA precursor in genome. | overlap_sense, overlap_type, transcript_source, transcript_name | Precursor |
| GenomePosition | The position of the miRNA precursor in the genome. | xsome, contig_start, contig_end, strand | Precursor |
| PrecursorCluster (*) | A grouping of precursors occurring close to each other in the genome - presumably transcribed together. | Name | |
| SeedFamily (*) | A grouping of mature miRNAs based on the 6mer seed (bases 2-7) or 7mer seed (bases 2-8). | name, sequence | |
| Paper | Papers related to the annotation and identification of a miRNA as reported in miRBase. | medline, title, author, journal | |
miRMaid data models: miRMaid restructures data in miRBase to yield a set of core data models. The data for the two models highlighted with a (*) is not readily available from miRBase data but is automatically computed when miRMaid is deployed. Each model is semantically related and connected to other models as listed in the last column of the table. Relationships highlighted in bold denote a 'many' relationship: a species has 'many' miRNA precursors, while a miRNA precursor is only related to 'one' species. The attributes and relations on each data object can be accessed in an object-oriented manner (see Figure 5 for an example).
Figure 2Resource map. Each data model (i.e. 'Precursor') in miRMaid has resource URLs for listing all objects (/precursors) or a single object (/precursors/hsa-mir-21). Relationships (denoted by edges in the figure) between models are captured by nested resource URLs (/matures/hsa-miR-21/papers). A solid circle at the end of an edge denotes a 'many' relationship. For example, a species 'has many' precursors (/species/hsa/precursors), while a precursor is related to only 'one' species (/precursors/hsa-mir-21/species).
Figure 3Plugin integration. A miRMaid plugin is implemented as an isolated MVC slice (an 'Engine' in the Ruby on Rails framework). The plugin defines its own data models and the relationships between these models. The integration (model and resource relationships) between the miRMaid core framework and the plugin is configured inside the plugin. The core framework provides hooks where a plugin can register itself. In the example above, the miR2Disease plugin defines two data models, M2dDisease and M2dDiseaseLink, where only the M2dDiseaseLink integrates directly with the core framework (a 'one-many' relationship with the Mature data model and resource). The effect of this integration is that M2dDiseaseLink objects are connected to Mature objects and that these relationships can be queried directly through the data models or by using RESTful resource URLs.
Figure 4RESTful clients. RESTful clients can be implemented in most programming languages. Listed above are two examples in the Ruby and Perl programming languages. Both programs perform the same tasks: getting the 'comment' attribute for the cel-let-7 miRNA precursor and getting the mature miRNA sequences (hsa-miR-21 and hsa-miR-21*) for the hsa-mir-21 miRNA precursor. Both programs use standard libraries to issue HTTP GET requests and to parse the resulting XML documents. The final two examples demonstrate how miRMaid's FASTA sequence rendering capability can be used. We use the R statistical framework [21] and the 'curl' command-line program to issue a HTTP request to retrieve all C. elegans mature sequences in FASTA format.
Figure 5Ruby data models. In a local miRMaid installation, the data models can be queried directly without the overhead of the HTTP protocol and network communication. The figure lists an interactive Ruby IRB session where the data models are queried to analyze the genomic clustering of human mir-17 family members.