The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Analyzing RNA-seq data

Introduction

Here we show two options for using limorhyde2 to analyze RNA-seq data: limma-voom and DESeq2. The two approaches give very similar results.

This vignette assumes you are starting with the output of tximport.

Load the data

You will need two objects:

  1. txi, a list from tximport
  2. metadata, a data.frame having one row per sample

The rows in metadata must correspond to the columns of the elements of txi.

library('limorhyde2')
# txi = ?
# metadata = ?

Filter out lowly expressed genes

There are many reasonable strategies to do this, here is one.

keep = rowSums(edgeR::cpm(txi$counts) >= 0.5) / ncol(txi$counts) >= 0.75

txiKeep = txi
for (name in c('counts', 'length')) {
  txiKeep[[name]] = txi[[name]][keep, ]}

Fill in counts for sample-gene pairs having zero counts

This avoids unrealistically low log2 CPM values and thus artificially inflated effect size estimates.

for (i in seq_len(nrow(txiKeep$counts))) {
  idx = txiKeep$counts[i, ] > 0
  txiKeep$counts[i, !idx] = min(txiKeep$counts[i, idx])}

Option 1: limma-voom

y = edgeR::DGEList(txiKeep$counts)
y = edgeR::calcNormFactors(y)

fit = getModelFit(y, metadata, ..., method = 'voom') # replace '...' as appropriate for your data

Option 2: DESeq2

The second and third arguments to DESeqDataSetFromTxImport() are required, but will not be used by limorhyde2.

y = DESeq2::DESeqDataSetFromTximport(txiKeep, metadata, ~1)

fit = getModelFit(y, metadata, ..., method = 'deseq2') # replace '...' as appropriate for your data

Continue using limorhyde2

Regardless of which option you choose, the next steps are the same: getPosteriorFit(), getRhythmStats(), etc.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.