我們?cè)诘玫絾渭?xì)胞數(shù)據(jù)raw count以后,需要對(duì)單細(xì)胞進(jìn)行一個(gè)標(biāo)準(zhǔn)化處理,然后再進(jìn)行下游分析。
在scRNA-seq中,由于每個(gè)細(xì)胞的起始轉(zhuǎn)錄分子量有限,每個(gè)細(xì)胞中轉(zhuǎn)錄本的捕獲以及擴(kuò)增效率都會(huì)有技術(shù)差異,因此很難保證樣本之間在文庫制備上保持高度的一致性。這也造成了多個(gè)樣本的測(cè)序數(shù)據(jù)中會(huì)存在由于文庫測(cè)序覆蓋率(sequencing coverage)?不同而引入的系統(tǒng)差異。數(shù)據(jù)的標(biāo)準(zhǔn)化目的就是消除這些差異,使得我們得到的分析結(jié)果不受技術(shù)噪音的影響。
一般地標(biāo)準(zhǔn)化有兩類:第一是seurat包里的函數(shù)normalize,計(jì)算了CPM,每百萬的reads數(shù),將基因的count數(shù)除以該細(xì)胞的總read count數(shù),然后乘與1000000,最后再進(jìn)行l(wèi)og2(n+1)的轉(zhuǎn)換
另外一種,R包scran,scran中的標(biāo)準(zhǔn)化使用computeSumFactors()函數(shù),該過程是基于反卷積方法:先合并許多細(xì)胞的計(jì)數(shù)以避免drop-out問題,然后將基于池的量化因子(scale factor)“去卷積”為cell-based factors,以進(jìn)行特定細(xì)胞的標(biāo)準(zhǔn)化。
代碼:
需要用到的包:scran,scRNAseq,scuttle
構(gòu)建sce對(duì)象,將表達(dá)矩陣轉(zhuǎn)換為sce對(duì)象,符合scran的輸入格式
library(scran)
library(scRNAseq)
library(scuttle)
f1 <- read.csv("./10x/sc_CountMatrix.txt",sep="\t",row.names = 1)
sce <- SingleCellExperiment(assays = list(counts = f1))
clusters <- quickCluster(sce)
sce <- computeSumFactors(sce, clusters=clusters)
sce <-computeSpikeFactors(sce)
sce <- logNormCounts(sce)
sce@assays@data$logcounts #標(biāo)準(zhǔn)化后的數(shù)據(jù)提取