miRmine dataset as RangedSummarizedExperiment

Data preparation

miRmine dataset contains rich metadata around 304 selected publicly available, miRNA-Seq experiments. Authors' processed the data with miRdeep2 using annotation files from miRBase v21. Mentioned metadata is used as colData and miRBase annotations as GRanges are used as rowRanges while preparing this dataset as RangedSummarizedExperiment. Data used for preprocessing and constructing the miRmine RangedSummarizedExperiment are available in extdata folder. Details of this proccess could be followed in data help file: ?miRmine.

#library(GenomicRanges)
#library(rtracklayer)
#library(SummarizedExperiment)
#library(Biostrings)
#library(Rsamtools)

ext.data <- system.file("extdata", package = "miRmine")
list.files(ext.data)

Number of ranges from miRBase GFF and number of features output by miRdeep2 are not the same (2813 vs. 2822). After closer look it turns out that 2 rows from either tissues or cell.lines data are duplicated (with same mature miRNA and same precursor miRNA) and 7 rows don't correspond to mirna/precursor combination existing in miRBase v21. These rows were removed for all samples, as seen in ?miRmine.

Usage

To load this dataset use:

library("miRmine")
data(miRmine)
miRmine

You may want to further subset data on some of many colData features (Tissue, Cell Line, Disease, Sex, Instrument) or output some specifics of particular experiment(s) (Accession #, Description, Publication):

adenocarcinoma = miRmine[ , miRmine$Disease %in% c("Adenocarcinoma")]
adenocarcinoma
as.character(adenocarcinoma$Sample.Accession)

rowRanges data is also rich in metadata, containing all the features from miRBase hsa.gff3, with addition of actual miRNA sequence as DNAString instance. For example to read the sequence of top expressed miRNA over a subset of samples:

top.mirna = names(sort(rowSums(assays(adenocarcinoma)$counts))[1])
rowRanges(adenocarcinoma)$mirna_seq[[top.mirna]]

miRmine could be directly used in DESeq2 (note that expression values are RPM not raw reads):

library("DESeq2")

mirmine.subset = miRmine[, miRmine$Tissue %in% c("Lung", "Saliva")]
mirmine.subset = SummarizedExperiment(
    assays = SimpleList(counts=ceiling(assays(mirmine.subset)$counts)), 
    colData=colData(mirmine.subset), 
    rowRanges=rowRanges(mirmine.subset),
    rowData=NULL
)

ddsSE <- DESeqDataSet(mirmine.subset, design = ~ Tissue)
ddsSE <- ddsSE[ rowSums(counts(ddsSE)) > 1, ]

dds <- DESeq(ddsSE)
res <- results(dds)
res

Session info {.unnumbered}

sessionInfo()


Try the miRmine package in your browser

Any scripts or data that you put into this service are public.

miRmine documentation built on Nov. 8, 2020, 6:14 p.m.