Counts矩阵的标准化方法:TMM和VST、RLOG

发布于 2022-07-27  121 次阅读


  • TMM:The Trimmed Mean of M value by edgeR
  • VST:The variance stabilizing transformation by DESeq2
  • RLOG:The regularized-logarithm transformation by DESeq2

Counts矩阵来源于STAR匹配得到的结果df <- read.csv('GSE123379.csv', row.names = 1)

安装补充包

TMM方法

f_counts2TMM <- function(countsMatrix){
    require(edgeR)
    TMM <- DGEList(counts = countsMatrix)
    TMM <- calcNormFactors(TMM, method = 'TMM')
    cpm(TMM, normalized.lib.sizes = TRUE, log=F)
}
countsMatrix <- df[-(1:3)]
TMM <- f_counts2TMM(countsMatrix)
TMM

VST方法

f_counts2VST <- function(countsMatrix){
    require(DESeq2)
    conditions <- factor(rep("Control",ncol(countsMatrix)))
    colData_b <- data.frame(row.names = colnames(countsMatrix), conditions)
    dds <- DESeqDataSetFromMatrix(countData = countsMatrix,
                              colData = colData_b,
                              design = ~ 1)
    vsd <- vst(object=dds, blind=T) 
    assay(vsd)
}
countsMatrix <- df[-(1:3)]
VST <- f_counts2VST(countsMatrix)
VST

RLOG方法

f_counts2RLOG <- function(countsMatrix){
    require(DESeq2)
    conditions <- factor(rep("Control",ncol(countsMatrix)))
    colData_b <- data.frame(row.names = colnames(countsMatrix), conditions)
    dds <- DESeqDataSetFromMatrix(countData = countsMatrix,
                              colData = colData_b,
                              design = ~ 1)
    rld  <- rlog(object=dds, blind=T) 
    assay(rld)
}
countsMatrix <- df[-(1:3)]
RLOG <- f_counts2RLOG(countsMatrix)
RLOG

医学生