transformAssay | R Documentation |
Variety of transformations for abundance data, stored in assay
.
See details for options.
transformAssay(x, ...)
## S4 method for signature 'SummarizedExperiment'
transformAssay(
x,
assay.type = "counts",
assay_name = NULL,
method = c("alr", "chi.square", "clr", "css", "frequency", "hellinger", "log", "log10",
"log2", "max", "normalize", "pa", "range", "rank", "rclr", "relabundance", "rrank",
"standardize", "total", "z"),
MARGIN = "samples",
name = method,
pseudocount = FALSE,
...
)
## S4 method for signature 'SingleCellExperiment'
transformAssay(x, altexp = altExpNames(x), ...)
x |
|
... |
additional arguments passed e.g. on to
|
assay.type |
|
assay_name |
Deprecated. Use |
method |
|
MARGIN |
|
name |
|
pseudocount |
|
altexp |
|
transformAssay
function provides a variety of options for
transforming abundance data. The transformed data is calculated and stored
in a new assay
.
The transformAssay
provides sample-wise (column-wise) or feature-wise
(row-wise) transformation to the abundance table
(assay) based on specified MARGIN
.
The available transformation methods include:
'alr', 'chi.square', 'clr', 'frequency', 'hellinger', 'log',
'normalize', 'pa', 'rank', 'rclr' relabundance', 'rrank', 'standardize',
'total': please refer to
decostand
for details.
'css': Cumulative Sum Scaling (CSS) can be used to normalize count data
by accounting for differences in library sizes. By default, the function
determines the normalization percentile for summing and scaling
counts. If you want to specify the percentile value, good default value
might be 0.5
.The method is inspired by the CSS methods in
metagenomeSeq
package.
'log10': log10 transformation can be used for reducing the skewness of the data.
log10 = \log_{10} x
where x
is a single value of data.
'log2': log2 transformation can be used for reducing the skewness of the data.
log2 = \log_{2} x
where x
is a single value of data.
transformAssay
returns the input object x
, with a new
transformed abundance table named name
added in the
assay
.
Paulson, J., Stine, O., Bravo, H. et al. (2013) Differential abundance analysis for microbial marker-gene surveys Nature Methods 10, 1200–1202. doi:10.1038/nmeth.2658
data(GlobalPatterns)
tse <- GlobalPatterns
# By specifying 'method', it is possible to apply different transformations,
# e.g. compositional transformation.
tse <- transformAssay(tse, method = "relabundance")
# The target of transformation can be specified with "assay.type"
# Pseudocount can be added by specifying 'pseudocount'.
# Perform CLR with smallest positive value as pseudocount
tse <- transformAssay(
tse, assay.type = "relabundance", method = "clr",
pseudocount = TRUE
)
head(assay(tse, "clr"))
# Perform CSS normalization.
tse <- transformAssay(tse, method = "css")
head(assay(tse, "css"))
# With MARGIN, you can specify the if transformation is done for samples or
# for features. Here Z-transformation is done feature-wise.
tse <- transformAssay(tse, method = "standardize", MARGIN = "features")
head(assay(tse, "standardize"))
# Name of the stored table can be specified.
tse <- transformAssay(tse, method="hellinger", name="test")
head(assay(tse, "test"))
# pa returns presence absence table.
tse <- transformAssay(tse, method = "pa")
head(assay(tse, "pa"))
# rank returns ranks of taxa.
tse <- transformAssay(tse, method = "rank")
head(assay(tse, "rank"))
# In order to use other ranking variants, modify the chosen assay directly:
assay(tse, "rank_average", withDimnames = FALSE) <- colRanks(
assay(tse, "counts"), ties.method = "average", preserveShape = TRUE)
# Using altexp parameter. First agglomerate the data and then apply
# transformation.
tse <- GlobalPatterns
tse <- agglomerateByRanks(tse)
tse <- transformAssay(tse, method = "relabundance")
# The transformation is applied to all alternative experiments
altExp(tse, "Species")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.