1 Gene clustering using COTAN

1.2 Import of markers from Loo et al. paper

Gene present in the 10% of most differentially expressed genes by COTAN

of total genes detected as markers by Loo et al

Number of genes detected:

Removed becouse not detected

Primary markers also used by Loo et al.

Table

1.3 Comparition between Loo et al. markers and COTAN markers

Without secondary markers

specific.genes.table = data.frame("genes"=c(), "COTAN"=c(),"Loo."=c())
tt1 = c()
tt2 = c()
for(layer1 in c("L.I","L.II.III", "L.IV","L.V.VI","PROG")){
    for(layer2 in c("L.I","L.II.IV","L.V.VI","PROG")){
    tt1 = data.frame("genes"= rownames(pca_1[pca_1$hclust %in% groups[[layer1]],])[rownames(pca_1[pca_1$hclust 
                          %in% groups[[layer1]],]) %in% Markers_Loo[[layer2]]])
    if (dim(tt1)[1] > 0) {
                   tt1 = cbind(tt1,  "COTAN"=layer1, "Loo."=layer2)
        }
    tt2 = data.frame("genes"= 
        rownames(pca_1[!pca_1$hclust %in% unlist(groups),])[rownames(pca_1[!pca_1$hclust %in%                   unlist(groups),]) %in% Markers_Loo[[layer2]]])
    if (dim(tt2)[1] > 0) {
        tt2 = cbind(tt2, "COTAN"= "Not Grouped", "Loo."=layer2)
    }
    specific.genes.table = rbind(specific.genes.table,tt1,tt2)
    }
}

specific.genes.table[!(duplicated(specific.genes.table)) , ]
#>            genes       COTAN    Loo.
#> 1           Ndnf         L.I     L.I
#> 2           Reln         L.I     L.I
#> 3           Ebf3         L.I     L.I
#> 4          Trp73         L.I     L.I
#> 5           Lhx1         L.I     L.I
#> 6           Lhx5         L.I     L.I
#> 7            Sla Not Grouped  L.V.VI
#> 8           Pax6 Not Grouped    PROG
#> 9           Dkk3 Not Grouped    PROG
#> 10 9130024F11Rik    L.II.III L.II.IV
#> 11         Satb2    L.II.III L.II.IV
#> 12        Pou3f1    L.II.III L.II.IV
#> 13          Dok5    L.II.III L.II.IV
#> 14        Plxna4    L.II.III  L.V.VI
#> 19         Htra1        L.IV    PROG
#> 22          Sybu      L.V.VI  L.V.VI
#> 23        Nfe2l3      L.V.VI  L.V.VI
#> 24        Hs3st4      L.V.VI  L.V.VI
#> 25        Bcl11b      L.V.VI  L.V.VI
#> 26          Mc4r      L.V.VI  L.V.VI
#> 27          Crym      L.V.VI  L.V.VI
#> 28          Tbr1      L.V.VI  L.V.VI
#> 29         Nxph3      L.V.VI  L.V.VI
#> 30         Fezf2      L.V.VI  L.V.VI
#> 35         Aldoc        PROG    PROG
#> 36         Ednrb        PROG    PROG
#> 37          Hes1        PROG    PROG
#> 38          Hes5        PROG    PROG
#> 39          Gas1        PROG    PROG
#> 40         Cyr61        PROG    PROG
#> 41           Tk1        PROG    PROG
#> 42          Nde1        PROG    PROG
#> 43         Tcf19        PROG    PROG

2 WGCNA

2.1 Test with the 2000 most varied genes

This seems the best option for the analysis with WGCNA.

all.genes <- rownames(E17)
E17 <- ScaleData(E17, features = all.genes)
#> Centering and scaling data matrix
E17 <- RunPCA(E17, features = VariableFeatures(object = E17))
#> PC_ 1 
#> Positive:  Fabp7, Aldoc, Mfge8, Dbi, Ednrb, Vim, Slc1a3, Mt3, Apoe, Ttyh1 
#>     Tnc, Sox2, Atp1a2, Ddah1, Hes5, Sparc, Mlc1, Ppap2b, Rgcc, Bcan 
#>     Ndrg2, Qk, Lxn, Id3, Phgdh, Slc9a3r1, Nr2e1, Aldh1l1, Gpx8, Mt1 
#> Negative:  Tubb3, Stmn2, Neurod6, Stmn4, Map1b, Stmn1, Myt1l, Mef2c, Thra, 4930506M07Rik 
#>     Bcl11a, Gap43, Bhlhe22, Syt4, Cntn2, Nell2, Hs6st2, 9130024F11Rik, Olfm1, Satb2 
#>     Akap9, Ptprd, Rbfox1, Clmp, Ina, Enc1, Camk2b, Dync1i1, Dab1, Atp2b1 
#> PC_ 2 
#> Positive:  Sstr2, Mdk, Meis2, Pou3f2, Eomes, Zbtb20, Unc5d, Sema3c, Fos, Tead2 
#>     Palmd, Mfap4, Nhlh1, Ulk4, H1f0, Uaca, Neurog2, Neurod1, Ezr, Ier2 
#>     Nrn1, Baz2b, Pdzrn3, Btg2, Egr1, Mfap2, Loxl1, H2afv, Hbp1, Nnat 
#> Negative:  Gap43, Sybu, Dync1i1, Meg3, Mef2c, Map1b, Fezf2, Camk2b, Ina, Stmn2 
#>     Cdh13, Thra, Nin, Rac3, Igfbp3, Ssbp2, Neto2, Cd200, Hmgcs1, Tuba1b 
#>     Syt1, Slc6a15, Mapre2, Plk2, Rprm, Atp1b1, Cadm2, Arpp21, Kitl, Ntrk2 
#> PC_ 3 
#> Positive:  Meg3, Smpdl3a, Slc9a3r1, Slc15a2, Timp3, Tmem47, Ndrg2, Apoe, Ttyh1, Fmo1 
#>     Mlc1, Scrg1, Islr2, Malat1, Gstm1, Gja1, Ndnf, Aldh1l1, Mt3, Sparc 
#>     Serpinh1, Paqr7, Asrgl1, Sepp1, S100a1, Atp1b1, Ctsl, Cpe, S100a16, Lhx5 
#> Negative:  Birc5, Top2a, Cenpm, Pbk, Tpx2, Cenpe, Mki67, Cdca8, Gmnn, Cks2 
#>     Ccnb1, Ccnb2, Spc24, Hmgb2, Cenpf, Tk1, Hmmr, Prc1, Kif11, Ccna2 
#>     2810417H13Rik, C330027C09Rik, Cdca2, Ect2, Nusap1, Cenpa, Uhrf1, Plk1, Spc25, Knstrn 
#> PC_ 4 
#> Positive:  Lhx5, Nhlh2, Snhg11, Reln, 1500016L03Rik, Trp73, Cacna2d2, Ndnf, Car10, Lhx1 
#>     Islr2, Pcp4, Meg3, RP24-351J24.2, Rcan2, Pnoc, Mab21l1, Zic1, E330013P04Rik, Emx2 
#>     Malat1, Ebf3, Nr2f2, Zcchc12, Zbtb20, Celf4, Tmem163, Ache, Calb2, Unc5b 
#> Negative:  Ptn, Satb2, 9130024F11Rik, Neurod6, Mef2c, Dab1, Limch1, Hs6st2, Abracl, Dok5 
#>     Gucy1a3, Nell2, Ptprz1, Syt4, Ttc28, Clmp, Macrod2, Fam19a2, Smpdl3a, Ndrg1 
#>     Gstm1, 4930506M07Rik, Paqr7, Aldh1l1, Myt1l, Hmgcs1, Slc15a2, Pdzrn4, Slc9a3r1, Aldoc 
#> PC_ 5 
#> Positive:  Fam210b, Sfrp1, Pax6, Enkur, Tubb3, Tuba1b, Mcm3, Veph1, Stmn1, Eif1b 
#>     Map1b, Hopx, Abracl, Cdk2ap2, Tfap2c, Rps27l, 2810025M15Rik, Slc14a2, Prdx1, Hells 
#>     Gap43, Sept11, Egln3, Gm1840, Ezr, Cpne2, 9130024F11Rik, Nes, Efnb2, Cux1 
#> Negative:  Serpine2, Id1, Olig1, Sparcl1, Igfbp3, Fam212b, Ccnb2, Ppic, Gng12, Ccnb1 
#>     Bcan, Cenpe, Pbk, Id3, Rasl11a, Plk1, Aqp4, Aspm, Hmmr, Slc6a1 
#>     Slc4a4, Malat1, Myo6, Timp3, Meg3, Cdk1, Prrx1, Npy, B2m, Cspg4
DimPlot(E17, reduction = "pca")

No outliner detected

Plot the results:

Tested with 5, 3 and 2 and 4. The best seems 2

2.2 Comparition between Loo et al. markers and WGCNA markers

WGCNA using the 2000 genes most varied by Seurat, detects the following number of markers.

sessionInfo()
#> R version 4.0.4 (2021-02-15)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Ubuntu 18.04.5 LTS
#> 
#> Matrix products: default
#> BLAS:   /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#>  [1] gplots_3.1.1          patchwork_1.1.1       dplyr_1.0.4          
#>  [4] SeuratObject_4.0.0    Seurat_4.0.1          cluster_2.1.1        
#>  [7] WGCNA_1.70-3          fastcluster_1.1.25    dynamicTreeCut_1.63-1
#> [10] dendextend_1.14.0     ggrepel_0.9.1         factoextra_1.0.7     
#> [13] Matrix_1.3-2          data.table_1.14.0     ggplot2_3.3.3        
#> [16] COTAN_0.1.0          
#> 
#> loaded via a namespace (and not attached):
#>   [1] utf8_1.2.1            R.utils_2.10.1        reticulate_1.18      
#>   [4] tidyselect_1.1.0      RSQLite_2.2.3         AnnotationDbi_1.52.0 
#>   [7] htmlwidgets_1.5.3     grid_4.0.4            Rtsne_0.15           
#>  [10] munsell_0.5.0         codetools_0.2-18      ica_1.0-2            
#>  [13] preprocessCore_1.52.1 future_1.21.0         miniUI_0.1.1.1       
#>  [16] withr_2.4.1           colorspace_2.0-0      Biobase_2.50.0       
#>  [19] filelock_1.0.2        highr_0.8             knitr_1.31           
#>  [22] rstudioapi_0.13       stats4_4.0.4          ROCR_1.0-11          
#>  [25] tensor_1.5            ggsignif_0.6.1        listenv_0.8.0        
#>  [28] labeling_0.4.2        polyclip_1.10-0       bit64_4.0.5          
#>  [31] farver_2.1.0          basilisk_1.2.1        parallelly_1.24.0    
#>  [34] vctrs_0.3.6           generics_0.1.0        xfun_0.22            
#>  [37] R6_2.5.0              doParallel_1.0.16     clue_0.3-58          
#>  [40] bitops_1.0-6          spatstat.utils_2.1-0  cachem_1.0.3         
#>  [43] assertthat_0.2.1      promises_1.2.0.1      scales_1.1.1         
#>  [46] nnet_7.3-15           gtable_0.3.0          Cairo_1.5-12.2       
#>  [49] globals_0.14.0        goftest_1.2-2         rlang_0.4.10         
#>  [52] GlobalOptions_0.1.2   splines_4.0.4         rstatix_0.7.0        
#>  [55] lazyeval_0.2.2        impute_1.64.0         spatstat.geom_1.65-5 
#>  [58] broom_0.7.5           checkmate_2.0.0       yaml_2.2.1           
#>  [61] reshape2_1.4.4        abind_1.4-5           backports_1.2.1      
#>  [64] httpuv_1.5.5          Hmisc_4.5-0           tools_4.0.4          
#>  [67] ellipsis_0.3.1        spatstat.core_1.65-5  jquerylib_0.1.3      
#>  [70] RColorBrewer_1.1-2    BiocGenerics_0.36.0   ggridges_0.5.3       
#>  [73] Rcpp_1.0.6            plyr_1.8.6            base64enc_0.1-3      
#>  [76] purrr_0.3.4           basilisk.utils_1.2.2  deldir_0.2-10        
#>  [79] ggpubr_0.4.0          rpart_4.1-15          pbapply_1.4-3        
#>  [82] GetoptLong_1.0.5      viridis_0.5.1         cowplot_1.1.1        
#>  [85] S4Vectors_0.28.1      zoo_1.8-8             haven_2.3.1          
#>  [88] magrittr_2.0.1        scattermore_0.7       openxlsx_4.2.3       
#>  [91] circlize_0.4.12       lmtest_0.9-38         RANN_2.6.1           
#>  [94] fitdistrplus_1.1-3    matrixStats_0.58.0    hms_1.0.0            
#>  [97] mime_0.10             evaluate_0.14         xtable_1.8-4         
#> [100] rio_0.5.16            jpeg_0.1-8.1          readxl_1.3.1         
#> [103] IRanges_2.24.1        gridExtra_2.3         shape_1.4.5          
#> [106] compiler_4.0.4        tibble_3.1.0          KernSmooth_2.23-18   
#> [109] crayon_1.4.0          R.oo_1.24.0           htmltools_0.5.1.1    
#> [112] mgcv_1.8-33           later_1.1.0.1         Formula_1.2-4        
#> [115] tidyr_1.1.2           DBI_1.1.1             ComplexHeatmap_2.6.2 
#> [118] MASS_7.3-53.1         rappdirs_0.3.3        car_3.0-10           
#> [121] R.methodsS3_1.8.1     parallel_4.0.4        igraph_1.2.6         
#> [124] forcats_0.5.1         pkgconfig_2.0.3       foreign_0.8-81       
#> [127] spatstat.sparse_2.0-0 plotly_4.9.3          foreach_1.5.1        
#> [130] bslib_0.2.4           stringr_1.4.0         digest_0.6.27        
#> [133] sctransform_0.3.2     RcppAnnoy_0.0.18      spatstat.data_2.1-0  
#> [136] rmarkdown_2.7         cellranger_1.1.0      leiden_0.3.7         
#> [139] htmlTable_2.1.0       uwot_0.1.10           curl_4.3             
#> [142] gtools_3.8.2          shiny_1.6.0           rjson_0.2.20         
#> [145] nlme_3.1-152          lifecycle_1.0.0       jsonlite_1.7.2       
#> [148] carData_3.0-4         viridisLite_0.3.0     fansi_0.4.2          
#> [151] pillar_1.5.1          lattice_0.20-41       fastmap_1.1.0        
#> [154] httr_1.4.2            survival_3.2-10       GO.db_3.12.1         
#> [157] glue_1.4.2            zip_2.1.1             png_0.1-7            
#> [160] iterators_1.0.13      bit_4.0.4             stringi_1.5.3        
#> [163] sass_0.3.1            blob_1.2.1            caTools_1.18.1       
#> [166] latticeExtra_0.6-29   memoise_2.0.0         irlba_2.3.3          
#> [169] future.apply_1.7.0