Sorry I just got totally confused conceptually.
If this is my raw count data
Likely, Seurat divides each value by sum of the column afterward times by 10000.
which gives so
s1.1 s1.2 s1.3 s1.4 s1.5
DDB_G0267178 0.00000000 0.009263254 0 0.01286397 0
DDB_G0267180 0.00000000 0.000000000 0 0.00000000 0
DDB_G0267182 0.00000000 0.000000000 0 0.03810585 0
DDB_G0267184 0.00000000 0.000000000 0 0.00000000 0
DDB_G0267188 0.02640801 0.000000000 0 0.01286397 0
Literally Seurat claims that final step would be taking natural log of the above matrix as I tested with
library(seurat)
mat <- matrix(data = rbinom(n = 25, size = 5, prob = 0.2), nrow = 5)
mat
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 1 1 1
[2,] 1 0 2 2 3
[3,] 1 1 1 1 2
[4,] 1 1 0 1 0
[5,] 0 0 0 1 3
mat_norm <- LogNormalize(data = mat)
mat_norm
[1,] 7.824446 . 7.824446 7.419181 7.014015
[2,] 7.824446 . 8.517393 8.112028 8.112028
[3,] 7.824446 8.517393 7.824446 7.419181 7.706713
[4,] 7.824446 8.517393 . 7.419181 .
[5,] . . . 7.419181 8.112028
My confusion is: seurat@data dose not give me natural log transformed data rather returns only data divided by column sum and scalled by 10000. So when plotting a violin plot if data are log normalised plot should not look as below picture
When I used
VlnPlot(object = y, features.plot = "DDB_G0277853", x.lab.rot = FALSE, y.log = TRUE)
plot changed totally. Could someone please help me in getting idea about seurat@data that is not really log transformed and by which data violin plot is being produced??? So if a gene has 10000 read counts, without log transformation violin plot should be so
This is my seurat object