2、Normalization

2020-09-19  本文已影响0人  小贝学生信

原文链接Chapter 7 Normalization

1、目的

#加载第一步的QC数据
load("fluidigm_qc.Rdata")
fluidigm_qc
library(scater)
#scater常用函数默认使用名为counts的原始矩阵,为了方便,copy、rename第三个矩阵 
counts(fluidigm_qc) <- assay(fluidigm_qc, 3)

2、size factor

#计算size.factor
lib.sf.fluidigm <- librarySizeFactors(fluidigm_qc)
summary(lib.sf.fluidigm)
head(lib.sf.fluidigm)
head(fluidigm_qc$sum)

#or
lib.sf <- fluidigm_qc$sum/mean(fluidigm_qc$sum)
2-1

3、log-transforming

4、实现方法

fluidigm_lgnm <- logNormCounts(fluidigm_qc)
assays(fluidigm_lgnm)
logcounts(fluidigm_lgnm)[1:4,1:4]
save(fluidigm_lgnm, file = "fluidigm_lgnm.Rdata")
logcounts(fluidigm_lgnm)[1:4,1:4]
dim(counts(fluidigm_qc))
res <- matrix(nrow=26255,ncol=127)
Sys.time()
for(i in 1:length(lib.sf.fluidigm)){
  cell <- counts(fluidigm_qc)[,i]
  #cell <- counts(fluidigm_qc)[,1]
  x=cell/lib.sf.fluidigm[i] #向量化操作
  x=x+1
  x=log2(x)
  res[,i]=x
}
Sys.time()
res[1:4,1:4]

res[1:4,1:4]

以上是第七章Normalization部分的简单流程笔记。原文还介绍了Normalization by deconvolution or spike-ins两种方法,详见Chapter 7 Normalization
本系列笔记基于OSCA全流程的大致流程梳理,详细原理可参考原文。如有错误,恳请指正!
此外还有刘小泽老师整理的全文翻译笔记,详见目录

上一篇下一篇

猜你喜欢

热点阅读