View source: R/runColDataPCA.R
runColDataPCA | R Documentation |
Perform a principal components analysis (PCA) on cells, based on the column metadata in a SingleCellExperiment object.
runColDataPCA(
x,
ncomponents = 2,
variables = NULL,
scale = TRUE,
outliers = FALSE,
BSPARAM = ExactParam(),
BPPARAM = SerialParam(),
name = "PCA_coldata"
)
x |
A SingleCellExperiment object. |
ncomponents |
Numeric scalar indicating the number of principal components to obtain. |
variables |
List of strings or a character vector indicating which variables in |
scale |
Logical scalar, should the expression values be standardised so that each feature has unit variance? This will also remove features with standard deviations below 1e-8. |
outliers |
Logical indicating whether outliers should be detected based on PCA coordinates. |
BSPARAM |
A BiocSingularParam object specifying which algorithm should be used to perform the PCA. |
BPPARAM |
A BiocParallelParam object specifying whether the PCA should be parallelized. |
name |
String specifying the name to be used to store the result in the |
This function performs PCA on variables from the column-level metadata instead of the gene expression matrix.
Doing so can be occasionally useful when other forms of experimental data are stored in the colData
,
e.g., protein intensities from FACs or other cell-specific phenotypic information.
This function is particularly useful for identifying low-quality cells based on QC metrics with outliers=TRUE
.
This uses an “outlyingness” measure computed by adjOutlyingness
in the robustbase package.
Outliers are defined those cells with outlyingness values more than 5 MADs above the median, using isOutlier
.
A SingleCellExperiment object containing the first ncomponent
principal coordinates for each cell.
By default, these are stored in the "PCA_coldata"
entry of the reducedDims
slot.
The proportion of variance explained by each PC is stored as a numeric vector in the "percentVar"
attribute.
If outliers=TRUE
, the output colData
will also contain a logical outlier
field.
This specifies the cells that correspond to the identified outliers.
Aaron Lun, based on code by Davis McCarthy
runPCA
, for the corresponding method operating on expression data.
example_sce <- mockSCE()
qc.df <- perCellQCMetrics(example_sce, subset=list(Mito=1:10))
colData(example_sce) <- cbind(colData(example_sce), qc.df)
# Can supply names of colData variables to 'variables',
# as well as AsIs-wrapped vectors of interest.
example_sce <- runColDataPCA(example_sce, variables=list(
"sum", "detected", "subsets_Mito_percent", "altexps_Spikes_percent"
))
reducedDimNames(example_sce)
head(reducedDim(example_sce))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.