4. CCA-integration
alldata.anchors <- FindIntegrationAnchors(object.list = alldata.list, dims = 1:12, reduction = "cca", anchor.features = hvgs_all)
Scaling features for provided objects
| | 0 % ~calculating
|+++++++ | 12% ~14s
|+++++++++++++ | 25% ~08s
|+++++++++++++++++++ | 38% ~06s
|+++++++++++++++++++++++++ | 50% ~04s
|++++++++++++++++++++++++++++++++ | 62% ~03s
|++++++++++++++++++++++++++++++++++++++ | 75% ~02s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=07s
Finding all pairwise anchors
| | 0 % ~calculating
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17113 anchors
Filtering anchors
Retained 3118 anchors
|++ | 4 % ~46m 07s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 19554 anchors
Filtering anchors
Retained 5095 anchors
|++++ | 7 % ~41m 52s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15890 anchors
Filtering anchors
Retained 4209 anchors
|++++++ | 11% ~36m 43s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17747 anchors
Filtering anchors
Retained 4554 anchors
|++++++++ | 14% ~35m 41s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 14956 anchors
Filtering anchors
Retained 3331 anchors
|+++++++++ | 18% ~33m 12s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17103 anchors
Filtering anchors
Retained 3771 anchors
|+++++++++++ | 21% ~31m 59s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17975 anchors
Filtering anchors
Retained 4653 anchors
|+++++++++++++ | 25% ~30m 41s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 16089 anchors
Filtering anchors
Retained 2997 anchors
|+++++++++++++++ | 29% ~28m 53s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17970 anchors
Filtering anchors
Retained 3877 anchors
|+++++++++++++++++ | 32% ~26m 49s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 16831 anchors
Filtering anchors
Retained 6117 anchors
|++++++++++++++++++ | 36% ~25m 11s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17334 anchors
Filtering anchors
Retained 4290 anchors
|++++++++++++++++++++ | 39% ~23m 40s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15420 anchors
Filtering anchors
Retained 3835 anchors
|++++++++++++++++++++++ | 43% ~21m 59s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17292 anchors
Filtering anchors
Retained 4349 anchors
|++++++++++++++++++++++++ | 46% ~20m 26s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15498 anchors
Filtering anchors
Retained 4596 anchors
|+++++++++++++++++++++++++ | 50% ~18m 53s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15608 anchors
Filtering anchors
Retained 4407 anchors
|+++++++++++++++++++++++++++ | 54% ~17m 22s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 16580 anchors
Filtering anchors
Retained 4149 anchors
|+++++++++++++++++++++++++++++ | 57% ~16m 01s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 14736 anchors
Filtering anchors
Retained 3523 anchors
|+++++++++++++++++++++++++++++++ | 61% ~14m 34s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 16895 anchors
Filtering anchors
Retained 3997 anchors
|+++++++++++++++++++++++++++++++++ | 64% ~13m 15s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15671 anchors
Filtering anchors
Retained 6043 anchors
|++++++++++++++++++++++++++++++++++ | 68% ~11m 52s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15201 anchors
Filtering anchors
Retained 5980 anchors
|++++++++++++++++++++++++++++++++++++ | 71% ~10m 29s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 14296 anchors
Filtering anchors
Retained 5464 anchors
|++++++++++++++++++++++++++++++++++++++ | 75% ~09m 04s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17293 anchors
Filtering anchors
Retained 621 anchors
|++++++++++++++++++++++++++++++++++++++++ | 79% ~07m 45s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 16014 anchors
Filtering anchors
Retained 898 anchors
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~06m 25s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 17524 anchors
Filtering anchors
Retained 886 anchors
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~05m 08s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15980 anchors
Filtering anchors
Retained 935 anchors
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~03m 50s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15941 anchors
Filtering anchors
Retained 644 anchors
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~02m 33s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15024 anchors
Filtering anchors
Retained 672 anchors
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~01m 16s
Running CCA
Merging objects
Finding neighborhoods
Finding anchors
Found 15691 anchors
Filtering anchors
Retained 714 anchors
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=35m 05s
alldata.int <- IntegrateData(anchorset = alldata.anchors, dims = 1:12, new.assay.name = "CCA")
Merging dataset 7 into 4
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 5 into 4 7
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 3 into 1
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 6 into 4 7 5
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 1 3 into 4 7 5 6
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 2 into 4 7 5 6 1 3
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
Merging dataset 8 into 4 7 5 6 1 3 2
Extracting anchors for merged samples
Finding integration vectors
Finding integration vector weights
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Integrating data
names(alldata.int@assays)
[1] "RNA" "ADT" "CCA"
alldata.int@active.assay
[1] "CCA"
DefaultAssay(alldata.int) <- "CCA"
#Run Dimensionality reduction on integrated space
alldata.int <- ScaleData(alldata.int, verbose = TRUE)
Centering and scaling data matrix
|
| | 0%
|
|================================================ | 50%
|
|=================================================================================================| 100%
alldata.int <- RunPCA(alldata.int, features = hvgs_all, reduction.name = "pca_CCA", do.print = TRUE, pcs.print = 1:5, genes.print = 15, verbose = FALSE)
alldata.int <- RunUMAP(alldata.int, reduction = "pca_CCA", reduction.name = "umap_CCA", dims = 1:12, verbose = FALSE)
Avis : The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
This message will be shown once per session
alldata.int <- RunTSNE(alldata.int, reduction = "pca_CCA",reduction.name = "tsne_CCA",dims = 1:12, verbose = FALSE)
alldata.int <- FindNeighbors(alldata.int, reduction = "pca_CCA", dims = 1:12, verbose = FALSE)
alldata.int <- FindClusters(alldata.int, resolution = 1.2, verbose = FALSE)
wrap_plots(
DimPlot(alldata.int, reduction = "pca_CCA", group.by = "orig.ident")+NoAxes()+ggtitle("PCA integrated"),
DimPlot(alldata.int, reduction = "tsne_CCA", group.by = "orig.ident")+NoAxes()+ggtitle("tSNE integrated"),
DimPlot(alldata.int, reduction = "umap_CCA", group.by = "orig.ident")+NoAxes()+ggtitle("UMAP integrated"),
DimPlot(alldata.int, reduction = "pca_CCA", group.by = "CCA_snn_res.1.2")+NoAxes()+ggtitle("PCA integrated"),
DimPlot(alldata.int, reduction = "tsne_CCA", group.by = "CCA_snn_res.1.2")+NoAxes()+ggtitle("tSNE integrated"),
DimPlot(alldata.int, reduction = "umap_CCA", group.by = "CCA_snn_res.1.2")+NoAxes()+ggtitle("UMAP integrated"),
ncol = 3) + plot_layout(guides = "collect")

LS0tCnRpdGxlOiAiSW50ZWdyYXRpb24gYnkgRGlmZmVyZW50IE1ldGhvZHMtQ0NBIgphdXRob3I6IE5hc2lyIE1haG1vb2QgQWJiYXNpCmRhdGU6ICIyMDI0LTA0LTI2IgpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazogCiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgdG9jX2NvbGxhcHNlZDogdHJ1ZQogICAgdGhlbWU6IGRhcmtseQotLS0KIyAxLiBsb2FkIGxpYnJhcmllcwpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0KbGlicmFyeShTZXVyYXQpCmxpYnJhcnkoU2V1cmF0T2JqZWN0KQpsaWJyYXJ5KFNldXJhdERhdGEpCmxpYnJhcnkocGF0Y2h3b3JrKQpsaWJyYXJ5KGhhcm1vbnkpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShyZXRpY3VsYXRlKQpsaWJyYXJ5KEF6aW11dGgpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoUnRzbmUpCmxpYnJhcnkoaGFybW9ueSkKCmBgYAoKCgoKIyAyLiBMb2FkIFNldXJhdCBPYmplY3QgCmBgYHtyIGxvYWRfc2V1cmF0fQoKI0xvYWQgU2V1cmF0IE9iamVjdCBtZXJnZWQgZnJvbSBjZWxsIGxpbmVzIGFuZCBhIGNvbnRyb2woUEJNQykgYWZ0ZXIgZmlsdHJhdGlvbgpsb2FkKCIuLi81LVNTX1NjUk5BX0RhdGFfQW5hbHlzaXMvNC1TY1NTX015QW5hbHlzaXNfb25fU1MvMi1NYXJpZS1PYmplY3RzLU1lcmdlZC1pbnRvLVNldXJhdC1PYmplY3QvMS1NZXJnZWRfdXNpbmdfbWFyaWVfb2JqL1NTX21lcmdlZF9tYXJpZV9vYmotMi1WYXJpYXRpb24uUm9iaiIpCgpBbGxfc2FtcGxlc19NZXJnZWQKYGBgCiMgMy4gRGF0YSBQUkVQQVJBVElPTgpgYGB7ciBkYXRhLCBmaWcuaGVpZ2h0PTYsIGZpZy53aWR0aD0xMH0KCmFsbGRhdGEgPC0gQWxsX3NhbXBsZXNfTWVyZ2VkCgphbGxkYXRhLmxpc3QgPC0gU3BsaXRPYmplY3QoYWxsZGF0YSwgc3BsaXQuYnkgPSAib3JpZy5pZGVudCIpCgpmb3IgKGkgaW4gMTpsZW5ndGgoYWxsZGF0YS5saXN0KSkgewogICAgYWxsZGF0YS5saXN0W1tpXV0gPC0gTm9ybWFsaXplRGF0YShhbGxkYXRhLmxpc3RbW2ldXSwgdmVyYm9zZSA9IEZBTFNFKQogICAgYWxsZGF0YS5saXN0W1tpXV0gPC0gRmluZFZhcmlhYmxlRmVhdHVyZXMoYWxsZGF0YS5saXN0W1tpXV0sIHNlbGVjdGlvbi5tZXRob2QgPSAidnN0IiwgbmZlYXR1cmVzID0gMjAwMCx2ZXJib3NlID0gRkFMU0UpCn0KCiMgZ2V0IHRoZSB2YXJpYWJsZSBnZW5lcyBmcm9tIGFsbCB0aGUgZGF0YXNldHMuCmh2Z3NfcGVyX2RhdGFzZXQgPC0gbGFwcGx5KGFsbGRhdGEubGlzdCwgZnVuY3Rpb24oeCkgeyB4QGFzc2F5cyRSTkFAdmFyLmZlYXR1cmVzIH0pCgojIGFsc28gYWRkIGluIHRoZSB2YXJpYWJsZSBnZW5lcyB0aGF0IHdhcyBzZWxlY3RlZCBvbiB0aGUgd2hvbGUgZGF0YXNldApodmdzX3Blcl9kYXRhc2V0JGFsbCA9IFZhcmlhYmxlRmVhdHVyZXMoYWxsZGF0YSkKCnRlbXAgPC0gdW5pcXVlKHVubGlzdChodmdzX3Blcl9kYXRhc2V0KSkKb3ZlcmxhcCA8LSBzYXBwbHkoIGh2Z3NfcGVyX2RhdGFzZXQgLCBmdW5jdGlvbih4KSB7IHRlbXAgJWluJSB4IH0gKQpwaGVhdG1hcDo6cGhlYXRtYXAodChvdmVybGFwKjEpLGNsdXN0ZXJfcm93cyA9IEYgLAogICAgICAgICAgICAgICAgICAgY29sb3IgPSBjKCJncmV5OTAiLCJncmV5MjAiKSkKCmh2Z3NfYWxsID0gU2VsZWN0SW50ZWdyYXRpb25GZWF0dXJlcyhhbGxkYXRhLmxpc3QpCmh2Z3NfcGVyX2RhdGFzZXQkYWxsX3JhbmtzID0gaHZnc19hbGwKCnRlbXAgPC0gdW5pcXVlKHVubGlzdChodmdzX3Blcl9kYXRhc2V0KSkKb3ZlcmxhcCA8LSBzYXBwbHkoIGh2Z3NfcGVyX2RhdGFzZXQgLCBmdW5jdGlvbih4KSB7IHRlbXAgJWluJSB4IH0gKQpwaGVhdG1hcDo6cGhlYXRtYXAodChvdmVybGFwKjEpLGNsdXN0ZXJfcm93cyA9IEYgLAogICAgICAgICAgICAgICAgICAgY29sb3IgPSBjKCJncmV5OTAiLCJncmV5MjAiKSkKCgphbGxkYXRhLmxpc3QgPC0gbGFwcGx5KFggPSBhbGxkYXRhLmxpc3QsIEZVTiA9IGZ1bmN0aW9uKHgpIHsKICAgIHggPC0gU2NhbGVEYXRhKHgsIGZlYXR1cmVzID0gaHZnc19hbGwsIHZlcmJvc2UgPSBGQUxTRSkKICAgIHggPC0gUnVuUENBKHgsIGZlYXR1cmVzID0gaHZnc19hbGwsIHZlcmJvc2UgPSBGQUxTRSkKfSkKYGBgCgoKCiMgNC4gQ0NBLWludGVncmF0aW9uCmBgYHtyIGludGVncmF0aW9uLUNDQSwgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9MTB9CgphbGxkYXRhLmFuY2hvcnMgPC0gRmluZEludGVncmF0aW9uQW5jaG9ycyhvYmplY3QubGlzdCA9IGFsbGRhdGEubGlzdCwgZGltcyA9IDE6MTIsIHJlZHVjdGlvbiA9ICJjY2EiLCBhbmNob3IuZmVhdHVyZXMgPSBodmdzX2FsbCkKCmFsbGRhdGEuaW50IDwtIEludGVncmF0ZURhdGEoYW5jaG9yc2V0ID0gYWxsZGF0YS5hbmNob3JzLCBkaW1zID0gMToxMiwgbmV3LmFzc2F5Lm5hbWUgPSAiQ0NBIikKCm5hbWVzKGFsbGRhdGEuaW50QGFzc2F5cykKCmFsbGRhdGEuaW50QGFjdGl2ZS5hc3NheQoKRGVmYXVsdEFzc2F5KGFsbGRhdGEuaW50KSA8LSAiQ0NBIgoKI1J1biBEaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gb24gaW50ZWdyYXRlZCBzcGFjZQphbGxkYXRhLmludCA8LSBTY2FsZURhdGEoYWxsZGF0YS5pbnQsIHZlcmJvc2UgPSBUUlVFKQphbGxkYXRhLmludCA8LSBSdW5QQ0EoYWxsZGF0YS5pbnQsIGZlYXR1cmVzID0gaHZnc19hbGwsIHJlZHVjdGlvbi5uYW1lID0gInBjYV9DQ0EiLCBkby5wcmludCA9IFRSVUUsIHBjcy5wcmludCA9IDE6NSwgZ2VuZXMucHJpbnQgPSAxNSwgdmVyYm9zZSA9IEZBTFNFKQphbGxkYXRhLmludCA8LSBSdW5VTUFQKGFsbGRhdGEuaW50LCByZWR1Y3Rpb24gPSAicGNhX0NDQSIsIHJlZHVjdGlvbi5uYW1lID0gInVtYXBfQ0NBIiwgZGltcyA9IDE6MTIsIHZlcmJvc2UgPSBGQUxTRSkKYWxsZGF0YS5pbnQgPC0gUnVuVFNORShhbGxkYXRhLmludCwgcmVkdWN0aW9uID0gInBjYV9DQ0EiLHJlZHVjdGlvbi5uYW1lID0gInRzbmVfQ0NBIixkaW1zID0gMToxMiwgdmVyYm9zZSA9IEZBTFNFKQphbGxkYXRhLmludCA8LSBGaW5kTmVpZ2hib3JzKGFsbGRhdGEuaW50LCByZWR1Y3Rpb24gPSAicGNhX0NDQSIsIGRpbXMgPSAxOjEyLCB2ZXJib3NlID0gRkFMU0UpCmFsbGRhdGEuaW50IDwtIEZpbmRDbHVzdGVycyhhbGxkYXRhLmludCwgcmVzb2x1dGlvbiA9IDEuMiwgdmVyYm9zZSA9IEZBTFNFKQoKCgp3cmFwX3Bsb3RzKAoKICAgIERpbVBsb3QoYWxsZGF0YS5pbnQsIHJlZHVjdGlvbiA9ICJwY2FfQ0NBIiwgZ3JvdXAuYnkgPSAib3JpZy5pZGVudCIpK05vQXhlcygpK2dndGl0bGUoIlBDQSBpbnRlZ3JhdGVkIiksCiAgICBEaW1QbG90KGFsbGRhdGEuaW50LCByZWR1Y3Rpb24gPSAidHNuZV9DQ0EiLCBncm91cC5ieSA9ICJvcmlnLmlkZW50IikrTm9BeGVzKCkrZ2d0aXRsZSgidFNORSBpbnRlZ3JhdGVkIiksCiAgICBEaW1QbG90KGFsbGRhdGEuaW50LCByZWR1Y3Rpb24gPSAidW1hcF9DQ0EiLCBncm91cC5ieSA9ICJvcmlnLmlkZW50IikrTm9BeGVzKCkrZ2d0aXRsZSgiVU1BUCBpbnRlZ3JhdGVkIiksCgogICAgRGltUGxvdChhbGxkYXRhLmludCwgcmVkdWN0aW9uID0gInBjYV9DQ0EiLCBncm91cC5ieSA9ICJDQ0Ffc25uX3Jlcy4xLjIiKStOb0F4ZXMoKStnZ3RpdGxlKCJQQ0EgaW50ZWdyYXRlZCIpLAogICAgRGltUGxvdChhbGxkYXRhLmludCwgcmVkdWN0aW9uID0gInRzbmVfQ0NBIiwgZ3JvdXAuYnkgPSAiQ0NBX3Nubl9yZXMuMS4yIikrTm9BeGVzKCkrZ2d0aXRsZSgidFNORSBpbnRlZ3JhdGVkIiksCiAgICBEaW1QbG90KGFsbGRhdGEuaW50LCByZWR1Y3Rpb24gPSAidW1hcF9DQ0EiLCBncm91cC5ieSA9ICJDQ0Ffc25uX3Jlcy4xLjIiKStOb0F4ZXMoKStnZ3RpdGxlKCJVTUFQIGludGVncmF0ZWQiKSwKICAgIG5jb2wgPSAzKSArIHBsb3RfbGF5b3V0KGd1aWRlcyA9ICJjb2xsZWN0IikKYGBgCgoKCgoKIyBGZWF0dXJlUGxvdApgYGB7ciBmZWF0dXJlcGxvdCwgZmlnLmhlaWdodD02LCBmaWcud2lkdGg9MTB9CgoKbXlmZWF0dXJlcyA8LSBjKCJDRDNFIiwgIkNENCIsICJDRDhBIiwgIk5LRzciLCAiR05MWSIsICJNUzRBMSIsICJDRDE0IiwgIkxZWiIsICJNUzRBNyIsICJGQ0dSM0EiLCAiQ1NUMyIsICJGQ0VSMUEiKQpGZWF0dXJlUGxvdChhbGxkYXRhLmludCwgcmVkdWN0aW9uID0gInVtYXBfQ0NBIiwgZGltcyA9IDE6MiwgZmVhdHVyZXMgPSBteWZlYXR1cmVzLCBuY29sID0gNCwgb3JkZXIgPSBUKSArIE5vTGVnZW5kKCkgKyBOb0F4ZXMoKSArIE5vR3JpZCgpCgoKYGBgCgojIDUuIFNhdmUgdGhlIFNldXJhdCBvYmplY3QgYXMgYW4gUm9iaiBmaWxlCmBgYHtyIHNhdmVST0JKfQoKI3NhdmUoYWxsZGF0YS5pbnQsIGZpbGUgPSAiSW50ZWdyYXRpb24tYnktZGlmZmVyZW50LU1ldGhvZHMtMS5Sb2JqIikKCgpgYGAKCgoKCg==