ktplots(二):個性化繪制通路信號聯(lián)系

前言

在ktplots包系列的前一期推文:ktplots(一):繪制個性化氣泡圖中,Immugent介紹了如何通過ktplots包美化氣泡圖扫夜。其中介紹的一個主要內(nèi)容就是在展示感興趣的細胞之間的互作信號定续,其實還有很多其它類型的圖來展示感興趣的細胞之間的互作方式,今天Immugent就來介紹其它幾種常見的作圖方式首繁。

廢話不多說,下面開始展示。。陶衅。


代碼流程

首先就是導入數(shù)據(jù),為了方便大家復現(xiàn)直晨,Immugent專門使用包內(nèi)置的數(shù)據(jù)搀军。

data(kidneyimmune)
annotation <- paste0(kidneyimmune$Experiment, '_', kidneyimmune$celltype)

# one you have set that up correctly, you can then read in the files.
naive_means <- read.delim("naive_out/means.txt", check.names = FALSE)
naive_pvals <- read.delim("naive_out/pvalues.txt", check.names = FALSE)
naive_decon <- read.delim("naive_out/deconvoluted.txt", check.names = FALSE)

treated_means <- read.delim("treated_out/means.txt", check.names = FALSE)
treated_pvals <- read.delim("treated_out/pvalues.txt", check.names = FALSE)
treated_decon <- read.delim("treated_out/deconvoluted.txt", check.names = FALSE)

means <- combine_cpdb(naive_means, treated_means)
pvals <- combine_cpdb(naive_pvals, treated_pvals)
decon <- combine_cpdb(naive_decon, treated_decon)
library(ktplots)
data(kidneyimmune)
data(cpdb_output2)

p <- plot_cpdb2(cell_type1 = 'B cell', cell_type2 = 'CD4T cell',
    scdata = kidneyimmune,
    idents = 'celltype', # column name where the cell ids are located in the metadata
    means = means2,
    pvals = pvals2,
    deconvoluted = decon2, # new options from here on specific to plot_cpdb2
    desiredInteractions = list(
        c('CD4T cell', 'B cell'),
        c('B cell', 'CD4T cell')),
    interaction_grouping = interaction_annotation,
    edge_group_colors = c(
        "Activating" = "#e15759",
        "Chemotaxis" = "#59a14f",
        "Inhibitory" = "#4e79a7",
        "Intracellular trafficking" = "#9c755f",
        "DC_development" = "#B07aa1",
        "Unknown" = "#e7e7e7"
        ),
    node_group_colors = c(
        "CD4T cell" = "red",
        "B cell" = "blue"),
    keep_significant_only = TRUE,
    standard_scale = TRUE,
    remove_self = TRUE
    )
p
image.png

Formatting data from anndata formatted file

# code example but not using the example datasets
library(SingleCellExperiment)
library(reticulate)
library(ktplots)
ad=import('anndata')

adata = ad$read_h5ad('rna.h5ad')
counts <- Matrix::t(adata$X)
row.names(counts) <- row.names(adata$var)
colnames(counts) <- row.names(adata$obs)
sce <- SingleCellExperiment(list(counts = counts), colData = adata$obs, rowData = adata$var)

means <- read.delim('out/means.txt', check.names = FALSE)
pvalues <- read.delim('out/pvalues.txt', check.names = FALSE)
deconvoluted <- read.delim('out/deconvoluted.txt', check.names = FALSE)
interaction_grouping <- read.delim('interactions_groups.txt')
# > head(interaction_grouping)
#     interaction       role
# 1 ALOX5_ALOX5AP Activating
# 2    ANXA1_FPR1 Inhibitory
# 3 BTLA_TNFRSF14 Inhibitory
# 4     CCL5_CCR5 Chemotaxis
# 5      CD2_CD58 Activating
# 6     CD28_CD86 Activating

test <- plot_cpdb2(cell_type1 = "CD4_Tem|CD4_Tcm|CD4_Treg", # same usage style as plot_cpdb
 cell_type2 = "cDC",
 idents = 'fine_clustering',
 split.by = 'treatment_group_1',
 scdata = sce,
 means = means,
 pvals = pvalues,
 deconvoluted = deconvoluted, # new options from here on specific to plot_cpdb2
 gene_symbol_mapping = 'index', # column name in rowData holding the actual gene symbols if the row names is ENSG Ids. Might be a bit buggy
 desiredInteractions = list(c('CD4_Tcm', 'cDC1'), c('CD4_Tcm', 'cDC2'), c('CD4_Tem', 'cDC1'), c('CD4_Tem', 'cDC2 '), c('CD4_Treg', 'cDC1'), c('CD4_Treg', 'cDC2')),
 interaction_grouping = interaction_grouping,
    edge_group_colors = c("Activating" = "#e15759", "Chemotaxis" = "#59a14f", "Inhibitory" = "#4e79a7", "   Intracellular trafficking" = "#9c755f", "DC_development" = "#B07aa1"),
    node_group_colors = c("CD4_Tcm" = "#86bc86", "CD4_Tem" = "#79706e", "CD4_Treg" = "#ff7f0e", "cDC1" = "#bcbd22"  ,"cDC2" = "#17becf"),
    keep_significant_only = TRUE,
    standard_scale = TRUE,
    remove_self = TRUE)
image.png
library(ktplots)
data(kidneyimmune)
data(cpdb_output2)

p <- plot_cpdb3(cell_type1 = 'B cell', cell_type2 = 'CD4T cell|MNPd',
    scdata = kidneyimmune,
    idents = 'celltype', # column name where the cell ids are located in the metadata
    means = means2,
    pvals = pvals2,
    deconvoluted = decon2, # new options from here on specific to plot_cpdb3
    keep_significant_only = TRUE,
    standard_scale = TRUE,
    remove_self = TRUE
    )
p
image.png

Usage is similar to plot_cpdb3 but with additional required interaction option. Additional kwargs are passed to plot_cpdb.

library(ktplots)
data(kidneyimmune)
data(cpdb_output2)

p <- plot_cpdb4(
    interaction = 'CLEC2D-KLRB1',
    cell_type1 = 'NK', cell_type2 = 'Mast',
    scdata = kidneyimmune,
    idents = 'celltype',
    means = means2,
    pvals = pvals2,
    deconvoluted = decon2,
    keep_significant_only = TRUE,
    standard_scale = TRUE,
    )
p
image.png

or specify more than 1 interactions + only show specific cell-type type interactions!

plot_cpdb4(
        interaction = c('CLEC2D-KLRB1', 'CD40-CD40LG'),
        cell_type1 = 'NK|B', cell_type2 = 'Mast|CD4T',
        scdata = kidneyimmune,
        idents = 'celltype',
        means = means2,
        pvals = pvals2,
        deconvoluted = decon2,
        desiredInteractions = list(
            c('NK cell', 'Mast cell'),
            c('NK cell', 'NKT cell'),
            c('NKT cell', 'Mast cell'),
            c('B cell', 'CD4T cell')),
        keep_significant_only = TRUE
        )
image.png

說在最后

想必跟著代碼復現(xiàn)過上面那些圖的小伙伴都會覺得膨俐,原來自己也能親自做出之前只在高分文章中見到的圖。有一說一罩句,ktplots包做出的圖無論是從配色上還是構(gòu)圖上焚刺,都沒有太多可挑剔的。其實這只是展示ktplots包的一部分功能门烂,其還可以通過調(diào)整很多參數(shù)做到更個性化的作圖/美圖乳愉,感興趣的小伙伴可以通過自行探索每一個參數(shù),從而更有利于滿足自己以后在繪圖中的需要屯远。

好啦蔓姚,今天的分享到這里就結(jié)束啦,我們下期再會~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末慨丐,一起剝皮案震驚了整個濱河市坡脐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌房揭,老刑警劉巖备闲,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捅暴,居然都是意外死亡恬砂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門蓬痒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泻骤,“玉大人,你說我怎么就攤上這事乳幸〉伤希” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵粹断,是天一觀的道長符欠。 經(jīng)常有香客問我,道長瓶埋,這世上最難降的妖魔是什么希柿? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮养筒,結(jié)果婚禮上曾撤,老公的妹妹穿的比我還像新娘。我一直安慰自己晕粪,他們只是感情好挤悉,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巫湘,像睡著了一般装悲。 火紅的嫁衣襯著肌膚如雪昏鹃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天诀诊,我揣著相機與錄音洞渤,去河邊找鬼。 笑死属瓣,一個胖子當著我的面吹牛载迄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抡蛙,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼护昧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了粗截?” 一聲冷哼從身側(cè)響起捏卓,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎慈格,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遥金,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡浴捆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了稿械。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片选泻。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖美莫,靈堂內(nèi)的尸體忽然破棺而出页眯,到底是詐尸還是另有隱情,我是刑警寧澤厢呵,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布窝撵,位于F島的核電站,受9級特大地震影響襟铭,放射性物質(zhì)發(fā)生泄漏碌奉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一寒砖、第九天 我趴在偏房一處隱蔽的房頂上張望赐劣。 院中可真熱鬧,春花似錦哩都、人聲如沸魁兼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咐汞。三九已至盖呼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碉考,已是汗流浹背塌计。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留侯谁,地道東北人锌仅。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像墙贱,于是被迫代替她去往敵國和親热芹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

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