單細胞數(shù)據(jù)-hdWGCNA分析

學(xué)習(xí)整理from官網(wǎng)

單細胞數(shù)據(jù)中的 hdWGCNA

本教程涵蓋了使用 hdWGCNA 對單細胞數(shù)據(jù)執(zhí)行共表達網(wǎng)絡(luò)分析的基礎(chǔ)知識序仙。在這里犯祠,我們使用來自本出版物的人類皮層樣本的處理單核 RNA-seq (snRNA-seq) 數(shù)據(jù)集來演示 hdWGCNA 。該數(shù)據(jù)集已經(jīng)使用標(biāo)準(zhǔn)的單細胞轉(zhuǎn)錄組學(xué)分析管道(例如Seurat或Scanpy )進行了全面處理溉委。如果您想使用自己的數(shù)據(jù)集學(xué)習(xí)本教程继谚,您首先需要滿足以下先決條件:

Seurat 格式的單細胞或單核轉(zhuǎn)錄組學(xué)數(shù)據(jù)集烈菌。
標(biāo)準(zhǔn)化基因表達矩陣NormalizeData。
識別高度可變的基因VariableFeatures。
縮放歸一化的表達式數(shù)據(jù)ScaleData
如果需要芽世,執(zhí)行降維RunPCA和批量校正RunHarmony挚赊。
用于可視化的非線性降維RunUMAP。
將細胞分組為簇(FindNeighbors和FindClusters)济瓢。

可以在Seurat Guided Clustering Tutorial中找到運行先決條件數(shù)據(jù)處理步驟的示例荠割。
此外,還有很多 WGCNA 特定的術(shù)語和首字母縮略詞旺矾,都在該表中進行了說明蔑鹦。

1. 下載教程數(shù)據(jù)

出于本教程的目的,我們提供了周等人2020年研究中控人腦的經(jīng)過處理的修拉對象箕宙。

wget https://swaruplab.bio.uci.edu/public_data/Zhou_2020.rds

下載不能使用嚎朽?

請嘗試從這里鏈接下載文件。

2. 添加數(shù)據(jù)集和所需的庫

首先柬帕,我們將加載單細胞數(shù)據(jù)集和本教程所需的 R 庫哟忍。

library(Seurat)
# plotting and data science packages
library(tidyverse)
library(cowplot)
library(patchwork)
# co-expression network analysis packages:
library(WGCNA)
library(hdWGCNA)
# using the cowplot theme for ggplot
theme_set(theme_cowplot())
# set random seed for reproducibility
set.seed(12345)
# load the Zhou et al snRNA-seq dataset
seurat_obj <- readRDS('Zhou_2020.rds')

在這里,我們將繪制按細肌肉類型著著顏色的UMAP雕崩,以檢查我們是否正確加載了數(shù)據(jù)魁索,并確保我們已將細肌肉分為顆粒和細肌肉類型。

p <- DimPlot(seurat_obj, group.by='cell_type', label=TRUE) +
   umap_theme() + ggtitle('Zhou et al Control Cortex') + NoLegend()
p
image.png

3. 為 WGCNA 設(shè)置 Seurat 對象

hdwgcna之前盼铁,seurat seurat對象hdwgcna計算計算計算的大部分信息信息都在存儲存儲存儲存儲存儲存儲存儲對象對象對象對象對象對象的@misc槽槽槽中。值得注意的是尝偎,由于我們將hdWGCNA看為下游數(shù)據(jù)分析步驟饶火,因此我們不支持在運行后對Seurat對象進行子集化SetupForWGCNA。

SetupForWGCNAseurat seurat對象gene_select對象

  • variable: 使用存儲在修拉對象的VariableFeatures致扯。
  • fraction:在整個數(shù)據(jù)集中或每個細胞中使用在特定部分細胞中表達的原因肤寝,由指定group.by。
  • custom:使用自定義列表表示中指定的原因抖僵。

在這個例子中鲤看,我們將選擇在該數(shù)據(jù)集中至少 5% 的細胞中表現(xiàn)出的原因,并將我們的 hdWGCNA 實驗命名為“教程”耍群。

seurat_obj <- SetupForWGCNA(
  seurat_obj,
  gene_select = "fraction", # the gene selection approach
  fraction = 0.05, # fraction of cells that a gene needs to be expressed in order to be included
  wgcna_name = "tutorial" # the name of the hdWGCNA experiment
)

4. 構(gòu)建元細胞

設(shè)置好 Seurat 對象后义桂,在 hdWGCNA 中運行 hdWGCNA 管道的第一步是從單細胞數(shù)據(jù)集中構(gòu)建元細胞。簡而言之蹈垢,元細胞是源自相同生物來源樣本的小群相似細胞的聚集體慷吊。k-最近鄰 (KNN) 算法用于識別要聚集的相似細胞組,然后計算這些細胞的平均或求和表達曹抬,從而產(chǎn)生元細胞基因表達矩陣溉瓶。與原始表達矩陣相比,元細胞表達矩陣的稀疏性大大降低,因此更適合使用堰酿。我們最初的動機是使用元單元代替原始的單個單元疾宏,因為 WGCNA 等相關(guān)網(wǎng)絡(luò)方法對數(shù)據(jù)稀疏性很敏感。此外触创,Cicero灾锯,在構(gòu)建共同可訪問性網(wǎng)絡(luò)之前采用類似的元單元聚合方法。

hdWGCNA 包含一個函數(shù)MetacellsByGroups嗅榕,用于在給定單細胞數(shù)據(jù)集的情況下構(gòu)建元細胞表達矩陣顺饮。此函數(shù)為存儲在 hdWGCNA 實驗內(nèi)部的 metacell 數(shù)據(jù)集構(gòu)造了一個新的 Seurat 對象。該group.by參數(shù)決定了將在哪些組中構(gòu)建元細胞凌那。我們只想從來自相同來源生物樣本的細胞構(gòu)建元細胞兼雄,因此通過參數(shù)將該信息傳遞給 hdWGCNA 至關(guān)重要group.by。此外帽蝶,我們通常分別為每種細胞類型構(gòu)建元細胞赦肋。因此,在此示例中励稳,我們按Sample和進行分組cell_type以獲得所需的結(jié)果佃乘。

要聚合的單元格數(shù)量k應(yīng)根據(jù)輸入數(shù)據(jù)集的大小進行調(diào)整,通常較小的數(shù)量k可用于小型數(shù)據(jù)集驹尼。我們通常使用k20 到 75 之間的值趣避。本教程使用的數(shù)據(jù)集有 40,039 個細胞,每個生物樣本的細胞數(shù)從 890 到 8,188 不等新翎,這里我們使用k=25. max_shared可以使用參數(shù)調(diào)整元單元之間允許的重疊量程帕。

注意:我們發(fā)現(xiàn)元細胞聚合方法對于代表性極低的細胞類型不會產(chǎn)生良好的結(jié)果。例如地啰,在該數(shù)據(jù)集中愁拭,腦血管細胞(周細胞和內(nèi)皮細胞)的代表最少,我們已將它們排除在該分析之外亏吝。MetacellsByGroups有一個參數(shù)min_cells來排除小于指定單元數(shù)的組岭埠。

在這里,我們構(gòu)建元細胞并使用以下代碼對生成的表達式矩陣進行歸一化:

# construct metacells  in each group
seurat_obj <- MetacellsByGroups(
  seurat_obj = seurat_obj,
  group.by = c("cell_type", "Sample"), # specify the columns in seurat_obj@meta.data to group by
  k = 25, # nearest-neighbors parameter
  max_shared = 10, # maximum number of shared cells between two metacells
  ident.group = 'cell_type' # set the Idents of the metacell seurat object
)

# normalize metacell expression matrix:
seurat_obj <- NormalizeMetacells(seurat_obj)

可選:處理 Metacell Seurat 對象

由于我們將 Metacell 表達式信息存儲為它自己的 Seurat 對象蔚鸥,因此我們可以在元單元格數(shù)據(jù)上運行 Seurat 函數(shù)惜论。我們可以使用從 hdWGCNA 實驗中獲取 metacell 對象GetMetacellObject。

metacell_obj <- GetMetacellObject(seurat_obj)

此外株茶,我們還包含了一些包裝函數(shù)来涨,用于將 Seurat 工作流程應(yīng)用于 hdWGCNA 實驗中的元細胞對象。在這里启盛,我們應(yīng)用這些包裝函數(shù)來處理元細胞對象蹦掐,并使用 UMAP 在二維中可視化聚合的表達譜技羔。

seurat_obj <- NormalizeMetacells(seurat_obj)
seurat_obj <- ScaleMetacells(seurat_obj, features=VariableFeatures(seurat_obj))
seurat_obj <- RunPCAMetacells(seurat_obj, features=VariableFeatures(seurat_obj))
seurat_obj <- RunHarmonyMetacells(seurat_obj, group.by.vars='Sample')
seurat_obj <- RunUMAPMetacells(seurat_obj, reduction='harmony', dims=1:15)

p1 <- DimPlotMetacells(seurat_obj, group.by='cell_type') + umap_theme() + ggtitle("Cell Type")
p2 <- DimPlotMetacells(seurat_obj, group.by='Sample') + umap_theme() + ggtitle("Sample")

p1 | p2
image.png

5. 共表達網(wǎng)絡(luò)分析

在本節(jié)中,我們將討論如何使用 hdWGNCA 對示例數(shù)據(jù)集中的抑制性神經(jīng)元 (INH) 細胞執(zhí)行共表達網(wǎng)絡(luò)分析卧抗。

5.1 建立表達矩陣

此處我們指定將用于網(wǎng)絡(luò)分析的表達式矩陣藤滥。因為我們只想包括抑制神經(jīng)元,所以我們必須在構(gòu)建網(wǎng)絡(luò)之前對我們的表達數(shù)據(jù)進行子集化社裆。hdWGCNA 包括SetDatExpr為給定的一組細胞存儲轉(zhuǎn)置表達矩陣的功能拙绊,這些細胞將用于下游網(wǎng)絡(luò)分析。默認情況下使用元細胞表達矩陣 ( use_metacells=TRUE)泳秀,但 hdWGCNA 確實允許在需要時使用單細胞表達矩陣标沪。此功能允許用戶指定從哪個插槽獲取表達矩陣,例如嗜傅,如果用戶想要應(yīng)用SCTransform規(guī)范化而不是NormalizeData.

seurat_obj <- SetDatExpr(
  seurat_obj,
  group_name = "INH", # the name of the group of interest in the group.by column
  group.by='cell_type', # the metadata column containing the cell type info. This same column should have also been used in MetacellsByGroups
  assay = 'RNA', # using RNA assay
  slot = 'data' # using normalized data
)

選擇多個組
假設(shè)您要同時對多種細胞類型或簇進行共表達網(wǎng)絡(luò)分析金句。SetDatExpr可以使用略有不同的設(shè)置運行,通過將字符向量傳遞給group_name參數(shù)來實現(xiàn)所需的結(jié)果吕嘀。

seurat_obj <- SetDatExpr(
  seurat_obj,
  group_name = c("INH", "EX"),
  group.by='cell_type'
)

5.2 選擇"軟實力門檻"[SoftPowers]

選擇軟實力門檻
接下來我們將選擇“軟實力門檻”违寞。這是 hdWGNCA 管道(以及普通 WGCNA)中極其重要的一步。hdWGCNA 構(gòu)建了一個基因-基因相關(guān)鄰接矩陣來推斷基因之間的共表達關(guān)系偶房。將相關(guān)性提高到冪以減少相關(guān)矩陣中存在的噪聲量趁曼,從而保留強連接并移除弱連接。因此棕洋,確定合適的軟功率閾值非常重要挡闰。

我們包含一個函數(shù)TestSoftPowers,用于針對不同的軟功率閾值執(zhí)行參數(shù)掃描拍冠。此功能幫助我們通過檢查不同功率值的結(jié)果網(wǎng)絡(luò)拓撲來指導(dǎo)我們選擇構(gòu)建共表達網(wǎng)絡(luò)的軟功率閾值尿这。共表達網(wǎng)絡(luò)應(yīng)具有無標(biāo)度拓撲結(jié)構(gòu),因此該TestSoftPowers函數(shù)模擬共表達網(wǎng)絡(luò)在不同軟功率閾值下與無標(biāo)度圖的相似程度庆杜。此外,我們還包括一個函數(shù)PlotSoftPowers來可視化參數(shù)掃描的結(jié)果碟摆。

以下代碼執(zhí)行參數(shù)掃描并輸出摘要圖晃财。

# Test different soft powers:
seurat_obj <- TestSoftPowers(
  seurat_obj,
  networkType = 'signed' # you can also use "unsigned" or "signed hybrid"
)

# plot the results:
plot_list <- PlotSoftPowers(seurat_obj)

# assemble with patchwork
wrap_plots(plot_list, ncol=2)
image.png

WGCNA 和 hdWGCNA 的一般指導(dǎo)是選擇無標(biāo)度拓撲模型擬合大于或等于 0.8 的最低軟功率閾值,因此在這種情況下典蜕,我們將選擇我們的軟功率閾值 9断盛。稍后,ConstructNetwork將自動如果用戶沒有提供愉舔,請選擇軟功率閾值钢猛。

參數(shù)掃描的輸出表存儲在 hdWGCNA 實驗中,可以使用GetPowerTable函數(shù)訪問以進行進一步檢查:

power_table <- GetPowerTable(seurat_obj)
head(power_table)

輸出

1     1 0.192964167 10.1742363      0.9508966 5887.9290 5901.7852 6501.0283
2     2 0.001621749  0.4801145      0.9828730 3092.6379 3092.7878 3835.2202
3     3 0.150812707 -3.2345892      0.9918393 1657.6198 1646.6169 2349.6967
4     4 0.407513393 -4.5383131      0.9898440  905.8402  890.9431 1486.7695
5     5 0.585949838 -4.8303680      0.9917528  504.4288  490.2683  968.1157
6     6 0.677668481 -4.6749295      0.9935437  286.1585  274.3233  646.6741

自己寫了個pick【推薦】

a=power_table$SFT.R.sq
i = 1
for (b in a){
    print(b)
    if (b<0.8) {
        i=i+1
        print(i)
    }else if(b>0.8){
        break
        }
}
select_soft_power = power_table$Power[i]

5.3 構(gòu)建共表達網(wǎng)絡(luò)

我們現(xiàn)在擁有構(gòu)建共表達網(wǎng)絡(luò)所需的一切轩缤。這里我們使用 hdWGCNA 函數(shù)ConstructNetwork命迈,它在后臺調(diào)用 WGCNA 函數(shù)blockwiseConsensusModules贩绕。如果您是高級用戶,此函數(shù)有很多參數(shù)可供使用壶愤,但我們選擇了適用于許多單細胞數(shù)據(jù)集的默認參數(shù)淑倾。for 的參數(shù)可以使用相同的參數(shù)名稱blockwiseConsensusModules直接傳遞給。ConstructNetwork
以下代碼使用上面選擇的軟功率閾值構(gòu)建共表達網(wǎng)絡(luò):

# construct co-expression network:
seurat_obj <- ConstructNetwork(
  seurat_obj, soft_power=9,
  setDatExpr=FALSE,
  tom_name = 'INH' # name of the topoligical overlap matrix written to disk
)

hdWGCNA 還包括PlotDendrogram可視化 WGCNA 樹狀圖的功能征椒,這是一種常見的可視化娇哆,用于顯示網(wǎng)絡(luò)分析產(chǎn)生的不同共表達模塊。樹狀圖上的每片葉子代表一個基因勃救,底部的顏色表示共表達模塊分配碍讨。

重要的是,“灰色”模塊由未分組到任何共表達模塊中的基因組成蒙秒。所有下游分析和解釋都應(yīng)忽略灰色模塊勃黍。

PlotDendrogram(seurat_obj, main='INH hdWGCNA Dendrogram')
image.png

5.4 可選:檢查拓撲重疊矩陣 (TOM)

hdWGCNA 將共表達網(wǎng)絡(luò)表示為拓撲重疊矩陣 (TOM)。這是一個由基因組成的方陣税肪,其中每個值都是基因之間的拓撲重疊溉躲。TOM在運行時寫入磁盤,我們可以使用該函數(shù)ConstructNetwork將其加載到R中益兄。GetTOM高級用戶可能希望檢查 TOM 以進行自定義下游分析锻梳。

TOM <- GetTOM(seurat_obj)

6 模塊本征和連通性

在本節(jié)中,我們將介紹如何計算單個細胞中的模塊特征基因净捅,以及如何計算每個基因的基于特征基因的連通性疑枯。

6.1 計算協(xié)調(diào)模塊特征基因

模塊特征基因 (ME) 是一種常用的指標(biāo),用于總結(jié)整個共表達模塊的基因表達譜蛔六。簡而言之荆永,通過對包含每個模塊的基因表達矩陣的子集執(zhí)行主成分分析 (PCA) 來計算模塊特征基因。每個 PCA 矩陣的第一個 PC 是 ME国章。

降維技術(shù)是單細胞基因組學(xué)中非常熱門的話題具钥。眾所周知,技術(shù)人為因素會使單細胞數(shù)據(jù)集的分析變得混亂液兽,多年來骂删,已經(jīng)出現(xiàn)了許多旨在減少這些人為因素影響的方法。因此四啰,按理說宁玫,ME 也會受到這些技術(shù)工件的影響,而 hdWGCNA 試圖減輕這些影響柑晒。

hdWGCNA 包含一個函數(shù)ModuleEigengenes來計算單個細胞中的模塊特征基因欧瘪。此外,我們允許用戶對 ME 應(yīng)用 Harmony 批量校正匙赞,從而產(chǎn)生協(xié)調(diào)模塊特征基因 (hME)佛掖。以下代碼使用group.by.vars參數(shù)執(zhí)行由 Sample of origin 協(xié)調(diào)的模塊 eigengene 計算妖碉。

# need to run ScaleData first or else harmony throws an error:
seurat_obj <- ScaleData(seurat_obj, features=VariableFeatures(seurat_obj))

# compute all MEs in the full single-cell dataset
seurat_obj <- ModuleEigengenes(
 seurat_obj,
 group.by.vars="Sample"
)

ME 矩陣存儲為矩陣,其中每一行是一個單元格苦囱,每一列是一個模塊嗅绸。GetMEs可以使用默認檢索hME的函數(shù)從 Seurat 對象中提取該矩陣。

# harmonized module eigengenes:
hMEs <- GetMEs(seurat_obj)

# module eigengenes:
MEs <- GetMEs(seurat_obj, harmonized=FALSE)

6.2 計算模塊連接

計算模塊連接

在共表達網(wǎng)絡(luò)分析中撕彤,我們通常希望關(guān)注“中樞基因”鱼鸠,即在每個模塊內(nèi)高度連接的基因。因此羹铅,我們希望確定每個基因的基于特征基因的連通性蚀狰,也稱為kME。hdWGCNA 包括ModuleConnectivity計算完整單細胞數(shù)據(jù)集中的kME值职员,而不是元細胞數(shù)據(jù)集麻蹋。這個函數(shù)本質(zhì)上是計算基因和模塊特征基因之間的成對相關(guān)性『盖校可以為數(shù)據(jù)集中的所有細胞計算 kME扮授,但我們建議在以前用于運行的細胞類型或組中計算 kME ConstructNetwork。

# compute eigengene-based connectivity (kME):
seurat_obj <- ModuleConnectivity(
  seurat_obj,
  group.by = 'cell_type', group_name = 'INH'
)

為方便起見专肪,我們重新命名 hdWGCNA 模塊以表明它們來自抑制性神經(jīng)元組刹勃。有關(guān)重命名模塊的更多信息,請參閱模塊自定義教程嚎尤。

# rename the modules
seurat_obj <- ResetModuleNames(
  seurat_obj,
  new_name = "INH-M"
)

我們可以使用函數(shù)可視化 kME 排序的每個模塊中的基因PlotKMEs荔仁。

# plot genes ranked by kME for each module
p <- PlotKMEs(seurat_obj, ncol=5)

p
image.png

6.3 get the module assignment table 獲取模塊分配表

hdWGCNA 允許使用GetModules函數(shù)輕松訪問模塊分配表。該表由三列組成:gene_name存儲基因的符號或 ID芽死,module存儲基因的模塊分配乏梁,并color存儲每個模塊的顏色映射,用于許多下游繪圖步驟关贵。如果ModuleConnectivity已在此 hdWGCNA 實驗中調(diào)用遇骑,則此表將包含每個模塊的kME的附加列。

# get the module assignment table:
modules <- GetModules(seurat_obj)

# show the first 6 columns:
head(modules[,1:6])
輸出
gene_name  module color   kME_INH-M1   kME_INH-M2    kME_INH-M3
AL627309.1 AL627309.1    grey  grey -0.032349090  0.029917426  0.0379323320
LINC01409   LINC01409 INH-M19 brown -0.045140924 -0.013473381  0.0102194168
LINC01128   LINC01128    grey  grey  0.050793988  0.109578251  0.1153173093
NOC2L           NOC2L    grey  grey  0.032490535  0.164524557  0.1699131451
AGRN             AGRN INH-M19 brown -0.008488577  0.035558532  0.0379326966
C1orf159     C1orf159    grey  grey -0.015618737  0.002235229 -0.0003824554
可以使用該GetHubGenes函數(shù)提取按 kME 排序的前 N 個中心基因表揖曾。

# get hub genes
hub_df <- GetHubGenes(seurat_obj, n_hubs = 10)

head(hub_df)
輸出
gene_name module       kME
1   SEPTIN2 INH-M1 0.3019739
2     MICU2 INH-M1 0.3140922
3     WDR37 INH-M1 0.3204428
4   UBE2Q2L INH-M1 0.3297472
5   HSD17B4 INH-M1 0.3399253
6      ASB3 INH-M1 0.3417400
hdWGCNA 的關(guān)鍵分析步驟到此結(jié)束质蕉,因此請記住保存您的輸出。

saveRDS(seurat_obj, file='hdWGCNA_object.rds')

6.4 計算中心基因簽名分?jǐn)?shù)

基因評分分析是單細胞轉(zhuǎn)錄組學(xué)中一種流行的方法翩肌,用于計算一組基因的整體特征的分?jǐn)?shù)。Seurat 使用該函數(shù)實現(xiàn)了他們自己的基因評分技術(shù)AddModuleScore禁悠,但也有其他方法念祭,例如UCell。hdWGCNA 包括ModuleExprScore使用 Seurat 或 UCell 算法為每個模塊的給定數(shù)量的基因計算基因分?jǐn)?shù)的功能碍侦×焕ぃ基因評分是通過計算模塊特征基因來總結(jié)模塊表達的另一種方法隶糕。

# compute gene scoring for the top 25 hub genes by kME for each module
# with Seurat method
seurat_obj <- ModuleExprScore(
  seurat_obj,
  n_genes = 25,
  method='Seurat'
)

# compute gene scoring for the top 25 hub genes by kME for each module
# with UCell method
library(UCell)
seurat_obj <- ModuleExprScore(
  seurat_obj,
  n_genes = 25,
  method='UCell'
)

7.基本可視化

在這里,我們展示了 hdWGCNA 的一些基本可視化功能站玄,并演示了如何使用 Seurat 的一些內(nèi)置繪圖工具來可視化我們的 hdWGCNA 結(jié)果枚驻。請注意,我們有一個單獨的 hdWGCNA 網(wǎng)絡(luò)可視化教程株旷。

7.1 模塊特征圖

FeaturePlot是一種常用的 Seurat 可視化再登,用于直接在降維上顯示感興趣的特征。hdWGCNA 包括ModuleFeaturePlot為每個共表達模塊構(gòu)建 FeaturePlots 的功能晾剖,這些模塊由每個模塊的唯一分配顏色著色锉矢。

# make a featureplot of hMEs for each module
plot_list <- ModuleFeaturePlot(
  seurat_obj,
  features='hMEs', # plot the hMEs
  order=TRUE # order so the points with highest hMEs are on top
)

# stitch together with patchwork
wrap_plots(plot_list, ncol=6)
image.png

7.2 模塊關(guān)聯(lián)

hdWGCNA 包括使用 R 包corrplotModuleCorrelogram可視化每個模塊之間基于它們的 hME、ME 或 hub 基因評分的相關(guān)性的功能齿尽。

# plot module correlagram
ModuleCorrelogram(seurat_obj)
image.png

7.3 修改拉繪圖函數(shù)

seurat繪圖函數(shù)繪圖函數(shù)非彻了穑可可視化視化視化視化視化輸出輸出在DotPlot這里這里,我們我們演示使用使用使用和和和繪制繪制繪制繪制繪制循头。绵估。。卡骂。国裳。。VlnPlot使用使用@meta.data

#get hMEs from seurat object
MEs <- GetMEs(seurat_obj, harmonized=TRUE)
mods <- colnames(MEs); mods <- mods[mods != 'grey']
#add hMEs to Seurat meta-data:
seurat_obj@meta.data <- cbind(seurat_obj@meta.data, MEs)

現(xiàn)在我們可以很容易地使用修拉的DotPlot函數(shù):

#plot with Seurat's DotPlot function
p <- DotPlot(seurat_obj, features=mods, group.by = 'cell_type')

#flip the x/y axes, rotate the axis labels, and change color scheme:
p <- p +
coord_flip() +
RotatedAxis() +
scale_color_gradient2(high='red', mid='grey95', low='blue')
#plot output
p
image.png

這是我們使用修拉VlnPlot函數(shù)的另一個例子:

# Plot INH-M4 hME using Seurat VlnPlot function
p <- VlnPlot(
  seurat_obj,
  features = 'INH-M12',
  group.by = 'cell_type',
  pt.size = 0 # don't show actual data points
)

# add box-and-whisker plots on top:
p <- p + geom_boxplot(width=.25, fill='white')

# change axis labels and remove legend:
p <- p + xlab('') + ylab('hME') + NoLegend()

# plot output
p
image.png

下一步

在本教程中偿警,我們介紹了在單細胞轉(zhuǎn)錄組學(xué)數(shù)據(jù)中執(zhí)行共表達網(wǎng)絡(luò)分析的核心功能躏救。我們鼓勵您瀏覽我們的其他教程以對這些 hdWGCNA 結(jié)果進行下游分析。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末螟蒸,一起剝皮案震驚了整個濱河市盒使,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌七嫌,老刑警劉巖少办,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诵原,居然都是意外死亡英妓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門绍赛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔓纠,“玉大人,你說我怎么就攤上這事吗蚌⊥纫校” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵蚯妇,是天一觀的道長敷燎。 經(jīng)常有香客問我暂筝,道長,這世上最難降的妖魔是什么硬贯? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任焕襟,我火速辦了婚禮,結(jié)果婚禮上饭豹,老公的妹妹穿的比我還像新娘鸵赖。我一直安慰自己,他們只是感情好墨状,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布卫漫。 她就那樣靜靜地躺著,像睡著了一般肾砂。 火紅的嫁衣襯著肌膚如雪列赎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天镐确,我揣著相機與錄音包吝,去河邊找鬼。 笑死源葫,一個胖子當(dāng)著我的面吹牛诗越,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播息堂,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼嚷狞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了荣堰?” 一聲冷哼從身側(cè)響起床未,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎振坚,沒想到半個月后薇搁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡渡八,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年啃洋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屎鳍。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡宏娄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逮壁,到底是詐尸還是另有隱情绝编,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站十饥,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏祖乳。R本人自食惡果不足惜逗堵,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望眷昆。 院中可真熱鬧蜒秤,春花似錦、人聲如沸亚斋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帅刊。三九已至纸泡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赖瞒,已是汗流浹背女揭。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留栏饮,地道東北人吧兔。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像袍嬉,于是被迫代替她去往敵國和親境蔼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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