-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathprepscEx.R
97 lines (76 loc) · 2.51 KB
/
prepscEx.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# smaller data set with some random data
load("Examples/PBMC-Apheresis.new.Rds")
library(SingleCellExperiment)
require(irlba)
class(gbm)
gbmMat = as.matrix(exprs(gbm))
object.size(gbm)
object.size(gbmMat)
pd = pData(gbm)
fd = fData(gbm)
pd = pd[1:200,]
pd$sampleNames = as.character(pd$sampleNames)
pd$sampleNames[101:200] = "test2"
pd$sampleNames = as.factor(pd$sampleNames)
fd = fd[1:1000,]
gbmMat = gbmMat[1:1000,1:200]
counts <- as(gbmMat, "dgCMatrix")
scEx = SingleCellExperiment(assay = list(counts=counts),
colData = pd,
rowData = fd)
class(scEx)
object.size(scEx)
class(assays(scEx)[[1]])
system.time({scEx = scater::runPCA(scEx,ncomponents = 10, method = "irlba",
ntop = 500, exprs_values = "counts")})
pca = reducedDim(scEx, "PCA")
attr(pca,"percentVar")
system.time({irlaPCA = irlba::prcomp_irlba(assays(scEx)[[1]], n = 10,
retx = TRUE,
center = Matrix::colMeans(assays(scEx)[[1]]),
fastpath=FALSE,
scale. = FALSE)})
cent = Matrix::colMeans(assays(scEx)[[1]])
rv <- rowVars(assays(scEx)[[1]])
system.time({prPCA = prcomp_irlba(assays(scEx)[[1]], n = 10,
retx = TRUE,
center = cent,
fastpath=TRUE,
scale. = FALSE)})
save(file = "scEx.Rds", list = c("scEx"))
summary(scEx)
colData(scEx)
rownames(scEx)
names(scEx)
colnames(scEx)
exprs(scEx) # doesn't work
sum(is.infinite(scEx))
assaysSCEX = (assays(scEx))
assays(scEx)[[1]]
sampleIdx = sample.int(ncol(gbm), 1000)
Matrix::colSums(scEx > 0, na.rm = TRUE)
ncol(countES) <= 1 | nrow(countES) < 1
colnames(dataTables$scEx)
selCols <- scEx[ids, ] > 0
pData(countES)$sampleNames
gbm_bcnorm <- (newGeneBCMatrix(A, fData(scEx), pData(scEx),
template = scEx
))
colData(scEx)$sampleNames
colData(gbmNew) <- pD
gbm = gbm[,sampleIdx]
pd = pData(gbm)
rownames(pd)[1:500] = gsub("-1", "-samp1", rownames(pd)[1:500])
rownames(pd)[501:1000] = gsub("-1", "-samp2", rownames(pd)[501:1000])
pd$sampleNames = as.character(pd$sampleNames)
pd$sampleNames[1:500] = "samp1"
pd$sampleNames[501:1000] = "samp2"
pd$sampleNames = factor(pd$sampleNames)
pd$barcode = rownames(pd)
pd$randomNr = runif(nrow(pd),0,10)
pd$randomNr2 = runif(nrow(pd),0,10000)
pData(gbm) = pd
ex = exprs(gbm)
colnames(ex) = rownames(pd)
# exprs(gbm) = ex
gbm <- newGeneBCMatrix(mat = as(ex, "dgTMatrix"), fd = fData(gbm), pd = pd)