Setup knitr and load utility functions
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir="E:/DISC/reproducibility")
utilities_path = "./source/utilities.r"
source(utilities_path)
As of rlang 0.4.0, dplyr must be at least version 0.8.0.
[31mx[39m dplyr 0.7.8 is too old for rlang 0.4.1.
[34mi[39m Please update dplyr to the latest version.
[34mi[39m Updating packages on Windows requires precautions:
<https://github.com/jennybc/what-they-forgot/issues/62>reldist: Relative Distribution Methods
Version 1.6-6 created on 2016-10-07.
copyright (c) 2003, Mark S. Handcock, University of California-Los Angeles
For citation information, type citation("reldist").
Type help(package="reldist") to get started.
Load Data
RETINA original data can be found here. We can directly download the expression matrix here. The cluster assignments for the 44,808 retinal cells in the paper can be found here.
gene_bc_mat = as.matrix(read.csv("./data/RETINA/original_data/GSE63472_P14Retina_merged_digital_expression.txt.gz", sep = "\t", row.names = 1))
save_h5("./data/RETINA/raw.loom", t(gene_bc_mat))
[1] TRUE
cell_type = as.matrix(read.table("./data/RETINA/original_data/retina_clusteridentities.txt", sep = "\t", row.names = 1))[, 1]
cell_type[cell_type == 1] = "Horizontal"
cell_type[cell_type == 2] = "Retinal Ganglion"
cell_type[cell_type %in% seq(3, 23)] = "Amacrine"
cell_type[cell_type == 24] = "Rod"
cell_type[cell_type == 25] = "Cone"
cell_type[cell_type %in% seq(26, 33)] = "Bipolar"
cell_type[cell_type == 34] = "Muller glia"
cell_type[cell_type == 35] = "Astrocytes"
cell_type[cell_type == 36] = "Fibroblasts"
cell_type[cell_type == 37] = "Vascular endothelium"
cell_type[cell_type == 38] = "Pericytes"
cell_type[cell_type == 39] = "Microglia"
saveRDS(cell_type, "./data/RETINA/cell_type.rds")
Reference
Macosko, Evan Z. et al. Highly Parallel Genome-wide Expression Profiling of Individual Cells Using Nanoliter Droplets. Cell 161, 1202-1214 (2015).
LS0tDQp0aXRsZTogIkRhdGEgcHJlcGFyYXRpb24gZm9yIFJFVElOQSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQojIyMgU2V0dXAga25pdHIgYW5kIGxvYWQgdXRpbGl0eSBmdW5jdGlvbnMNCmBgYHtyIHNldHVwfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0Ka25pdHI6Om9wdHNfa25pdCRzZXQocm9vdC5kaXI9IkU6L0RJU0MvcmVwcm9kdWNpYmlsaXR5IikNCmBgYA0KYGBge3J9DQp1dGlsaXRpZXNfcGF0aCA9ICIuL3NvdXJjZS91dGlsaXRpZXMuciINCnNvdXJjZSh1dGlsaXRpZXNfcGF0aCkNCmBgYA0KIyMjIExvYWQgRGF0YQ0KUkVUSU5BIG9yaWdpbmFsIGRhdGEgY2FuIGJlIGZvdW5kIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvZ2VvL3F1ZXJ5L2FjYy5jZ2k/YWNjPUdTRTYzNDcyIj5oZXJlPC9hPi48L2JyPg0KV2UgY2FuIGRpcmVjdGx5IGRvd25sb2FkIHRoZSBleHByZXNzaW9uIG1hdHJpeCA8YSBocmVmPSJodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L2dlby9kb3dubG9hZC8/YWNjPUdTRTYzNDcyJmZvcm1hdD1maWxlJmZpbGU9R1NFNjM0NzIlNUZQMTRSZXRpbmElNUZtZXJnZWQlNUZkaWdpdGFsJTVGZXhwcmVzc2lvbiUyRXR4dCUyRWd6Ij5oZXJlPC9hPi48L2JyPg0KVGhlIGNsdXN0ZXIgYXNzaWdubWVudHMgZm9yIHRoZSA0NCw4MDggcmV0aW5hbCBjZWxscyBpbiA8YSBocmVmPSJodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDkyODY3NDE1MDA1NDk4Ij50aGUgcGFwZXI8L2E+IGNhbiBiZSBmb3VuZCA8YSBocmVmPSJodHRwOi8vbWNjYXJyb2xsbGFiLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wNS9yZXRpbmFfY2x1c3RlcmlkZW50aXRpZXMudHh0Ij5oZXJlPC9hPi4NCmBgYHtyfQ0KZ2VuZV9iY19tYXQgPSBhcy5tYXRyaXgocmVhZC5jc3YoIi4vZGF0YS9SRVRJTkEvb3JpZ2luYWxfZGF0YS9HU0U2MzQ3Ml9QMTRSZXRpbmFfbWVyZ2VkX2RpZ2l0YWxfZXhwcmVzc2lvbi50eHQuZ3oiLCBzZXAgPSAiXHQiLCByb3cubmFtZXMgPSAxKSkNCnNhdmVfaDUoIi4vZGF0YS9SRVRJTkEvcmF3Lmxvb20iLCB0KGdlbmVfYmNfbWF0KSkNCmBgYA0KYGBge3J9DQpjZWxsX3R5cGUgPSBhcy5tYXRyaXgocmVhZC50YWJsZSgiLi9kYXRhL1JFVElOQS9vcmlnaW5hbF9kYXRhL3JldGluYV9jbHVzdGVyaWRlbnRpdGllcy50eHQiLCBzZXAgPSAiXHQiLCByb3cubmFtZXMgPSAxKSlbLCAxXQ0KY2VsbF90eXBlW2NlbGxfdHlwZSA9PSAxXSA9ICJIb3Jpem9udGFsIg0KY2VsbF90eXBlW2NlbGxfdHlwZSA9PSAyXSA9ICJSZXRpbmFsIEdhbmdsaW9uIg0KY2VsbF90eXBlW2NlbGxfdHlwZSAlaW4lIHNlcSgzLCAyMyldID0gIkFtYWNyaW5lIg0KY2VsbF90eXBlW2NlbGxfdHlwZSA9PSAyNF0gPSAiUm9kIg0KY2VsbF90eXBlW2NlbGxfdHlwZSA9PSAyNV0gPSAiQ29uZSINCmNlbGxfdHlwZVtjZWxsX3R5cGUgJWluJSBzZXEoMjYsIDMzKV0gPSAiQmlwb2xhciINCmNlbGxfdHlwZVtjZWxsX3R5cGUgPT0gMzRdID0gIk11bGxlciBnbGlhIg0KY2VsbF90eXBlW2NlbGxfdHlwZSA9PSAzNV0gPSAiQXN0cm9jeXRlcyINCmNlbGxfdHlwZVtjZWxsX3R5cGUgPT0gMzZdID0gIkZpYnJvYmxhc3RzIg0KY2VsbF90eXBlW2NlbGxfdHlwZSA9PSAzN10gPSAiVmFzY3VsYXIgZW5kb3RoZWxpdW0iDQpjZWxsX3R5cGVbY2VsbF90eXBlID09IDM4XSA9ICJQZXJpY3l0ZXMiDQpjZWxsX3R5cGVbY2VsbF90eXBlID09IDM5XSA9ICJNaWNyb2dsaWEiDQpzYXZlUkRTKGNlbGxfdHlwZSwgIi4vZGF0YS9SRVRJTkEvY2VsbF90eXBlLnJkcyIpDQpgYGANCiMjIyBSZWZlcmVuY2UNCk1hY29za28sIEV2YW4gWi4gZXQgYWwuIEhpZ2hseSBQYXJhbGxlbCBHZW5vbWUtd2lkZSBFeHByZXNzaW9uIFByb2ZpbGluZyBvZiBJbmRpdmlkdWFsIENlbGxzIFVzaW5nIE5hbm9saXRlciBEcm9wbGV0cy4gQ2VsbCAxNjEsIDEyMDItMTIxNCAoMjAxNSku