Dear all,
happy and healthy new year !
I would appreciate your help on scRNA-seq analysis , as I am doing a comparison between 2 scRNA-seq datasets, and after I use RunCCA() and AlignSubspace(), as described here :
https://satijalab.org/seurat/immune_alignment.html
please would you let me know how I can access the matrices with the appropriate (processed) gene counts,
in order to make customized boxplots BETWEEN specific GENES that belong to distinct CLUSTERS in CONTROL vs TREATMENT1 (and TREATMENT2) ? thank you very much !
> str(both.combined)
Formal class 'seurat' [package "Seurat"] with 20 slots
..@ raw.data :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. ..@ i : int [1:10354214] 2 22 24 41 43 45 65 67 79 90 ...
.. .. ..@ p : int [1:3172] 0 1386 5184 7061 11913 13631 15513 17776 19993 21875 ...
.. .. ..@ Dim : int [1:2] 15213 3171
.. .. ..@ Dimnames:List of 2
.. .. .. ..$ : chr [1:15213] "Xkr4" "Rp1" "Mrpl15" "Lypla1" ...
.. .. .. ..$ : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
.. .. ..@ x : num [1:10354214] 3 2 2 15 1 3 1 2 1 1 ...
.. .. ..@ factors : list()
..@ data :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. ..@ i : int [1:10354214] 2 22 24 41 43 45 65 67 79 90 ...
.. .. ..@ p : int [1:3172] 0 1386 5184 7061 11913 13631 15513 17776 19993 21875 ...
.. .. ..@ Dim : int [1:2] 15213 3171
.. .. ..@ Dimnames:List of 2
.. .. .. ..$ : chr [1:15213] "Xkr4" "Rp1" "Mrpl15" "Lypla1" ...
.. .. .. ..$ : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
.. .. ..@ x : num [1:10354214] 1.756 1.433 1.433 3.216 0.954 ...
.. .. ..@ factors : list()
..@ scale.data : num [1:15213, 1:3171] -0.0612 -0.0979 2.8866 -0.6214 -1.0193 ...
.. ..- attr(*, "dimnames")=List of 2
.. .. ..$ : chr [1:15213] "Xkr4" "Rp1" "Mrpl15" "Lypla1" ...
.. .. ..$ : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
..@ var.genes : chr [1:1157] "Sprr1a" "S100a6" "Spp1" "Cartpt" ...
..@ is.expr : num 0
..@ ident : Factor w/ 18 levels "c1_CTRL","c1_G11",..: 5 9 15 1 5 7 1 1 7 11 ...
.. ..- attr(*, "names")= chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
..@ meta.data :'data.frame': 3171 obs. of 7 variables:
.. ..$ nGene : int [1:3171] 1387 3799 1879 4856 1718 1884 2263 2218 1882 5230 ...
.. ..$ nUMI : num [1:3171] 6267 19298 5172 18883 11472 ...
.. ..$ orig.ident : Factor w/ 1 level "comparison.ctrl.vs.g11": 1 1 1 1 1 1 1 1 1 1 ...
.. ..$ stim : chr [1:3171] "CTRL" "CTRL" "CTRL" "CTRL" ...
.. ..$ res.0.6 : chr [1:3171] "2" "4" "7" "0" ...
.. ..$ celltype.stim: chr [1:3171] "c3_CTRL" "c5_CTRL" "c8_CTRL" "c1_CTRL" ...
.. ..$ celltype : chr [1:3171] "c3" "c5" "c8" "c1" ...
..@ project.name: chr "comparison.ctrl.vs.g11"
..@ dr :List of 3
.. ..$ cca :Formal class 'dim.reduction' [package "Seurat"] with 7 slots
.. .. .. ..@ cell.embeddings : num [1:3171, 1:30] 0.0348 0.0264 0.0147 -0.0331 0.0375 ...
.. .. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. .. ..$ : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
.. .. .. .. .. ..$ : chr [1:30] "CC1" "CC2" "CC3" "CC4" ...
.. .. .. ..@ gene.loadings : num [1:1157, 1:30] 9.3 73.6 44.1 -23.2 -59.9 ...
.. .. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. .. ..$ : chr [1:1157] "Sprr1a" "S100a6" "Spp1" "Cartpt" ...
.. .. .. .. .. ..$ : chr [1:30] "CC1" "CC2" "CC3" "CC4" ...
.. .. .. ..@ gene.loadings.full: num [1:15213, 1:30] -2.73 -7.44 5.12 -9.41 -2.36 ...
.. .. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. .. ..$ : chr [1:15213] "Xkr4" "Rp1" "Mrpl15" "Lypla1" ...
.. .. .. .. .. ..$ : chr [1:30] "CC1" "CC2" "CC3" "CC4" ...
.. .. .. ..@ sdev : num(0)
.. .. .. ..@ key : chr "CC"
.. .. .. ..@ jackstraw : NULL
.. .. .. ..@ misc : NULL
.. ..$ cca.aligned:Formal class 'dim.reduction' [package "Seurat"] with 7 slots
.. .. .. ..@ cell.embeddings : num [1:3171, 1:20] 1.421 1.058 0.551 -1.527 1.542 ...
.. .. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. .. ..$ : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
.. .. .. .. .. ..$ : chr [1:20] "ACC1" "ACC2" "ACC3" "ACC4" ...
.. .. .. ..@ gene.loadings : num[0 , 0 ]
.. .. .. ..@ gene.loadings.full: num[0 , 0 ]
.. .. .. ..@ sdev : num(0)
.. .. .. ..@ key : chr "ACC"
.. .. .. ..@ jackstraw : NULL
.. .. .. ..@ misc : NULL
.. ..$ tsne :Formal class 'dim.reduction' [package "Seurat"] with 7 slots
.. .. .. ..@ cell.embeddings : num [1:3171, 1:2] -33.16 -10.77 -5.71 26.2 -33.57 ...
.. .. .. .. ..- attr(*, "dimnames")=List of 2
.. .. .. .. .. ..$ : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
.. .. .. .. .. ..$ : chr [1:2] "tSNE_1" "tSNE_2"
.. .. .. ..@ gene.loadings : num[0 , 0 ]
.. .. .. ..@ gene.loadings.full: num[0 , 0 ]
.. .. .. ..@ sdev : num(0)
.. .. .. ..@ key : chr "tSNE_"
.. .. .. ..@ jackstraw : NULL
.. .. .. ..@ misc : NULL
..@ assay : list()
..@ hvg.info :'data.frame': 0 obs. of 0 variables
Formal class 'data.frame' [package "methods"] with 4 slots
.. .. ..@ .Data : list()
.. .. ..@ names : chr(0)
.. .. ..@ row.names: int(0)
.. .. ..@ .S3Class : chr "data.frame"
..@ imputed :'data.frame': 0 obs. of 0 variables
Formal class 'data.frame' [package "methods"] with 4 slots
.. .. ..@ .Data : list()
.. .. ..@ names : chr(0)
.. .. ..@ row.names: int(0)
.. .. ..@ .S3Class : chr "data.frame"
..@ cell.names : chr [1:3171] "ctrl_AAACCTGAGGATTCGG" "ctrl_AAACCTGAGTACTTGC" "ctrl_AAACCTGCAGATAATG" "ctrl_AAACGGGAGACGCACA" ...
..@ cluster.tree: list()
..@ snn :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
.. .. ..@ i : int 0
.. .. ..@ p : int [1:2] 0 1
.. .. ..@ Dim : int [1:2] 1 1
.. .. ..@ Dimnames:List of 2
.. .. .. ..$ : NULL
.. .. .. ..$ : NULL
.. .. ..@ x : num 1
.. .. ..@ factors : list()
..@ calc.params :List of 7
.. ..$ CreateSeuratObject :List of 13
.. .. ..$ project : chr "comparison.ctrl.vs.g11"
.. .. ..$ min.cells : num 0
.. .. ..$ min.genes : num 0
.. .. ..$ is.expr : num 0
.. .. ..$ normalization.method: NULL
.. .. ..$ scale.factor : num 10000
.. .. ..$ do.scale : logi FALSE
.. .. ..$ do.center : logi FALSE
.. .. ..$ names.field : num 1
.. .. ..$ names.delim : chr "_"
.. .. ..$ display.progress : logi TRUE
.. .. ..$ ... : symbol
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:33:46"
.. ..$ NormalizeData :List of 5
.. .. ..$ assay.type : chr "RNA"
.. .. ..$ normalization.method: chr "LogNormalize"
.. .. ..$ scale.factor : num 10000
.. .. ..$ display.progress : logi TRUE
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:33:46"
.. ..$ ScaleData :List of 16
.. .. ..$ genes.use : chr [1:15213] "Xkr4" "Rp1" "Mrpl15" "Lypla1" ...
.. .. ..$ vars.to.regress : symbol
.. .. ..$ model.use : chr "linear"
.. .. ..$ use.umi : logi FALSE
.. .. ..$ do.scale : logi TRUE
.. .. ..$ do.center : logi TRUE
.. .. ..$ scale.max : num 10
.. .. ..$ block.size : num 1000
.. .. ..$ min.cells.to.block: num 3000
.. .. ..$ display.progress : logi TRUE
.. .. ..$ assay.type : chr "RNA"
.. .. ..$ do.cpp : logi TRUE
.. .. ..$ check.for.norm : logi TRUE
.. .. ..$ do.par : logi FALSE
.. .. ..$ num.cores : num 1
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:33:47"
.. ..$ RunCCA :List of 11
.. .. ..$ group1 : symbol
.. .. ..$ group2 : symbol
.. .. ..$ group.by : symbol
.. .. ..$ num.cc : num 30
.. .. ..$ genes.use : chr [1:1157] "Sprr1a" "S100a6" "Spp1" "Cartpt" ...
.. .. ..$ scale.data : logi TRUE
.. .. ..$ rescale.groups : logi FALSE
.. .. ..$ ... :length 2, mode "...": "ctrl" "stim"
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:33:53"
.. .. ..$ object.project : chr "comparison.ctrl.vs.g11"
.. .. ..$ object2.project: chr "comparison.ctrl.vs.g11"
.. ..$ AlignSubspace.cca :List of 9
.. .. ..$ reduction.type : chr "cca"
.. .. ..$ grouping.var : chr "stim"
.. .. ..$ dims.align : int [1:20] 1 2 3 4 5 6 7 8 9 10 ...
.. .. ..$ num.possible.genes: num 2000
.. .. ..$ num.genes : num 30
.. .. ..$ show.plots : logi FALSE
.. .. ..$ verbose : logi TRUE
.. .. ..$ ... : symbol
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:35:41"
.. ..$ RunTSNE :List of 13
.. .. ..$ reduction.use : chr "cca.aligned"
.. .. ..$ cells.use : NULL
.. .. ..$ dims.use : int [1:20] 1 2 3 4 5 6 7 8 9 10 ...
.. .. ..$ genes.use : NULL
.. .. ..$ seed.use : num 1
.. .. ..$ tsne.method : chr "Rtsne"
.. .. ..$ add.iter : num 0
.. .. ..$ dim.embed : num 2
.. .. ..$ distance.matrix: NULL
.. .. ..$ reduction.name : chr "tsne"
.. .. ..$ reduction.key : chr "tSNE_"
.. .. ..$ ... :length 1, mode "...": TRUE
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:37:25"
.. ..$ FindClusters.res.0.6:List of 21
.. .. ..$ genes.use : NULL
.. .. ..$ reduction.type : chr "cca.aligned"
.. .. ..$ dims.use : int [1:20] 1 2 3 4 5 6 7 8 9 10 ...
.. .. ..$ k.param : num 30
.. .. ..$ plot.SNN : logi FALSE
.. .. ..$ prune.SNN : num 0.0667
.. .. ..$ print.output : logi TRUE
.. .. ..$ distance.matrix : NULL
.. .. ..$ save.SNN : logi FALSE
.. .. ..$ reuse.SNN : logi FALSE
.. .. ..$ force.recalc : logi FALSE
.. .. ..$ nn.eps : num 0
.. .. ..$ modularity.fxn : num 1
.. .. ..$ resolution : num 0.6
.. .. ..$ algorithm : num 1
.. .. ..$ n.start : num 100
.. .. ..$ n.iter : num 10
.. .. ..$ random.seed : num 0
.. .. ..$ temp.file.location: NULL
.. .. ..$ edge.file.name : NULL
.. .. ..$ time : POSIXct[1:1], format: "2019-01-05 18:37:25"
..@ kmeans : NULL
..@ spatial :Formal class 'spatial.info' [package "Seurat"] with 4 slots
.. .. ..@ mix.probs :'data.frame': 3171 obs. of 1 variable:
.. .. .. ..$ nGene: int [1:3171] 1386 3798 1877 4852 1718 1882 2263 2217 1882 5222 ...
.. .. ..@ mix.param :'data.frame': 0 obs. of 0 variables
Formal class 'data.frame' [package "methods"] with 4 slots
.. .. .. .. ..@ .Data : list()
.. .. .. .. ..@ names : chr(0)
.. .. .. .. ..@ row.names: int(0)
.. .. .. .. ..@ .S3Class : chr "data.frame"
.. .. ..@ final.prob :'data.frame': 0 obs. of 0 variables
Formal class 'data.frame' [package "methods"] with 4 slots
.. .. .. .. ..@ .Data : list()
.. .. .. .. ..@ names : chr(0)
.. .. .. .. ..@ row.names: int(0)
.. .. .. .. ..@ .S3Class : chr "data.frame"
.. .. ..@ insitu.matrix:'data.frame': 0 obs. of 0 variables
Formal class 'data.frame' [package "methods"] with 4 slots
.. .. .. .. ..@ .Data : list()
.. .. .. .. ..@ names : chr(0)
.. .. .. .. ..@ row.names: int(0)
.. .. .. .. ..@ .S3Class : chr "data.frame"
..@ misc : NULL
..@ version :Classes 'package_version', 'numeric_version' hidden list of 1
.. ..$ : int [1:3] 2 3 4
In the continuation of my previous message, if I may rephrase the question above; I would appreciate having your insights :)
After following the tutorial that is available at : https://satijalab.org/seurat/immune_alignment.html, the questions are :
1 -- after running " immune.combined <- RunCCA(ctrl, stim, genes.use = genes.use, num.cc = 30)"
in @data and @scale.data, we have the normalized data and the scaled data of the samples as available in the objects "ctrl.data", and "stim.data", correct ? Or these data were modified by CCA algorithm ?
2 -- I could see that the command :
"immune.combined <- AlignSubspace(immune.combined, reduction.type = "cca", grouping.var = "stim", dims.align = 1:20)"
changes only the @scale.data. and not the normalized values in @data : is this expected ?
in which slot could i find the corrected/CCA-aligned "normalized data" of those 2 samples ?
thanks a lot !