Input expression data: log or anti-log?
randel opened this issue · comments
When using this nice package, I was confused by whether the input expression should be log or anti-log transformed.
The example data are log-transfromed.
data(melanoma)
melanoma1 = as.matrix(melanoma[, 2:dim(melanoma)[2]])
row.names(melanoma1) = melanoma[, 1]
range(melanoma1)
[1] 0.000 15.923
In SCcluster()
, NormalizeData()
from the Seurat
is called, and data are log-transformed again by normalization.method = "LogNormalize"
.
Then in getClusterGene()
, get_marker_genes()
from the SC3
package is called. According to its example, get_marker_genes()
takes in anti-log transformed data as input, other than the log-transformed data.
range(yan[1:10,])
[1] 0 9225
SCmarker can select markers from either raw expression data or log transformed. It does not require any normalization. If you want to integrate SCMarker to other tools (Seurat or SC3), anti-log transformed would be recommended.