10X scRNA免疫治療學(xué)習(xí)筆記-6-marker基因的表達(dá)量可視化

劉小澤寫于19.10.18
筆記目的:根據(jù)生信技能樹的單細(xì)胞轉(zhuǎn)錄組課程探索10X Genomics技術(shù)相關(guān)的分析
課程鏈接在:http://jm.grazy.cn/index/mulitcourse/detail.html?cid=55
第二單元第10講:marker基因的表達(dá)量可視化

前言

這次的任務(wù)是模仿原文的:

腫瘤組織的差異分析(Fig. 4a蔽氨、c)

原文的圖

下載數(shù)據(jù)

之前的分析都是基于第一個(gè)病人的PBMC多柑,這次將基于這位病人的tumor:GSE117988_raw.expMatrix_Tumor.csv.gz

start_time <- Sys.time()
raw_dataTumor <- read.csv('./GSE117988_raw.expMatrix_Tumor.csv.gz', header = TRUE, row.names = 1)
end_time <- Sys.time()
end_time - start_time
# Time difference of 47.00589 secs
dim(raw_dataTumor) # 21861基因,7431細(xì)胞- already filtered

注意:之前PBMC包含了四個(gè)時(shí)間點(diǎn)的樣本,這里的Tumor包含了2個(gè)樣本(治療之前Pre和復(fù)發(fā)AR)

常規(guī)流程

step1: 歸一化
dataTumor <- log2(1 + sweep(raw_dataTumor, 2, median(colSums(raw_dataTumor))/colSums(raw_dataTumor), '*'))
> head(colnames(dataTumor))
[1] "AAACCTGAGGATGTAT.1" "AAACCTGCAGCGATCC.1" "AAACCTGGTACGAAAT.1" "AAACGGGAGCTGGAAC.1" "AAACGGGAGGAGTTGC.1"
[6] "AAACGGGAGTTTAGGA.1"
step2: 自定義劃分細(xì)胞類型
cellTypes <- sapply(colnames(dataTumor), function(x) ExtractField(x, 2, '[.]'))
cellTypes <-ifelse(cellTypes == '1', 'Tumor_Before', 'Tumor_AcquiredResistance')
> table(cellTypes)
cellTypes
Tumor_AcquiredResistance             Tumor_Before 
                    5188                     2243 
step3: 表達(dá)矩陣質(zhì)控
# 第一點(diǎn):基因在多少細(xì)胞表達(dá) 
> fivenum(apply(dataTumor,1,function(x) sum(x>0) ))
   VP2 GPRIN2   EML3 ZNF140  RPLP1 
     1      8    103    566   7431
# 第二點(diǎn):細(xì)胞中有多少表達(dá)的基因
> fivenum(apply(dataTumor,2,function(x) sum(x>0) ))
GGAACTTAGGAATCGC.1 TACGGTACAAGCCGCT.2 CCTACCAAGCGTGAGT.1 TGAGCCGAGACTAGAT.2 GATCGTAGTCATATGC.2 
             192.0             1059.0             1380.0             1971.5             5888.0 

看到大部分基因在500多個(gè)細(xì)胞表達(dá)掏父,細(xì)胞平均能表達(dá)1000個(gè)基因以上

step4: 創(chuàng)建Seurat對(duì)象
tumor <- CreateSeuratObject(dataTumor, 
                           min.cells = 1, min.features = 0, project = '10x_Tumor')
> tumor 
An object of class seurat in project 10x_Tumor 
 21861 genes across 7431 samples.
step5: 添加metadata (nUMI 和 細(xì)胞類型)
tumor <- AddMetaData(object = tumor, metadata = apply(raw_dataTumor, 2, sum), col.name = 'nUMI_raw')
tumor <- AddMetaData(object = tumor, metadata = cellTypes, col.name = 'cellTypes')
step6: 聚類標(biāo)準(zhǔn)流程
start_time <- Sys.time()
tumor <- ScaleData(object = tumor, vars.to.regress = c('nUMI_raw'), model.use = 'linear', use.umi = FALSE)
tumor <- FindVariableGenes(object = tumor, mean.function = ExpMean, dispersion.function = LogVMR, x.low.cutoff = 0.0125, x.high.cutoff = 3, y.cutoff = 0.5)
tumor <- RunPCA(object = tumor, pc.genes = tumor@var.genes)
tumor <- RunTSNE(object = tumor, dims.use = 1:10, perplexity = 25)
end_time <- Sys.time()
end_time - start_time
# Time difference of 3.324982 mins
TSNEPlot(tumor, group.by = 'cellTypes', colors.use = c('#EF8A62', '#67A9CF'))
save(tumor,file = 'patient1.Tumor.V2.output.Rdata') # 3.6Gb 大小
分成兩群

接著進(jìn)行基因可視化

rm(list = ls()) 
options(warn=-1) 
start_time <- Sys.time()
load('patient1.Tumor.V2.output.Rdata')
end_time <- Sys.time()
end_time - start_time
# Time difference of 19.83097 secs
取出log歸一化后的表達(dá)矩陣
count_matrix=tumor@data
> count_matrix[1:4,1:4]
              AAACCTGAGGATGTAT.1 AAACCTGCAGCGATCC.1 AAACCTGGTACGAAAT.1 AAACGGGAGCTGGAAC.1
VP2                    0.0000000                  0                  0                  0
largeTAntigen          0.9670525                  0                  0                  0
smallTAntigen          0.0000000                  0                  0                  0
RP11-34P13.7           0.0000000                  0                  0                  0
取出細(xì)胞分群信息
cluster=tumor@meta.data$cellTypes
> table(cluster)
cluster
Tumor_AcquiredResistance             Tumor_Before 
                    5188                     2243
提取基因信息

文章主要探索了治療前和復(fù)發(fā)后的HLA-A和HLA-B的變化笋轨,于是我們先看看有沒有這兩個(gè)基因

allGenes = row.names(tumor@raw.data)
> allGenes[grep('HLA',allGenes)]
 [1] "HHLA3"    "HLA-F"    "HLA-G"    "HLA-A"    "HLA-E"    "HLA-C"    "HLA-B"    "HLA-DRA"  "HLA-DRB5"
[10] "HLA-DRB1" "HLA-DQA1" "HLA-DQB1" "HLA-DQA2" "HLA-DQB2" "HLA-DOB"  "HLA-DMB"  "HLA-DMA"  "HLA-DOA" 
[19] "HLA-DPA1" "HLA-DPB1"
對(duì)HLA-A操作
FeaturePlot(object = tumor, 
            features.plot ='HLA-A', 
            cols.use = c("grey", "blue"), 
            reduction.use = "tsne")
HLA-A表達(dá)
看HLA-A表達(dá)量
> table(count_matrix['HLA-A',]>0, cluster)
       cluster
        Tumor_AcquiredResistance Tumor_Before
  FALSE                     2282         1057
  TRUE                      2906         1186
對(duì)HLA-B操作
FeaturePlot(object = tumor, 
            features.plot ='HLA-B', 
            cols.use = c("grey", "blue"), 
            reduction.use = "tsne")

可以看到治療前HLA-A基因有1186個(gè)表達(dá),1057個(gè)不表達(dá)赊淑;復(fù)發(fā)后這個(gè)基因表達(dá)和不表達(dá)的數(shù)量也相近

HLA-B表達(dá)
> table(count_matrix['HLA-B',]>0, cluster)
       cluster
        Tumor_AcquiredResistance Tumor_Before
  FALSE                     4794         1258
  TRUE                       394          985

對(duì)HLA-B來講爵政,不管是治療前還是復(fù)發(fā)后陶缺,它的表達(dá)和不表達(dá)差異就很明顯钾挟。另外從治療前到復(fù)發(fā)饱岸,這個(gè)基因的表達(dá)數(shù)量的變化更顯著

小問題:HLA基因這么多掺出,我們?cè)趺凑业饺康木哂邢嗨颇J降幕颍?/h4>

所謂相似表達(dá)模式苫费,就是像HLA-B基因一樣汤锨,在一個(gè)群表達(dá)很多百框,另一個(gè)群表達(dá)很少闲礼,通過卡方檢驗(yàn)就能看出區(qū)別

>  chisq.test(table(count_matrix['HLA-A',]>0, cluster))

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(count_matrix["HLA-A", ] > 0, cluster)
X-squared = 6.1069, df = 1, p-value = 0.01347

>  chisq.test(table(count_matrix['HLA-B',]>0, cluster))

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(count_matrix["HLA-B", ] > 0, cluster)
X-squared = 1364.4, df = 1, p-value < 2.2e-16

看p值,HLA-B顯著性相比HLA-A就非常強(qiáng)柬泽,我們就是要挑出和HLA-B類似的慎菲,也就是極顯著的聂抢,設(shè)定p值的閾值為0.01

HLA_genes <- allGenes[grep('HLA',allGenes)]
# 將輸出結(jié)果保存在向量中
HLA_result <- c()
for (gene in HLA_genes) {
  tmp <- chisq.test(table(count_matrix[gene,]>0, cluster))
  if (tmp$p.value<0.01) {
    HLA_result[gene] <- gene
  }
}
> names(HLA_result)
 [1] "HLA-F"    "HLA-E"    "HLA-C"    "HLA-B"    "HLA-DRA"  "HLA-DRB5" "HLA-DRB1" "HLA-DQA1" "HLA-DQB1"
[10] "HLA-DQA2" "HLA-DMB"  "HLA-DMA"  "HLA-DOA"  "HLA-DPA1" "HLA-DPB1"
> length(HLA_result)
[1] 15

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市琳疏,隨后出現(xiàn)的幾起案子有决,更是在濱河造成了極大的恐慌空盼,老刑警劉巖书幕,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件揽趾,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡篱瞎,警方通過查閱死者的電腦和手機(jī)苟呐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門俐筋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牵素,“玉大人澄者,你說我怎么就攤上這事笆呆×坏玻” “怎么了赠幕?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵询筏,是天一觀的道長榕堰。 經(jīng)常有香客問我嫌套,道長局冰,這世上最難降的妖魔是什么灌危? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮碳胳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挨约。我一直安慰自己产雹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布蔓挖。 她就那樣靜靜地躺著,像睡著了一般馆衔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上角溃,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音减细,去河邊找鬼匆瓜。 笑死未蝌,一個(gè)胖子當(dāng)著我的面吹牛驮吱,可吹牛的內(nèi)容都是我干的萧吠。 我是一名探鬼主播左冬,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼怎憋,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼又碌!你這毒婦竟也來了绊袋?” 一聲冷哼從身側(cè)響起毕匀,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤癌别,失蹤者是張志新(化名)和其女友劉穎皂岔,沒想到半個(gè)月后展姐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躁垛,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圾笨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年教馆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了擂达。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片土铺。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悲敷,靈堂內(nèi)的尸體忽然破棺而出究恤,到底是詐尸還是另有隱情后德,我是刑警寧澤部宿,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布瓢湃,位于F島的核電站理张,受9級(jí)特大地震影響箱季,放射性物質(zhì)發(fā)生泄漏涯穷。R本人自食惡果不足惜藏雏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一拷况、第九天 我趴在偏房一處隱蔽的房頂上張望掘殴。 院中可真熱鬧赚瘦,春花似錦、人聲如沸起意。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至套菜,卻和暖如春亲善,著一層夾襖步出監(jiān)牢的瞬間逗柴,已是汗流浹背蛹头。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工戏溺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渣蜗,地道東北人旷祸。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓耕拷,卻偏偏與公主長得像托享,于是被迫代替她去往敵國和親骚烧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345