Platforms | OS | R CMD check |
---|---|---|
Bioc (devel) | Multiple | |
Bioc (release) | Multiple |
pcaExplorer
is a Bioconductor package containing a Shiny application for
analyzing expression data in different conditions and experimental factors.
It is a general-purpose interactive companion tool for RNA-seq analysis, which guides the user in exploring the Principal Components of the data under inspection.
pcaExplorer
provides tools and functionality to detect outlier samples, genes
that show particular patterns, and additionally provides a functional interpretation of
the principal components for further quality assessment and hypothesis generation
on the input data.
Moreover, a novel visualization approach is presented to simultaneously assess the effect of more than one experimental factor on the expression levels.
Thanks to its interactive/reactive design, it is designed to become a practical companion to any RNA-seq dataset analysis, making exploratory data analysis accessible also to the bench biologist, while providing additional insight also for the experienced data analyst.
pcaExplorer
can be easily installed using BiocManager::install()
:
if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("pcaExplorer")
or, optionally,
BiocManager::install("federicomarini/pcaExplorer")
# or alternatively...
devtools::install_github("federicomarini/pcaExplorer")
This command loads the pcaExplorer
package
library("pcaExplorer")
The pcaExplorer
app can be launched in different modes:
-
pcaExplorer(dds = dds, dst = dst)
, wheredds
is aDESeqDataSet
object anddst
is aDESeqTransform
object, which were created during an existing session for the analysis of an RNA-seq dataset with theDESeq2
package -
pcaExplorer(dds = dds)
, wheredds
is aDESeqDataSet
object. Thedst
object is automatically computed upon launch. -
pcaExplorer(countmatrix = countmatrix, coldata = coldata)
, wherecountmatrix
is a count matrix, generated after assigning reads to features such as genes via tools such asHTSeq-count
orfeatureCounts
, andcoldata
is a data frame containing the experimental covariates of the experiments, such as condition, tissue, cell line, run batch and so on. -
pcaExplorer()
, and then subsequently uploading the count matrix and the covariates data frame through the user interface. These files need to be formatted as tab separated files, which is a common format for storing such count values.
Additional parameters and objects that can be provided to the main pcaExplorer
function are:
-
pca2go
, which is an object created by thepca2go
function, which scans the genes with high loadings in each principal component and each direction, and looks for functions (such as GO Biological Processes) that are enriched above the background. The offlinepca2go
function is based on the routines and algorithms of thetopGO
package, but as an alternative, this object can be computed live during the execution of the app exploiting thegoana
function, provided by thelimma
package. Although this likely provides more general (and probably less informative) functions, it is a good compromise for obtaining a further data interpretation. -
annotation
, a data frame object, withrow.names
as gene identifiers (e.g. ENSEMBL ids) identical to the row names of the count matrix ordds
object, and an extra columngene_name
, containing e.g. HGNC-based gene symbols. This can be used for making information extraction easier, as ENSEMBL ids (a usual choice when assigning reads to features) do not provide an immediate readout for which gene they refer to. This can be either passed as a parameter when launching the app, or also uploaded as a tab separated text file.
For additional details regarding the functions of pcaExplorer, please consult the documentation or write an email to marinif@uni-mainz.de.
Please note that the pcaExplorer project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Please use https://github.com/federicomarini/pcaExplorer/issues for reporting bugs, issues or for suggesting new features to be implemented.