3. Harmony Visualization
DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "cell_line",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.1",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.2",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.3",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.4",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.5",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.6",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.7",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.8",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_0.9",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_1",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "harmony_res_1.2",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "predicted.celltype.l1",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "predicted.celltype.l2",
label = TRUE,
label.box = TRUE)

DimPlot(All_samples_Merged,
reduction = "umap",
group.by = "predicted.celltype.l3",
label = TRUE,
label.box = TRUE)

LS0tCnRpdGxlOiAiRGlmZmVyZW50IFJlc29sdXRpb24gdGVzdCBvbiBoYXJtb255IGludGVncmF0aW9uIG9uIHBhdGllbnQgb3JpZ2luIGFuZCBvcmlnLmlkZW50LXRoZXRhLWF0LTAuNSwwLjVfd2l0aF9hemltdXRoX2Fubm90YXRpb25fYWdhaW4iCmF1dGhvcjogTmFzaXIgTWFobW9vZCBBYmJhc2kKZGF0ZTogImByIFN5cy5EYXRlKClgIgpvdXRwdXQ6CiAgI3JtZGZvcm1hdHM6OnJlYWR0aGVkb3duCiAgaHRtbF9ub3RlYm9vazoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICB0b2NfY29sbGFwc2VkOiB0cnVlCi0tLQoKCiMgMS4gbG9hZCBsaWJyYXJpZXMKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoU2V1cmF0KQpsaWJyYXJ5KFNldXJhdFdyYXBwZXJzKQpsaWJyYXJ5KFNldXJhdE9iamVjdCkKbGlicmFyeShTZXVyYXREYXRhKQpsaWJyYXJ5KHBhdGNod29yaykKbGlicmFyeShoYXJtb255KQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkocmV0aWN1bGF0ZSkKbGlicmFyeShBemltdXRoKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KFJ0c25lKQpsaWJyYXJ5KGhhcm1vbnkpCgoKYGBgCgoKCgojIDIuIExvYWQgU2V1cmF0IE9iamVjdCAKYGBge3IgbG9hZF9zZXVyYXQsIGZpZy5oZWlnaHQ9OCwgZmlnLndpZHRoPTEwfQoKI0xvYWQgU2V1cmF0IE9iamVjdCBtZXJnZWQgZnJvbSBjZWxsIGxpbmVzIGFuZCBhIGNvbnRyb2wgYWZ0ZXIgZmlsdHJhdGlvbgpsb2FkKCIwLXJvYmovQ0Q0X1RfY2VsbHNfSGFybW9ueV9pbnRlZ3JhdGVkXzAuNV9UaGV0YV9QYXRpZW50X29yaWdpbl9hbmRfb3JpZ19pZGVudF9Bbm5vdGF0ZWRfYWdhaW4ucm9iaiIpCgpgYGAKCgojIDMuIEhhcm1vbnkgVmlzdWFsaXphdGlvbgpgYGB7ciBWMSwgZmlnLmhlaWdodD04LCBmaWcud2lkdGg9MTB9CgpEaW1QbG90KEFsbF9zYW1wbGVzX01lcmdlZCwgCiAgICAgICAgICAgICAgcmVkdWN0aW9uID0gInVtYXAiLCAKICAgICAgICAgICAgICBncm91cC5ieSA9ICJjZWxsX2xpbmUiLAogICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgCiAgICAgICAgICAgICAgbGFiZWwuYm94ID0gVFJVRSkgCiAgICAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuMSIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuMiIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuMyIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuNCIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuNSIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuNiIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuNyIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuOCIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzAuOSIsCiAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCAKICAgICAgICAgICAgICBsYWJlbC5ib3ggPSBUUlVFKSAKCkRpbVBsb3QoQWxsX3NhbXBsZXNfTWVyZ2VkLCAKICAgICAgICAgICAgICByZWR1Y3Rpb24gPSAidW1hcCIsIAogICAgICAgICAgICAgIGdyb3VwLmJ5ID0gImhhcm1vbnlfcmVzXzEiLAogICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgCiAgICAgICAgICAgICAgbGFiZWwuYm94ID0gVFJVRSkgCgpEaW1QbG90KEFsbF9zYW1wbGVzX01lcmdlZCwgCiAgICAgICAgICAgICAgcmVkdWN0aW9uID0gInVtYXAiLCAKICAgICAgICAgICAgICBncm91cC5ieSA9ICJoYXJtb255X3Jlc18xLjIiLAogICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgCiAgICAgICAgICAgICAgbGFiZWwuYm94ID0gVFJVRSkgCgpEaW1QbG90KEFsbF9zYW1wbGVzX01lcmdlZCwgCiAgICAgICAgICAgICAgcmVkdWN0aW9uID0gInVtYXAiLCAKICAgICAgICAgICAgICBncm91cC5ieSA9ICJwcmVkaWN0ZWQuY2VsbHR5cGUubDEiLAogICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgCiAgICAgICAgICAgICAgbGFiZWwuYm94ID0gVFJVRSkgCgoKRGltUGxvdChBbGxfc2FtcGxlc19NZXJnZWQsIAogICAgICAgICAgICAgIHJlZHVjdGlvbiA9ICJ1bWFwIiwgCiAgICAgICAgICAgICAgZ3JvdXAuYnkgPSAicHJlZGljdGVkLmNlbGx0eXBlLmwyIiwKICAgICAgICAgICAgICBsYWJlbCA9IFRSVUUsIAogICAgICAgICAgICAgIGxhYmVsLmJveCA9IFRSVUUpIAoKRGltUGxvdChBbGxfc2FtcGxlc19NZXJnZWQsIAogICAgICAgICAgICAgIHJlZHVjdGlvbiA9ICJ1bWFwIiwgCiAgICAgICAgICAgICAgZ3JvdXAuYnkgPSAicHJlZGljdGVkLmNlbGx0eXBlLmwzIiwKICAgICAgICAgICAgICBsYWJlbCA9IFRSVUUsIAogICAgICAgICAgICAgIGxhYmVsLmJveCA9IFRSVUUpIAoKYGBgCgoKCgoKCg==