手把手教你做單細(xì)胞測序(四)——多樣本整合

上次的視頻中已花費(fèi)大量時(shí)間講解過單樣本分析的基本流程,所以這節(jié)課的學(xué)習(xí)需要有上節(jié)課的基礎(chǔ)饮六,希望大家按順序觀看其垄。此次的內(nèi)容較簡單、篇幅也較小卤橄,代碼與視頻請(qǐng)看下文绿满,測試數(shù)據(jù)集與代碼存于文末鏈接之中。由于測試數(shù)據(jù)比較特殊窟扑,并沒有展示出去批次的精妙之處喇颁,留一個(gè)懸念給大家吧,可以用自己的數(shù)據(jù)集測試一下嚎货。

手把手教你做單細(xì)胞測序(四)——多樣本整合

(B站同步播出橘霎,先看一遍視頻再跟著代碼一起操作,建議每個(gè)視頻至少看三遍)



###########單純的merge#################
  library(Seurat)
  library(multtest)
  library(dplyr)
  library(ggplot2)
  library(patchwork)
  
##########準(zhǔn)備用于拆分的數(shù)據(jù)集##########
#pbmc <- subset(pbmc, downsample = 50)
ifnb <- readRDS('pbmcrenamed.rds')
ifnb.list <- SplitObject(ifnb, split.by = "group")
C57 <- ifnb.list$C57
AS1 <- ifnb.list$AS1
######簡單merge######## 
#不具有去批次效應(yīng)功能
pbmc <- merge(C57, y = c(AS1), add.cell.ids = c("C57", "AS1"), project = "ALL")
pbmc
head(colnames(pbmc))
unique(sapply(X = strsplit(colnames(pbmc), split = "_"), FUN = "[", 1))
table(pbmc$orig.ident)
##############anchor###############
library(Seurat)
library(tidyverse)
### testA ----
myfunction1 <- function(testA.seu){
  testA.seu <- NormalizeData(testA.seu, normalization.method = "LogNormalize", scale.factor = 10000)
  testA.seu <- FindVariableFeatures(testA.seu, selection.method = "vst", nfeatures = 2000)
  return(testA.seu)
}
C57 <- myfunction1(C57)
AS1 <- myfunction1(AS1)

### Integration ----
testAB.anchors <- FindIntegrationAnchors(object.list = list(C57,AS1), dims = 1:20)
testAB.integrated <- IntegrateData(anchorset = testAB.anchors, dims = 1:20)

#需要注意的是:上面的整合步驟相對(duì)于harmony整合方法殖属,對(duì)于較大的數(shù)據(jù)集(幾萬個(gè)細(xì)胞)
#非常消耗內(nèi)存和時(shí)間姐叁,大約9G的數(shù)據(jù)32G的內(nèi)存就已經(jīng)無法運(yùn)行;
#當(dāng)存在某一個(gè)Seurat對(duì)象細(xì)胞數(shù)很少(印象中200以下這樣子),
#會(huì)報(bào)錯(cuò)外潜,這時(shí)建議用第二種整合方法

DefaultAssay(testAB.integrated) <- "integrated"

# # Run the standard workflow for visualization and clustering
testAB.integrated <- ScaleData(testAB.integrated, features = rownames(testAB.integrated))
testAB.integrated <- RunPCA(testAB.integrated, npcs = 50, verbose = FALSE)
testAB.integrated <- FindNeighbors(testAB.integrated, dims = 1:30)
testAB.integrated <- FindClusters(testAB.integrated, resolution = 0.5)
testAB.integrated <- RunUMAP(testAB.integrated, dims = 1:30)
testAB.integrated <- RunTSNE(testAB.integrated, dims = 1:30)
p1<- DimPlot(testAB.integrated,label = T,split.by = 'group')#integrated

DefaultAssay(testAB.integrated) <- "RNA"
testAB.integrated <- ScaleData(testAB.integrated, features = rownames(testAB.integrated))
testAB.integrated <- RunPCA(testAB.integrated, npcs = 50, verbose = FALSE)
testAB.integrated <- FindNeighbors(testAB.integrated, dims = 1:30)
testAB.integrated <- FindClusters(testAB.integrated, resolution = 0.5)
testAB.integrated <- RunUMAP(testAB.integrated, dims = 1:30)
testAB.integrated <- RunTSNE(testAB.integrated, dims = 1:30)

p2 <- DimPlot(testAB.integrated,label = T,split.by = 'group')
p1|p2

###########harmony 速度快原环、內(nèi)存少################
if(!require(harmony))devtools::install_github("immunogenomics/harmony")
test.seu <- pbmc
test.seu <-  test.seu%>%
  Seurat::NormalizeData() %>%
  FindVariableFeatures(selection.method = "vst", nfeatures = 2000) %>% 
  ScaleData()
test.seu <- RunPCA(test.seu, npcs = 50, verbose = FALSE)


#####run 到PCA再進(jìn)行harmony,相當(dāng)于降維########
test.seu=test.seu %>% RunHarmony("group", plot_convergence = TRUE)

test.seu <- test.seu %>% 
  RunUMAP(reduction = "harmony", dims = 1:30) %>% 
  FindNeighbors(reduction = "harmony", dims = 1:30) %>% 
  FindClusters(resolution = 0.5) %>% 
  identity()

test.seu <- test.seu %>% 
  RunTSNE(reduction = "harmony", dims = 1:30)
  
  p3 <- DimPlot(test.seu, reduction = "tsne", group.by = "group", pt.size=0.5)+theme(
  axis.line = element_blank(),
  axis.ticks = element_blank(),axis.text = element_blank()
)
p4 <- DimPlot(test.seu, reduction = "tsne", group.by = "ident",   pt.size=0.5, label = TRUE,repel = TRUE)+theme(
  axis.line = element_blank(),
  axis.ticks = element_blank(),axis.text = element_blank()
)
p3|p4

本系列其他課程

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(一)——緒論

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(二)——各類輸入文件讀取

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(三)——單樣本分析

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(四)——多樣本整合

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(五)——細(xì)胞類型注釋

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(六)——組間差異分析及可視化

手把手教你做單細(xì)胞測序數(shù)據(jù)分析(七)——基因集富集分析

歡迎關(guān)注同名公眾號(hào)~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末处窥,一起剝皮案震驚了整個(gè)濱河市嘱吗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌滔驾,老刑警劉巖谒麦,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異哆致,居然都是意外死亡弄匕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門沽瞭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迁匠,“玉大人,你說我怎么就攤上這事驹溃〕巧ィ” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵豌鹤,是天一觀的道長亡哄。 經(jīng)常有香客問我,道長布疙,這世上最難降的妖魔是什么蚊惯? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮灵临,結(jié)果婚禮上截型,老公的妹妹穿的比我還像新娘。我一直安慰自己儒溉,他們只是感情好宦焦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顿涣,像睡著了一般波闹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涛碑,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天精堕,我揣著相機(jī)與錄音,去河邊找鬼蒲障。 笑死歹篓,一個(gè)胖子當(dāng)著我的面吹牛瘫证,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滋捶,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼余黎!你這毒婦竟也來了重窟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤惧财,失蹤者是張志新(化名)和其女友劉穎巡扇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垮衷,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厅翔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搀突。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刀闷。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仰迁,靈堂內(nèi)的尸體忽然破棺而出甸昏,到底是詐尸還是另有隱情,我是刑警寧澤徐许,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布施蜜,位于F島的核電站,受9級(jí)特大地震影響雌隅,放射性物質(zhì)發(fā)生泄漏翻默。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一恰起、第九天 我趴在偏房一處隱蔽的房頂上張望修械。 院中可真熱鬧,春花似錦检盼、人聲如沸祠肥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仇箱。三九已至,卻和暖如春东羹,著一層夾襖步出監(jiān)牢的瞬間剂桥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工属提, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留权逗,地道東北人美尸。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像斟薇,于是被迫代替她去往敵國和親师坎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容