-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtempora.R
342 lines (243 loc) · 31.7 KB
/
tempora.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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
library(Seurat)
library(Tempora)
load("MouseCortex.RData")
mc3 = UpdateSeuratObject(MouseCortex)
#Import MouseCortex data
#As this is a Seurat v2 object, set assayType to ""
#See ?Tempora::ImportSeuratObject for additional arguments to import Seurat v3 or SingleCellExperiment obbjects
cortex_tempora <- ImportSeuratObject(mc3, clusters = "res.0.6",
timepoints = "Time_points",
assayType = "RNA",
cluster_labels = c("Neurons","Young neurons","APs/RPs",
"IPs","APs/RPs", "Young neurons", "IPs"),
timepoint_order = c("e11", "e13", "e15", "e17"))
#Estimate pathway enrichment profiles of clusters
cortex_tempora <- CalculatePWProfiles(cortex_tempora,
gmt_path = "Mouse_GOBP_AllPathways_no_GO_iea_February_05_2021_symbol.gmt",
method="gsva", min.sz = 5, max.sz = 200, parallel.sz = 8)
#Build trajectory with 6 PCs
cortex_tempora <- BuildTrajectory(cortex_tempora, n_pcs = 6, difference_threshold = 0.01)
#Visualize the trajectory
cortex_tempora <- PlotTrajectory(cortex_tempora)
#Fit GAMs on pathway enrichment profile
cortex_tempora <- IdentifyVaryingPWs(cortex_tempora, pval_threshold = 0.05)
#Plot expression trends of significant time-varying pathways
PlotVaryingPWs(cortex_tempora)
#################
################# Puceat
#################
detach(package:Tempora)
devtools::install_github("BaderLab/Tempora")
library(Tempora, verbose = T)
PlotVarGenesByClustering <- function(clusterName, scInput, npcs) {
require(igraph)
require(RColorBrewer)
require(graphics)
require(methods)
require(stats)
require(scales)
require(reshape2)
pdf(paste0("tempora.",clusterName,"." ,npcs ,".pdf"))
on.exit(dev.off())
plotReducedDim(scInput, "PCA", colour_by="label")
plotReducedDim(scInput, "PCA", colour_by="timePoints")
# colData(scInput) = as.data.frame(colData(scInput))
cortex_tempora <- ImportSeuratObject(scInput, clusters = "label",
timepoints = "timePoints",
assayType = "logcounts",
# cluster_labels = NULL,
cluster_labels = paste0("Cl.",1:nrow(unique(getMD(scInput)["label"]))),
timepoint_order = c("AVC", "MVE16.5", "MVneo"))
#Estimate pathway enrichment profiles of clusters
cortex_tempora <- CalculatePWProfiles(cortex_tempora,
gmt_path = "Mouse_GOBP_AllPathways_no_GO_iea_February_05_2021_symbol.gmt",
method="gsva", min.sz = 5, max.sz = 200, parallel.sz = 8)
#Build trajectory with 6 PCs
npcs = max(min([email protected], npcs),2)
cortex_tempora <- BuildTrajectory(cortex_tempora, n_pcs = npcs, difference_threshold = 0.01)
#Visualize the trajectory
cortex_tempora <- PlotTrajectory(cortex_tempora)
#Fit GAMs on pathway enrichment profile
cortex_tempora <- IdentifyVaryingPWs(cortex_tempora, pval_threshold = 0.05)
IdentifyVaryingPWsBJ(object = cortex_tempora, pval_threshold = 0.05)
length([email protected])
[email protected][grepl("WNT", names([email protected]))]
#Plot expression trends of significant time-varying pathways
PlotVaryingPWs(cortex_tempora)
return (cortex_tempora)
# dev.off()
}
#################
#################
library(SingleCellExperiment)
library(scater)
library(scran)
library(scRNAseq)
library(tidyverse)
{
oct4P = c( "CTAATGGTCTTGACGA1-O4P", "CACCACTTCAGCGACC1-O4P", "AATCGGTTCAGCATGT1-O4P", "GATGAAATCTCTAGGA1-O4P", "AGCATACGTCACCTAA1-O4P", "CGAGCCAAGGAATGGA1-O4P", "GACCAATAGAATGTGT1-O4P", "TCATTACAGAACAATC1-O4P", "GCGACCAAGGGTGTTG1-O4P", "TACTCGCAGAGATGAG1-O4P", "CGAGCACCAGCTGCAC1-O4P", "GAAGCAGTCTACCTGC1-O4P", "GTAACGTAGCGTAATA1-O4P", "ACGGCCATCGAATCCA1-O4P", "CTACATTCAACACGCC1-O4P", "TGTATTCTCTCTGCTG1-O4P", "CATCCACCAAGCCGTC1-O4P", "GACGTGCTCTCGCATC1-O4P", "CAACCAATCATCGATG1-O4P", "CGGAGTCAGCTCCCAG1-O4P", "CTACCCAGTTACCGAT1-O4P", "CACCTTGTCTGTACGA1-O4P", "CATCCACGTACAAGTA1-O4P", "TTCGAAGAGCCACGTC1-O4P", "CAGCGACGTTGTGGAG1-O4P", "TCGTAGATCCGTTGTC1-O4P", "CCTTCGATCAACGGCC1-O4P", "GCGCAGTAGAATGTGT1-O4P", "TCAATCTGTTCCGGCA1-O4P", "AAGTCTGGTAGGGACT1-O4P", "AAATGCCCATTACGAC1-O4P", "GACGTTACATAGACTC1-O4P", "GAAGCAGCATGACGGA1-O4P", "CGCTGGATCCGAGCCA1-O4P", "AGGGAGTGTAAATGAC1-O4P", "GTGCTTCCAAACTGCT1-O4P", "ATCTACTAGCGGCTTC1-O4P", "ACGGCCAGTGATGATA1-O4P", "GTATCTTGTGCCTGCA1-O4P", "ATCATGGTCAGGCAAG1-O4P",
"TTCTACAAGTGGGATC1-O4P", "CATTATCGTCAAAGCG1-O4P", "CGCGGTAGTAGGCTGA1-O4P", "GACTAACTCGCCAAAT1-O4P", "CGATTGAAGCTGGAAC1-O4P", "GATGCTAAGCAATCTC1-O4P", "ACGCAGCGTGTGAAAT1-O4P", "CTGAAGTAGAGACGAA1-O4P", "GCTGCTTAGTTAGGTA1-O4P", "GACAGAGCATAACCTG1-O4P", "GGAAAGCCAGGTCCAC1-O4P", "GATGAGGCAGTACACT1-O4P", "AGGGTGAAGAGGTAGA1-O4P", "GTAACTGCAGCTCCGA1-O4P", "TGCCAAAAGGCTAGAC1-O4P", "CTACCCAGTCGTTGTA1-O4P", "ACCTTTAGTCTTTCAT1-O4P", "CTGCTGTAGAGATGAG1-O4P", "GGATGTTCAACGATGG1-O4P", "CAACTAGTCAATCACG1-O4P", "CACAGGCTCTCTAGGA1-O4P", "CACATTTCACTACAGT1-O4P", "ACGATGTTCACATGCA1-O4P", "CGGAGCTTCACTGGGC1-O4P", "AGCAGCCGTCGTTGTA1-O4P", "GGAACTTCACGTCTCT1-O4P", "CCGTTCAGTGCTTCTC1-O4P", "TGAGCCGAGGATCGCA1-O4P", "TGGGAAGTCTCCAACC1-O4P", "ACATACGAGCGAGAAA1-O4P", "TGACGGCTCCTTTACA1-O4P", "CCGTGGATCCCAACGG1-O4P", "CAGCTGGGTCTCCATC1-O4P", "CGCTGGAGTAAGCACG1-O4P", "GTAGTCACACCGAATT1-O4P", "CACATTTCAGAGTGTG1-O4P", "TTAACTCCACGTTGGC1-O4P", "CAGCATACACTCGACG1-O4P", "CTTAACTGTCTTCAAG1-O4P", "GGCCGATGTTGGTTTG1-O4P", "CCAATCCTCGGTGTTA1-O4P", "AGTAGTCGTGTCAATC1-O4P", "TGGTTAGCAGAGCCAA1-O4P",
"CGGACTGGTCCTGCTT1-O4P", "ATCACGAAGCAGCGTA1-O4P", "GTCCTCACATTCTCAT1-O4P", "CCTACCATCAACCATG1-O4P", "TCACGAATCGCGTTTC1-O4P", "AAACCTGTCGCCAAAT1-O4P", "ATCATCTGTACAGTTC1-O4P", "GGGAATGCATACGCTA1-O4P", "TGCGGGTTCTCGATGA1-O4P", "TTGTAGGGTTATCACG1-O4P", "GGGAGATGTGACGGTA1-O4P", "TGGCGCACAGGACCCT1-O4P", "CTACGTCTCGTTTAGG1-O4P", "TTCGGTCAGACACGAC1-O4P", "TTTGGTTAGCTAACTC1-O4P", "CGAGAAGGTTACGGAG1-O4P", "TGGGAAGTCCAAACAC1-O4P", "ATAGACCCACATTTCT1-O4P", "GTTACAGGTATAGTAG1-O4P", "CGCTATCTCTTTAGTC1-O4P", "GTGTGCGAGCCCGAAA1-O4P", "GTTCGGGTCATCGCTC1-O4P", "GTGAAGGTCAGGATCT1-O4P", "ATCCACCTCCCATTTA1-O4P", "CTAATGGAGGGCTCTC1-O4P", "TTGTAGGCAAGCCTAT1-O4P", "TATGCCCAGACAGAGA1-O4P", "CGACTTCAGAGTGAGA1-O4P", "CTAATGGAGTGAACAT1-O4P", "CCGTGGAGTTTCGCTC1-O4P", "GTGGGTCAGGGAAACA1-O4P", "TACGGATGTGACGCCT1-O4P", "CCATGTCGTCCTCTTG1-O4P", "AAGGCAGGTCTTTCAT1-O4P", "TTAGGCAGTACACCGC1-O4P", "AAACCTGAGGTGGGTT1-O4P", "TGCGGGTTCGCTTAGA1-O4P", "ATGGGAGTCAAGGTAA1-O4P", "CCTTCGAGTCATCGGC1-O4P", "ATCATGGAGAAGGGTA1-O4P", "TCGGGACCAGCTATTG1-O4P",
"AAAGCAACAAAGAATC1-O4P", "CTTGGCTTCGTGGGAA1-O4P", "CCCTCCTCAGATGGCA1-O4P", "TTATGCTTCCCAAGAT1-O4P", "ATCCGAAGTCCATGAT1-O4P", "TTCGAAGAGTTAGCGG1-O4P", "GCCAAATCAAGGTGTG1-O4P", "CTACACCGTGGCTCCA1-O4P", "CCTTTCTTCCACGCAG1-O4P", "GTAACGTCACCGGAAA1-O4P", "GCTTGAAAGTGGAGAA1-O4P", "AGCGTCGAGCCCTAAT1-O4P", "TCTCTAAGTCTTGCGG1-O4P", "ATGAGGGGTGTTAAGA1-O4P", "CTGTGCTCAACTGCGC1-O4P", "CACATAGCAAAGGCGT1-O4P", "TGGGAAGGTCTCAACA1-O4P", "AGCGGTCAGGGAGTAA1-O4P", "ACACCGGAGACGCTTT1-O4P", "CTCGTACAGTATTGGA1-O4P", "CGTCAGGTCAAGGCTT1-O4P", "TTCTACATCCTTTCTC1-O4P", "TGAGCATCAGGGAGAG1-O4P", "CTTAACTAGTGCCATT1-O4P", "AAACGGGAGCCAGAAC1-O4P", "TATCTCATCATTGCCC1-O4P", "ATCGAGTGTGTTCGAT1-O4P", "TGCTACCAGATATGGT1-O4P", "TCTGAGACACACCGAC1-O4P", "ACTTGTTAGACGACGT1-O4P", "GATCAGTAGTGCCATT1-O4P", "GACAGAGAGGGTGTGT1-O4P", "TAGACCATCCATGAGT1-O4P", "CAACCAATCCACGACG1-O4P", "CCTCAGTCATGTTGAC1-O4P", "CGATGGCCATATGGTC1-O4P", "CCACTACGTGACTCAT1-O4P", "TTTACTGCATCGGACC1-O4P", "AGCCTAACAAGCTGTT1-O4P", "CTCATTACAAACCTAC1-O4P", "CTGGTCTAGGTAGCCA1-O4P", "AGGGATGTCATACGGT1-O4P", "ATCTACTCAATTGCTG1-O4P",
"GATCAGTGTGTGGCTC1-O4P", "AGGTCCGGTGTGAATA1-O4P", "CATGCCTGTCGAGTTT1-O4P", "AACTCCCGTTGGAGGT1-O4P", "CCCAATCCACCATCCT1-O4P", "TATCAGGCAAGCCCAC1-O4P", "GACTACAGTAGTGAAT1-O4P", "AATCCAGTCGTTGACA1-O4P", "TCGAGGCTCCTTGCCA1-O4P", "CGGCTAGTCTGCGGCA1-O4P", "CAAGGCCCAAGTCTGT1-O4P", "GTACTCCCAGATCCAT1-O4P", "GCTGCAGGTTTGCATG1-O4P", "TTGACTTCACCTCGTT1-O4P", "CTGATCCGTCATTAGC1-O4P", "GACAGAGCACATGACT1-O4P", "TGGTTCCCATGGTAGG1-O4P", "TGCCAAACAAGCGTAG1-O4P", "CGCCAAGTCATGCTCC1-O4P", "TACACGACAATGAAAC1-O4P", "CAAGTTGGTAGAAAGG1-O4P", "TGTGGTATCATAGCAC1-O4P", "ACGGGTCCAATCGAAA1-O4P", "GATGCTAGTGTGCGTC1-O4P", "CAACCTCTCCAAATGC1-O4P", "GCGCAGTCAAGCCTAT1-O4P", "GGCAATTGTGGTCCGT1-O4P", "TACAGTGGTGATGCCC1-O4P", "GATCGTAGTGGTAACG1-O4P", "GGTGTTACAATGGTCT1-O4P", "TAAGAGATCCGCGGTA1-O4P", "GGATTACGTCAGGACA1-O4P", "CAAGTTGGTAAACACA1-O4P", "CGCGTTTAGGCCCTTG1-O4P", "AAACCTGCACCCAGTG1-O4P", "AAAGATGGTGATGTCT1-O4P", "TGCACCTCATGAGCGA1-O4P", "TACGGGCAGCGTTGCC1-O4P", "CTTGGCTCACGTCAGC1-O4P", "GAAACTCAGGGTCTCC1-O4P", "GGCGACTGTCCAGTTA1-O4P",
"CATCGAAGTCCGTGAC1-O4P", "CACACCTCATGCGCAC1-O4P", "TCGAGGCCACAGACTT1-O4P", "TATCTCATCGCACTCT1-O4P", "CAGGTGCGTCGGGTCT1-O4P", "TCAGCAAGTCTCTCGT1-O4P", "GAACCTAAGAGGTTGC1-O4P", "CGGCTAGTCTTCGGTC1-O4P", "CCTAAAGTCTCTAAGG1-O4P", "TGGACGCTCAGTTAGC1-O4P", "GACTACAGTCCGTCAG1-O4P", "CCTACACTCACCCTCA1-O4P", "AGATCTGAGATGAGAG1-O4P", "TACAGTGTCGAACTGT1-O4P", "GATTCAGGTAACGCGA1-O4P", "GGACATTCATCTCGCT1-O4P", "CAACTAGAGACTAGAT1-O4P", "GGACATTAGACTTTCG1-O4P", "AGTGGGATCCTAGAAC1-O4P", "ACATGGTTCGACCAGC1-O4P", "ATCCGAATCTCTTATG1-O4P", "ACACTGAGTAGTGAAT1-O4P", "TGTCCCACACCCATTC1-O4P", "CGACCTTGTCCAGTGC1-O4P", "TCATTACCATCACAAC1-O4P", "GATCAGTAGTCTTGCA1-O4P", "ACACCGGCACGTGAGA1-O4P", "CGGACGTCAACGATCT1-O4P", "CAAGGCCCATCTACGA1-O4P", "CACATAGTCCTACAGA1-O4P", "TGCCCTAGTCCAGTGC1-O4P", "TAGACCAAGATGTAAC1-O4P", "GGTGCGTGTATTCGTG1-O4P", "GTCACGGGTACGCACC1-O4P", "AAACCTGAGTACACCT1-O4P", "CCATGTCAGAGTAAGG1-O4P", "CGGCTAGTCGGCGGTT1-O4P", "GACAGAGGTGCACTTA1-O4P", "GTACGTACAGATGGGT1-O4P", "TAAGTGCGTGTCAATC1-O4P", "TCTTCGGAGCGATTCT1-O4P",
"TTGTAGGCACCCATTC1-O4P", "GTCGTAACAGGTCTCG1-O4P", "GACACGCAGGACAGAA1-O4P", "TTTATGCGTTTCCACC1-O4P", "CGTCACTTCCGGCACA1-O4P", "CGGAGCTGTGATAAGT1-O4P", "ACGGCCACATTACGAC1-O4P", "GCGACCAAGTGGTAGC1-O4P", "TCACGAATCTGGCGTG1-O4P", "TCTTTCCCACGCATCG1-O4P", "TCTCATAGTTGTGGAG1-O4P", "GGATTACTCTCATTCA1-O4P", "TCTCTAACATTTCACT1-O4P", "TTCTCAAGTGCATCTA1-O4P", "TCAATCTGTGCAGTAG1-O4P", "CTTACCGTCATCATTC1-O4P", "AGCATACGTTATTCTC1-O4P", "TAGTGGTTCCAGAAGG1-O4P", "AACCATGCAGTCGTGC1-O4P", "GAACCTACATCACAAC1-O4P", "CGCGGTATCGGTGTTA1-O4P", "CCCTCCTGTCACACGC1-O4P", "CCACCTATCTTTACAC1-O4P", "CTGAAGTTCACTGGGC1-O4P", "ACTTGTTAGGAATCGC1-O4P", "GACCTGGAGGTGCACA1-O4P", "CGTTAGACAAGAAAGG1-O4P", "GGAATAAAGCCACGCT1-O4P", "CTGTTTAAGTGGAGAA1-O4P", "ACACCAATCAACACAC1-O4P", "TAAACCGCAGACTCGC1-O4P", "GGAAAGCTCACCATAG1-O4P", "GAACATCGTCGAGATG1-O4P", "ACCTTTACACAAGACG1-O4P", "AACTCTTCACCCATGG1-O4P", "CACATAGCACAGGTTT1-O4P", "GTTCATTAGTGGACGT1-O4P", "CACCTTGCAAGTACCT1-O4P", "GGGATGAAGTCCGGTC1-O4P", "AACTTTCGTTGTTTGG1-O4P", "CCAATCCAGAGGTACC1-O4P",
"CGTCCATCAGGCTGAA1-O4P", "CTTCTCTGTCGCATCG1-O4P", "GGAACTTCAACACCCG1-O4P", "GCTGGGTGTAGCTGCC1-O4P", "ACTATCTGTCCGTCAG1-O4P", "TGGTTCCGTTACAGAA1-O4P", "TTAGTTCGTTGGTGGA1-O4P", "CGCGTTTTCTCTGTCG1-O4P", "CTGATCCGTGTTGGGA1-O4P", "CCTACCAGTTGGAGGT1-O4P", "TCAATCTGTGAGGGTT1-O4P", "GCAAACTGTTCTCATT1-O4P", "TTGCGTCGTCTTTCAT1-O4P", "CCGTGGAAGTGGTAAT1-O4P", "GATCAGTTCGGTGTTA1-O4P", "CTCATTACAAACGCGA1-O4P", "TGATTTCGTACCGTTA1-O4P", "CGATGTACATGGTAGG1-O4P", "TCGTACCTCCGAACGC1-O4P", "CTGAAACGTCTAGTCA1-O4P", "CACAAACGTTGAACTC1-O4P", "CACACTCTCCGCGTTT1-O4P", "GACAGAGGTTCCATGA1-O4P", "GCGCCAATCATAAAGG1-O4P", "ATGGGAGTCACTGGGC1-O4P", "AGTGGGATCAAGAAGT1-O4P", "TAAGTGCGTGATAAAC1-O4P", "AGCAGCCCACATCCGG1-O4P", "TTGCCGTTCGTGACAT1-O4P", "TGCACCTTCTGCGACG1-O4P", "TTCTTAGCAATGGAAT1-O4P", "TCCCGATCAGCTATTG1-O4P", "CGTTGGGTCACCGGGT1-O4P", "CTCATTAAGTGCCAGA1-O4P", "ACGATACTCGGAAACG1-O4P", "CGCCAAGGTCTCACCT1-O4P", "AAGACCTGTGGGTCAA1-O4P", "GAACATCGTATTCGTG1-O4P", "GCAAACTCAAACTGCT1-O4P", "TGGTTCCCACGGTTTA1-O4P", "CAGATCAAGCGTAATA1-O4P",
"CTCTACGCATGTTCCC1-O4P", "GACAGAGTCTGCGACG1-O4P", "GTATTCTTCCGTAGGC1-O4P", "GTACTTTAGAGGTACC1-O4P", "ACTGTCCAGTGAATTG1-O4P", "CGATGGCAGGACATTA1-O4P", "AGGCCACAGCAATATG1-O4P", "CACACTCAGCCGTCGT1-O4P", "TCGCGTTTCAGTTTGG1-O4P", "GCGCCAAAGTGATCGG1-O4P", "GGGCACTGTATGAAAC1-O4P", "AGTCTTTAGCAGCCTC1-O4P", "AAAGTAGTCTAACCGA1-O4P", "AGATCTGCAGATAATG1-O4P", "GGTGTTAAGGATGGTC1-O4P", "TTAACTCTCTACCTGC1-O4P", "CACACAATCCACGACG1-O4P", "ATCTGCCCACCAGGTC1-O4P", "TGGTTAGGTTCCACGG1-O4P", "AAGACCTGTTATTCTC1-O4P", "CGGAGTCCACATAACC1-O4P", "CAGATCAGTGCATCTA1-O4P", "GGGAGATAGAGACGAA1-O4P", "CTCTACGCATTGGCGC1-O4P", "GAACCTAGTAAGTGGC1-O4P", "ATGGGAGGTTATCACG1-O4P", "GTCACGGAGACCCACC1-O4P", "GCATGATCAAAGGTGC1-O4P", "TTGTAGGGTCCATGAT1-O4P", "GACGTGCTCGAGAACG1-O4P", "CATATTCCAAATCCGT1-O4P", "CAGAATCCAATGGTCT1-O4P", "GTGGGTCAGCTCAACT1-O4P", "GTAACGTAGTCTCAAC1-O4P", "GTCCTCATCAGTTTGG1-O4P", "CTCATTACATGGGACA1-O4P", "ACACCGGAGGCCCTCA1-O4P", "ATGTGTGTCCCATTTA1-O4P", "CTCTACGGTTTACTCT1-O4P", "ATCATGGTCGTCGTTC1-O4P", "AGGGTGACAGTATAAG1-O4P",
"CTGATAGGTCACTGGC1-O4P", "GGATTACCATCCCATC1-O4P", "CTGCGGATCAGATAAG1-O4P", "CGCGGTAGTACAAGTA1-O4P", "AACTCTTTCTAGAGTC1-O4P", "TGAGAGGGTTGCCTCT1-O4P", "CAAGAAAAGCCTTGAT1-O4P", "GCGACCAAGTGACATA1-O4P", "CATTATCCACTAAGTC1-O4P", "CTGTTTAAGTGTTTGC1-O4P", "GCAGCCAAGAAACCTA1-O4P", "TGCTACCTCACCGGGT1-O4P", "GGTGAAGCACCTGGTG1-O4P", "CCTTACGGTCGAATCT1-O4P", "CACACTCTCAAGCCTA1-O4P", "GGGAATGGTCGAGATG1-O4P",
"TTTACTGTCAAACCAC1-O4P", "GAAATGATCTAACTCT1-O4P", "AGCTCTCGTTCGAATC1-O4P", "AGCGGTCAGAGACTTA1-O4P", "ATTTCTGGTAAGGGCT1-O4P", "TGCCAAAGTGTTCTTT1-O4P", "CGTCTACCAATGAATG1-O4P", "ACTTTCATCGGAATCT1-O4P", "CAGCTGGGTTACGCGC1-O4P", "TGGCTGGCAATCGAAA1-O4P", "GCGACCAGTGTCTGAT1-O4P", "AGGCCGTCAGCCACCA1-O4P", "TGGCCAGGTAGCGATG1-O4P", "GTCATTTTCAAGGTAA1-O4P", "GCATGATCAGCGATCC1-O4P", "GCCAAATAGCTGAAAT1-O4P", "CGATGTAGTTCCTCCA1-O4P", "TATTACCAGCTAGTTC1-O4P", "AACACGTGTTTGTGTG1-O4P", "CGATCGGAGGTGATAT1-O4P", "TTGTAGGTCGCTTAGA1-O4P", "CGCTGGATCTCCAGGG1-O4P", "ACGAGGACATGAAGTA1-O4P", "GCGAGAAGTTCAACCA1-O4P", "AGAGTGGTCGTGGTCG1-O4P", "CTGTGCTAGTAACCCT1-O4P", "CTAGTGATCGCATGAT1-O4P", "TAAGAGACACCAACCG1-O4P", "AGATCTGCAATCTGCA1-O4P", "GCGGGTTAGATATGGT1-O4P", "CTACACCTCCGAAGAG1-O4P", "GCAGTTAGTCAAGCGA1-O4P", "CCTATTAAGCTCCTTC1-O4P", "GTCGTAATCGAATGCT1-O4P", "TACAGTGGTTCCACTC1-O4P", "ACTGATGAGTCGTACT1-O4P", "CACACAATCCAGAGGA1-O4P", "TATGCCCAGTATCTCG1-O4P", "CAACCAAAGGCGATAC1-O4P", "GAAACTCTCCGAATGT1-O4P", "AAGGTTCGTGGGTATG1-O4P",
"CCCTCCTGTGCGGTAA1-O4P", "TGCCAAATCCTAGAAC1-O4P", "AGTAGTCTCACGAAGG1-O4P", "TGGGAAGCACATGTGT1-O4P", "CGAGCCACAGTCAGCC1-O4P", "CTACATTGTCGAATCT1-O4P", "TGGTTCCCAGCTGTAT1-O4P", "GACTGCGGTTACGTCA1-O4P", "GAATGAACATCGTCGG1-O4P", "CGTCCATAGTGCTGCC1-O4P", "TGCACCTCAAGCTGTT1-O4P", "GTTACAGTCGTAGGTT1-O4P", "CACCACTCATCACGTA1-O4P", "AAACCTGCAGTACACT1-O4P", "GGATGTTGTTCGCTAA1-O4P", "TCAACGAAGGTACTCT1-O4P", "GCGGGTTAGCCGTCGT1-O4P", "ATCATCTGTTGGGACA1-O4P", "GTCTTCGCATACGCTA1-O4P", "ATCATCTGTGGGTATG1-O4P", "TCATTACAGCTGGAAC1-O4P", "GAAACTCGTTCCTCCA1-O4P", "GTTAAGCCACACAGAG1-O4P", "GTACGTAGTTGAACTC1-O4P", "CACATTTCAGTAAGAT1-O4P", "CGTGTCTGTGTGAAAT1-O4P", "TTTACTGAGTAGTGCG1-O4P", "TGCTACCAGAAGAAGC1-O4P", "TCGTAGACATGCTAGT1-O4P", "GGCGTGTCAACAACCT1-O4P", "AACTCAGTCAGTCCCT1-O4P", "ATTGGACTCACCTTAT1-O4P", "ACTGCTCGTCTTGATG1-O4P", "GACTGCGCAGTCAGCC1-O4P", "TCGCGTTTCCTGCAGG1-O4P", "TTATGCTTCCCACTTG1-O4P", "ATCTACTTCCAAGTAC1-O4P", "TGACGGCAGCATCATC1-O4P", "AGGCCACGTCTTGCGG1-O4P", "TCCACACAGAGTCGGT1-O4P", "ATCATGGCAGGACGTA1-O4P",
"CGAATGTCAACTGGCC1-O4P", "CCGTTCAAGCTTATCG1-O4P", "CTCAGAACACTCTGTC1-O4P", "CCGTGGATCAGATAAG1-O4P", "TTCTCCTAGAACAACT1-O4P", "ACTGCTCGTTATCCGA1-O4P", "CGTCAGGAGCTAGTGG1-O4P", "GAATGAAGTCGCTTTC1-O4P", "TGATTTCCATCCGCGA1-O4P", "CCGTTCAAGTAGGTGC1-O4P", "TGGTTCCCAAGAGTCG1-O4P", "GCATGATCAAGTTAAG1-O4P", "CATGACATCTACGAGT1-O4P", "ACCCACTGTAGCGTCC1-O4P", "GTTCTCGTCCATTCTA1-O4P", "GGACGTCGTTGTGGCC1-O4P", "TGCACCTAGGAGTAGA1-O4P", "ATTTCTGTCGGCCGAT1-O4P", "AGGGATGCATCTCCCA1-O4P", "CAGTCCTTCTTCGGTC1-O4P", "AGGTCATGTGCTGTAT1-O4P", "GTCTCGTCAATGGAGC1-O4P", "CAGTAACAGCGTGAGT1-O4P", "TTCGAAGGTCGTGGCT1-O4P", "CATGCCTTCCTGTAGA1-O4P", "CACATAGGTAAGGGCT1-O4P", "TTTACTGCAATCGAAA1-O4P", "GCAATCAAGCTGTTCA1-O4P", "AGAATAGTCGGTTCGG1-O4P", "TGGTTCCGTAGAGGAA1-O4P", "CTACCCACAAGGTGTG1-O4P", "CGCGTTTCATCCGTGG1-O4P", "GGATGTTCACGCTTTC1-O4P", "GTGCGGTTCCTCCTAG1-O4P", "CGAGAAGCAAAGGCGT1-O4P", "CTCGTACAGCGCTTAT1-O4P", "AGTCTTTTCGACAGCC1-O4P", "AACCATGGTCGTCTTC1-O4P",
"ATCTACTGTCCGAATT1-O4P", "TGTTCCGTCATGCAAC1-O4P", "GTAGGCCAGATCCCGC1-O4P", "AGTGGGATCCTACAGA1-O4P", "TACGGATTCTGTTGAG1-O4P", "TACTTGTGTTTGCATG1-O4P", "ATGCGATTCACAGTAC1-O4P", "AGCAGCCCATACCATG1-O4P", "CTCGAGGAGTCCCACG1-O4P", "GACAGAGCATATGCTG1-O4P", "GAAATGATCCAAAGTC1-O4P", "TCCCGATTCTAGAGTC1-O4P", "CGGACGTCATTCTCAT1-O4P", "CTCGTCAAGTGAAGTT1-O4P", "TTTGGTTAGTGGAGTC1-O4P", "CCTTTCTAGAAGGGTA1-O4P", "TGCGGGTTCATCGCTC1-O4P", "TCTCTAATCTTGCATT1-O4P", "GTACTTTGTCGAGTTT1-O4P", "AGTGTCACATCATCCC1-O4P", "CCTCTGATCGCCAGCA1-O4P", "CGAGCCAGTACCCAAT1-O4P", "AGCTCTCTCCGTCAAA1-O4P", "GACACGCGTGTGACGA1-O4P", "GGGACCTCATTGAGCT1-O4P", "AACTCCCTCCGCAGTG1-O4P", "CGTTAGAAGAGCAATT1-O4P", "CAGCGACAGTGTTTGC1-O4P", "CGGAGTCTCGGTGTCG1-O4P", "CGCTGGACAGCCTTGG1-O4P", "CACAGGCCAGGTTTCA1-O4P", "AACGTTGGTAGCTGCC1-O4P", "GGCCGATTCGTTACAG1-O4P", "TCCACACAGCCCAGCT1-O4P", "GGACAGACAGTCTTCC1-O4P", "CGTGTCTAGCCAGTAG1-O4P", "AGTTGGTAGTCAATAG1-O4P", "CTCGTCAGTTAAGTAG1-O4P", "GGATTACGTGTCAATC1-O4P", "TACACGATCTGTACGA1-O4P", "AGATCTGCACACCGCA1-O4P",
"ACTGCTCCAAACGTGG1-O4P", "AAACCTGAGTACGCCC1-O4P", "CATCCACTCAGAAATG1-O4P", "TTCGAAGTCTTCGAGA1-O4P", "AACACGTAGGTAGCTG1-O4P", "CTTTGCGTCTTCGGTC1-O4P", "TGGGAAGGTGAAAGAG1-O4P", "GACTGCGTCCGCGCAA1-O4P", "TCTGAGACACGACTCG1-O4P", "TCGCGTTAGATAGTCA1-O4P", "CAACCAACAAACGTGG1-O4P", "ACGGGTCCAGACGCTC1-O4P", "ATTATCCTCACTCCTG1-O4P", "CGGAGTCCAAGACACG1-O4P", "GTGCTTCAGACGACGT1-O4P", "ATCTGCCTCATGCTCC1-O4P", "CTCCTAGTCATGTAGC1-O4P", "TGGCTGGAGCAGCGTA1-O4P", "ACGTCAATCGCGATCG1-O4P", "CATTATCCAATCTACG1-O4P", "CTAGAGTCACGGCGTT1-O4P", "ATTGGTGAGCCTTGAT1-O4P", "GACGTTAGTGTGGTTT1-O4P", "GTATTCTTCGCGGATC1-O4P", "GCAAACTTCTCCTATA1-O4P", "ACGCCGACAAGAAGAG1-O4P", "GAACGGAAGGTGGGTT1-O4P", "GGCGTGTGTGAAGGCT1-O4P", "TACTTACGTTCCGTCT1-O4P", "CAGCAGCTCTCAACTT1-O4P", "AGGGATGGTTTCGCTC1-O4P", "ACGGAGAGTAGCGTCC1-O4P", "GCAATCACAAAGAATC1-O4P", "GGACGTCAGCGATATA1-O4P", "AAGGAGCTCTTCCTTC1-O4P", "CAGGTGCCACTAAGTC1-O4P", "TTTGCGCTCCAAGCCG1-O4P", "GAGGTGAAGCGATCCC1-O4P", "CATCAGACATGACATC1-O4P", "GTATTCTGTTCGGGCT1-O4P", "CCTTCCCAGATGTAAC1-O4P",
"GAGTCCGAGTTGAGTA1-O4P", "TCAGATGAGACTAGGC1-O4P", "GTTCATTAGGTCATCT1-O4P", "TTAGGACGTTTGTGTG1-O4P", "AAAGCAACAGTAAGAT1-O4P", "CTTGGCTGTCTTGCGG1-O4P", "TCAGATGGTTGGTTTG1-O4P", "GTCATTTGTCCATGAT1-O4P", "ATGCGATCATTGCGGC1-O4P", "GCACATAAGGGTGTTG1-O4P", "GTTCGGGCATAAAGGT1-O4P", "CACACAATCGAACTGT1-O4P", "TCTTTCCTCGAACGGA1-O4P", "GAAGCAGGTGACTCAT1-O4P", "GACTACACAATGACCT1-O4P", "TTATGCTCACTATCTT1-O4P", "TGAGGGAGTTTGACTG1-O4P", "AAGGCAGAGTGCGTGA1-O4P", "GGGCACTTCCCAAGTA1-O4P", "CGTCACTTCGGAAACG1-O4P", "TCGTAGAGTCCTCTTG1-O4P")
oct4PP = c("GTCACTGTACTCTCC1-O4PP", "GGATGTTCAAGAGTCG1-O4PP", "ATTATCCAGTGTTTGC1-O4PP", "GTCGTAACATTACGAC1-O4PP", "CTGCGGATCAGTTCGA1-O4PP", "CTCGGAGAGTAAGTAC1-O4PP", "GTCACGGCAATAGCAA1-O4PP", "CTTACCGAGTAGGTGC1-O4PP", "TGCGCAGTCGTATCAG1-O4PP", "GCTGCAGGTGATGTGG1-O4PP", "TTGGCAAGTACTCTCC1-O4PP", "GTGTTAGAGAAACCAT1-O4PP", "AACTCAGGTGCTTCTC1-O4PP", "CAACTAGTCTCGTTTA1-O4PP", "TTAACTCCAGGATTGG1-O4PP", "TGCGTGGCACTATCTT1-O4PP", "CATGGCGTCACAATGC1-O4PP", "TACTTGTAGCCAGTAG1-O4PP", "GTGCGGTCAAGCCGCT1-O4PP", "ATGGGAGTCAACCAAC1-O4PP", "TCTGAGAGTGACCAAG1-O4PP", "CTGAAACGTGGCCCTA1-O4PP", "CAGCGACAGCGTTGCC1-O4PP", "TAAGAGACAAAGGTGC1-O4PP", "AGCGGTCGTGGCGAAT1-O4PP", "TGCGGGTCACCTGGTG1-O4PP", "AAGTCTGTCTCTGCTG1-O4PP", "ACCTTTATCATCATTC1-O4PP", "AACTTTCAGCCCAGCT1-O4PP", "CTGGTCTTCTAACTGG1-O4PP",
"TCATTACTCTGCGACG1-O4PP", "GTCACGGAGATCCCAT1-O4PP", "CCTATTATCGGCGGTT1-O4PP", "AAAGATGTCAGCTTAG1-O4PP", "ACGAGCCGTGCACGAA1-O4PP", "GTGCATAGTCGCGAAA1-O4PP", "CGATTGACACATGGGA1-O4PP", "TACACGATCAAGCCTA1-O4PP", "TACCTTAGTTCAGGCC1-O4PP", "TCGCGAGTCATTTGGG1-O4PP", "ACTTGTTAGGCAGGTT1-O4PP", "TGTGTTTAGCTGTTCA1-O4PP", "GTTCGGGAGAGCTGGT1-O4PP", "CTACATTAGAGACTAT1-O4PP", "CATTCGCAGAGGTTGC1-O4PP", "AGCATACCAATGGAGC1-O4PP", "GGTGCGTGTAGGCTGA1-O4PP", "GGAGCAACAGGTTTCA1-O4PP", "ATGCGATCATTGGTAC1-O4PP", "GGACAGAGTCCTAGCG1-O4PP", "CGGAGCTTCCTTCAAT1-O4PP", "GTAACTGTCACGAAGG1-O4PP", "GAGTCCGTCGCTGATA1-O4PP", "CTGATCCAGGAATCGC1-O4PP", "GCGCCAAGTCAACTGT1-O4PP", "GTCAAGTCATCCGCGA1-O4PP", "CGAATGTAGCTGAACG1-O4PP", "GGTGTTAGTAGAAAGG1-O4PP", "CCTTCGAGTTAGGGTG1-O4PP", "CAGTAACGTCAGAGGT1-O4PP",
"GGACATTTCAACGGGA1-O4PP", "GTTCTCGGTTCCCTTG1-O4PP", "GTAACTGGTGCAGACA1-O4PP", "AGACGTTCATGAAGTA1-O4PP", "CGTGTCTGTGCCTTGG1-O4PP", "ATCGAGTTCTGTGCAA1-O4PP", "TACCTTAAGGTAAACT1-O4PP", "CGCCAAGGTGGTACAG1-O4PP", "TAAGCGTTCTCTGAGA1-O4PP", "AGCGGTCGTGATGTGG1-O4PP", "ACTTGTTAGATCCCGC1-O4PP", "GTTAAGCGTTTAGGAA1-O4PP", "TCGTACCCAGGGTTAG1-O4PP", "GACAGAGCATCCCATC1-O4PP", "GACCTGGCAGGTCTCG1-O4PP", "CGAACATAGGGCATGT1-O4PP", "TAAGCGTGTCCGAATT1-O4PP", "CTGTTTAAGTCCCACG1-O4PP", "GAAACTCAGCCAACAG1-O4PP", "TGGTTCCAGGCTATCT1-O4PP", "TTTGTCACATTGGTAC1-O4PP", "AGGTCCGGTAGCACGA1-O4PP", "CCATTCGAGCAAATCA1-O4PP", "GTCACGGTCTGCGACG1-O4PP", "CGAACATTCAACACGT1-O4PP", "CGAATGTGTTATGCGT1-O4PP", "TGAGGGAAGACAATAC1-O4PP", "GCTGCAGAGAACAATC1-O4PP", "CTGCCTAAGCAACGGT1-O4PP", "CTCGAAAAGAGGTTGC1-O4PP",
"GCTGGGTTCATGCATG1-O4PP", "CCTTCGATCCACGCAG1-O4PP", "TCGGTAATCACCTTAT1-O4PP", "ATTGGTGAGGATTCGG1-O4PP", "CTCGGAGAGACGCTTT1-O4PP", "AATCGGTGTCTGATCA1-O4PP", "AAACGGGCACCGCTAG1-O4PP", "CTAGTGATCCAGTAGT1-O4PP", "CTCGGGACAGTTCATG1-O4PP", "AGGGAGTAGCAACGGT1-O4PP", "CATCCACTCAGCAACT1-O4PP", "TGCACCTAGTTATCGC1-O4PP", "GTACTTTGTTATCACG1-O4PP", "CTCCTAGCACGCTTTC1-O4PP", "ACAGCCGCACATTCGA1-O4PP", "ATAACGCCACTCAGGC1-O4PP", "AACTTTCGTTGTGGAG1-O4PP", "CGAGAAGCAGGCAGTA1-O4PP", "CGTTGGGGTTTCCACC1-O4PP", "CGTTAGAAGGACATTA1-O4PP", "CTCGAGGAGTGACATA1-O4PP", "GGCTGGTGTTCGGGCT1-O4PP", "GTGCAGCGTAGGCATG1-O4PP", "AACTCCCGTGAGCGAT1-O4PP", "GCTGCTTTCGCCAGCA1-O4PP", "ACTGATGAGTGTTAGA1-O4PP", "GTCTCGTTCTAACGGT1-O4PP", "TGCTGCTGTTGGGACA1-O4PP", "AGCGGTCGTCTGGTCG1-O4PP",
"AGGGATGCATGGATGG1-O4PP", "GGAACTTCATGGGACA1-O4PP", "GGACAAGAGAGTACCG1-O4PP", "ACCCACTGTTACGGAG1-O4PP", "CATATGGCAAATCCGT1-O4PP", "GCTTGAACAGAGCCAA1-O4PP", "CAGTCCTCAGGTCGTC1-O4PP", "TACGGTAGTTCACGGC1-O4PP", "GATTCAGGTCCGTTAA1-O4PP", "GTATTCTCAGTGACAG1-O4PP", "GGATTACAGAGCTGGT1-O4PP", "CGGACACCACCTTGTC1-O4PP", "AAAGTAGGTGAGGGTT1-O4PP", "GGCCGATCAGCCTATA1-O4PP", "AGCGTATTCGTCCAGG1-O4PP", "TTCTACATCCCGGATG1-O4PP", "GTACTTTAGTATCTCG1-O4PP", "CGGACGTGTTCAGTAC1-O4PP", "TCGCGAGCACAACGTT1-O4PP", "CTCCTAGCAGCTTCGG1-O4PP", "CGTCAGGTCATTGCGA1-O4PP", "GAATGAATCAGTACGT1-O4PP", "TCCACACTCGCGCCAA1-O4PP", "GTGCATATCGAGCCCA1-O4PP", "ACGGGTCGTGAGGCTA1-O4PP", "TCTTCGGAGCGAGAAA1-O4PP", "AGTGGGATCAAGGCTT1-O4PP", "CAACCAATCTGTCTCG1-O4PP", "CCATGTCAGCTGCGAA1-O4PP", "TCGCGAGAGAAACGAG1-O4PP", "GAGCAGATCCTGCAGG1-O4PP",
"CACAAACCAAAGCAAT1-O4PP", "CCTTACGTCTCGTTTA1-O4PP", "TAAACCGTCCTTGCCA1-O4PP", "GATCGATTCCTCGCAT1-O4PP", "CATCAAGGTTGAGGTG1-O4PP", "ACATACGCACCCATGG1-O4PP", "CCAGCGACAAAGAATC1-O4PP", "ATGAGGGCAAATCCGT1-O4PP", "GGACATTTCTTGAGAC1-O4PP", "AGTCTTTGTAGATTAG1-O4PP", "GGGTCTGGTACAGACG1-O4PP", "AGTGGGACAAGCCGCT1-O4PP", "TTTGGTTTCACCTCGT1-O4PP", "GTGTGCGCAGGTGGAT1-O4PP", "TGGGCGTTCAAGAAGT1-O4PP", "ACACCCTTCTGCTTGC1-O4PP", "CCTAAAGTCGCGTAGC1-O4PP", "CTTAGGACAGCTATTG1-O4PP", "ACACTGAGTATTACCG1-O4PP", "CAGAATCCAAGCCGTC1-O4PP", "CCTTTCTCATCCTAGA1-O4PP", "AACGTTGTCACCTCGT1-O4PP", "ATGAGGGCATCCCATC1-O4PP", "ACGCCGACATGCGCAC1-O4PP", "TTCTCAAAGTAGCCGA1-O4PP", "TACTTACAGACCTTTG1-O4PP", "CACCACTAGGGCACTA1-O4PP", "AGGGAGTGTGTGTGCC1-O4PP", "AGTGTCAAGAGGTAGA1-O4PP", "AACGTTGGTCAACATC1-O4PP",
"GGGACCTGTAATAGCA1-O4PP", "CCCAATCCACGAAACG1-O4PP", "GTAACGTGTCTCCCTA1-O4PP", "CCTTTCTGTGAGTATA1-O4PP", "CCTAGCTTCCGTAGGC1-O4PP", "ACTTGTTCAATGAAAC1-O4PP", "AACTTTCAGCAGATCG1-O4PP", "ACATGGTCAAAGGTGC1-O4PP", "ATGGGAGGTAAGTGTA1-O4PP", "CCTATTACAGTATCTG1-O4PP", "CGACTTCTCGCCCTTA1-O4PP", "GTTACAGTCACATAGC1-O4PP", "CAAGATCGTAGCGTCC1-O4PP", "AGCTCTCCATCGATGT1-O4PP", "GGGCATCTCAATCTCT1-O4PP", "TTGGCAAAGTAAGTAC1-O4PP", "TATTACCAGATTACCC1-O4PP", "TGTGTTTCATAAGACA1-O4PP", "CCCAGTTTCGGTGTCG1-O4PP", "AAGACCTGTAATAGCA1-O4PP", "ATCATCTTCGGCTTGG1-O4PP", "GAATAAGGTGACGCCT1-O4PP", "ACCTTTAAGACACGAC1-O4PP", "ACGCAGCCAGTATAAG1-O4PP", "GCGACCAAGTGTTAGA1-O4PP", "GCGCAACGTACGAAAT1-O4PP", "CGGACACAGGAATTAC1-O4PP",
"TACTCGCGTAGCAAAT1-O4PP", "TTTGCGCGTCAACATC1-O4PP", "GATCGATGTCATCCCT1-O4PP", "ACGCCAGAGTTATCGC1-O4PP", "AGTGTCATCTTGCCGT1-O4PP", "GATGAGGGTGCTTCTC1-O4PP", "GGGTCTGCACTCGACG1-O4PP", "CTCGAGGTCATTGCCC1-O4PP", "ATCGAGTGTCGATTGT1-O4PP", "CTCGTCATCAAACAAG1-O4PP", "ACGCCAGTCGAGAGCA1-O4PP", "AACTCCCGTACTTGAC1-O4PP", "GTCGTAAAGCCACCTG1-O4PP", "GCTTCCAAGGTTACCT1-O4PP", "TTTGTCAGTAAAGTCA1-O4PP", "TTGTAGGTCGTCTGAA1-O4PP", "GGTGCGTAGGAATTAC1-O4PP", "TGCGTGGCAAGTAATG1-O4PP", "CACACCTCAGATCCAT1-O4PP", "GATCGTAAGCTGCGAA1-O4PP", "TAAACCGAGTCGTTTG1-O4PP", "ATGAGGGTCCCAAGAT1-O4PP", "CTTACCGCAACGATGG1-O4PP", "TCTCATAAGATGTAAC1-O4PP", "TCGCGTTAGGGATGGG1-O4PP", "AGTGAGGTCATGTGGT1-O4PP", "GGTATTGCATTTGCCC1-O4PP", "CTGCCTAAGGACTGGT1-O4PP", "TACACGATCTAACGGT1-O4PP", "ATTCTACAGCGATGAC1-O4PP")
}
cp = load("traj_trajectories/puceat.processed.RData")
cp
cp = load("../SCHNAPPsContributions/traj_trajectories/puceat.processed.RData")
cp
scInput = scEx[,scEx$sampleNames %in% c("AVC", "MVE16.5", "MV1", "MV2")]
rownames(scInput) = make.unique(rowData(scInput)$symbol)
rownames(scEx) = rowData(scEx)$symbol
cortex_tempora <- ImportSeuratObject(seuratobj = scInput,
assayType = "logcounts",
clusters = "dbCluster",
timepoints = "sampleNames",
timepoint_order = c("AVC","MVE16.5","MV1","MV2")
)
#Estimate pathway enrichment profiles of clusters
cortex_tempora <- CalculatePWProfiles(cortex_tempora,
gmt_path = "../Tempora/Mouse_GOBP_AllPathways_no_GO_iea_March_01_2021_symbol.gmt",
method="gsva", min.sz = 5, max.sz = 200, parallel.sz = 8)
#Build trajectory with 6 PCs
cortex_tempora <- BuildTrajectory(cortex_tempora, n_pcs = 12, difference_threshold = 0.01)
#Visualize the trajectory
cortex_tempora <- PlotTrajectory(cortex_tempora)
# set limit rel. high and be able to show table with p-values and name of GO term
#Fit GAMs on pathway enrichment profile
cortex_tempora <- IdentifyVaryingPWs(cortex_tempora, pval_threshold = 0.5)
#Plot expression trends of significant time-varying pathways
# set p=value by subsetting [email protected]
x
# x - axis:
[email protected]$Cluster_time_score
# - MV3, O4P, O4PP
scInput = scEx[,scEx$sampleNames %in% c("AVC", "MVE16.5", "MV1", "MV2")]
rownames(scInput) = make.unique(rowData(scInput)$symbol)
lib.sf <- librarySizeFactors(scInput)
summary(lib.sf)
hist(log10(lib.sf), xlab="Log10[Size factor]", col='grey80')
PlotVaryingPWs
set.seed(100)
clust.zeisel <- quickCluster(scInput)
scInput <- computeSumFactors(scInput, cluster=clust.zeisel, min.mean=0.1)
scInput <- logNormCounts(scInput)
assayNames(scInput)
gmt_path = "../Tempora/Mouse_GOBP_AllPathways_no_GO_iea_March_01_2021_symbol.gmt"
pathwaygmt <- GSEABase::getGmt(gmt_path)
system.time({
gsvaOut = GSVA::gsva(as.matrix(assays(scInput)[[1]]), pathwaygmt, method="ssgsea", min.sz=5, max.sz=2000, parallel.sz=6)
})
colnames(gsvaOut) = colnames(scInput)
table(rownames(gsvaOut)[apply(gsvaOut,2,which.max)]) %>% sort
max(gsvaOut[grepl("WNT", rownames(gsvaOut)),])
scInput.geneVar <- modelGeneVar(scInput)
# Visualizing the fit:
fit.pbmc <- metadata(scInput.geneVar)
plot(fit.pbmc$mean, fit.pbmc$var, xlab="Mean of log-expression",
ylab="Variance of log-expression")
curve(fit.pbmc$trend(x), col="dodgerblue", add=TRUE, lwd=2)
scInput.geneVar[order(scInput.geneVar$bio, decreasing=TRUE),]
chosen <- getTopHVGs(scInput.geneVar, prop=0.1)
str(chosen)
scInput.hvg <- scInput[chosen,]
dim(scInput.hvg)
scInput <- scater::runPCA(scInput, subset_row = chosen,exprs_values = "logcounts")
reducedDimNames(scInput)
plotReducedDim(scInput, dimred="PCA", colour_by="sampleNames")
plotReducedDim(scInput, dimred="PCA", ncomponents=6,
colour_by="sampleNames")
scInput <- runUMAP(scInput, dimred="PCA")
plotReducedDim(scInput, dimred="UMAP", colour_by="sampleNames")
colData(scInput)$timePoints = factor(colData(scInput)$sampleNames)
levels(colData(scInput)$timePoints) = c("AVC", "MVneo", "MVneo", "MVE16.5")
levels(colData(scInput)$timePoints)
colData(scInput)$timePoints = factor(colData(scInput)$timePoints,levels = c("AVC", "MVE16.5", "MVneo"))
plotReducedDim(scInput, dimred="PCA", ncomponents=6,
colour_by="timePoints")
######## clustering
### Graph based
clusterName = "graph"
g <- buildSNNGraph(scInput, k=10, use.dimred = 'PCA')
clust <- igraph::cluster_walktrap(g)$membership
table(clust)
colLabels(scInput)<- factor(clust)
graph_tempora2 = PlotVarGenesByClustering(clusterName, scInput, npcs=2)
graph_tempora3 = PlotVarGenesByClustering(clusterName, scInput, npcs=3)
graph_tempora4 = PlotVarGenesByClustering(clusterName, scInput, npcs=4)
graph_tempora5 = PlotVarGenesByClustering(clusterName, scInput, npcs=5)
###############
############### k-means
clusterName = "kmeans"
clust.kmeans <- kmeans(reducedDim(scInput, "PCA"), centers=16)
table(clust.kmeans$cluster)
colLabels(scInput) <- factor(clust.kmeans$cluster)
plotReducedDim(scInput, "PCA", colour_by="label")
kmeans_tempora2 = PlotVarGenesByClustering(clusterName, scInput, npcs=2)
kmeans_tempora3 = PlotVarGenesByClustering(clusterName, scInput, npcs=3)
kmeans_tempora4 = PlotVarGenesByClustering(clusterName, scInput, npcs=4)
kmeans_tempora5 = PlotVarGenesByClustering(clusterName, scInput, npcs=5)
###############
### hierachical
clusterName = "hierachical"
dist.sc <- dist(reducedDim(scInput, "PCA"))
tree.sc <- hclust(dist.sc, "ward.D2")
dend <- as.dendrogram(tree.sc, hang=0.1)
library(dendextend)
library(dynamicTreeCut)
clust.sc <- cutreeDynamic(tree.sc, distM=as.matrix(dist.sc),
minClusterSize=10, deepSplit=1)
table(clust.sc)
labels_colors(dend) <- clust.sc[order.dendrogram(dend)]
plot(dend)
colLabels(scInput) <- factor(clust.sc)
plotReducedDim(scInput, "PCA", colour_by="label")
hira_tempora2 = PlotVarGenesByClustering(clusterName, scInput, npcs=2)
hira_tempora3 = PlotVarGenesByClustering(clusterName, scInput, npcs=3)
hira_tempora4 = PlotVarGenesByClustering(clusterName, scInput, npcs=4)
hira_tempora5 = PlotVarGenesByClustering(clusterName, scInput, npcs=5)
###############
# GSVA output
[email protected][grepl("WNT", rownames([email protected])),]
object = kmeans_tempora3
sort(unique([email protected]$Clusters))
############### plot in PCA space
object = kmeans_tempora3
colLabels(scInput) <- factor(clust.kmeans$cluster)
pcaPlot = plotReducedDim(scInput, dimred="PCA",
colour_by="label")
edge_graph <- igraph::graph_from_data_frame(d=object@trajectory, vertices = [email protected], directed = T)
pcaObj = reducedDim(scInput, 'PCA')
layoutPCA =
lapply(levels(colLabels(scInput)) ,
FUN = function(x) colMedians(pcaObj[colLabels(scInput)==x,c("PC1", "PC2")])) %>%
unlist %>%
matrix(ncol=2,byrow = T)
pcaPlot +
ggraph(create_layout(edge_graph, layout = layoutPCA, directed=T)) +
geom_node_point() +
geom_edge_link(arrow = arrow(length = unit(3, 'mm'))) +
theme_classic() +
theme_bw()
################################################
sum(oct4PP %in% colnames(scInput))
# In folder AVC MVE16.5 MV1,2,3 O4: file Puceat_mm;v2;Rds includes all samples:
# for the trajectory please, only use the cells AVC MVE16.5 and MV1 MV2 corresponding to the 3 stages of development ( AVC at E9.5, MVE16.5 mitral valve at E16.5 , MV1 and 2 mitral valve in neonatal mice (MV3 sample had a sequencing problem not to be used; MV1 and MV2 overlap nicely, see UMAP below). The O4 cells should not be taken into account ( I put already in the folder the word files that list the 04P and O4PP cells to remove)