哇!單細(xì)胞測(cè)序-配體受體互作分析原來可以這么簡(jiǎn)單又高大上罢维!

NGS系列文章包括NGS基礎(chǔ)淹仑、轉(zhuǎn)錄組分析 (Nature重磅綜述|關(guān)于RNA-seq你想知道的全在這)、ChIP-seq分析 (ChIP-seq基本分析流程)肺孵、單細(xì)胞測(cè)序分析 (重磅綜述:三萬字長(zhǎng)文讀懂單細(xì)胞RNA測(cè)序分析的最佳實(shí)踐教程 (原理匀借、代碼和評(píng)述))、DNA甲基化分析平窘、重測(cè)序分析吓肋、GEO數(shù)據(jù)挖掘(典型醫(yī)學(xué)設(shè)計(jì)實(shí)驗(yàn)GEO數(shù)據(jù)分析 (step-by-step) - Limma差異分析、火山圖瑰艘、功能富集)等內(nèi)容是鬼。


單細(xì)胞轉(zhuǎn)錄組測(cè)序發(fā)展至今,我們發(fā)現(xiàn)許多文章的最后一部分都會(huì)落到配受體結(jié)合紫新,可是如何挑配受體均蜜,哪些基因可能是配受體,我一臉懵逼芒率。囤耳。。

于是偶芍,我一不小心發(fā)現(xiàn)了celltalker(https://arc85.github.io/celltalker/articles/celltalker.html#vignette-overview)充择,大家可以嘗試一下哦,嘻嘻腋寨,廢話不多說聪铺。

Introduction

對(duì)單細(xì)胞RNAseq數(shù)據(jù)可能進(jìn)行的多種分析之一是評(píng)估細(xì)胞間的交流 (cell-cell communication)化焕。celltalker通過尋找細(xì)胞群內(nèi)和細(xì)胞群之間已知的配體和受體對(duì)的表達(dá)來評(píng)估細(xì)胞之間的交流萄窜。 我們采用的配受體數(shù)據(jù)庫來自Ramilowski等人于2015年在Nature communication上發(fā)表的A draft network of ligand-receptor-mediated multicellular signalling in human描述的一組配體和受體。我們建議使用此數(shù)據(jù)集作為起點(diǎn),并整理自己的已知配體和受體列表查刻。另外Tormo 2018年發(fā)表的Nature文章Single-cell reconstruction of the early maternal-fetal interface in humans擴(kuò)展了受體和配體對(duì)键兜,也會(huì)應(yīng)用于cellTalker的更新版中。

為了獲得可靠的結(jié)果穗泵,我們要求每個(gè)組中都有多個(gè)重復(fù)樣品普气,并且只對(duì)不同組間一致性表達(dá)的配體和受體感興趣(而僅在單個(gè)重復(fù)中發(fā)現(xiàn)的互作可信度低)。我們通過評(píng)估每組中各個(gè)重復(fù)的表達(dá)矩陣并僅對(duì)滿足一定閾值(這個(gè)閾值隨意性也比較強(qiáng))的相互作用進(jìn)行提取佃延。

配體和受體相互作用的差異至少在三種方面具有生物學(xué)意義:

  • 在一組細(xì)胞中獨(dú)特地存在现诀;
  • 各個(gè)cluster間配體或受體的互作差異;
  • 參與組間配體和受體相互作用的細(xì)胞網(wǎng)絡(luò)的差異履肃。

我們提供了評(píng)估每種潛在生物學(xué)差異的方法仔沿,并提供了具體示例。

在這個(gè)vignette中尺棋,我們展示了cellTalker在評(píng)估健康捐獻(xiàn)者外周血(N = 2)和扁桃體(N = 3)中鑒定配體/受體相互作用的基本應(yīng)用封锉。該數(shù)據(jù)可從我們最近發(fā)布的數(shù)據(jù)集GSE139324中獲得 (Cillo et al, Immunity 2020)。

Vignette overview

展示Celltalker應(yīng)用于10X Genomics數(shù)據(jù)的的標(biāo)準(zhǔn)用法膘螟。具體分為下面幾步:

  1. 使用標(biāo)準(zhǔn)的Seurat工作流程(v.3.1.1)對(duì)數(shù)據(jù)進(jìn)行聚類;
  2. 使用Celltalker建立樣品組中穩(wěn)定表達(dá)的配體和受體的列表;
  3. 確定配體/受體相互作用;
  4. 評(píng)估組之間特異表達(dá)的配體/受體對(duì);
  5. 識(shí)別和可視化組特異的配體/受體對(duì);

Installation

library(devtools)
install_github("arc85/celltalker")
library(celltalker)

Clustering data with Seurat

使用Seurat進(jìn)行標(biāo)準(zhǔn)的聚類分析和免疫譜系識(shí)別(假設(shè)已從GEO下載了raw matrix)成福。(重磅綜述:三萬字長(zhǎng)文讀懂單細(xì)胞RNA測(cè)序分析的最佳實(shí)踐教程 (原理、代碼和評(píng)述)

suppressMessages({
library(Seurat)
library(celltalker)
})

# 設(shè)置可重復(fù)性的種子數(shù)字

set.seed(02221989)

# 讀取raw data

# path.to.working:自行修改路徑
path.to.working <- “”
setwd(paste(path.to.working,"/data_matrices/",sep=""))
data.paths <- list.files()
# GRCh38 根據(jù)需要調(diào)整為其它基因組版本
specific.paths <- paste(path.to.working,"data_matrices",data.paths,"GRCh38",sep="/")
setwd(path.to.working)

raw.data <- Read10X(specific.paths)

# 設(shè)置metadata (這一部分是這個(gè)數(shù)據(jù)特異的荆残,實(shí)際還是自己整理個(gè)metadata文件更為方便)

sample.data <- data.frame(matrix(data=NA,nrow=ncol(raw.data),ncol=2))
rownames(sample.data) <- colnames(raw.data)
colnames(sample.data) <- c("sample.id","sample.type")

sample.data[grep("^[A-z]",rownames(sample.data)),"sample.id"] <- "pbmc_1"
sample.data[grep("^2",rownames(sample.data)),"sample.id"] <- "tonsil_1"
sample.data[grep("^3",rownames(sample.data)),"sample.id"] <- "pbmc_2"
sample.data[grep("^4",rownames(sample.data)),"sample.id"] <- "tonsil_2"
sample.data[grep("^5",rownames(sample.data)),"sample.id"] <- "pbmc_3"
sample.data[grep("^6",rownames(sample.data)),"sample.id"] <- "tonsil_3"

sample.data[,"sample.type"] <- sapply(strsplit(sample.data$sample.id,split="_"),function(x) x[1])

## 使用原始數(shù)據(jù)創(chuàng)建Seurat對(duì)象奴艾,并添加sample-specific metadata

ser.obj <- CreateSeuratObject(counts=raw.data,meta.data=sample.data)

Seurat三部曲

#標(biāo)準(zhǔn)Seurat工作流程
ser.obj <- NormalizeData(ser.obj)
ser.obj <- FindVariableFeatures(ser.obj)
ser.obj <- ScaleData(ser.obj)

PCA分析

ser.obj <- RunPCA(ser.obj)

獲得對(duì)各個(gè)主成分貢獻(xiàn)比較大的基因 (用了這么多年的PCA可視化竟然是錯(cuò)的!D谒埂握侧!)

## PC_ 1
## Positive:  S100A6, IL32, S100A4, ANXA1, VIM, FTL, TRBC1, SRGN, S100A9, S100A8
##     TYROBP, LYZ, CTSW, XIST, NEAT1, VCAN, S100A12, FCER1G, S100A11, FCN1
##     PLAC8, ID2, CCL5, NKG7, CST3, CSTA, ZFP36, IL1B, MT2A, KLRB1
## Negative:  RGS13, KIAA0101, NUSAP1, AURKB, MKI67, BIRC5, TYMS, TOP2A, TK1, CDKN3
##     UBE2C, PTTG1, CDK1, STMN1, CCNB2, GTSE1, BIK, RRM2, TCL1A, SHCBP1
##     CDCA3, CDC20, TPX2, LRMP, CCNA2, MND1, CCNB1, PBK, ZWINT, RMI2
## PC_ 2
## Positive:  CST3, LYZ, FCN1, CSTA, S100A9, S100A8, TYROBP, LST1, FGL2, VCAN
##     S100A12, SERPINA1, MNDA, FCER1G, CLEC7A, MS4A6A, CD14, CFD, IL1B, TYMP
##     LGALS1, RP11-1143G9.4, AIF1, CTSS, NAMPT, CFP, TNFSF13B, CSF3R, MPEG1, TMEM176B
## Negative:  IL32, NPM1, CD69, TRBC1, ISG20, ITM2A, IGKC, IGHA1, HSP90AB1, DDIT4
##     HIST1H4C, PSIP1, AQP3, MYC, PIM2, HMGN1, PASK, NUCB2, HSPA1B, HSPB1
##     CD79A, SUSD3, KLRB1, SYNE2, CHI3L2, IGHG3, IGLC2, FKBP11, IGHG1, SH2D1A
## PC_ 3
## Positive:  IL32, NKG7, CTSW, TRBC1, GZMA, CST7, GNLY, MKI67, ANXA1, TOP2A
##     CCL5, PRF1, BIRC5, S100A4, KLRB1, CCNA2, AURKB, CENPF, GTSE1, CDKN3
##     KLRD1, UBE2C, CDK1, TYMS, TPX2, RRM2, ID2, S100A6, FGFBP2, CDC20
## Negative:  HLA-DRA, HLA-DQA1, HLA-DQB1, CD79A, HLA-DRB1, MS4A1, CD74, HLA-DPA1, HLA-DPB1, CD79B
##     HLA-DMA, HLA-DMB, BANK1, VPREB3, IGKC, HLA-DRB5, MEF2C, CD22, IRF8, CD19
##     SMIM14, FCRLA, HLA-DOB, CD24, CD40, FCER2, BLK, HLA-DQA2, IGHD, CTSH
## PC_ 4
## Positive:  TOP2A, UBE2C, MKI67, GTSE1, CENPF, AURKB, PLK1, CCNA2, CDK1, CDCA8
##     HMMR, CDCA3, CDC20, TPX2, CDKN3, DLGAP5, CENPE, BIRC5, CCNB2, CENPA
##     KIF2C, CKAP2L, PBK, NUSAP1, KIFC1, AURKA, SPC25, NUF2, KIF23, ASPM
## Negative:  NKG7, GNLY, CST7, GZMB, GZMA, PRF1, KLRD1, FGFBP2, CCL5, KLRF1
##     HOPX, CTSW, GZMH, TRDC, FCGR3A, SPON2, CLIC3, MATK, ADGRG1, S1PR5
##     CCL4, CMC1, XCL2, PFN1, CD160, FCRL6, IL2RB, TRGC1, KLRC1, C12orf75
## PC_ 5
## Positive:  ICA1, PDCD1, TBC1D4, ITM2A, ICOS, MAF, TOX2, IL32, TNFRSF4, PASK
##     PKM, SMCO4, ACTG1, CORO1B, CTLA4, NPM1, TRBC1, PCAT29, TIGIT, AC133644.2
##     TOX, ANP32B, ENO1, GBP2, COTL1, GAPDH, SUSD3, PIM2, AQP3, SERPINA9
## Negative:  NKG7, GNLY, KLRD1, FGFBP2, GZMB, GZMA, KLRF1, CCL5, PRF1, TRDC
##     GZMH, CST7, CTSW, BANK1, MATK, PLK1, HMMR, HLA-DPB1, CENPA, CLIC3
##     GTSE1, CENPE, CCL4, SPON2, PDLIM1, HLA-DPA1, CDCA8, DLGAP5, TPX2, IGHD

拐點(diǎn)法尋找top可用的主成分用于后續(xù)分析 (具體選擇方式見:(重磅綜述:三萬字長(zhǎng)文讀懂單細(xì)胞RNA測(cè)序分析的最佳實(shí)踐教程 (原理、代碼和評(píng)述)))

ElbowPlot(ser.obj)
image

降維可視化

#我們選擇top 15 PCs用于后續(xù)分析
ser.obj <- RunUMAP(ser.obj,reduction="pca", dims=1:15)

聚類

## Computing nearest neighbor graph
ser.obj <- FindNeighbors(ser.obj,reduction="pca",dims=1:15)
## Computing SNN
ser.obj <- FindClusters(ser.obj,resolution=0.5)
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 15524
## Number of edges: 543084
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9185
## Number of communities: 17
## Elapsed time: 2 seconds

畫圖看一看嘿期!ggplot2高效實(shí)用指南 (可視化腳本品擎、工具、套路备徐、配色)

p1 <- DimPlot(ser.obj,reduction="umap",group.by="sample.id")
p2 <- DimPlot(ser.obj,reduction="umap",group.by="sample.type")
p3 <- DimPlot(ser.obj,reduction="umap",group.by="RNA_snn_res.0.5",label=T) + NoLegend()
cowplot::plot_grid(p1,p2,p3)
image

讓我們看看部分基因的表達(dá)情況萄传!

FeaturePlot(ser.obj,reduction="umap",features=c("CD3D","CD8A","CD4","CD14","MS4A1","FCGR3A","IL3RA"))
image

命名細(xì)胞簇并移除紅細(xì)胞 (cellassign:用于腫瘤微環(huán)境分析的單細(xì)胞注釋工具(9月Nature))

# 為細(xì)胞類型增加metadata

cell.types <- vector("logical",length=ncol(ser.obj))
names(cell.types) <- colnames(ser.obj)

cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="0"] <- "cd4.tconv"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="1"] <- "cd4.tconv"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="2"] <- "b.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="3"] <- "b.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="4"] <- "cd14.monocytes"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="5"] <- "cd8.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="6"] <- "cd4.tconv"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="7"] <- "cd4.tconv"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="8"] <- "b.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="9"] <- "b.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="10"] <- "nk.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="11"] <- "cd8.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="12"] <- "plasma.cells"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="13"] <- "cd14.monocytes"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="14"] <- "cd16.monocytes"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="15"] <- "pdc"
cell.types[ser.obj@meta.data$RNA_snn_res.0.5=="16"] <- "RBCs"

ser.obj[["cell.types"]] <- cell.types

#去除紅細(xì)胞

rbc.cell.names <- names(cell.types)[ser.obj@meta.data$RNA_snn_res.0.5=="16"]

ser.obj <- ser.obj[,!colnames(ser.obj) %in% rbc.cell.names]

Consistently expressed ligands and receptors

現(xiàn)在,我們已經(jīng)在數(shù)據(jù)中識(shí)別并命名了cluster蜜猾,我們將繼續(xù)進(jìn)行celltalker分析秀菱。隨該軟件包一起提供的有一個(gè)ramilowski_pairs,它是一個(gè)由配體蹭睡、受體和推測(cè)的配體受體對(duì)組成的data.frame衍菱。

首先,根據(jù)通用型配體和受體從我們的數(shù)據(jù)集中選出對(duì)應(yīng)的基因肩豁,然后進(jìn)行差異基因分析脊串,只保留在樣品組之間差異表達(dá)的配體受體辫呻。

然后,我們將為每個(gè)重復(fù)樣本創(chuàng)建單獨(dú)的數(shù)據(jù)矩陣琼锋,存儲(chǔ)為tibble格式放闺,以便于使用tidyverse進(jìn)行后續(xù)處理。

(生信寶典注:如果我們自己有受體配體對(duì)缕坎,也可以整理成這樣一個(gè)三列的格式怖侦,導(dǎo)入進(jìn)來,替換掉數(shù)據(jù)包原有的配體受體對(duì)信息谜叹,實(shí)現(xiàn)更加定制的分析匾寝。)

#查閱 ramilowski_pairs 數(shù)據(jù)集

head(ramilowski_pairs)
##   ligand receptor         pair
## 1    A2M     LRP1     A2M_LRP1
## 2  AANAT   MTNR1A AANAT_MTNR1A
## 3  AANAT   MTNR1B AANAT_MTNR1B
## 4    ACE    AGTR2    ACE_AGTR2
## 5    ACE   BDKRB2   ACE_BDKRB2
## 6 ADAM10      AXL   ADAM10_AXL
dim(ramilowski_pairs)
## [1] 2557    3
#該數(shù)據(jù)集中有2,557個(gè)特異的配體/受體對(duì)

#鑒定差異表達(dá)的配體和受體

#在我們的數(shù)據(jù)集中識(shí)別配體和受體

ligs <- as.character(unique(ramilowski_pairs$ligand))
recs <- as.character(unique(ramilowski_pairs$receptor))

ligs.present <- rownames(ser.obj)[rownames(ser.obj) %in% ligs]
recs.present <- rownames(ser.obj)[rownames(ser.obj) %in% recs]

genes.to.use <- union(ligs.present,recs.present) # union用于合并子集

# 使用FindAllMarkers區(qū)分組之間差異表達(dá)的配體和受體

Idents(ser.obj) <- "sample.type"
markers <- FindAllMarkers(ser.obj, assay="RNA",features=genes.to.use,only.pos=TRUE)
ligs.recs.use <- unique(markers$gene)
length(ligs.recs.use)
## [1] 61
#產(chǎn)生61個(gè)配體和受體以進(jìn)行評(píng)估

#過濾ramilowski配受對(duì)

interactions.forward1 <- ramilowski_pairs[as.character(ramilowski_pairs$ligand) %in% ligs.recs.use,]
interactions.forward2 <- ramilowski_pairs[as.character(ramilowski_pairs$receptor) %in% ligs.recs.use,]
interact.for <- rbind(interactions.forward1, interactions.forward2)
dim(interact.for)
## [1] 241   3

生成celltalker的輸入數(shù)據(jù)

#產(chǎn)生241個(gè)配體和受體相互作用

#Create data for celltalker

expr.mat <- GetAssayData(ser.obj,slot="counts")
defined.clusters <- ser.obj@meta.data$cell.types
defined.groups <- ser.obj@meta.data$sample.type
defined.replicates <- ser.obj@meta.data$sample.id

reshaped.matrices <- reshape_matrices(count.matrix=expr.mat,clusters=defined.clusters,groups=defined.groups,replicates=defined.replicates,ligands.and.receptors=interact.for)

#查看tibble的層次結(jié)構(gòu)
reshaped.matrices
## # A tibble: 2 x 2
##   group  samples
##   <chr>  <list>
## 1 pbmc   <tibble [3 × 2]>
## 2 tonsil <tibble [3 × 2]>

數(shù)據(jù)展開為單個(gè)樣品展示

unnest(reshaped.matrices,cols="samples")
## # A tibble: 6 x 3
##   group  sample   expr.matrices
##   <chr>  <chr>    <list>
## 1 pbmc   pbmc_1   <named list [8]>
## 2 pbmc   pbmc_2   <named list [8]>
## 3 pbmc   pbmc_3   <named list [8]>
## 4 tonsil tonsil_1 <named list [8]>
## 5 tonsil tonsil_2 <named list [8]>
## 6 tonsil tonsil_3 <named list [8]>
names(pull(unnest(reshaped.matrices,cols="samples"))[[1]])
## [1] "b.cells"        "cd14.monocytes" "cd16.monocytes" "cd4.tconv"
## [5] "cd8.cells"      "nk.cells"       "pdc"            "plasma.cells"

在此初始步驟中,我們要做的是將我們的整體表達(dá)矩陣中給每個(gè)樣本中分離出單獨(dú)的表達(dá)矩陣荷腊。

接下來旗吁,使用create_lig_rec_tib函數(shù)為每個(gè)組創(chuàng)建一組一致表達(dá)的配體和受體。

# cells.reqd=10:每個(gè)cluster中至少有10個(gè)細(xì)胞表達(dá)了配體/受體
# freq.pos.reqd=0.5:至少有50%重復(fù)個(gè)體中表達(dá)的配體/受體
consistent.lig.recs <- create_lig_rec_tib(exp.tib=reshaped.matrices,clusters=defined.clusters,groups=defined.groups,replicates=defined.replicates,cells.reqd=10,freq.pos.reqd=0.5,ligands.and.receptors=interact.for)

consistent.lig.recs
## # A tibble: 2 x 2
##   group  lig.rec.exp
##   <chr>  <list>
## 1 pbmc   <tibble [8 × 2]>
## 2 tonsil <tibble [8 × 2]>
unnest(consistent.lig.recs[1,2],cols="lig.rec.exp")
## # A tibble: 8 x 2
##   cluster.id     ligands.and.receptors
##   <chr>          <named list>
## 1 b.cells        <named list [2]>
## 2 cd14.monocytes <named list [2]>
## 3 cd16.monocytes <named list [2]>
## 4 cd4.tconv      <named list [2]>
## 5 cd8.cells      <named list [2]>
## 6 nk.cells       <named list [2]>
## 7 pdc            <named list [2]>
## 8 plasma.cells   <named list [2]>
pull(unnest(consistent.lig.recs[1,2],cols="lig.rec.exp")[1,2])[[1]]

根據(jù)上面指定的標(biāo)準(zhǔn)停局,我們現(xiàn)在已經(jīng)從每個(gè)實(shí)驗(yàn)組的每個(gè)cluster中獲得了一致表達(dá)的配體和受體的列表很钓。

## $ligands
##  [1] "S100A9"   "S100A8"   "IL1B"     "FN1"      "BTLA"     "SPON2"
##  [7] "LRPAP1"   "VCAN"     "CD14"     "LY86"     "HLA-G"    "HLA-A"
## [13] "HLA-E"    "HLA-B"    "LTB"      "HSPA1A"   "CD24"     "NAMPT"
## [19] "TIMP1"    "CD40LG"   "ADAM28"   "PNOC"     "IL7"      "ANXA1"
## [25] "SEMA4D"   "VIM"      "PSAP"     "LYZ"      "SELPLG"   "HMGB1"
## [31] "TNFSF13B" "GZMB"     "CALM1"    "SERPINA1" "HSP90AA1" "B2M"
## [37] "PKM"      "IL16"     "CCL5"     "CCL3"     "ICAM2"    "CD70"
## [43] "ICAM1"    "ICAM3"    "TGFB1"    "FLT3LG"   "APP"
##
## $receptors
##  [1] "CSF3R"     "TGFBR3"    "KCNA3"     "CD53"      "CD1A"      "CD247"
##  [7] "SELL"      "CXCR4"     "ITGA4"     "GRM7"      "TGFBR2"    "CCR5"
## [13] "TFRC"      "TLR1"      "IL7R"      "CD180"     "ADRB2"     "CD74"
## [19] "HMMR"      "HLA-F"     "KCNQ5"     "IGF2R"     "CCR6"      "CD36"
## [25] "CXCR3"     "PGRMC1"    "CD72"      "TGFBR1"    "ABCA1"     "IFITM1"
## [31] "CD81"      "KCNQ1"     "CD44"      "CD82"      "IL10RA"    "CD3D"
## [37] "CD3G"      "CXCR5"     "SORL1"     "APLP2"     "ITGB1"     "FAS"
## [43] "CD27"      "CD4"       "KLRG1"     "CLEC2B"    "KLRD1"     "KLRC1"
## [49] "PDE1B"     "CD63"      "TNFRSF17"  "CD19"      "ITGAL"     "ITGAM"
## [55] "TNFRSF13B" "ERBB2"     "PTPRA"     "CD40"      "OPRL1"     "INSR"
## [61] "TYROBP"    "CD79A"     "KCNN4"     "FPR2"      "LILRB2"    "LILRB1"
## [67] "KIR2DL3"   "KIR2DL1"   "KIR3DL2"   "TNFRSF13C" "CELSR1"    "ITGB2"

Determine putative ligand/receptor pairs

獲得穩(wěn)定表達(dá)的受體-配體后,鑒定給定樣品組細(xì)胞簇內(nèi)和細(xì)胞簇間可能存在的互作 (基于ramilowski_pairs$pair數(shù)據(jù))董栽。獲得的Tibble數(shù)據(jù) (put.int)中包含樣本組和每個(gè)組的配體/受體對(duì)列表码倦,以及參與配體/受體相互作用的cluster。

# freq.group.in.cluster: 只對(duì)包含細(xì)胞數(shù)大于總細(xì)胞數(shù)5%的簇進(jìn)行互作分析
put.int <- putative_interactions(ligand.receptor.tibble=consistent.lig.recs,clusters=defined.clusters,groups=defined.groups,freq.group.in.cluster=0.05,ligands.and.receptors=interact.for)
## Warning: `cols` is now required.
## Please use `cols = c(lig.rec.exp)`

## Warning: `cols` is now required.
## Please use `cols = c(lig.rec.exp)`

Identifying and visualizing unique ligand/receptor pairs in a group

現(xiàn)在我們有了配體/受體相互作用的列表锭碳,我們可以使用unique_interactions函數(shù)鑒定組特異的互作袁稽,并使用circos_plot函數(shù)可視化組之間的差異。

#Identify unique ligand/receptor interactions present in each sample
unique.ints <- unique_interactions(put.int,group1="pbmc",group2="tonsil",interact.for)

#Get data to plot circos for PBMC
pbmc.to.plot <- pull(unique.ints[1,2])[[1]]
for.circos.pbmc <- pull(put.int[1,2])[[1]][pbmc.to.plot]

circos_plot(interactions=for.circos.pbmc,clusters=defined.clusters)

PBMC組特有的受體-配體互作

image

從以上圖中我們可以看出研究人員用黃色表示配體基因擒抛,綠色表示受體基因推汽,然后將可以相互配對(duì)的基因連在一起構(gòu)成簇之間的互作關(guān)系。

Tonsil組特有的受體-配體互作

#Get data to plot circos for tonsil
tonsil.to.plot <- pull(unique.ints[2,2])[[1]]
for.circos.tonsil <- pull(put.int[2,2])[[1]][tonsil.to.plot]

circos_plot(interactions=for.circos.tonsil,clusters=defined.clusters)

Tonsil組特有的受體-配體互作

image

作者:May(協(xié)和醫(yī)院)

編輯:生信寶典

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市诊胞,隨后出現(xiàn)的幾起案子暖夭,更是在濱河造成了極大的恐慌,老刑警劉巖撵孤,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迈着,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡邪码,警方通過查閱死者的電腦和手機(jī)裕菠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闭专,“玉大人奴潘,你說我怎么就攤上這事旧烧。” “怎么了萤彩?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵粪滤,是天一觀的道長(zhǎng)斧拍。 經(jīng)常有香客問我雀扶,道長(zhǎng),這世上最難降的妖魔是什么肆汹? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任愚墓,我火速辦了婚禮,結(jié)果婚禮上昂勉,老公的妹妹穿的比我還像新娘浪册。我一直安慰自己,他們只是感情好岗照,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布村象。 她就那樣靜靜地躺著,像睡著了一般攒至。 火紅的嫁衣襯著肌膚如雪厚者。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天迫吐,我揣著相機(jī)與錄音库菲,去河邊找鬼。 笑死志膀,一個(gè)胖子當(dāng)著我的面吹牛熙宇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播溉浙,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼烫止,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了戳稽?” 一聲冷哼從身側(cè)響起烈拒,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎广鳍,沒想到半個(gè)月后荆几,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赊时,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年吨铸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祖秒。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诞吱,死狀恐怖舟奠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情房维,我是刑警寧澤沼瘫,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站咙俩,受9級(jí)特大地震影響耿戚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜阿趁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一膜蛔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脖阵,春花似錦皂股、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悍募,卻和暖如春蘑辑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搜立。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工以躯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人啄踊。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓忧设,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親颠通。 傳聞我的和親對(duì)象是個(gè)殘疾皇子址晕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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