Learn R Programming

pcaExplorer (version 1.0.2)

pca2go: Functional interpretation of the principal components

Description

Extracts the genes with the highest loadings for each principal component, and performs functional enrichment analysis on them using routines and algorithms from the topGO package

Usage

pca2go(se, pca_ngenes = 10000, annotation = NULL,
  inputType = "geneSymbol", organism = "Mm", ensToGeneSymbol = FALSE,
  loadings_ngenes = 500, background_genes = NULL, scale = FALSE, ...)

Arguments

se
A DESeqTransform object, with data in assay(se), produced for example by either rlog or varianceStabilizingTransformation
pca_ngenes
Number of genes to use for the PCA
annotation
A data.frame object, with row.names as gene identifiers (e.g. ENSEMBL ids) and a column, gene_name, containing e.g. HGNC-based gene symbols
inputType
Input format type of the gene identifiers. Will be used by the routines of topGO
organism
Character abbreviation for the species, using org.XX.eg.db for annotation
ensToGeneSymbol
Logical, whether to expect ENSEMBL gene identifiers, to convert to gene symbols with the annotation provided
loadings_ngenes
Number of genes to extract the loadings (in each direction)
background_genes
Which genes to consider as background.
scale
Logical, defaults to FALSE, scale values for the PCA
...
Further parameters to be passed to the topGO routine

Value

  • A nested list object containing for each principal component the terms enriched in each direction. This object is to be thought in combination with the displaying feature of the main pcaExplorer function

Examples

Run this code
library(airway)
library(DESeq2)
data(airway)
airway
dds_airway <- DESeqDataSet(airway, design= ~ cell + dex)
rld_airway <- rlogTransformation(dds_airway)

# constructing the annotation object
anno_df <- data.frame(gene_id = rownames(dds_airway),
                      stringsAsFactors=FALSE)
library("AnnotationDbi")
library("org.Hs.eg.db")
anno_df$gene_name <- mapIds(org.Hs.eg.db,
                            keys=anno_df$gene_id,
                            column="SYMBOL",
                            keytype="ENSEMBL",
                            multiVals="first")
rownames(anno_df) <- anno_df$gene_id
bg_ids <- rownames(dds_airway)[rowSums(counts(dds_airway)) > 0]
library(topGO)
pca2go_airway <- pca2go(rld_airway,
                        annotation = anno_df,
                        organism = "Hs",
                        ensToGeneSymbol = TRUE,
                        background_genes = bg_ids)

Run the code above in your browser using DataLab