autonomics
is created to make cross-platform omics analysis intuitive and enjoyable. It contains import + preprocess + analyze + visualize one-liners for RNAseq, MS proteomics, SOMAscan and Metabolon platforms and a generic importer for data from any rectangular omics file. With a focus on not only automation but also customization, these importers have a flexible formula
/ block
/contrastdefs
interface which allows to define any statistical formula, fit any general linear model, quantify any contrast, and use random effects or precision weights if required, building on top of the powerful limma
platform for statistical analysis. It also offers exquisite support for analyzing complex designs such as the innovative contrastogram visualization to unravel and summarize the differential expression structure in complex designs. By autonomating repetitive tasks, generifying common steps, and intuifying complex designs, it makes cross-platform omics data analysis a fun experience. Try it and enjoy :-).
Autonomics offers import + preprocess + analyze + visualize one-liners for RNAseq, MS proteomics, SOMAscan and Metabolon platforms, as well a generic importer for data from any rectangular omics file. We will discuss each of these in more detail in the following sections, but all of them follow the following general steps:
~0+subgroup
Autonomics provides ready-to-use importers for both count as well as BAM files, which read / preprocess / analyze RNAseq data. Specific to RNAseq is counting reads using Rsubread::featureCounts (for read_rna_bams)), normalizing for library composition (cpm) or gene length (tpm), estimating voom precision weights, and using these in linear modeling. Let’s illustrate both of these on example datasets:
Billing et al. (2019) studied the differentiation of embryonic (E00) into mesenchymal stem cells (E00.8, E01, E02, E05, E15, E30), with similar properties as bone-marrow mesenchymal stem cells (M00). Importing the RNAseq counts:
require(autonomics, quietly = TRUE)
##
## Attaching package: 'autonomics'
## The following object is masked from 'package:stats':
##
## biplot
object <- read_rnaseq_counts(file = download_data('billing19.rnacounts.txt'),
pca = TRUE, fit = 'limma', plot = TRUE)
## Read ~/.cache/autonomics/3ea9213687b919_billing19.rnacounts.txt
## Infer subgroup from sample_ids
## Infer subgroup from sample_ids
## Preprocess
## Keep 22855/56269 features: count >= 10 (~0 + subgroup)
## pseudocount 0.5
## cpm: tmm scale libsizes
## cpm
## voom: ~0 + subgroup
## log2
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## ℹ The deprecated feature was likely used in the autonomics package.
## Please report the issue at
## <https://bitbucket.org/graumannlabtools/autonomics>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Add PCA
## lmFit(~0 + subgroup, weights = assays(object)$weights)
## contrast ndown nup
## 1: E00.8-E00 8 36
## 2: E01-E00.8 0 0
## 3: E02-E01 0 31
## 4: E05-E02 124 18
## 5: E15-E05 3179 4165
## 6: E30-E15 2104 1198
## 7: M00-E30 1579 1523