-
Notifications
You must be signed in to change notification settings - Fork 1
/
cellchat.R
190 lines (164 loc) · 11 KB
/
cellchat.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
yizhen <- LoadH5Seurat('G://yizhen_microglia_total_dataset_upd.h5Seurat')
head(yizhen)
yizhen <- RenameIdents(yizhen, 'Photoreceptor' = 'Rest','Photoreceptor_2' = 'Rest','18_Bipolar_Neuron' = 'Rest','Bipolar_Cone' = 'Rest','Microglia_Inflamm_C1'='Microglia','Microglia_IFN-Resp_C2' = 'Microglia', 'Microglia_resting_C0' = 'Microglia','Microglia_Proliferating_C3' = 'Microglia', '36_Melanocyte' = 'Melanocyte', '34_Melanocyte_2' = 'Melanocyte')
yizhen$ident_cellchat <- yizhen@active.ident
yizhen$ident_cellchat = droplevels(yizhen$ident_cellchat, exclude = setdiff(levels(yizhen$ident_cellchat),unique(yizhen$ident_cellchat)))
yizhen@active.ident = droplevels(yizhen@active.ident, exclude = setdiff(levels(yizhen@active.ident),unique(yizhen@active.ident)))
library(CellChat)
table(yizhen$Group)
yizhen_A <- subset(yizhen, subset = Group == 'A')
yizhen_A$ident_cellchat = droplevels(yizhen_A$ident_cellchat, exclude = setdiff(levels(yizhen_A$ident_cellchat),unique(yizhen_A$ident_cellchat)))
yizhen_A@active.ident = droplevels(yizhen_A@active.ident, exclude = setdiff(levels(yizhen_A@active.ident),unique(yizhen_A@active.ident)))
yizhen_KO <- subset(yizhen, subset = Group == 'KO')
yizhen_KO$ident_cellchat = droplevels(yizhen_KO$ident_cellchat, exclude = setdiff(levels(yizhen_KO$ident_cellchat),unique(yizhen_KO$ident_cellchat)))
yizhen_KO@active.ident = droplevels(yizhen_KO@active.ident, exclude = setdiff(levels(yizhen_KO@active.ident),unique(yizhen_KO@active.ident)))
yizhen_WTB1 <- subset(yizhen, subset = Group == 'B')
yizhen_WTB1$ident_cellchat = droplevels(yizhen_WTB1$ident_cellchat, exclude = setdiff(levels(yizhen_WTB1$ident_cellchat),unique(yizhen_WTB1$ident_cellchat)))
yizhen_WTB1@active.ident = droplevels(yizhen_WTB1@active.ident, exclude = setdiff(levels(yizhen_WTB1@active.ident),unique(yizhen_WTB1@active.ident)))
yizhen_WTB2 <- subset(yizhen, subset = Group == 'WT')
yizhen_WTB2$ident_cellchat = droplevels(yizhen_WTB2$ident_cellchat, exclude = setdiff(levels(yizhen_WTB2$ident_cellchat),unique(yizhen_WTB2$ident_cellchat)))
yizhen_WTB2@active.ident = droplevels(yizhen_WTB2@active.ident, exclude = setdiff(levels(yizhen_WTB2@active.ident),unique(yizhen_WTB2@active.ident)))
yizhen_WTB <- merge(yizhen_WTB1, y = yizhen_WTB2)
yizhen_GF <- subset(yizhen, subset = Group == 'GF')
yizhen_GF$ident_cellchat = droplevels(yizhen_GF$ident_cellchat, exclude = setdiff(levels(yizhen_GF$ident_cellchat),unique(yizhen_GF$ident_cellchat)))
yizhen_GF@active.ident = droplevels(yizhen_GF@active.ident, exclude = setdiff(levels(yizhen_GF@active.ident),unique(yizhen_GF@active.ident)))
yizhen_MBA <- subset(yizhen, subset = Group == 'MB-A')
yizhen_MBA$ident_cellchat = droplevels(yizhen_MBA$ident_cellchat, exclude = setdiff(levels(yizhen_MBA$ident_cellchat),unique(yizhen_MBA$ident_cellchat)))
yizhen_MBA@active.ident = droplevels(yizhen_MBA@active.ident, exclude = setdiff(levels(yizhen_MBA@active.ident),unique(yizhen_MBA@active.ident)))
yizhen_MBNA <- subset(yizhen, subset = Group == 'MB-NA')
yizhen_MBNA$ident_cellchat = droplevels(yizhen_MBNA$ident_cellchat, exclude = setdiff(levels(yizhen_MBNA$ident_cellchat),unique(yizhen_MBNA$ident_cellchat)))
yizhen_MBNA@active.ident = droplevels(yizhen_MBNA@active.ident, exclude = setdiff(levels(yizhen_MBNA@active.ident),unique(yizhen_MBNA@active.ident)))
yizhen_SPF <- subset(yizhen, subset = Group == 'SPF')
yizhen_SPF$ident_cellchat = droplevels(yizhen_SPF$ident_cellchat, exclude = setdiff(levels(yizhen_SPF$ident_cellchat),unique(yizhen_SPF$ident_cellchat)))
yizhen_SPF@active.ident = droplevels(yizhen_SPF@active.ident, exclude = setdiff(levels(yizhen_SPF@active.ident),unique(yizhen_SPF@active.ident)))
cellchat <- createCellChat(object = yizhen_A , group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_a <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_A.rds")
cellchat <- createCellChat(object = yizhen_KO , group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_KO <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_KO.rds")
cellchat <- createCellChat(object = yizhen_WTB , group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_WTB <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_WTB.rds")
cellchat <- createCellChat(object = yizhen_GF, group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_GF <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_GF.rds")
cellchat <- createCellChat(object = yizhen_MBA , group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_MBA <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_MBA.rds")
cellchat <- createCellChat(object = yizhen_MBNA , group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_MBNA <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_MBNA.rds")
cellchat <- createCellChat(object = yizhen_SPF , group.by = "ident_cellchat")
CellChatDB <- CellChatDB.mouse
CellChatDB.use <- CellChatDB
cellchat@DB <- CellChatDB.use
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
cellchat <- projectData(cellchat, PPI.mouse)
cellchat <- computeCommunProb(cellchat, type = "truncatedMean", trim = 0.1, raw.use = FALSE, population.size = FALSE)
cellchat <- filterCommunication(cellchat, min.cells = 3)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
cellchat_yizhen_SPF <- cellchat
saveRDS(cellchat, file = "G://YIZHEN/cellchat_SPF.rds")
ht1 <- netAnalysis_signalingRole_heatmap(cellchat_dogs_cui, pattern = "outgoing", height = 32)
ht2 <- netAnalysis_signalingRole_heatmap(cellchat_dogs_cui, pattern = "incoming", height = 32)
ht1 <- netAnalysis_signalingRole_heatmap(cellchat_levi.late, pattern = "outgoing", height = 2, signaling = c('SEMA5','MK'))
ht2 <- netAnalysis_signalingRole_heatmap(cellchat_levi.late, pattern = "incoming", height = 2, signaling = c('SEMA5','MK'))
ht1 + ht2
ht1 <- netAnalysis_signalingRole_heatmap(cellchat_levi.early, pattern = "outgoing", height = 6, signaling = c('NEGR','LAMININ','NGL','NT','SEMA3','ESAM'))
ht2 <- netAnalysis_signalingRole_heatmap(cellchat_levi.early, pattern = "incoming", height = 6, signaling = c('NEGR','LAMININ','NGL','NT','SEMA3','ESAM'))
ht1 + ht2
ht1 <- netAnalysis_signalingRole_heatmap(cellchat_levi.early, pattern = "outgoing", height = 3, width = 3, signaling = c('NEGR','LAMININ','NGL','NT','SEMA3','ESAM'))
ht2 <- netAnalysis_signalingRole_heatmap(cellchat_levi.early, pattern = "incoming", height = 3, width = 3, signaling = c('NEGR','LAMININ','NGL','NT','SEMA3','ESAM'))
ht1 + ht2
ht1 <- netAnalysis_signalingRole_heatmap(cellchat_levi.late, pattern = "outgoing", height = 1, width = 3, signaling = c('SEMA5','MK'))
ht2 <- netAnalysis_signalingRole_heatmap(cellchat_levi.late, pattern = "incoming", height = 1, width = 3, signaling = c('SEMA5','MK'))
ht1 + ht2
strwidth <- function(x) {0.5}
netVisual_aggregate(cellchat_levi.early, signaling = c('LAMININ'), layout = "chord", show.legend = FALSE)
netVisual_aggregate(cellchat_levi.early, signaling = c('NT'), layout = "chord", show.legend = FALSE)
strwidth <- function(x) {0.2}
netVisual_aggregate(cellchat_yizhen_MBNA, signaling = c('TGFb'), layout = "chord", show.legend = FALSE)
netAnalysis_contribution(cellchat_yizhen_MBNA, signaling = 'TGFb')
pairLR.NT <- extractEnrichedLR(cellchat_yizhen_MBNA, signaling = 'TGFb', geneLR.return = FALSE)
pairLR.NT
LR.show <- pairLR.NT[1:length(LR.show),]
netVisual_individual(cellchat_yizhen_MBNA, signaling = 'TGFb', pairLR.use = LR.show, layout = "chord")
ht <- netAnalysis_signalingRole_heatmap(cellchat_dogs_cui, pattern = "all", height = 32)
ht + ht1 + ht2