Skip to contents

Extract gene-level Eigen-vectors for PCs of interest and calculate percent variance.

Usage

extractEigen(object, component)

Arguments

object

A geneda object containing PCA results in the DimReduction slot

component

Principal component to use (i.e., PC1)

Value

A data-frame containing gene loading information and percent variation per gene

Examples

data(Snail1KO)
counts <- as.matrix(Snail1KO$rawCounts)
counts <- counts[rowSums(counts >= 10) >= 3, ]
meta <- Snail1KO$metadata
rownames(meta) <- meta$Sample
norm <- log2(t(t(counts) / colSums(counts)) * 1e6 + 1)
obj <- GenEDA(normalized = norm, metadata = meta, counts = counts)
obj <- FindVariableFeatures(obj, nfeatures = 1000)
obj <- RunPCA(obj)
#> Calculating principal components from top 1000 HVGs
#> Percent variations:
#> PC1: 88.56 %
#> PC2: 5.9 %
#> PC3: 2.91 %
#> PC4: 1.55 %
#> PC5: 1.08 %
#> PC6: 0 %
pc1 <- extractEigen(obj, component = "PC1")
head(pc1[order(-abs(pc1$EigenVector)), ])
#>     Gene EigenVector    PctVar
#> 1   THY1  0.15391684 2.3690395
#> 2   CCL2  0.12944925 1.6757108
#> 3   SSX1 -0.12636775 1.5968807
#> 4   GPX1  0.11264224 1.2688275
#> 5 AKR1C2 -0.10203978 1.0412117
#> 6   EZH2  0.09539501 0.9100209