├── .Rbuildignore ├── .gitignore ├── CONTRIBUTION ├── DESCRIPTION ├── LICENSE ├── NAMESPACE ├── R ├── CCA_wrappers.r ├── QC_wrappers.r └── update.r ├── README.md ├── man ├── calculatePatchSeqQCMetrics2.Rd ├── compareClusterCalls.Rd ├── defineClassMarkers.Rd ├── qcPlot.Rd ├── reorder_matrix.Rd ├── summarySE.Rd └── update_patchseqtools.Rd ├── manuscript_data ├── .gitkeep ├── Figure3Supplement4_umapdata.csv ├── Figure3Supplement4_violinsdata.csv ├── Figure4A-heatmapdata-Pvalb-IRES-Cre.csv ├── Figure4A-heatmapdata-Rbp4-Cre_KL100.csv ├── Figure4A-heatmapdata-Sst-IRES-Cre.csv ├── Figure4A-heatmapdata-Vip-IRES-Cre.csv ├── Figure4B-heatmapdata.csv ├── Figure4C-maxmappingprobabilitytosinglecluster.csv ├── Figure4Supplement1-heatmapdata-FACS.csv ├── Figure4Supplement1-heatmapdata-nmsfail.csv ├── Figure4Supplement1-heatmapdata-nmspass.csv ├── Figure5C-scatterdata.csv ├── Patchseq_QC_for_methods_paper.Rmd ├── Patchseq_QC_for_methods_paper.nb.html ├── class_markers.csv ├── class_markers_humanMTG.csv ├── metadata_human.csv └── metadata_mouse.csv └── patchseqtools.Rproj /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^.*\.Rproj$ 2 | ^\.Rproj\.user$ 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .Ruserdata 5 | -------------------------------------------------------------------------------- /CONTRIBUTION: -------------------------------------------------------------------------------- 1 | Allen Institute Contribution Agreement 2 | 3 | This document describes the terms under which you may make “Contributions” — which may include without limitation, software additions, revisions, bug fixes, configuration changes, documentation, or any other materials — to any of the projects owned or managed by the Allen Institute. If you have questions about these terms, please contact us at terms@alleninstitute.org. 4 | 5 | You certify that: 6 | 7 | • Your Contributions are either: 8 | 1. Created in whole or in part by you and you have the right to submit them under the designated license (described below); or 9 | 2. Based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right under that license to submit that work with modifications, whether created in whole or in part by you, under the designated license; or 10 | 3. Provided directly to you by some other person who certified (1) or (2) and you have not modified them. 11 | 12 | • You are granting your Contributions to the Allen Institute under the terms of the 2-Clause BSD license (the “designated license”). 13 | 14 | • You understand and agree that the Allen Institute projects and your Contributions are public and that a record of the Contributions (including all metadata and personal information you submit with them) is maintained indefinitely and may be redistributed consistent with the Allen Institute’s mission and the 2-Clause BSD license. 15 | -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: patchseqtools 2 | Type: Package 3 | Title: QC and Cell Type Mapping for Patch-Seq data 4 | Version: 0.0.1 5 | Author: Jeremy Miller 6 | Maintainer: Jeremy Miller 7 | Description: This repository includes code for QC mapping and cell type assignments. Specific topics include: 8 | 1) Assigning quality scores to each cell (mostly wrapper functions for https://github.com/PavlidisLab/patchSeqQC) 9 | 2) Cell type mapping using tree mapping strategy (to be added later) 10 | 3) Cell type clustering using CCA (mostly wrapper functions for https://satijalab.org/seurat/Seurat_AlignmentTutorial.html) 11 | License: What license is it under? 12 | Encoding: UTF-8 13 | LazyData: true 14 | Imports: 15 | dendextend (>= 1.7.0), 16 | gplots (>= 3.0.1), 17 | pdist (>= 1.2), 18 | matrixStats (>= 0.53.1), 19 | Rtsne (>= 0.13), 20 | ggplot2 (>= 2.2.1) 21 | RoxygenNote: 6.1.0 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The 2-Clause BSD License 2 | Note: This license has also been called the "Simplified BSD License" and the "FreeBSD License". See also the 3-clause BSD License. 3 | 4 | Copyright (c) 2018. Allen Institute. 5 | 6 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 9 | 10 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | -------------------------------------------------------------------------------- /NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(calculatePatchSeqQCMetrics2) 4 | export(compareClusterCalls) 5 | export(defineClassMarkers) 6 | export(qcPlot) 7 | export(reorder_matrix) 8 | export(summarySE) 9 | export(update_patchseqtools) 10 | -------------------------------------------------------------------------------- /R/CCA_wrappers.r: -------------------------------------------------------------------------------- 1 | #' Reorder a matrix 2 | #' 3 | #' This function reorders a matrix by rows of columns 4 | #' 5 | #' @param matrix1 a matrix (rows=genes x columns=samples) of gene expression data 6 | #' (e.g., scRNA-seq) 7 | #' @param by.rows By rows (TRUE; default) or by columns 8 | #' 9 | #' @return a reordered matrix 10 | #' 11 | #' @export 12 | reorder_matrix <- function(matrix1, 13 | by.rows = TRUE) { 14 | if (by.rows == TRUE) { 15 | conf.order <- order(apply(matrix1, 1, which.max)) 16 | matrix1.reordered <- matrix1[conf.order, ] 17 | } else { 18 | conf.order <- order(apply(matrix1, 2, which.max)) 19 | matrix1.reordered <- matrix1[, conf.order] 20 | } 21 | matrix1.reordered 22 | } 23 | 24 | 25 | #' Compare two cluster sets matched to CCA 26 | #' 27 | #' This function takes cluster calls defined in two different data sets and then 28 | #' determines to what extent these cluster calls match up with cluster calls from CCA. 29 | #' 30 | #' @param cl a matrix (rows=genes x columns=samples) of gene expression data 31 | #' (e.g., scRNA-seq) 32 | #' @param by.rows By rows (TRUE; default) or by columns 33 | #' 34 | #' @return a reordered matrix 35 | #' 36 | #' @export 37 | compareClusterCalls <- function(cl, 38 | ref.cl, 39 | cl.anno, 40 | plot.title = NA, plot.silent = TRUE, 41 | heat.colors = colorRampPalette(c("grey99", "orange", "red"))(100), 42 | row.cl.num = min(length(unique(cl)), length(unique(ref.cl)))) { 43 | library(grid) 44 | library(pheatmap) 45 | conf1 <- table(cl, ref.cl) 46 | conf1 <- sweep(conf1, 1, rowSums(conf1), "/") 47 | conf2 <- reorder_matrix(conf1) 48 | 49 | # Cluster co-occurence 50 | cl.prop.cocl <- apply(conf1, 2, function(x) { 51 | grid1 <- expand.grid(x, x) 52 | min.prop <- apply(grid1, 1, min) 53 | }) 54 | cl.prop.cocl.total <- apply(cl.prop.cocl, 1, sum) 55 | cl.prop.cocl.m <- matrix(cl.prop.cocl.total, nrow(conf1), nrow(conf1), 56 | dimnames = list(rownames(conf1), rownames(conf1)) 57 | ) 58 | 59 | ph1 <- pheatmap(conf2, 60 | cutree_rows = row.cl.num, clustering_method = "ward.D2", 61 | annotation_row = cl.anno, color = heat.colors, fontsize = 6, 62 | main = plot.title, silent = plot.silent 63 | ) 64 | list(conf = conf2, cocl = cl.prop.cocl.m, ph = ph1) 65 | } 66 | 67 | 68 | #' Get some summary statistics 69 | #' 70 | #' This does the summary. For each group return a vector with N, mean, and sd. 71 | #' This is called by qcPlot. 72 | #' 73 | #' @param data Annotation data frame 74 | #' @param measurevar what variables to measure 75 | #' @param groupvars what to group by 76 | #' @param na.rm how to treat NA 77 | #' @param conf.interval confidence interval (default = .95) 78 | #' @param .drop drop something? 79 | #' @param roundall should everything be rounded 80 | #' 81 | #' @return a data frame of statistics 82 | #' 83 | #' @export 84 | summarySE <- function(data = NULL, 85 | measurevar, 86 | groupvars = NULL, 87 | na.rm = FALSE, 88 | conf.interval = .95, 89 | .drop = TRUE, 90 | roundall = F) { 91 | require(dplyr) 92 | # 93 | names(data)[names(data) == measurevar] <- "measurevar" 94 | 95 | datac <- data %>% 96 | select(one_of(groupvars, "measurevar")) %>% 97 | filter(ifelse(na.rm == T, !is.na(measurevar), T)) %>% 98 | mutate(measurevar = as.numeric(measurevar)) %>% 99 | group_by_(c(groupvars)) %>% 100 | summarise( 101 | N = n(), 102 | median = median(measurevar), 103 | mean = mean(measurevar), 104 | max = max(measurevar), 105 | sd = ifelse(N == 1, 0, sd(measurevar)), 106 | q25 = as.numeric(quantile(measurevar, 0.25)), 107 | q75 = as.numeric(quantile(measurevar, 0.75)) 108 | ) %>% 109 | mutate(se = sd / sqrt(N)) 110 | # %>% mutate(ci = se * qt(conf.interval/2 + 0.5, N-1)) 111 | 112 | if (roundall) { 113 | roundcols <- c("median", "mean", "max", "sd", "q25", "q75", "se", "ci") 114 | datac[roundcols] <- round(datac[roundcols], 3) 115 | } 116 | # datac <- datac %>% mutate(xpos = 1:n()) 117 | 118 | datac 119 | } 120 | 121 | 122 | #' Make QC plots 123 | #' 124 | #' Makes QC plots 125 | #' 126 | #' @param anno Annotation data frame for patch-seq 127 | #' @param dendcluster_anno what to cluster by 128 | #' @param groupvars what to group by 129 | #' @param scaleLimits scaleLimits 130 | #' @param scaleBreaks scaleBreaks 131 | #' @param scaleLabels scaleLabels 132 | #' @param ylab ylab 133 | #' @param fileName fileName 134 | #' 135 | #' @return the plot is returned 136 | #' 137 | #' @export 138 | qcPlot <- function(anno, 139 | dendcluster_anno, 140 | name, 141 | scaleLimits = c(-5000, 12000), 142 | scaleBreaks = seq(0, 12000, 2000), 143 | scaleLabels = seq(0, 12, 2), 144 | ylab = "value", 145 | fileName = gsub("\\.", "_", gsub("_label", "", name)), 146 | outputFolder) { 147 | 148 | # dendcluster_id is the annotation for cluster ordering based on the current, bootstrapped dendrogram 149 | stats <- summarySE(data = anno, measurevar = name, groupvars = "dendcluster_id") 150 | 151 | genes_plot <- ggplot() + 152 | # geom_quasirandom from the ggbeeswarm package 153 | # makes violin-shaped jittered point plots 154 | geom_quasirandom( 155 | data = anno, 156 | aes( 157 | x = dendcluster_id, 158 | y = eval(parse(text = name)) 159 | ), 160 | color = "skyblue", 161 | # Need to set position_jitter height = 0 to prevent 162 | # jitter on the y-axis, which changes data representation 163 | position = position_jitter(width = .3, height = 0), size = 0.1 164 | ) + 165 | # Errorbars built using stats values 166 | geom_errorbar( 167 | data = stats, 168 | aes(x = dendcluster_id, ymin = q25, ymax = q75), 169 | size = 0.2 170 | ) + 171 | # Median points from stats 172 | geom_point( 173 | data = stats, 174 | aes(x = dendcluster_id, y = median), 175 | color = "red", 176 | size = 0.5 177 | ) + 178 | # Cluster labels as text objects 179 | geom_text( 180 | data = dendcluster_anno, 181 | aes( 182 | x = dendcluster_id, y = 0, label = dendcluster_label, 183 | color = dendcluster_color 184 | ), 185 | angle = 90, 186 | hjust = 2, 187 | vjust = 0.3, 188 | size = 2 * 5 / 6 189 | ) + 190 | scale_color_identity() + 191 | # Expand the y scale so that the labels are visible 192 | scale_y_continuous(ylab, 193 | limits = scaleLimits, 194 | breaks = scaleBreaks, 195 | labels = scaleLabels 196 | ) + 197 | # Remove X-axis title 198 | scale_x_continuous("") + 199 | theme_bw() + 200 | # Theme tuning 201 | theme( 202 | axis.text.x = element_blank(), 203 | axis.ticks = element_blank(), 204 | panel.border = element_blank(), 205 | panel.grid.major.x = element_blank(), 206 | panel.grid.minor.x = element_blank() 207 | ) 208 | 209 | ggsave(paste0(outputFolder, fileName, "_QC.pdf"), genes_plot, width = 8, height = 4, useDingbats = F) 210 | genes_plot 211 | } 212 | -------------------------------------------------------------------------------- /R/QC_wrappers.r: -------------------------------------------------------------------------------- 1 | #' Class markers 2 | #' 3 | #' This function identifies both on and off markers genes for classes for use 4 | #' with patchSeqQC library. 'On markers, are genes that are highly expressed 5 | #' in the cell type of interest with enriched expression relative to other cell 6 | #' types. The second class, Off markers, are expected to be expressed at low levels 7 | #' in a given patch-seq cell type.' Note that these markers are based on a relevant 8 | #' reference data set. 9 | #' 10 | #' @param datRef a matrix (rows=genes x columns=samples) of gene expression data 11 | #' (e.g., scRNA-seq) 12 | #' @param onClasses a character (or factor) vector indicated the on class for each 13 | #' sample in datRef 14 | #' @param offClasses a character (or factor) vector indicated the off class for 15 | #' each sample in datRef 16 | #' @param numMarkers number of markers per class to return (default = 50) 17 | #' 18 | #' @return a 3 x count matrix of the top confused pairs of clusters with the three 19 | #' columns corresponding to mapped cluster, assigned cluster, and fraction of 20 | #' cells incorrectly mapped, respectively. 21 | #' 22 | #' @export 23 | defineClassMarkers <- function(datRef, 24 | onClasses, 25 | offClasses, 26 | numMarkers = 50) { 27 | # Data prep and errors 28 | if (is.null(colnames(datRef))) { 29 | colnames(datRef) <- as.character(1:length(colnames(datRef))) 30 | } 31 | samples <- colnames(datRef) 32 | 33 | if (length(samples) != length(onClasses)) { 34 | return("Error: onClasses is the wrong length.") 35 | } 36 | if (length(samples) != length(offClasses)) { 37 | return("Error: onClasses is the wrong length.") 38 | } 39 | 40 | offClasses <- factor(offClasses) 41 | onClasses <- factor(onClasses) 42 | names(onClasses) <- names(offClasses) <- samples 43 | 44 | # Caclulate proportionsa and medians 45 | propExpr <- do.call("cbind", tapply( 46 | names(onClasses), 47 | onClasses, function(x) rowMeans(datRef[, x] > 1) 48 | )) 49 | propExpr <- propExpr[, levels(onClasses)] 50 | medianExpr <- do.call("cbind", tapply( 51 | names(onClasses), 52 | onClasses, function(x) rowMeans(datRef[, x]) 53 | )) 54 | medianExpr <- log2(medianExpr[, levels(onClasses)] + 1) 55 | rownames(propExpr) <- rownames(medianExpr) <- rownames(datRef) 56 | 57 | propExprC <- do.call("cbind", tapply( 58 | names(offClasses), 59 | offClasses, function(x) rowMeans(datRef[, x] > 1) 60 | )) 61 | propExprC <- propExprC[, levels(offClasses)] 62 | medianExprC <- do.call("cbind", tapply( 63 | names(offClasses), 64 | offClasses, function(x) rowMeans(datRef[, x]) 65 | )) 66 | medianExprC <- log2(medianExprC[, levels(offClasses)] + 1) 67 | rownames(propExprC) <- rownames(medianExprC) <- rownames(datRef) 68 | 69 | # Define and return markers 70 | markers <- list() 71 | 72 | for (cn in colnames(propExpr)) { 73 | a <- (propExpr[, cn] - apply(propExpr[, colnames(propExpr) != cn], 1, mean)) 74 | b <- ((medianExpr[, cn] - rowMeans(medianExpr[, colnames(medianExpr) != cn])) / 75 | (medianExpr[, cn] + 1)) 76 | kp <- a * b * (a > 0) * (b > 0) * propExpr[, cn] * medianExpr[, cn] * 77 | (medianExpr[, cn] >= 5) * (propExpr[, cn] >= 0.5) 78 | markers[[paste0(cn, "_on")]] <- make.names(names(head(-sort(-kp), numMarkers))) 79 | } 80 | 81 | for (cn in colnames(propExprC)) { 82 | a <- (propExprC[, cn] - apply(propExprC[, colnames(propExprC) != cn], 1, max)) 83 | b <- ((medianExprC[, cn] - apply(medianExprC[, colnames(medianExprC) != cn], 1, max)) / 84 | (medianExprC[, cn] + 1)) 85 | kp <- a * b * (a > 0) * (b > 0) * sqrt(medianExprC[, cn]) 86 | markers[[cn]] <- make.names(names(head(-sort(-kp), numMarkers))) 87 | } 88 | 89 | markers 90 | } 91 | 92 | 93 | 94 | #' Calculate PatchSeq QC Metrics 95 | #' 96 | #' This function identifies is the same as calculatePatchSeqQCMetrics from 97 | #' patchSeqQC, except that it allows for any user-inputted comparison data set, 98 | #' and fixes some other errors. Importantly, it outputs the same quality score, 99 | #' marker sum, and contamination score. 100 | #' 101 | #' @param pat_df a matrix (rows=samples x columns=genes + meta-data) of gene expression 102 | #' data and meta-data for patch-seq data (e.g., the data data set for QCing) 103 | #' @param facs_df an equivalent matrix of reference data 104 | #' @param markers a list of marker genes (calculated using defineClassMarkers) 105 | #' 106 | #' @return a table containing all of the qc metrics: 107 | #' sample_id: name of the samples. 108 | #' major_type: cell type identities (provided by Cadwell2016) 109 | #' contam_type: cell type identities (normalized to cell type names in markers) 110 | #' marker_sum: Summed expression of 'On' cell type marker genes (with cell type 111 | #' defined by contam_type) 112 | #' marker_sum_norm: Normalized summed expression of 'on'-type marker genes, 113 | #' normalized to median expression of same cell type in dissociated-cell 114 | #' reference data 115 | #' contam_sum: Contamination score, defined as the sum of normalized expression 116 | #' across all 'off' cell types defined in compare_cell_types_inh 117 | #' quality_score: Quality score, defined as the Spearman correlation of marker 118 | #' expression between markers expressed in single cell with mean expression 119 | #' of markers in dissociated cell reference data 120 | #' This function also outputs normalized expression of each 'off'-cell type 121 | #' (defined in compare_cell_types_inh) and we can use the function 122 | #' plotContamHeatmap to show these (each column is one single cell) 123 | #' 124 | #' @export 125 | calculatePatchSeqQCMetrics2 <- function(pat_df, 126 | facs_df, 127 | markers) { 128 | 129 | # This calculates some comparison matrix between 130 | # each pair of types 131 | facs_df$contam_type <- facs_df$major_type 132 | aibs_contam_all_broad <- calcContamAllTypes(facs_df, markers) 133 | aibs_contam_all_broad$contam_type <- factor(facs_df$contam_type) 134 | aibs_med_exprs_broad <- aibs_contam_all_broad %>% 135 | dplyr::group_by(contam_type) %>% 136 | dplyr::summarize_all(median) %>% 137 | as.data.frame() 138 | rownames(aibs_med_exprs_broad) <- aibs_med_exprs_broad$contam_type 139 | 140 | facs_df$contam_type <- paste0(facs_df$contam_type, "_on") 141 | aibs_contam_all_sub <- calcContamAllTypes(facs_df, markers) 142 | aibs_contam_all_sub$contam_type <- factor(facs_df$contam_type) 143 | aibs_med_exprs_sub <- aibs_contam_all_sub %>% 144 | dplyr::group_by(contam_type) %>% 145 | dplyr::summarize_all(median) %>% 146 | as.data.frame() 147 | rownames(aibs_med_exprs_sub) <- aibs_med_exprs_sub$contam_type 148 | 149 | aibs_med_exprs <- rbind(aibs_med_exprs_broad, aibs_med_exprs_sub) 150 | 151 | 152 | dataset_cell_types <- unique(pat_df$major_type) %>% as.character() 153 | includeTypes <- names(markers)[substr( 154 | names(markers), 155 | nchar(names(markers)) - 2, nchar(names(markers)) 156 | ) != "_on"] 157 | marker_sums <- lapply(dataset_cell_types, function(cell_type) { 158 | curr_marker_type <- pat_df[pat_df$major_type == cell_type, "major_type"][1] %>% as.character() 159 | # curr_marker_type = paste0(curr_marker_type, '_on') 160 | curr_marker_list <- markers[[curr_marker_type]] 161 | cell_inds <- which(pat_df$major_type == curr_marker_type) 162 | df <- pat_df[cell_inds, ] 163 | rownames(df) <- df$sample_id 164 | marker_expr <- sumExpression(df, curr_marker_list) 165 | compare_cell_types <- setdiff(includeTypes, cell_type) 166 | 167 | mks <- markers[c(curr_marker_type, compare_cell_types)] %>% unlist() %>% unique() 168 | compare_expr_profile <- facs_df[facs_df$major_type == cell_type, mks] %>% log2() %>% colMeans() 169 | contam_values <- calcContamAllTypes(df, markers) 170 | contam_values$contam_type <- cell_type 171 | 172 | 173 | expected_expr <- aibs_med_exprs[contam_values$contam_type[1], compare_cell_types] %>% 174 | unlist() # Expression of all cell types in cluster of interest 175 | compare_cell_type_exprs <- aibs_med_exprs[compare_cell_types, compare_cell_types] %>% 176 | as.matrix() %>% 177 | diag() 178 | normalizedContamValues <- apply(contam_values[, compare_cell_types], 1, function(x) 179 | (x - expected_expr) / (compare_cell_type_exprs - expected_expr)) 180 | 181 | contam_sum <- normalizedContamValues %>% repWZero() %>% colSums() 182 | 183 | marker_sum_norm <- normalizeContam( 184 | contam_values, aibs_med_exprs, 185 | c(curr_marker_type, compare_cell_types) 186 | ) 187 | marker_sum_norm_vec <- contam_values[, curr_marker_type] / 188 | aibs_med_exprs[curr_marker_type, curr_marker_type] 189 | 190 | 191 | quality_score <- rbind(compare_expr_profile %>% t() %>% 192 | as.data.frame(), df[, mks] %>% log2()) %>% 193 | t() %>% 194 | cor(method = "spearman") 195 | quality_score <- quality_score[1, -1] 196 | 197 | out_df <- data.frame( 198 | sample_id = rownames(df), 199 | marker_sum = marker_expr, marker_sum_norm = marker_sum_norm_vec, 200 | contam_sum = contam_sum, quality_score = quality_score 201 | ) 202 | out_df <- cbind(out_df, marker_sum_norm %>% t()) 203 | return(out_df) 204 | }) 205 | marker_sums <- dplyr::bind_rows(marker_sums) %>% 206 | dplyr::select(sample_id, dplyr::everything()) 207 | marker_sums <- merge(pat_df %>% dplyr::select(dplyr::one_of( 208 | "sample_id", 209 | "major_type", "contam_type" 210 | )), marker_sums, by = "sample_id") 211 | marker_sum_df <- marker_sums 212 | marker_sum_df <- marker_sum_df[order(match( 213 | marker_sum_df$sample_id, 214 | pat_df$sample_id 215 | )), ] 216 | 217 | marker_sum_df 218 | } 219 | -------------------------------------------------------------------------------- /R/update.r: -------------------------------------------------------------------------------- 1 | #' Update the patchseqtools library 2 | #' 3 | #' @export 4 | update_patchseqtools <- function() { 5 | devtools::install_github("AllenInstitute/patchseqtools", 6 | auth_token = "802976690281f1483c40de46d0a07e9d01a3de08") 7 | } 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Allen Institute Patch-seq documents and tools 2 | Patch-seq is powerful technique that allows for multimodal characterization of individual neurons – electrophysiological, morphological and transcriptomic. At the Allen Institute we have optimized this technique to efficiently collect high-quality data. On this GitHub repo we provide links to the manuscript describing this optimized technique and associated data, a detailed protocol, Allen Institute manuscripts that have utilized this technique, and links to Allen Institute resources and software. In addition, this repo includes an R package of [Patch-seq tools](https://github.com/AllenInstitute/patchseqtools#patch-seq-tools) for quality control and cell typing of Patch-seq cells. 3 | 4 | ## Patch-seq detailed protocol on protocols.io 5 | https://www.protocols.io/view/patch-seq-recording-and-extraction-detailed-protoc-bw6gphbw 6 | 7 | ## Scaled, high fidelity electrophysiological, morphological, and transcriptomic cell characterization 8 | https://elifesciences.org/articles/65482 9 | 10 | ## Multichannel Igor Electrophysiology Suite (MIES) Github repo 11 | https://github.com/AllenInstitute/MIES 12 | 13 | ## Allen Institute Patch-seq papers 14 | Mouse Visual Cortex https://www.sciencedirect.com/science/article/pii/S009286742031254X 15 | 16 | Human L2/3 - https://www.nature.com/articles/s41586-021-03813-8 17 | 18 | ## Allen Institute cell types web products 19 | Morpho-Electric database http://celltypes.brain-map.org/ 20 | 21 | Single-cell RNA-seq database https://portal.brain-map.org/atlases-and-data/rnaseq 22 | 23 | Patch-Seq database of cells in mouse VISp **[is now available on Allen Brain Map](https://knowledge.brain-map.org/data/1HEYEW7GMUKWIQW37BO/specimens)**. 24 | 25 | ## Patch-seq tools 26 | 27 | R functions for gene selection and analysis of Patch-seq data. 28 | 29 | `patchseqtools` includes several functions that are used for quality control and cell typing of Patch-seq cells at the Allen Institute. Many of these functions are wrappers for functions from other libraries (see below) and we enourage proper citation of relevant tools when using those functions. 30 | 31 | **Specific topics include:** 32 | 1. Assigning quality scores to each cell (mostly wrapper functions for https://github.com/PavlidisLab/patchSeqQC) 33 | 2. Cell type clustering using CCA (mostly wrapper functions for https://satijalab.org/seurat/Seurat_AlignmentTutorial.html) 34 | 35 | 36 | ## Installation 37 | 38 | ``` 39 | devtools::install_github("AllenInstitute/patchseqtools") 40 | ``` 41 | 42 | ## Library use cases 43 | 44 | No vignettes currently available. 45 | 46 | ## License 47 | 48 | The license for this package is available on Github at: https://github.com/AllenInstitute/patchseqtools/blob/master/LICENSE 49 | 50 | ## Level of Support 51 | 52 | We are not planning to update the R library component of this repo unless bugs are found. We may make occasional updates to other components of the repository with no fixed schedule. However, we welcome community input through both issues and pull requests. 53 | 54 | ## Contribution Agreement 55 | 56 | If you contribute code to this repository through pull requests or other mechanisms, you are subject to the Allen Institute Contribution Agreement, which is available in full at: https://github.com/AllenInstitute/patchseqtools/blob/master/CONTRIBUTION 57 | 58 | -------------------------------------------------------------------------------- /man/calculatePatchSeqQCMetrics2.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/QC_wrappers.r 3 | \name{calculatePatchSeqQCMetrics2} 4 | \alias{calculatePatchSeqQCMetrics2} 5 | \title{Calculate PatchSeq QC Metrics} 6 | \usage{ 7 | calculatePatchSeqQCMetrics2(pat_df, facs_df, markers) 8 | } 9 | \arguments{ 10 | \item{pat_df}{a matrix (rows=samples x columns=genes + meta-data) of gene expression 11 | data and meta-data for patch-seq data (e.g., the data data set for QCing)} 12 | 13 | \item{facs_df}{an equivalent matrix of reference data} 14 | 15 | \item{markers}{a list of marker genes (calculated using defineClassMarkers)} 16 | } 17 | \value{ 18 | a table containing all of the qc metrics: 19 | sample_id: name of the samples. 20 | major_type: cell type identities (provided by Cadwell2016) 21 | contam_type: cell type identities (normalized to cell type names in markers) 22 | marker_sum: Summed expression of 'On' cell type marker genes (with cell type 23 | defined by contam_type) 24 | marker_sum_norm: Normalized summed expression of 'on'-type marker genes, 25 | normalized to median expression of same cell type in dissociated-cell 26 | reference data 27 | contam_sum: Contamination score, defined as the sum of normalized expression 28 | across all 'off' cell types defined in compare_cell_types_inh 29 | quality_score: Quality score, defined as the Spearman correlation of marker 30 | expression between markers expressed in single cell with mean expression 31 | of markers in dissociated cell reference data 32 | This function also outputs normalized expression of each 'off'-cell type 33 | (defined in compare_cell_types_inh) and we can use the function 34 | plotContamHeatmap to show these (each column is one single cell) 35 | } 36 | \description{ 37 | This function identifies is the same as calculatePatchSeqQCMetrics from 38 | patchSeqQC, except that it allows for any user-inputted comparison data set, 39 | and fixes some other errors. Importantly, it outputs the same quality score, 40 | marker sum, and contamination score. 41 | } 42 | -------------------------------------------------------------------------------- /man/compareClusterCalls.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/CCA_wrappers.r 3 | \name{compareClusterCalls} 4 | \alias{compareClusterCalls} 5 | \title{Compare two cluster sets matched to CCA} 6 | \usage{ 7 | compareClusterCalls(cl, ref.cl, cl.anno, plot.title = NA, 8 | plot.silent = TRUE, heat.colors = colorRampPalette(c("grey99", 9 | "orange", "red"))(100), row.cl.num = min(length(unique(cl)), 10 | length(unique(ref.cl)))) 11 | } 12 | \arguments{ 13 | \item{cl}{a matrix (rows=genes x columns=samples) of gene expression data 14 | (e.g., scRNA-seq)} 15 | 16 | \item{by.rows}{By rows (TRUE; default) or by columns} 17 | } 18 | \value{ 19 | a reordered matrix 20 | } 21 | \description{ 22 | This function takes cluster calls defined in two different data sets and then 23 | determines to what extent these cluster calls match up with cluster calls from CCA. 24 | } 25 | -------------------------------------------------------------------------------- /man/defineClassMarkers.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/QC_wrappers.r 3 | \name{defineClassMarkers} 4 | \alias{defineClassMarkers} 5 | \title{Class markers} 6 | \usage{ 7 | defineClassMarkers(datRef, onClasses, offClasses, numMarkers = 50) 8 | } 9 | \arguments{ 10 | \item{datRef}{a matrix (rows=genes x columns=samples) of gene expression data 11 | (e.g., scRNA-seq)} 12 | 13 | \item{onClasses}{a character (or factor) vector indicated the on class for each 14 | sample in datRef} 15 | 16 | \item{offClasses}{a character (or factor) vector indicated the off class for 17 | each sample in datRef} 18 | 19 | \item{numMarkers}{number of markers per class to return (default = 50)} 20 | } 21 | \value{ 22 | a 3 x count matrix of the top confused pairs of clusters with the three 23 | columns corresponding to mapped cluster, assigned cluster, and fraction of 24 | cells incorrectly mapped, respectively. 25 | } 26 | \description{ 27 | This function identifies both on and off markers genes for classes for use 28 | with patchSeqQC library. 'On markers, are genes that are highly expressed 29 | in the cell type of interest with enriched expression relative to other cell 30 | types. The second class, Off markers, are expected to be expressed at low levels 31 | in a given patch-seq cell type.' Note that these markers are based on a relevant 32 | reference data set. 33 | } 34 | -------------------------------------------------------------------------------- /man/qcPlot.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/CCA_wrappers.r 3 | \name{qcPlot} 4 | \alias{qcPlot} 5 | \title{Make QC plots} 6 | \usage{ 7 | qcPlot(anno, dendcluster_anno, name, scaleLimits = c(-5000, 12000), 8 | scaleBreaks = seq(0, 12000, 2000), scaleLabels = seq(0, 12, 2), 9 | ylab = "value", fileName = gsub("\\\\.", "_", gsub("_label", "", 10 | name)), outputFolder) 11 | } 12 | \arguments{ 13 | \item{anno}{Annotation data frame for patch-seq} 14 | 15 | \item{dendcluster_anno}{what to cluster by} 16 | 17 | \item{scaleLimits}{scaleLimits} 18 | 19 | \item{scaleBreaks}{scaleBreaks} 20 | 21 | \item{scaleLabels}{scaleLabels} 22 | 23 | \item{ylab}{ylab} 24 | 25 | \item{fileName}{fileName} 26 | 27 | \item{groupvars}{what to group by} 28 | } 29 | \value{ 30 | the plot is returned 31 | } 32 | \description{ 33 | Makes QC plots 34 | } 35 | -------------------------------------------------------------------------------- /man/reorder_matrix.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/CCA_wrappers.r 3 | \name{reorder_matrix} 4 | \alias{reorder_matrix} 5 | \title{Reorder a matrix} 6 | \usage{ 7 | reorder_matrix(matrix1, by.rows = TRUE) 8 | } 9 | \arguments{ 10 | \item{matrix1}{a matrix (rows=genes x columns=samples) of gene expression data 11 | (e.g., scRNA-seq)} 12 | 13 | \item{by.rows}{By rows (TRUE; default) or by columns} 14 | } 15 | \value{ 16 | a reordered matrix 17 | } 18 | \description{ 19 | This function reorders a matrix by rows of columns 20 | } 21 | -------------------------------------------------------------------------------- /man/summarySE.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/CCA_wrappers.r 3 | \name{summarySE} 4 | \alias{summarySE} 5 | \title{Get some summary statistics} 6 | \usage{ 7 | summarySE(data = NULL, measurevar, groupvars = NULL, na.rm = FALSE, 8 | conf.interval = 0.95, .drop = TRUE, roundall = F) 9 | } 10 | \arguments{ 11 | \item{data}{Annotation data frame} 12 | 13 | \item{measurevar}{what variables to measure} 14 | 15 | \item{groupvars}{what to group by} 16 | 17 | \item{na.rm}{how to treat NA} 18 | 19 | \item{conf.interval}{confidence interval (default = .95)} 20 | 21 | \item{.drop}{drop something?} 22 | 23 | \item{roundall}{should everything be rounded} 24 | } 25 | \value{ 26 | a data frame of statistics 27 | } 28 | \description{ 29 | This does the summary. For each group return a vector with N, mean, and sd. 30 | This is called by qcPlot. 31 | } 32 | -------------------------------------------------------------------------------- /man/update_patchseqtools.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/update.r 3 | \name{update_patchseqtools} 4 | \alias{update_patchseqtools} 5 | \title{Update the patchseqtools library} 6 | \usage{ 7 | update_patchseqtools() 8 | } 9 | \description{ 10 | Update the patchseqtools library 11 | } 12 | -------------------------------------------------------------------------------- /manuscript_data/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /manuscript_data/Figure4A-heatmapdata-Pvalb-IRES-Cre.csv: -------------------------------------------------------------------------------- 1 | normalized_marker_sum_bin,Pvalb,Nxph1,Tac1,Nek7,Cox6a2,Gabrd,Sst,Vip,Slc17a7,Sv2b,Lingo1,BC048546 2 | 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 3 | 0.1,1.9599729327101667,0.0,0.0,4.187149788682054,1.8593477182173572,1.4546658084398374,0.0,0.0,1.049154152550105,0.8760799124787222,0.0,0.0 4 | 0.2,3.819009491443431,2.493780145314223,0.4621335500911748,5.446995630310775,1.5794906599980816,0.6389146795868962,0.6661570620493132,0.0,1.0587485339037879,0.5795635882123782,0.44618561697959336,0.10097369003042565 5 | 0.3,5.731857546202594,2.7955651213772477,0.6351434152745562,5.288133403449641,2.0786749444463326,1.9163504465581032,0.9107207592231675,0.09135981898839318,2.2661186081788873,1.0346143534714631,1.0594729097864042,1.0967952233872733 6 | 0.4,7.034476387386865,4.726434355805437,1.1461760961704546,5.750187612604459,3.061769487493798,3.5317620805587078,0.3548514234329889,0.07373112987847782,3.3116884868543757,1.1233276128993779,0.9843981470793406,0.05335721631391096 7 | 0.5000000000000001,8.1215589638998,5.533707555432631,1.950481543205635,6.987500304978182,3.3280885303861516,4.940099433054543,0.7007855826142319,0.0,2.512753631687305,0.8840490330837201,0.720471637966513,1.1984008623949474 8 | 0.6000000000000001,6.754410920647349,8.872459119884239,1.5224112530710308,6.679053358334267,3.8883812508224223,6.784952867420742,0.5269909973122892,0.0,2.5649088820201493,1.8075105157101368,0.7066808396999119,0.5603823548294778 9 | 0.7000000000000001,7.282276775316001,9.426465001698727,1.8125672170205547,7.425348888272647,4.155933162750294,6.2989562425578765,0.6388256770838152,0.13478249354539085,2.08921073224177,0.5335198487601939,0.9424886504630251,0.7263455476941717 10 | 0.8,7.189553398910829,9.786777978590893,1.8878950141782327,7.886450111184911,4.544568834100678,7.333373308285166,0.5049818251059129,0.09831109366840488,1.759588190181816,0.5102324506900212,1.1159333086420582,0.558932129375197 11 | 0.9,7.271741775803384,9.96598118818889,3.6068953559651273,8.168974751993153,4.902662407887935,7.437741416357308,0.5552342395198864,0.08000824236062581,1.5416487606331517,0.8437325508466031,1.3848029761854586,0.6428381818870167 12 | 1.0,7.058583306300251,10.167978561393069,4.70603426502889,8.120891575542512,4.702424566758645,7.308585510719102,0.8844242554541458,0.0810526694465262,1.3950896622693854,0.7040828665450051,1.5935806395223575,0.7745832147190211 13 | 1.1,6.397504953159517,9.724375078319735,5.709648247649457,7.759391724892146,4.464115705347296,7.251242557011619,1.4642719073032,0.0,1.9655521563300213,0.8813855352217931,2.191366666224285,0.6518421094024016 14 | 1.2,5.814765472809948,10.833215133315614,0.0,6.187350226170399,6.410041740969352,7.363290540701638,0.0,0.0,1.6832632847301592,4.307286618354702,0.0,2.932553851568417 15 | -------------------------------------------------------------------------------- /manuscript_data/Figure4A-heatmapdata-Rbp4-Cre_KL100.csv: -------------------------------------------------------------------------------- 1 | normalized_marker_sum_bin,Slc17a7,Nrn1,Neurod6,Sv2b,Lingo1,BC048546,Gad1,Gad2,Rab3b,Slc6a1,Synpr,Zcchc12 2 | 0.1,1.6873084477967737,1.1546663556133696,0.0,0.0,0.0,0.3234241528806387,0.0,0.0,1.682001904172952,1.5321458847738523,0.26686463489191425,0.0 3 | 0.2,4.948721521451131,0.74715894808513,0.8495952656189016,0.5923598929303602,0.9211266391398384,0.8338332588653932,1.9878865881882164,0.6364199417860428,0.6165379835032108,1.4624952940157303,0.2825416525789718,0.13633084470904594 4 | 0.3,6.0614229282336485,1.6861111247838565,2.275501243140652,2.2402591754638363,2.8421742886015213,0.8972792959224425,0.8865140800852936,1.0508433088328522,0.8909834426245616,1.901309767784125,0.6805737072365075,0.33654362843161734 5 | 0.4,5.5816354046541665,3.373523729867951,2.257758889228201,2.6491130441840474,3.652649037979586,0.9748864642725139,0.5815420451369803,0.6645645677117066,1.9006847549838222,2.0713277883756605,0.8774020820487398,0.37582446084082605 6 | 0.5000000000000001,8.083785129478247,3.9166612588283725,1.1312084904985467,4.994575563730399,2.861651007064874,2.496084465234669,0.0,0.6821484421913996,3.3491856130597264,1.561975526041126,1.0708626812292708,2.5474853913618376 7 | 0.6000000000000001,7.810267838848535,2.7633446681871514,2.1419897076204446,6.68801040020301,4.669662313492162,1.579868197194655,0.5752007473884886,0.1492791121825827,2.2154705377771657,1.1666362170492401,2.3938140745162673,0.9820925483415816 8 | 0.7000000000000001,7.782719890437881,4.744577967827017,1.1788810593980799,7.604462649502104,5.848635673379613,0.8797780987512164,0.3369904777859305,0.34385940754035466,3.41064951656006,1.8623348657131302,1.6269768708028705,0.03776593500720839 9 | 0.8,7.93176812773844,4.680947782709219,1.4641569040929678,8.181540761945428,6.564428614249546,1.899548402814573,0.41926607762541684,0.37977440832052467,3.0292027625415816,1.2539586448192452,1.5644017241095283,0.6327436692787672 10 | 0.9,8.136566215116147,5.367607726881208,2.7952661844964832,8.614733012870218,6.939681548678268,2.1753148963007796,0.2138253556572632,0.2941299868106293,2.95264024362959,1.2889033982502796,1.7175703816082,0.20826465106252348 11 | 1.0,8.746446061177863,7.066351278278913,4.765236372162419,8.898385268240089,7.399891607187383,3.349450964782097,0.4548708529025218,0.19163890797611907,3.470269362482241,1.115520536946506,1.5507364653929936,0.20375679141734387 12 | 1.1,8.877570666459587,7.731727210687251,6.325211412922554,8.957944419056641,7.7224287822641315,2.8530496652922577,0.09711428479286072,0.2348670050526339,3.2652059186161124,0.4739616192451586,1.2213335232961398,0.15855937437827877 13 | 1.2,8.651432009396817,8.094451739864883,6.435768385470057,9.191974397614025,8.607945196926728,5.357184131328658,0.0,0.0,0.0,1.218162424916328,0.0,0.0 14 | -------------------------------------------------------------------------------- /manuscript_data/Figure4A-heatmapdata-Sst-IRES-Cre.csv: -------------------------------------------------------------------------------- 1 | normalized_marker_sum_bin,Sst,Npy,Calb1,Crhbp,Lypd6,Cort,Pvalb,Vip,Slc17a7,Sv2b,Lingo1,BC048546 2 | 0.1,6.044780062465126,0.5372696299523558,0.8067096006243126,0.6619011305280471,1.4701484710990138,0.47581568107336203,0.0,0.0,2.2058434022851956,0.759429241171343,0.15490126957349085,0.151980251747649 3 | 0.2,6.578701247192426,3.247523773564761,0.7267132432204693,0.9137378654663287,1.2728303459129475,0.6125645803565956,1.240354127552985,0.0,2.1003666066442523,0.4409763907702806,0.49812302450257057,0.1306480864423325 4 | 0.3,7.541260115010905,5.00949168198176,2.6994205153335433,2.292870789408223,2.1047307736690786,2.2157394205379193,2.2261310914785626,0.18765071458119992,3.019982880063822,0.8921526920573777,0.9014920004651937,0.39772062317767837 5 | 0.4,8.924318062982152,7.688413074259677,3.5733365275732707,3.6601928383117803,1.2904301404844027,2.985296795738841,1.8327652470259401,0.11955749628073317,1.814998360725829,0.9782922994901849,1.2610596400507184,0.40935143348539094 6 | 0.5000000000000001,9.344696843697392,7.208261838112483,5.0452435540463405,2.778761913005108,2.183165857790199,3.719018633265532,1.012522273036338,0.05890960188412915,2.716824775741815,1.3002577768715697,1.585372007671903,0.47553951689413576 7 | 0.6000000000000001,9.251029322729222,6.993788810132173,5.008935081695671,4.432475933011846,3.8361887307576317,3.82444379828367,1.201236773508943,0.14791192547756812,1.9410828528619293,1.637005579268487,2.3510750657440034,1.13195494740772 8 | 0.7000000000000001,9.703716774880846,6.803465935264715,4.813611854421235,4.76068786562767,3.8589062173958917,3.221908651857717,1.9357649104636103,0.09381194488849078,1.9398289798747819,1.2003025161362668,2.3884179518982798,1.013475919066947 9 | 0.8,9.679616872050065,6.62735989431472,4.8234173073157365,4.638422548123828,4.516747586245122,2.89738344943078,0.9948402476892447,0.02519812928802617,1.84019346099933,1.109221322790812,2.5744771583707284,0.6830463429703082 10 | 0.9,9.747735913902435,7.682478635790918,5.657173673124296,5.888743978517796,4.379503461508302,4.129949738600543,1.249388123992181,0.07125464313786667,1.4803931362757337,0.9230451705580835,2.941411813907132,0.5764913559414618 11 | 1.0,10.247851162655248,9.437299749182655,7.027987856035489,7.410428277135314,5.149275834117444,5.636764758760778,1.9418874441022624,0.02495723242289404,1.2611334788922004,0.6214254193504962,3.1568093046354093,0.7465611739727451 12 | 1.1,10.54720736901183,10.546170271555265,7.752897356499842,7.967601259164723,6.195267460990541,7.330564551424278,1.7780252452900056,0.08053769444616181,1.344252202431575,0.58856056686057,3.0341460487970724,0.40551262066209154 13 | 1.2,11.517847185741807,11.427221266223007,8.795366668487347,8.90501100738224,8.185736286910565,7.917576127022736,2.225538893400247,0.0,1.5046772248196756,0.4535703629384796,4.787955926118572,0.7951909988689135 14 | -------------------------------------------------------------------------------- /manuscript_data/Figure4A-heatmapdata-Vip-IRES-Cre.csv: -------------------------------------------------------------------------------- 1 | normalized_marker_sum_bin,Vip,Adarb2,Crh,Penk,Calb2,Cxcl14,Sst,Pvalb,Slc17a7,Sv2b,Lingo1,BC048546 2 | 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 3 | 0.1,1.031382375376471,0.0,0.0,0.0,4.683605049363784,7.407916139523817,2.45737485892585,0.0,0.0,0.0,0.0,0.0 4 | 0.2,4.580823464394811,1.8675651928657224,1.5626660058205775,3.113290376270002,4.061692171478815,4.640815711224896,0.0,0.6248116423780334,0.938275219860445,0.9884971115236488,1.5828157788379955,0.1399434957778763 5 | 0.3,7.914961821283182,2.6054127340222757,1.400167461905187,2.7097912016275827,5.533452644352585,3.055378380706872,0.7991909972894052,0.631709704773982,2.443229163464163,1.5037564597273363,0.6594472742987579,0.7591034357988509 6 | 0.4,10.203785990710779,6.382940197541186,3.822857316263114,5.785283786380433,3.9845892023468052,5.827864461796923,0.5310540548420625,1.1315152949692324,1.6206206140971406,0.8764790972717148,0.8279390636031656,0.6759605495789903 7 | 0.5000000000000001,10.42705281136551,6.656227527502152,2.6242503824979826,4.343077603448553,4.432629922731127,5.777687422318299,0.6137812892312139,0.7887252394780312,3.510463535299229,1.4662513143249158,1.4638877129493124,0.061389401697505876 8 | 0.6000000000000001,10.369932118420119,7.831965274699012,3.357491573230184,5.464776589800469,4.936330770574612,5.452654769786337,0.7441742405070185,1.1648503866433726,2.854679765562583,1.0520383191291158,1.9206139953695787,0.8660145288861506 9 | 0.7000000000000001,10.383791928434569,8.441213084865995,4.484186900084448,6.160701200905165,5.076998905821551,6.063459952361544,0.7119762527578763,0.8176650716973703,2.491291512898042,1.8567269735212426,3.2480110634872754,2.6709114508104053 10 | 0.8,11.215292338103671,9.985370964555427,4.727680142930545,6.898891900778577,6.8012675066830734,5.099759803061949,0.5404473436588404,1.2807448211548949,1.8672409194745845,1.5467384312580092,1.6647186840218848,0.29318248600767516 11 | 0.9,10.29687952100881,11.090608959026634,3.26311222940879,7.489407341069093,6.148978813516246,3.3652375261583543,0.40962916016961526,0.612538027187622,1.7238244699295098,1.2597219007760068,3.0093563457786914,1.1494446249142976 12 | 1.0,11.416622474091865,11.753933569299594,3.845271209116188,8.169983536516897,4.883490530196499,4.4042130106666715,0.5177747006920894,0.8617112253631335,2.182976424705983,1.0902655720824477,3.054512421745736,0.6490289688728459 13 | 1.1,11.883058437113894,12.24187803197831,6.870254659550853,7.3502321302272,5.056722511712392,5.662490008758193,0.2801808975738832,1.0448981543733644,1.823020083431984,0.7685863430525616,3.212408936894047,1.0734600048757652 14 | 1.2,12.114235675145514,12.86814451542082,7.405315831116192,7.511108070657808,5.371644388737727,6.292531402757807,0.36400300347504577,0.6142676580698997,1.6689137314577935,0.8601850478911981,2.15435781900804,0.39207145040799435 15 | -------------------------------------------------------------------------------- /manuscript_data/Figure4B-heatmapdata.csv: -------------------------------------------------------------------------------- 1 | "","Pvalb","Sst","Vip" 2 | "0",0.333333333333333,0.5,0.25 3 | "0.1",0.538461538461538,0.633333333333333,0.619047619047619 4 | "0.2",0.583333333333333,0.791666666666667,0.84 5 | "0.3",0.7,0.826086956521739,0.782608695652174 6 | "0.4",0.85,0.738095238095238,0.625 7 | "0.5",0.928571428571429,0.9,0.875 8 | "0.6",1,0.787234042553192,0.821428571428571 9 | "0.7",1,0.937062937062937,0.944444444444444 10 | "0.8",0.971428571428571,0.930091185410334,0.890625 11 | "0.9",0.946564885496183,0.928947368421053,0.947916666666667 12 | "1",0.818181818181818,0.925925925925926,0.925233644859813 13 | "1.1",0.714285714285714,0.871794871794872,0.978260869565217 14 | "1.2",NA,1,0.924528301886792 15 | "1.3",NA,NA,0.642857142857143 16 | "1.4",NA,NA,0.2 17 | -------------------------------------------------------------------------------- /manuscript_data/Figure5C-scatterdata.csv: -------------------------------------------------------------------------------- 1 | transgenic_line,Pvalb-IRES-Cre,Pvalb-IRES-Cre,Rbp4-Cre_KL100,Rbp4-Cre_KL100,Sst-IRES-Cre,Sst-IRES-Cre,Vip-IRES-Cre,Vip-IRES-Cre 2 | post_patch,nucleus+,nucleus-,nucleus+,nucleus-,nucleus+,nucleus-,nucleus+,nucleus- 3 | 1700001L19Rik,0.12371134020618557,0.09090909090909091,0.34523809523809523,0.2894736842105263,0.29533678756476683,0.15267175572519084,0.19607843137254902,0.17894736842105263 4 | 1700047M11Rik,0.010309278350515464,0.01818181818181818,0.05952380952380952,0.02631578947368421,0.04404145077720207,0.022900763358778626,0.014705882352941176,0.042105263157894736 5 | 1700086L19Rik,0.8762886597938144,0.3090909090909091,0.8095238095238095,0.39473684210526316,0.8911917098445595,0.4732824427480916,0.35294117647058826,0.22105263157894736 6 | 2810468N07Rik,0.1134020618556701,0.12727272727272726,0.23809523809523808,0.23684210526315788,0.18393782383419688,0.21374045801526717,0.22058823529411764,0.11578947368421053 7 | 3110035E14Rik,0.31958762886597936,0.4,0.8809523809523809,0.5526315789473685,0.38860103626943004,0.37404580152671757,0.3333333333333333,0.42105263157894735 8 | 4632428N05Rik,0.1134020618556701,0.12727272727272726,0.11904761904761904,0.23684210526315788,0.21243523316062177,0.17557251908396945,0.15196078431372548,0.17894736842105263 9 | A330050F15Rik,0.7422680412371134,0.3090909090909091,0.14285714285714285,0.21052631578947367,0.5077720207253886,0.3282442748091603,0.3480392156862745,0.29473684210526313 10 | A530058N18Rik,0.7628865979381443,0.2909090909090909,0.03571428571428571,0.05263157894736842,0.6321243523316062,0.2900763358778626,0.6372549019607843,0.3263157894736842 11 | A830009L08Rik,0.08247422680412371,0.09090909090909091,0.32142857142857145,0.18421052631578946,0.07512953367875648,0.06870229007633588,0.09803921568627451,0.09473684210526316 12 | AF251705,0.17525773195876287,0.05454545454545454,0.13095238095238096,0.21052631578947367,0.21243523316062177,0.183206106870229,0.16666666666666666,0.17894736842105263 13 | Acsbg1,0.6288659793814433,0.7272727272727273,0.6309523809523809,0.6052631578947368,0.5958549222797928,0.6183206106870229,0.5490196078431373,0.5894736842105263 14 | Adarb2,0.41237113402061853,0.36363636363636365,0.4880952380952381,0.39473684210526316,0.3860103626943005,0.3282442748091603,0.9656862745098039,0.8105263157894737 15 | Adcyap1,0.030927835051546393,0.03636363636363636,0.5119047619047619,0.23684210526315788,0.04922279792746114,0.030534351145038167,0.0392156862745098,0.08421052631578947 16 | Adora1,0.422680412371134,0.34545454545454546,0.6309523809523809,0.5263157894736842,0.4792746113989637,0.44274809160305345,0.24509803921568626,0.2736842105263158 17 | Adra1b,0.16494845360824742,0.12727272727272726,0.21428571428571427,0.18421052631578946,0.24352331606217617,0.183206106870229,0.7058823529411765,0.49473684210526314 18 | Aif1,0.422680412371134,0.45454545454545453,0.38095238095238093,0.5263157894736842,0.4948186528497409,0.4732824427480916,0.4166666666666667,0.43157894736842106 19 | Ak4,0.15463917525773196,0.21818181818181817,0.30952380952380953,0.2631578947368421,0.17875647668393782,0.16793893129770993,0.16666666666666666,0.17894736842105263 20 | Ak5,0.6288659793814433,0.38181818181818183,0.7023809523809523,0.39473684210526316,0.7849740932642487,0.48091603053435117,0.35784313725490197,0.3263157894736842 21 | Aldh1b1,0.12371134020618557,0.16363636363636364,0.08333333333333333,0.13157894736842105,0.07512953367875648,0.1297709923664122,0.06862745098039216,0.031578947368421054 22 | Aldoc,0.9587628865979382,0.9454545454545454,0.9047619047619048,0.868421052631579,0.9145077720207254,0.9007633587786259,0.9411764705882353,0.9368421052631579 23 | Ankrd33b,0.5876288659793815,0.2727272727272727,0.7738095238095238,0.3684210526315789,0.4740932642487047,0.26717557251908397,0.24509803921568626,0.21052631578947367 24 | Ano3,0.6494845360824743,0.38181818181818183,0.8571428571428571,0.5,0.8497409326424871,0.4961832061068702,0.37745098039215685,0.3368421052631579 25 | Apoe,0.9175257731958762,0.9272727272727272,0.9404761904761905,0.9473684210526315,0.9300518134715026,0.9465648854961832,0.9068627450980392,0.9052631578947369 26 | Aqp4,0.10309278350515463,0.2,0.08333333333333333,0.15789473684210525,0.14507772020725387,0.15267175572519084,0.13725490196078433,0.16842105263157894 27 | Arc,0.41237113402061853,0.3090909090909091,0.8095238095238095,0.42105263157894735,0.6761658031088082,0.4580152671755725,0.27450980392156865,0.28421052631578947 28 | Arhgap25,0.10309278350515463,0.12727272727272726,0.20238095238095238,0.18421052631578946,0.15544041450777202,0.1450381679389313,0.11274509803921569,0.15789473684210525 29 | Arhgef10,0.3711340206185567,0.2,0.2619047619047619,0.15789473684210525,0.39896373056994816,0.21374045801526717,0.1568627450980392,0.16842105263157894 30 | Arl4c,0.7216494845360825,0.34545454545454546,0.27380952380952384,0.21052631578947367,0.6683937823834197,0.5801526717557252,0.6225490196078431,0.5473684210526316 31 | Arx,0.7216494845360825,0.4,0.03571428571428571,0.13157894736842105,0.7331606217616581,0.42748091603053434,0.3333333333333333,0.24210526315789474 32 | Asic4,0.061855670103092786,0.09090909090909091,0.09523809523809523,0.10526315789473684,0.08549222797927461,0.06870229007633588,0.6176470588235294,0.43157894736842106 33 | Aspa,0.020618556701030927,0.10909090909090909,0.09523809523809523,0.05263157894736842,0.08808290155440414,0.05343511450381679,0.09313725490196079,0.11578947368421053 34 | Atp13a4,0.030927835051546393,0.10909090909090909,0.10714285714285714,0.10526315789473684,0.10362694300518134,0.07633587786259542,0.06862745098039216,0.07368421052631578 35 | Atp1a2,0.979381443298969,0.9454545454545454,0.9880952380952381,0.9736842105263158,0.966321243523316,0.9847328244274809,0.9411764705882353,0.9894736842105263 36 | Atp2b4,0.28865979381443296,0.32727272727272727,0.6785714285714286,0.6578947368421053,0.6217616580310881,0.4961832061068702,0.37254901960784315,0.3894736842105263 37 | Atp6ap1l,0.08247422680412371,0.05454545454545454,0.5119047619047619,0.13157894736842105,0.04922279792746114,0.03816793893129771,0.05392156862745098,0.11578947368421053 38 | B230216N24Rik,0.29896907216494845,0.12727272727272726,0.25,0.13157894736842105,0.4637305699481865,0.1450381679389313,0.16176470588235295,0.09473684210526316 39 | BC030499,0.20618556701030927,0.01818181818181818,0.2857142857142857,0.18421052631578946,0.13730569948186527,0.03816793893129771,0.12254901960784313,0.08421052631578947 40 | BC048546,0.20618556701030927,0.16363636363636364,0.40476190476190477,0.4473684210526316,0.20984455958549222,0.13740458015267176,0.19607843137254902,0.22105263157894736 41 | Bcan,0.9175257731958762,0.6363636363636364,0.34523809523809523,0.39473684210526316,0.6398963730569949,0.48091603053435117,0.46078431372549017,0.4 42 | Bcas1,0.3711340206185567,0.5818181818181818,0.44047619047619047,0.3157894736842105,0.5,0.48091603053435117,0.2647058823529412,0.4 43 | Bcl11b,0.7938144329896907,0.36363636363636365,0.4166666666666667,0.3684210526315789,0.7331606217616581,0.5114503816793893,0.19117647058823528,0.21052631578947367 44 | Bdnf,0.2268041237113402,0.2,0.7142857142857143,0.2894736842105263,0.22279792746113988,0.21374045801526717,0.1568627450980392,0.17894736842105263 45 | Bhlhe40,0.5360824742268041,0.3090909090909091,0.8095238095238095,0.631578947368421,0.4430051813471503,0.366412213740458,0.2549019607843137,0.25263157894736843 46 | Bmp3,0.020618556701030927,0.0,0.10714285714285714,0.05263157894736842,0.07772020725388601,0.061068702290076333,0.049019607843137254,0.05263157894736842 47 | Btbd11,0.9587628865979382,0.6,0.15476190476190477,0.18421052631578946,0.772020725388601,0.48854961832061067,0.7794117647058824,0.5157894736842106 48 | Btbd17,0.14432989690721648,0.23636363636363636,0.13095238095238096,0.21052631578947367,0.15284974093264247,0.1450381679389313,0.11764705882352941,0.16842105263157894 49 | C1qa,0.4845360824742268,0.43636363636363634,0.4642857142857143,0.47368421052631576,0.5207253886010362,0.5267175572519084,0.4264705882352941,0.5789473684210527 50 | C1qb,0.5360824742268041,0.509090909090909,0.5238095238095238,0.4473684210526316,0.533678756476684,0.5572519083969466,0.47549019607843135,0.5578947368421052 51 | C1qc,0.4639175257731959,0.4727272727272727,0.39285714285714285,0.42105263157894735,0.5077720207253886,0.48854961832061067,0.37745098039215685,0.42105263157894735 52 | C1ql3,0.07216494845360824,0.07272727272727272,0.19047619047619047,0.23684210526315788,0.05958549222797927,0.03816793893129771,0.07352941176470588,0.11578947368421053 53 | C730002L08Rik,0.061855670103092786,0.03636363636363636,0.44047619047619047,0.05263157894736842,0.031088082901554404,0.007633587786259542,0.049019607843137254,0.08421052631578947 54 | Calb1,0.31958762886597936,0.2909090909090909,0.2857142857142857,0.2631578947368421,0.6865284974093264,0.5114503816793893,0.25,0.25263157894736843 55 | Calb2,0.29896907216494845,0.2909090909090909,0.2857142857142857,0.39473684210526316,0.4948186528497409,0.37404580152671757,0.7598039215686274,0.7052631578947368 56 | Camk4,0.6597938144329897,0.41818181818181815,0.8571428571428571,0.6842105263157895,0.6787564766839378,0.5419847328244275,0.7205882352941176,0.5789473684210527 57 | Car10,0.9381443298969072,0.9636363636363636,0.9880952380952381,0.9736842105263158,0.9792746113989638,0.9847328244274809,0.9656862745098039,0.9894736842105263 58 | Car12,0.18556701030927836,0.18181818181818182,0.27380952380952384,0.3157894736842105,0.19430051813471502,0.183206106870229,0.22058823529411764,0.15789473684210525 59 | Car14,0.041237113402061855,0.09090909090909091,0.08333333333333333,0.0,0.04145077720207254,0.015267175572519083,0.029411764705882353,0.042105263157894736 60 | Cartpt,0.6185567010309279,0.23636363636363636,0.023809523809523808,0.18421052631578946,0.16062176165803108,0.11450381679389313,0.08333333333333333,0.06315789473684211 61 | Cbln2,0.041237113402061855,0.16363636363636364,0.15476190476190477,0.15789473684210525,0.07253886010362694,0.09923664122137404,0.6813725490196079,0.5473684210526316 62 | Cbln4,0.041237113402061855,0.07272727272727272,0.07142857142857142,0.05263157894736842,0.34196891191709844,0.15267175572519084,0.09313725490196079,0.08421052631578947 63 | Cbs,0.21649484536082475,0.16363636363636364,0.23809523809523808,0.2894736842105263,0.25906735751295334,0.2366412213740458,0.20588235294117646,0.21052631578947367 64 | Cck,0.7731958762886598,0.5454545454545454,0.8214285714285714,0.7105263157894737,0.38860103626943004,0.3969465648854962,0.5343137254901961,0.5684210526315789 65 | Cckbr,0.36082474226804123,0.21818181818181817,0.5595238095238095,0.2631578947368421,0.3316062176165803,0.1450381679389313,0.08823529411764706,0.07368421052631578 66 | Cd34,0.09278350515463918,0.18181818181818182,0.38095238095238093,0.13157894736842105,0.08808290155440414,0.09923664122137404,0.10784313725490197,0.11578947368421053 67 | Cd53,0.1134020618556701,0.2,0.14285714285714285,0.18421052631578946,0.21243523316062177,0.183206106870229,0.14705882352941177,0.14736842105263157 68 | Cd68,0.1958762886597938,0.16363636363636364,0.34523809523809523,0.23684210526315788,0.4015544041450777,0.29770992366412213,0.25980392156862747,0.25263157894736843 69 | Cd9,0.20618556701030927,0.18181818181818182,0.2619047619047619,0.23684210526315788,0.22020725388601037,0.2366412213740458,0.2107843137254902,0.2 70 | Cdc42ep1,0.041237113402061855,0.14545454545454545,0.09523809523809523,0.07894736842105263,0.07772020725388601,0.08396946564885496,0.058823529411764705,0.07368421052631578 71 | Cdh12,0.865979381443299,0.8727272727272727,0.9642857142857143,0.8947368421052632,0.8471502590673575,0.7938931297709924,0.9705882352941176,0.8421052631578947 72 | Cdh13,0.8247422680412371,0.5636363636363636,0.7380952380952381,0.5526315789473685,0.9145077720207254,0.732824427480916,0.7549019607843137,0.5894736842105263 73 | Cdh8,0.5670103092783505,0.36363636363636365,0.8452380952380952,0.5526315789473685,0.7901554404145078,0.4351145038167939,0.7549019607843137,0.5052631578947369 74 | Cdh9,0.7525773195876289,0.21818181818181817,0.2619047619047619,0.2894736842105263,0.8316062176165803,0.37404580152671757,0.28921568627450983,0.24210526315789474 75 | Cdkl4,0.1958762886597938,0.12727272727272726,0.3333333333333333,0.15789473684210525,0.23056994818652848,0.15267175572519084,0.16666666666666666,0.08421052631578947 76 | Cercam,0.26804123711340205,0.10909090909090909,0.17857142857142858,0.10526315789473684,0.31865284974093266,0.11450381679389313,0.24019607843137256,0.12631578947368421 77 | Chst8,0.08247422680412371,0.12727272727272726,0.5595238095238095,0.2894736842105263,0.15284974093264247,0.12213740458015267,0.12745098039215685,0.07368421052631578 78 | Cidea,0.07216494845360824,0.14545454545454545,0.14285714285714285,0.23684210526315788,0.13989637305699482,0.08396946564885496,0.43137254901960786,0.2631578947368421 79 | Cldn10,0.32989690721649484,0.21818181818181817,0.23809523809523808,0.23684210526315788,0.38341968911917096,0.3053435114503817,0.19117647058823528,0.16842105263157894 80 | Cldn11,0.08247422680412371,0.18181818181818182,0.10714285714285714,0.05263157894736842,0.09326424870466321,0.061068702290076333,0.1323529411764706,0.07368421052631578 81 | Clic5,0.030927835051546393,0.03636363636363636,0.09523809523809523,0.02631578947368421,0.08808290155440414,0.04580152671755725,0.049019607843137254,0.05263157894736842 82 | Cmtm5,0.27835051546391754,0.41818181818181815,0.32142857142857145,0.5526315789473685,0.4274611398963731,0.4122137404580153,0.39705882352941174,0.37894736842105264 83 | Cnp,0.4639175257731959,0.5272727272727272,0.4880952380952381,0.42105263157894735,0.5414507772020726,0.40458015267175573,0.35294117647058826,0.3894736842105263 84 | Cnr1,0.5154639175257731,0.16363636363636364,0.5952380952380952,0.3157894736842105,0.6658031088082902,0.2595419847328244,0.9166666666666666,0.5894736842105263 85 | Cntnap3,0.845360824742268,0.2727272727272727,0.047619047619047616,0.10526315789473684,0.7823834196891192,0.29770992366412213,0.24509803921568626,0.15789473684210525 86 | Cntnap4,0.9278350515463918,0.5272727272727272,0.5476190476190477,0.39473684210526316,0.7020725388601037,0.3969465648854962,0.5980392156862745,0.3263157894736842 87 | Cntnap5c,0.8762886597938144,0.5636363636363636,0.5357142857142857,0.5526315789473685,0.8082901554404145,0.5190839694656488,0.7990196078431373,0.5473684210526316 88 | Cobl,0.24742268041237114,0.21818181818181817,0.8452380952380952,0.4473684210526316,0.37823834196891193,0.26717557251908397,0.35294117647058826,0.3473684210526316 89 | Coch,0.20618556701030927,0.10909090909090909,0.47619047619047616,0.18421052631578946,0.20725388601036268,0.06870229007633588,0.14705882352941177,0.09473684210526316 90 | Col19a1,0.9484536082474226,0.6909090909090909,0.30952380952380953,0.5526315789473685,0.883419689119171,0.5801526717557252,0.5637254901960784,0.42105263157894735 91 | Col5a1,0.17525773195876287,0.10909090909090909,0.16666666666666666,0.13157894736842105,0.15544041450777202,0.15267175572519084,0.4264705882352941,0.22105263157894736 92 | Col6a1,0.010309278350515464,0.01818181818181818,0.27380952380952384,0.10526315789473684,0.08549222797927461,0.04580152671755725,0.029411764705882353,0.0 93 | Coro6,0.9175257731958762,0.43636363636363634,0.4166666666666667,0.15789473684210525,0.8005181347150259,0.4122137404580153,0.09313725490196079,0.06315789473684211 94 | Cort,0.5567010309278351,0.2909090909090909,0.047619047619047616,0.05263157894736842,0.6269430051813472,0.5267175572519084,0.31862745098039214,0.21052631578947367 95 | Cox6a2,0.8350515463917526,0.4727272727272727,0.05952380952380952,0.07894736842105263,0.07512953367875648,0.11450381679389313,0.2107843137254902,0.2736842105263158 96 | Cplx3,0.05154639175257732,0.05454545454545454,0.11904761904761904,0.02631578947368421,0.04404145077720207,0.015267175572519083,0.06862745098039216,0.042105263157894736 97 | Cpne5,0.3917525773195876,0.45454545454545453,0.5119047619047619,0.47368421052631576,0.772020725388601,0.5954198473282443,0.45588235294117646,0.42105263157894735 98 | Cpne7,0.09278350515463918,0.16363636363636364,0.7380952380952381,0.3684210526315789,0.32124352331606215,0.2366412213740458,0.8578431372549019,0.5263157894736842 99 | Cpne9,0.27835051546391754,0.12727272727272726,0.25,0.18421052631578946,0.2694300518134715,0.1297709923664122,0.27450980392156865,0.2 100 | Crh,0.041237113402061855,0.05454545454545454,0.047619047619047616,0.02631578947368421,0.24611398963730569,0.183206106870229,0.6372549019607843,0.5052631578947369 101 | Crhbp,0.5154639175257731,0.43636363636363634,0.13095238095238096,0.23684210526315788,0.7383419689119171,0.5801526717557252,0.1568627450980392,0.25263157894736843 102 | Crhr1,0.07216494845360824,0.10909090909090909,0.4642857142857143,0.18421052631578946,0.08031088082901554,0.061068702290076333,0.20098039215686275,0.15789473684210525 103 | Crybb1,0.31958762886597936,0.2909090909090909,0.2976190476190476,0.34210526315789475,0.38341968911917096,0.44274809160305345,0.30392156862745096,0.3894736842105263 104 | Crym,0.12371134020618557,0.05454545454545454,0.5,0.39473684210526316,0.06476683937823834,0.04580152671755725,0.04411764705882353,0.08421052631578947 105 | Csf1r,0.29896907216494845,0.34545454545454546,0.38095238095238093,0.34210526315789475,0.4274611398963731,0.37404580152671757,0.29901960784313725,0.3263157894736842 106 | Ctgf,0.14432989690721648,0.05454545454545454,0.11904761904761904,0.05263157894736842,0.04404145077720207,0.030534351145038167,0.16666666666666666,0.06315789473684211 107 | Ctsh,0.27835051546391754,0.21818181818181817,0.25,0.23684210526315788,0.2979274611398964,0.22137404580152673,0.25,0.21052631578947367 108 | Ctss,0.4845360824742268,0.41818181818181815,0.4642857142857143,0.5526315789473685,0.4585492227979275,0.4732824427480916,0.4166666666666667,0.47368421052631576 109 | Cux2,0.7731958762886598,0.45454545454545453,0.4166666666666667,0.23684210526315788,0.7927461139896373,0.4732824427480916,0.44607843137254904,0.43157894736842106 110 | Cx3cr1,0.30927835051546393,0.3090909090909091,0.38095238095238093,0.3157894736842105,0.45077720207253885,0.4580152671755725,0.35784313725490197,0.3894736842105263 111 | Cxcl14,0.4845360824742268,0.38181818181818183,0.42857142857142855,0.3684210526315789,0.4378238341968912,0.5190839694656488,0.6911764705882353,0.6736842105263158 112 | Cyba,0.28865979381443296,0.2545454545454545,0.23809523809523808,0.3157894736842105,0.3316062176165803,0.3282442748091603,0.25980392156862747,0.3368421052631579 113 | Cyp4f15,0.030927835051546393,0.12727272727272726,0.03571428571428571,0.13157894736842105,0.05181347150259067,0.05343511450381679,0.0392156862745098,0.09473684210526316 114 | Cyth4,0.1134020618556701,0.05454545454545454,0.16666666666666666,0.34210526315789475,0.20725388601036268,0.17557251908396945,0.11764705882352941,0.18947368421052632 115 | Daam2,0.28865979381443296,0.18181818181818182,0.21428571428571427,0.21052631578947367,0.4533678756476684,0.2900763358778626,0.45098039215686275,0.3368421052631579 116 | Dbx2,0.17525773195876287,0.2545454545454545,0.20238095238095238,0.23684210526315788,0.27979274611398963,0.2595419847328244,0.22549019607843138,0.2 117 | Dcdc2a,0.23711340206185566,0.2727272727272727,0.44047619047619047,0.3157894736842105,0.3005181347150259,0.17557251908396945,0.30392156862745096,0.23157894736842105 118 | Deptor,0.5257731958762887,0.3090909090909091,0.5833333333333334,0.47368421052631576,0.5077720207253886,0.3893129770992366,0.43137254901960786,0.3473684210526316 119 | Dio2,0.36082474226804123,0.2727272727272727,0.2857142857142857,0.15789473684210525,0.34974093264248707,0.3282442748091603,0.22549019607843138,0.28421052631578947 120 | Dkk3,0.25773195876288657,0.23636363636363636,0.5952380952380952,0.42105263157894735,0.36787564766839376,0.3282442748091603,0.4362745098039216,0.30526315789473685 121 | Dkkl1,0.020618556701030927,0.05454545454545454,0.4880952380952381,0.15789473684210525,0.031088082901554404,0.07633587786259542,0.024509803921568627,0.06315789473684211 122 | Dlx1,0.5257731958762887,0.2,0.0,0.05263157894736842,0.6036269430051814,0.3282442748091603,0.7107843137254902,0.4842105263157895 123 | Dlx1as,0.7422680412371134,0.36363636363636365,0.023809523809523808,0.05263157894736842,0.533678756476684,0.3435114503816794,0.6225490196078431,0.35789473684210527 124 | Dlx2,0.44329896907216493,0.2,0.011904761904761904,0.0,0.31865284974093266,0.19083969465648856,0.46078431372549017,0.29473684210526313 125 | Dlx5,0.5360824742268041,0.2,0.0,0.05263157894736842,0.43005181347150256,0.2595419847328244,0.3088235294117647,0.2 126 | Dlx6os1,0.8762886597938144,0.41818181818181815,0.05952380952380952,0.13157894736842105,0.7772020725388601,0.4351145038167939,0.9166666666666666,0.5894736842105263 127 | Drd1,0.5773195876288659,0.21818181818181817,0.08333333333333333,0.02631578947368421,0.20207253886010362,0.12213740458015267,0.19607843137254902,0.07368421052631578 128 | Dtl,0.09278350515463918,0.10909090909090909,0.5714285714285714,0.23684210526315788,0.11658031088082901,0.07633587786259542,0.0784313725490196,0.09473684210526316 129 | Dusp18,0.18556701030927836,0.14545454545454545,0.3333333333333333,0.21052631578947367,0.35233160621761656,0.2366412213740458,0.20588235294117646,0.11578947368421053 130 | Egr3,0.28865979381443296,0.4,0.5595238095238095,0.47368421052631576,0.5,0.3053435114503817,0.35294117647058826,0.42105263157894735 131 | Egr4,0.5051546391752577,0.2727272727272727,0.7619047619047619,0.4473684210526316,0.49222797927461137,0.33587786259541985,0.29901960784313725,0.2736842105263158 132 | Elfn1,0.15463917525773196,0.09090909090909091,0.14285714285714285,0.10526315789473684,0.8186528497409327,0.46564885496183206,0.696078431372549,0.3473684210526316 133 | Emb,0.6391752577319587,0.32727272727272727,0.5833333333333334,0.3157894736842105,0.4689119170984456,0.25190839694656486,0.3627450980392157,0.25263157894736843 134 | Emr1,0.20618556701030927,0.18181818181818182,0.21428571428571427,0.10526315789473684,0.23056994818652848,0.25190839694656486,0.23529411764705882,0.23157894736842105 135 | Enpp2,0.5567010309278351,0.4,0.6309523809523809,0.42105263157894735,0.4896373056994819,0.3435114503816794,0.47058823529411764,0.3684210526315789 136 | Epha4,0.6597938144329897,0.4909090909090909,0.9047619047619048,0.7894736842105263,0.6709844559585493,0.5801526717557252,0.6813725490196079,0.5578947368421052 137 | Erbb4,0.979381443298969,0.8909090909090909,0.6428571428571429,0.6578947368421053,0.8860103626943006,0.6183206106870229,0.9901960784313726,0.8842105263157894 138 | Ermn,0.1134020618556701,0.09090909090909091,0.047619047619047616,0.07894736842105263,0.09067357512953368,0.10687022900763359,0.10294117647058823,0.11578947368421053 139 | Etv1,0.4639175257731959,0.2909090909090909,0.6547619047619048,0.5,0.3756476683937824,0.25190839694656486,0.25,0.2736842105263158 140 | Exph5,0.1134020618556701,0.16363636363636364,0.36904761904761907,0.15789473684210525,0.09844559585492228,0.10687022900763359,0.11764705882352941,0.15789473684210525 141 | F3,0.08247422680412371,0.16363636363636364,0.15476190476190477,0.15789473684210525,0.35233160621761656,0.19083969465648856,0.1715686274509804,0.12631578947368421 142 | Fa2h,0.13402061855670103,0.09090909090909091,0.11904761904761904,0.02631578947368421,0.10621761658031088,0.061068702290076333,0.09313725490196079,0.11578947368421053 143 | Fam107a,0.6597938144329897,0.6909090909090909,0.6071428571428571,0.5263157894736842,0.7331606217616581,0.7480916030534351,0.6323529411764706,0.7894736842105263 144 | Fam19a1,0.4536082474226804,0.45454545454545453,0.9166666666666666,0.8157894736842105,0.4274611398963731,0.40458015267175573,0.4803921568627451,0.49473684210526314 145 | Fam19a2,0.9484536082474226,0.5636363636363636,0.7380952380952381,0.5526315789473685,0.4844559585492228,0.3816793893129771,0.7647058823529411,0.5263157894736842 146 | Fam84b,0.10309278350515463,0.07272727272727272,0.23809523809523808,0.21052631578947367,0.038860103626943004,0.04580152671755725,0.014705882352941176,0.031578947368421054 147 | Fcer1g,0.4742268041237113,0.41818181818181815,0.4166666666666667,0.3684210526315789,0.4844559585492228,0.5343511450381679,0.35294117647058826,0.4105263157894737 148 | Fcgr3,0.24742268041237114,0.2909090909090909,0.27380952380952384,0.2631578947368421,0.33419689119170987,0.2748091603053435,0.25980392156862747,0.2736842105263158 149 | Fcrls,0.27835051546391754,0.2727272727272727,0.2619047619047619,0.2631578947368421,0.35751295336787564,0.3511450381679389,0.2647058823529412,0.3157894736842105 150 | Fezf2,0.041237113402061855,0.07272727272727272,0.6785714285714286,0.3684210526315789,0.06735751295336788,0.030534351145038167,0.014705882352941176,0.021052631578947368 151 | Fgfr3,0.1134020618556701,0.2909090909090909,0.14285714285714285,0.15789473684210525,0.20984455958549222,0.22900763358778625,0.27941176470588236,0.2 152 | Foxp2,0.9381443298969072,0.9818181818181818,0.9761904761904762,1.0,0.9404145077720207,0.9770992366412213,0.9509803921568627,0.9789473684210527 153 | Fstl5,0.7216494845360825,0.5454545454545454,0.8690476190476191,0.7631578947368421,0.8756476683937824,0.6946564885496184,0.9313725490196079,0.7263157894736842 154 | Fyb,0.13402061855670103,0.12727272727272726,0.20238095238095238,0.15789473684210525,0.19430051813471502,0.1984732824427481,0.1715686274509804,0.17894736842105263 155 | Gabra5,0.3917525773195876,0.32727272727272727,0.5833333333333334,0.34210526315789475,0.27461139896373055,0.16030534351145037,0.2696078431372549,0.3157894736842105 156 | Gabrd,0.9278350515463918,0.5272727272727272,0.5952380952380952,0.47368421052631576,0.47150259067357514,0.3816793893129771,0.28431372549019607,0.21052631578947367 157 | Gad1,1.0,0.7454545454545455,0.17857142857142858,0.2894736842105263,0.9585492227979274,0.7251908396946565,0.9607843137254902,0.8210526315789474 158 | Gad2,0.9484536082474226,0.6181818181818182,0.14285714285714285,0.21052631578947367,0.966321243523316,0.7175572519083969,0.8872549019607843,0.7578947368421053 159 | Gadd45a,0.32989690721649484,0.16363636363636364,0.19047619047619047,0.07894736842105263,0.2823834196891192,0.183206106870229,0.15196078431372548,0.1368421052631579 160 | Gal3st1,0.21649484536082475,0.12727272727272726,0.17857142857142858,0.15789473684210525,0.24870466321243523,0.1450381679389313,0.13725490196078433,0.11578947368421053 161 | Galnt14,0.27835051546391754,0.18181818181818182,0.5238095238095238,0.2631578947368421,0.7823834196891192,0.3511450381679389,0.8284313725490197,0.4631578947368421 162 | Galnt9,0.7319587628865979,0.45454545454545453,0.8095238095238095,0.42105263157894735,0.7227979274611399,0.40458015267175573,0.28431372549019607,0.28421052631578947 163 | Galntl6,0.9690721649484536,0.8909090909090909,0.9523809523809523,0.7631578947368421,0.9818652849740933,0.7862595419847328,0.9558823529411765,0.8526315789473684 164 | Gatm,0.26804123711340205,0.36363636363636365,0.38095238095238093,0.21052631578947367,0.2979274611398964,0.3053435114503817,0.2107843137254902,0.2631578947368421 165 | Gfra2,0.23711340206185566,0.18181818181818182,0.4523809523809524,0.2631578947368421,0.17098445595854922,0.1450381679389313,0.06372549019607843,0.06315789473684211 166 | Gja1,0.1958762886597938,0.34545454545454546,0.20238095238095238,0.2894736842105263,0.21761658031088082,0.22900763358778625,0.12254901960784313,0.23157894736842105 167 | Gjb1,0.07216494845360824,0.09090909090909091,0.047619047619047616,0.07894736842105263,0.07772020725388601,0.09923664122137404,0.058823529411764705,0.042105263157894736 168 | Gjb6,0.17525773195876287,0.3090909090909091,0.20238095238095238,0.2894736842105263,0.20984455958549222,0.22900763358778625,0.14705882352941177,0.17894736842105263 169 | Gjc3,0.13402061855670103,0.18181818181818182,0.10714285714285714,0.07894736842105263,0.08808290155440414,0.09923664122137404,0.058823529411764705,0.06315789473684211 170 | Gltp,0.35051546391752575,0.3090909090909091,0.40476190476190477,0.2631578947368421,0.41968911917098445,0.37404580152671757,0.28921568627450983,0.2736842105263158 171 | Gm11549,0.14432989690721648,0.09090909090909091,0.5952380952380952,0.34210526315789475,0.07772020725388601,0.11450381679389313,0.11274509803921569,0.15789473684210525 172 | Gm12371,0.061855670103092786,0.07272727272727272,0.05952380952380952,0.0,0.08549222797927461,0.0916030534351145,0.10294117647058823,0.08421052631578947 173 | Gm13325,0.061855670103092786,0.03636363636363636,0.05952380952380952,0.05263157894736842,0.05181347150259067,0.007633587786259542,0.0196078431372549,0.010526315789473684 174 | Gm13629,0.9484536082474226,0.38181818181818183,0.21428571428571427,0.15789473684210525,0.5,0.26717557251908397,0.5147058823529411,0.2736842105263158 175 | Gm14204,0.6701030927835051,0.23636363636363636,0.03571428571428571,0.02631578947368421,0.6243523316062176,0.3282442748091603,0.5637254901960784,0.3473684210526316 176 | Gm17750,0.15463917525773196,0.16363636363636364,0.08333333333333333,0.18421052631578946,0.11139896373056994,0.09923664122137404,0.3480392156862745,0.3473684210526316 177 | Gm19410,0.41237113402061853,0.12727272727272726,0.4642857142857143,0.18421052631578946,0.04145077720207254,0.015267175572519083,0.029411764705882353,0.031578947368421054 178 | Gm19744,0.030927835051546393,0.03636363636363636,0.17857142857142858,0.05263157894736842,0.038860103626943004,0.022900763358778626,0.06862745098039216,0.042105263157894736 179 | Gm2164,0.5154639175257731,0.6,0.7023809523809523,0.8157894736842105,0.40414507772020725,0.6641221374045801,0.5588235294117647,0.7157894736842105 180 | Gm2694,0.061855670103092786,0.05454545454545454,0.13095238095238096,0.05263157894736842,0.046632124352331605,0.061068702290076333,0.0196078431372549,0.05263157894736842 181 | Gm30620,0.030927835051546393,0.03636363636363636,0.07142857142857142,0.07894736842105263,0.04404145077720207,0.022900763358778626,0.0392156862745098,0.021052631578947368 182 | Gm34583,0.07216494845360824,0.03636363636363636,0.34523809523809523,0.18421052631578946,0.05699481865284974,0.030534351145038167,0.024509803921568627,0.010526315789473684 183 | Gm34996,0.20618556701030927,0.09090909090909091,0.27380952380952384,0.15789473684210525,0.27979274611398963,0.06870229007633588,0.10784313725490197,0.14736842105263157 184 | Gpd1,0.3402061855670103,0.2,0.39285714285714285,0.2894736842105263,0.29015544041450775,0.21374045801526717,0.6568627450980392,0.5368421052631579 185 | Gpr176,0.9072164948453608,0.36363636363636365,0.2857142857142857,0.13157894736842105,0.49222797927461137,0.24427480916030533,0.6323529411764706,0.4 186 | Gpr183,0.1134020618556701,0.03636363636363636,0.03571428571428571,0.0,0.10103626943005181,0.07633587786259542,0.0784313725490196,0.06315789473684211 187 | Gpr34,0.15463917525773196,0.18181818181818182,0.21428571428571427,0.18421052631578946,0.22279792746113988,0.22137404580152673,0.1568627450980392,0.18947368421052632 188 | Gpr37,0.041237113402061855,0.01818181818181818,0.11904761904761904,0.13157894736842105,0.08549222797927461,0.04580152671755725,0.03431372549019608,0.07368421052631578 189 | Gpr37l1,0.35051546391752575,0.5272727272727272,0.2619047619047619,0.3157894736842105,0.37305699481865284,0.4122137404580153,0.2549019607843137,0.3263157894736842 190 | Gpr83,0.5360824742268041,0.16363636363636364,0.09523809523809523,0.07894736842105263,0.43005181347150256,0.1984732824427481,0.1323529411764706,0.09473684210526316 191 | Gpr88,0.05154639175257732,0.09090909090909091,0.19047619047619047,0.07894736842105263,0.06476683937823834,0.10687022900763359,0.09803921568627451,0.09473684210526316 192 | Grb14,0.29896907216494845,0.2545454545454545,0.36904761904761907,0.2631578947368421,0.35751295336787564,0.2595419847328244,0.2696078431372549,0.16842105263157894 193 | Grik1,0.9072164948453608,0.6181818181818182,0.5,0.3684210526315789,0.9404145077720207,0.6183206106870229,0.803921568627451,0.5263157894736842 194 | Grik3,0.8556701030927835,0.6727272727272727,0.7261904761904762,0.7105263157894737,0.961139896373057,0.7862595419847328,0.6225490196078431,0.7368421052631579 195 | Grin2c,0.12371134020618557,0.12727272727272726,0.05952380952380952,0.15789473684210525,0.14766839378238342,0.09923664122137404,0.08823529411764706,0.08421052631578947 196 | Grin3a,0.32989690721649484,0.23636363636363636,0.2976190476190476,0.15789473684210525,0.8963730569948186,0.6412213740458015,0.4411764705882353,0.29473684210526313 197 | Grm1,0.5360824742268041,0.5818181818181818,0.8690476190476191,0.6842105263157895,0.9041450777202072,0.6870229007633588,0.8088235294117647,0.7263157894736842 198 | Grm2,0.1134020618556701,0.09090909090909091,0.4523809523809524,0.21052631578947367,0.03367875647668394,0.061068702290076333,0.21568627450980393,0.16842105263157894 199 | Grpr,0.020618556701030927,0.01818181818181818,0.03571428571428571,0.0,0.038860103626943004,0.022900763358778626,0.5735294117647058,0.3263157894736842 200 | Gsg1l,0.41237113402061853,0.23636363636363636,0.42857142857142855,0.10526315789473684,0.30310880829015546,0.183206106870229,0.1568627450980392,0.21052631578947367 201 | Gstm1,0.8144329896907216,0.8,0.6666666666666666,0.7631578947368421,0.7849740932642487,0.7633587786259542,0.7401960784313726,0.7894736842105263 202 | Hepacam,0.25773195876288657,0.23636363636363636,0.27380952380952384,0.2631578947368421,0.23316062176165803,0.29770992366412213,0.28921568627450983,0.2 203 | Hmha1,0.061855670103092786,0.03636363636363636,0.13095238095238096,0.10526315789473684,0.15803108808290156,0.16030534351145037,0.0784313725490196,0.1368421052631579 204 | Hpgd,0.13402061855670103,0.18181818181818182,0.16666666666666666,0.10526315789473684,0.16580310880829016,0.19083969465648856,0.11764705882352941,0.14736842105263157 205 | Hpgds,0.25773195876288657,0.16363636363636364,0.2976190476190476,0.21052631578947367,0.3082901554404145,0.26717557251908397,0.25,0.2 206 | Hs3st2,0.1134020618556701,0.14545454545454545,0.7023809523809523,0.3157894736842105,0.15803108808290156,0.11450381679389313,0.3333333333333333,0.2736842105263158 207 | Hs3st4,0.38144329896907214,0.5454545454545454,0.75,0.6052631578947368,0.43005181347150256,0.40458015267175573,0.5441176470588235,0.45263157894736844 208 | Hspb3,0.041237113402061855,0.07272727272727272,0.27380952380952384,0.07894736842105263,0.05958549222797927,0.022900763358778626,0.03431372549019608,0.031578947368421054 209 | Htr3a,0.0,0.0,0.011904761904761904,0.02631578947368421,0.007772020725388601,0.007633587786259542,0.47058823529411764,0.24210526315789474 210 | Ifitm10,0.7731958762886598,0.5272727272727272,0.36904761904761907,0.3684210526315789,0.8160621761658031,0.5648854961832062,0.5098039215686274,0.5157894736842106 211 | Igf1,0.2268041237113402,0.10909090909090909,0.05952380952380952,0.13157894736842105,0.6347150259067358,0.3282442748091603,0.9362745098039216,0.6421052631578947 212 | Igfbp4,0.4536082474226804,0.3090909090909091,0.3333333333333333,0.2631578947368421,0.36787564766839376,0.31297709923664124,0.39215686274509803,0.2736842105263158 213 | Igfbp5,0.1958762886597938,0.3090909090909091,0.3333333333333333,0.39473684210526316,0.27202072538860106,0.2748091603053435,0.5441176470588235,0.42105263157894735 214 | Igfbp6,0.1958762886597938,0.2727272727272727,0.30952380952380953,0.23684210526315788,0.19689119170984457,0.24427480916030533,0.24509803921568626,0.23157894736842105 215 | Igfn1,0.061855670103092786,0.09090909090909091,0.2619047619047619,0.10526315789473684,0.046632124352331605,0.022900763358778626,0.06862745098039216,0.06315789473684211 216 | Igsf21,0.35051546391752575,0.3090909090909091,0.5119047619047619,0.39473684210526316,0.43523316062176165,0.2900763358778626,0.30392156862745096,0.2736842105263158 217 | Igsf3,0.8144329896907216,0.2909090909090909,0.2857142857142857,0.3157894736842105,0.6502590673575129,0.22900763358778625,0.8235294117647058,0.5578947368421052 218 | Il1rapl2,0.711340206185567,0.6727272727272727,0.8333333333333334,0.7894736842105263,0.6787564766839378,0.5877862595419847,0.6470588235294118,0.7368421052631579 219 | Ipcef1,0.16494845360824742,0.2,0.42857142857142855,0.39473684210526316,0.19430051813471502,0.21374045801526717,0.19117647058823528,0.18947368421052632 220 | Itpka,0.21649484536082475,0.2727272727272727,0.7976190476190477,0.5526315789473685,0.24870466321243523,0.22900763358778625,0.3137254901960784,0.3473684210526316 221 | Kcnab3,0.8969072164948454,0.41818181818181815,0.42857142857142855,0.3684210526315789,0.5880829015544041,0.366412213740458,0.37745098039215685,0.2631578947368421 222 | Kcnc2,0.9690721649484536,0.7454545454545455,0.6309523809523809,0.2894736842105263,0.9870466321243523,0.648854961832061,0.803921568627451,0.4421052631578947 223 | Kcng1,0.061855670103092786,0.05454545454545454,0.32142857142857145,0.23684210526315788,0.03367875647668394,0.030534351145038167,0.04411764705882353,0.08421052631578947 224 | Kcnh5,0.4639175257731959,0.23636363636363636,0.5119047619047619,0.3684210526315789,0.6191709844559585,0.3511450381679389,0.29411764705882354,0.30526315789473685 225 | Kcnip1,0.9072164948453608,0.5818181818181818,0.3333333333333333,0.47368421052631576,0.9248704663212435,0.5877862595419847,0.9019607843137255,0.6842105263157895 226 | Kcnip2,0.8969072164948454,0.4909090909090909,0.5119047619047619,0.2631578947368421,0.5906735751295337,0.3893129770992366,0.47549019607843135,0.37894736842105264 227 | Kcnip3,0.30927835051546393,0.2909090909090909,0.8452380952380952,0.5263157894736842,0.41450777202072536,0.31297709923664124,0.4117647058823529,0.3263157894736842 228 | Kcnj10,0.24742268041237114,0.2909090909090909,0.11904761904761904,0.3684210526315789,0.28756476683937826,0.3282442748091603,0.18627450980392157,0.24210526315789474 229 | Kcnmb2,0.9381443298969072,0.41818181818181815,0.25,0.18421052631578946,0.7383419689119171,0.3282442748091603,0.8382352941176471,0.4105263157894737 230 | Kcns3,0.7525773195876289,0.36363636363636365,0.17857142857142858,0.2631578947368421,0.6424870466321243,0.2748091603053435,0.14705882352941177,0.031578947368421054 231 | Kcnv1,0.061855670103092786,0.10909090909090909,0.4880952380952381,0.2894736842105263,0.12694300518134716,0.0916030534351145,0.11274509803921569,0.1368421052631579 232 | Kctd4,0.12371134020618557,0.12727272727272726,0.35714285714285715,0.23684210526315788,0.14248704663212436,0.08396946564885496,0.11274509803921569,0.1368421052631579 233 | Kctd8,0.8556701030927835,0.34545454545454546,0.4523809523809524,0.13157894736842105,0.8704663212435233,0.42748091603053434,0.39215686274509803,0.2 234 | Kit,0.27835051546391754,0.34545454545454546,0.35714285714285715,0.5526315789473685,0.23834196891191708,0.25190839694656486,0.8137254901960784,0.7052631578947368 235 | Klf10,0.15463917525773196,0.12727272727272726,0.5357142857142857,0.2894736842105263,0.20984455958549222,0.16793893129770993,0.12745098039215685,0.12631578947368421 236 | Klf5,0.5670103092783505,0.32727272727272727,0.30952380952380953,0.15789473684210525,0.8082901554404145,0.4351145038167939,0.11274509803921569,0.09473684210526316 237 | Klhdc8a,0.21649484536082475,0.10909090909090909,0.09523809523809523,0.15789473684210525,0.13471502590673576,0.15267175572519084,0.0196078431372549,0.021052631578947368 238 | Krt12,0.15463917525773196,0.10909090909090909,0.5119047619047619,0.3157894736842105,0.07512953367875648,0.06870229007633588,0.20098039215686275,0.14736842105263157 239 | LOC101056001,0.14432989690721648,0.09090909090909091,0.6785714285714286,0.5263157894736842,0.09585492227979274,0.061068702290076333,0.22058823529411764,0.2 240 | LOC102632463,0.05154639175257732,0.07272727272727272,0.07142857142857142,0.13157894736842105,0.015544041450777202,0.015267175572519083,0.5147058823529411,0.35789473684210527 241 | LOC102634502,0.1134020618556701,0.16363636363636364,0.75,0.34210526315789475,0.13730569948186527,0.1297709923664122,0.20588235294117646,0.21052631578947367 242 | LOC105243425,0.08247422680412371,0.07272727272727272,0.03571428571428571,0.02631578947368421,0.2772020725388601,0.09923664122137404,0.029411764705882353,0.0 243 | Lamp5,0.16494845360824742,0.32727272727272727,0.6428571428571429,0.5,0.18393782383419688,0.1450381679389313,0.24019607843137256,0.24210526315789474 244 | Laptm5,0.38144329896907214,0.34545454545454546,0.39285714285714285,0.34210526315789475,0.40414507772020725,0.4580152671755725,0.36764705882352944,0.3473684210526316 245 | Lcat,0.07216494845360824,0.09090909090909091,0.05952380952380952,0.10526315789473684,0.09067357512953368,0.07633587786259542,0.06862745098039216,0.08421052631578947 246 | Lgals1,0.4020618556701031,0.2909090909090909,0.07142857142857142,0.13157894736842105,0.6217616580310881,0.48091603053435117,0.09803921568627451,0.12631578947368421 247 | Lhfpl3,0.7216494845360825,0.5272727272727272,0.5476190476190477,0.5526315789473685,0.8963730569948186,0.5648854961832062,0.7696078431372549,0.6210526315789474 248 | Lhx6,0.7216494845360825,0.32727272727272727,0.023809523809523808,0.05263157894736842,0.8367875647668394,0.5572519083969466,0.03431372549019608,0.021052631578947368 249 | Lingo1,0.3917525773195876,0.2545454545454545,0.8333333333333334,0.6052631578947368,0.6036269430051814,0.3969465648854962,0.5245098039215687,0.3473684210526316 250 | Lmo3,0.6701030927835051,0.43636363636363634,0.5357142857142857,0.42105263157894735,0.6010362694300518,0.45038167938931295,0.3333333333333333,0.29473684210526313 251 | Lpcat2,0.23711340206185566,0.2727272727272727,0.35714285714285715,0.23684210526315788,0.45595854922279794,0.33587786259541985,0.28921568627450983,0.22105263157894736 252 | Lpl,0.5773195876288659,0.2545454545454545,0.08333333333333333,0.10526315789473684,0.11139896373056994,0.08396946564885496,0.05392156862745098,0.10526315789473684 253 | Lrrc38,0.6082474226804123,0.23636363636363636,0.05952380952380952,0.07894736842105263,0.14248704663212436,0.09923664122137404,0.20588235294117646,0.10526315789473684 254 | Ltc4s,0.15463917525773196,0.14545454545454545,0.16666666666666666,0.21052631578947367,0.20984455958549222,0.1984732824427481,0.19117647058823528,0.22105263157894736 255 | Ly6g6e,0.010309278350515464,0.03636363636363636,0.03571428571428571,0.02631578947368421,0.015544041450777202,0.0,0.014705882352941176,0.010526315789473684 256 | Ly86,0.35051546391752575,0.32727272727272727,0.2976190476190476,0.4473684210526316,0.37305699481865284,0.35877862595419846,0.29411764705882354,0.29473684210526313 257 | Lyn,0.3711340206185567,0.36363636363636365,0.36904761904761907,0.7368421052631579,0.41450777202072536,0.5648854961832062,0.4117647058823529,0.5263157894736842 258 | Lypd6,0.44329896907216493,0.2545454545454545,0.25,0.23684210526315788,0.5932642487046632,0.35877862595419846,0.14705882352941177,0.2 259 | Lypd6b,0.5773195876288659,0.2909090909090909,0.14285714285714285,0.07894736842105263,0.6761658031088082,0.3435114503816794,0.1568627450980392,0.15789473684210525 260 | Mafb,0.7628865979381443,0.4727272727272727,0.14285714285714285,0.23684210526315788,0.727979274611399,0.6335877862595419,0.18137254901960784,0.2 261 | Mag,0.061855670103092786,0.12727272727272726,0.05952380952380952,0.15789473684210525,0.09067357512953368,0.13740458015267176,0.10784313725490197,0.08421052631578947 262 | Mal,0.12371134020618557,0.2,0.08333333333333333,0.10526315789473684,0.11917098445595854,0.11450381679389313,0.16176470588235295,0.11578947368421053 263 | Mas1,0.1958762886597938,0.14545454545454545,0.5,0.39473684210526316,0.17616580310880828,0.15267175572519084,0.24019607843137256,0.2736842105263158 264 | Mctp1,0.845360824742268,0.6,0.9285714285714286,0.5789473684210527,0.8860103626943006,0.6335877862595419,0.6911764705882353,0.5894736842105263 265 | Meis2,0.32989690721649484,0.4727272727272727,0.5,0.4473684210526316,0.3290155440414508,0.3511450381679389,0.3088235294117647,0.49473684210526314 266 | Mertk,0.41237113402061853,0.34545454545454546,0.25,0.18421052631578946,0.35751295336787564,0.3511450381679389,0.27450980392156865,0.3684210526315789 267 | Mfge8,0.3711340206185567,0.32727272727272727,0.2976190476190476,0.4473684210526316,0.3082901554404145,0.3969465648854962,0.3284313725490196,0.3263157894736842 268 | Mgat4c,0.9587628865979382,0.7636363636363637,0.7142857142857143,0.8157894736842105,0.883419689119171,0.7022900763358778,0.8774509803921569,0.7473684210526316 269 | Mkx,0.9278350515463918,0.4909090909090909,0.6071428571428571,0.34210526315789475,0.8937823834196891,0.42748091603053434,0.5,0.3473684210526316 270 | Mlc1,0.29896907216494845,0.43636363636363634,0.25,0.23684210526315788,0.3393782383419689,0.44274809160305345,0.22549019607843138,0.3894736842105263 271 | Mmp17,0.35051546391752575,0.23636363636363636,0.6666666666666666,0.47368421052631576,0.5129533678756477,0.29770992366412213,0.38235294117647056,0.24210526315789474 272 | Mobp,0.7010309278350515,0.7636363636363637,0.7142857142857143,0.631578947368421,0.7668393782383419,0.7251908396946565,0.4852941176470588,0.45263157894736844 273 | Mog,0.1134020618556701,0.09090909090909091,0.11904761904761904,0.13157894736842105,0.18652849740932642,0.10687022900763359,0.1568627450980392,0.09473684210526316 274 | Mt2,0.7525773195876289,0.7818181818181819,0.6666666666666666,0.6052631578947368,0.7409326424870466,0.7022900763358778,0.6176470588235294,0.6947368421052632 275 | Myh7,0.3402061855670103,0.36363636363636365,0.36904761904761907,0.3157894736842105,0.34196891191709844,0.366412213740458,0.36764705882352944,0.4421052631578947 276 | Myl4,0.25773195876288657,0.10909090909090909,0.39285714285714285,0.13157894736842105,0.17098445595854922,0.15267175572519084,0.10784313725490197,0.16842105263157894 277 | Myrf,0.08247422680412371,0.03636363636363636,0.09523809523809523,0.0,0.07512953367875648,0.05343511450381679,0.024509803921568627,0.042105263157894736 278 | Nefl,0.7731958762886598,0.7636363636363637,0.8690476190476191,0.7894736842105263,0.7772020725388601,0.732824427480916,0.7401960784313726,0.8315789473684211 279 | Nefm,0.7628865979381443,0.8,0.8809523809523809,0.7894736842105263,0.7694300518134715,0.7633587786259542,0.7254901960784313,0.7684210526315789 280 | Nek7,1.0,0.9272727272727272,0.75,0.868421052631579,0.9041450777202072,0.9312977099236641,0.7647058823529411,0.8842105263157894 281 | Neurod1,0.05154639175257732,0.12727272727272726,0.42857142857142855,0.2894736842105263,0.06476683937823834,0.05343511450381679,0.08333333333333333,0.12631578947368421 282 | Neurod2,0.13402061855670103,0.18181818181818182,0.8214285714285714,0.4473684210526316,0.17098445595854922,0.13740458015267176,0.15196078431372548,0.17894736842105263 283 | Neurod6,0.13402061855670103,0.14545454545454545,0.5714285714285714,0.3684210526315789,0.11398963730569948,0.1297709923664122,0.1323529411764706,0.18947368421052632 284 | Nkx6-2,0.020618556701030927,0.01818181818181818,0.07142857142857142,0.0,0.07772020725388601,0.03816793893129771,0.04411764705882353,0.031578947368421054 285 | Nnat,0.5154639175257731,0.6727272727272727,0.5,0.631578947368421,0.6036269430051814,0.6564885496183206,0.4803921568627451,0.5789473684210527 286 | Nog,0.7422680412371134,0.3090909090909091,0.05952380952380952,0.07894736842105263,0.24093264248704663,0.09923664122137404,0.04411764705882353,0.031578947368421054 287 | Npas1,0.12371134020618557,0.09090909090909091,0.07142857142857142,0.05263157894736842,0.6036269430051814,0.3053435114503817,0.6127450980392157,0.3684210526315789 288 | Npas3,0.8865979381443299,0.4727272727272727,0.5238095238095238,0.3684210526315789,0.9404145077720207,0.5038167938931297,0.9264705882352942,0.6421052631578947 289 | Npr3,0.10309278350515463,0.03636363636363636,0.36904761904761907,0.13157894736842105,0.13212435233160622,0.06870229007633588,0.029411764705882353,0.031578947368421054 290 | Nptx1,0.26804123711340205,0.21818181818181817,0.44047619047619047,0.34210526315789475,0.266839378238342,0.1984732824427481,0.12254901960784313,0.15789473684210525 291 | Nptx2,0.18556701030927836,0.12727272727272726,0.47619047619047616,0.18421052631578946,0.18911917098445596,0.12213740458015267,0.16176470588235295,0.16842105263157894 292 | Npy,0.35051546391752575,0.18181818181818182,0.11904761904761904,0.13157894736842105,0.844559585492228,0.7022900763358778,0.2696078431372549,0.22105263157894736 293 | Nrn1,0.20618556701030927,0.2909090909090909,0.7619047619047619,0.5263157894736842,0.22020725388601037,0.2748091603053435,0.22549019607843138,0.29473684210526313 294 | Nrsn2,0.7731958762886598,0.43636363636363634,0.5238095238095238,0.39473684210526316,0.8730569948186528,0.549618320610687,0.31862745098039214,0.22105263157894736 295 | Ntsr2,0.4536082474226804,0.4,0.4523809523809524,0.3684210526315789,0.4481865284974093,0.4198473282442748,0.38235294117647056,0.35789473684210527 296 | Nwd1,0.30927835051546393,0.32727272727272727,0.19047619047619047,0.18421052631578946,0.36787564766839376,0.3053435114503817,0.25980392156862747,0.25263157894736843 297 | Nwd2,0.5154639175257731,0.2727272727272727,0.8095238095238095,0.3157894736842105,0.45595854922279794,0.2824427480916031,0.4852941176470588,0.3157894736842105 298 | Nxph1,0.9690721649484536,0.5818181818181818,0.21428571428571427,0.18421052631578946,0.9637305699481865,0.7175572519083969,0.3284313725490196,0.17894736842105263 299 | Nxph2,0.1958762886597938,0.09090909090909091,0.047619047619047616,0.0,0.22020725388601037,0.07633587786259542,0.03431372549019608,0.05263157894736842 300 | Nxph3,0.030927835051546393,0.03636363636363636,0.05952380952380952,0.07894736842105263,0.04145077720207254,0.022900763358778626,0.029411764705882353,0.042105263157894736 301 | Nxph4,0.010309278350515464,0.03636363636363636,0.03571428571428571,0.02631578947368421,0.010362694300518135,0.022900763358778626,0.029411764705882353,0.042105263157894736 302 | Olfml3,0.1958762886597938,0.18181818181818182,0.19047619047619047,0.21052631578947367,0.2616580310880829,0.22900763358778625,0.22058823529411764,0.2631578947368421 303 | Olig1,0.26804123711340205,0.34545454545454546,0.2857142857142857,0.3157894736842105,0.28756476683937826,0.2900763358778626,0.16666666666666666,0.30526315789473685 304 | Olig2,0.09278350515463918,0.10909090909090909,0.09523809523809523,0.07894736842105263,0.07253886010362694,0.09923664122137404,0.029411764705882353,0.05263157894736842 305 | Opalin,0.030927835051546393,0.05454545454545454,0.03571428571428571,0.02631578947368421,0.04922279792746114,0.061068702290076333,0.0196078431372549,0.06315789473684211 306 | Oprm1,0.16494845360824742,0.12727272727272726,0.39285714285714285,0.15789473684210525,0.4585492227979275,0.1984732824427481,0.3284313725490196,0.16842105263157894 307 | Ovol2,0.041237113402061855,0.05454545454545454,0.23809523809523808,0.07894736842105263,0.04404145077720207,0.022900763358778626,0.14215686274509803,0.11578947368421053 308 | P2ry12,0.28865979381443296,0.23636363636363636,0.27380952380952384,0.39473684210526316,0.38860103626943004,0.37404580152671757,0.3137254901960784,0.3684210526315789 309 | P2ry13,0.08247422680412371,0.07272727272727272,0.10714285714285714,0.07894736842105263,0.12694300518134716,0.1450381679389313,0.10294117647058823,0.08421052631578947 310 | P2ry6,0.07216494845360824,0.09090909090909091,0.08333333333333333,0.15789473684210525,0.10880829015544041,0.1450381679389313,0.0784313725490196,0.09473684210526316 311 | Palmd,0.14432989690721648,0.07272727272727272,0.38095238095238093,0.23684210526315788,0.13212435233160622,0.08396946564885496,0.0784313725490196,0.08421052631578947 312 | Pamr1,0.05154639175257732,0.09090909090909091,0.5,0.2894736842105263,0.11398963730569948,0.05343511450381679,0.1323529411764706,0.09473684210526316 313 | Parm1,0.7216494845360825,0.43636363636363634,0.5357142857142857,0.34210526315789475,0.2849740932642487,0.17557251908396945,0.4362745098039216,0.3368421052631579 314 | Pcsk5,0.1958762886597938,0.14545454545454545,0.5833333333333334,0.34210526315789475,0.4689119170984456,0.2824427480916031,0.4264705882352941,0.35789473684210527 315 | Pde1a,0.3711340206185567,0.45454545454545453,0.8928571428571429,0.7368421052631579,0.8160621761658031,0.6335877862595419,0.38235294117647056,0.4 316 | Pdlim1,0.1134020618556701,0.07272727272727272,0.4642857142857143,0.2894736842105263,0.08808290155440414,0.11450381679389313,0.06372549019607843,0.021052631578947368 317 | Penk,0.07216494845360824,0.05454545454545454,0.011904761904761904,0.05263157894736842,0.13471502590673576,0.061068702290076333,0.7401960784313726,0.631578947368421 318 | Phldb1,0.4536082474226804,0.2909090909090909,0.30952380952380953,0.3684210526315789,0.5103626943005182,0.32061068702290074,0.39705882352941174,0.30526315789473685 319 | Pla2g16,0.18556701030927836,0.2727272727272727,0.15476190476190477,0.15789473684210525,0.21761658031088082,0.20610687022900764,0.12745098039215685,0.17894736842105263 320 | Pla2g7,0.5154639175257731,0.38181818181818183,0.35714285714285715,0.3157894736842105,0.5103626943005182,0.4580152671755725,0.25980392156862747,0.3684210526315789 321 | Plcd4,0.4845360824742268,0.45454545454545453,0.42857142857142855,0.5789473684210527,0.5207253886010362,0.4122137404580153,0.37254901960784315,0.4631578947368421 322 | Plcxd2,0.41237113402061853,0.2545454545454545,0.5476190476190477,0.39473684210526316,0.28756476683937826,0.22137404580152673,0.4166666666666667,0.37894736842105264 323 | Pld4,0.12371134020618557,0.10909090909090909,0.23809523809523808,0.15789473684210525,0.16062176165803108,0.183206106870229,0.14215686274509803,0.15789473684210525 324 | Plekhb1,0.5463917525773195,0.5636363636363636,0.5,0.5,0.694300518134715,0.6412213740458015,0.46078431372549017,0.5368421052631579 325 | Pllp,0.26804123711340205,0.14545454545454545,0.15476190476190477,0.15789473684210525,0.38082901554404147,0.29770992366412213,0.28921568627450983,0.16842105263157894 326 | Plp1,0.7319587628865979,0.7636363636363637,0.6785714285714286,0.7631578947368421,0.7305699481865285,0.732824427480916,0.6911764705882353,0.6526315789473685 327 | Plxnb3,0.05154639175257732,0.0,0.07142857142857142,0.10526315789473684,0.06217616580310881,0.04580152671755725,0.03431372549019608,0.031578947368421054 328 | Pou3f1,0.13402061855670103,0.10909090909090909,0.35714285714285715,0.34210526315789475,0.09844559585492228,0.11450381679389313,0.12745098039215685,0.11578947368421053 329 | Pou3f2,0.15463917525773196,0.18181818181818182,0.47619047619047616,0.2631578947368421,0.18393782383419688,0.22137404580152673,0.2549019607843137,0.21052631578947367 330 | Ppap2b,0.4329896907216495,0.5272727272727272,0.47619047619047616,0.5263157894736842,0.4896373056994819,0.5038167938931297,0.35784313725490197,0.5052631578947369 331 | Ppp1r1b,0.2268041237113402,0.32727272727272727,0.4166666666666667,0.3157894736842105,0.17875647668393782,0.183206106870229,0.16176470588235295,0.25263157894736843 332 | Ppp1r3g,0.08247422680412371,0.16363636363636364,0.15476190476190477,0.07894736842105263,0.14766839378238342,0.1450381679389313,0.08333333333333333,0.16842105263157894 333 | Prdm8,0.25773195876288657,0.16363636363636364,0.30952380952380953,0.3157894736842105,0.16062176165803108,0.08396946564885496,0.20098039215686275,0.16842105263157894 334 | Prkcg,0.5360824742268041,0.34545454545454546,0.8690476190476191,0.7368421052631579,0.9326424870466321,0.6564885496183206,0.4950980392156863,0.4105263157894737 335 | Prox1,0.13402061855670103,0.05454545454545454,0.05952380952380952,0.21052631578947367,0.05958549222797927,0.030534351145038167,0.8431372549019608,0.6 336 | Prss12,0.14432989690721648,0.03636363636363636,0.39285714285714285,0.2631578947368421,0.12694300518134716,0.04580152671755725,0.07352941176470588,0.10526315789473684 337 | Prss23,0.6804123711340206,0.2727272727272727,0.047619047619047616,0.07894736842105263,0.06217616580310881,0.030534351145038167,0.029411764705882353,0.042105263157894736 338 | Ptgds,0.4329896907216495,0.5454545454545454,0.5119047619047619,0.6052631578947368,0.4585492227979275,0.4580152671755725,0.4950980392156863,0.5157894736842106 339 | Pthlh,0.31958762886597936,0.14545454545454545,0.011904761904761904,0.02631578947368421,0.02072538860103627,0.022900763358778626,0.6813725490196079,0.4105263157894737 340 | Ptk2b,0.4329896907216495,0.509090909090909,0.8571428571428571,0.8947368421052632,0.6709844559585493,0.7022900763358778,0.6470588235294118,0.6631578947368421 341 | Ptpn18,0.23711340206185566,0.16363636363636364,0.23809523809523808,0.34210526315789475,0.2927461139896373,0.22900763358778625,0.23529411764705882,0.22105263157894736 342 | Ptprz1,0.4742268041237113,0.4727272727272727,0.4166666666666667,0.4473684210526316,0.6010362694300518,0.5190839694656488,0.8627450980392157,0.5684210526315789 343 | Pvalb,0.9896907216494846,0.7090909090909091,0.15476190476190477,0.21052631578947367,0.29533678756476683,0.31297709923664124,0.17647058823529413,0.23157894736842105 344 | Pvrl3,0.5051546391752577,0.3090909090909091,0.5119047619047619,0.4473684210526316,0.33678756476683935,0.2748091603053435,0.6127450980392157,0.4421052631578947 345 | Rab26,0.18556701030927836,0.12727272727272726,0.6309523809523809,0.3684210526315789,0.25906735751295334,0.1297709923664122,0.25,0.15789473684210525 346 | Rab3b,0.8865979381443299,0.5636363636363636,0.4880952380952381,0.42105263157894735,0.961139896373057,0.7557251908396947,0.553921568627451,0.37894736842105264 347 | Rai14,0.07216494845360824,0.01818181818181818,0.19047619047619047,0.02631578947368421,0.09585492227979274,0.030534351145038167,0.22549019607843138,0.10526315789473684 348 | Ramp3,0.18556701030927836,0.16363636363636364,0.09523809523809523,0.07894736842105263,0.04922279792746114,0.03816793893129771,0.049019607843137254,0.09473684210526316 349 | Rasal1,0.13402061855670103,0.12727272727272726,0.6071428571428571,0.2894736842105263,0.19430051813471502,0.15267175572519084,0.14705882352941177,0.25263157894736843 350 | Rasgrf2,0.9072164948453608,0.7090909090909091,0.7023809523809523,0.3684210526315789,0.9041450777202072,0.6564885496183206,0.7107843137254902,0.6526315789473685 351 | Rasgrp1,0.6701030927835051,0.41818181818181815,0.8809523809523809,0.631578947368421,0.6373056994818653,0.4351145038167939,0.38235294117647056,0.3684210526315789 352 | Rasl10a,0.16494845360824742,0.16363636363636364,0.17857142857142858,0.18421052631578946,0.16062176165803108,0.15267175572519084,0.22058823529411764,0.14736842105263157 353 | Rbm24,0.4845360824742268,0.2,0.6904761904761905,0.5263157894736842,0.23575129533678757,0.11450381679389313,0.07352941176470588,0.08421052631578947 354 | Rbp4,0.4742268041237113,0.2545454545454545,0.7023809523809523,0.2894736842105263,0.8419689119170984,0.48091603053435117,0.29411764705882354,0.14736842105263157 355 | Reln,0.4329896907216495,0.21818181818181817,0.4523809523809524,0.21052631578947367,0.8341968911917098,0.48091603053435117,0.3382352941176471,0.17894736842105263 356 | Rgs10,0.5360824742268041,0.45454545454545453,0.5714285714285714,0.6842105263157895,0.5906735751295337,0.5648854961832062,0.8725490196078431,0.7894736842105263 357 | Rgs14,0.09278350515463918,0.09090909090909091,0.20238095238095238,0.2631578947368421,0.07253886010362694,0.07633587786259542,0.09803921568627451,0.11578947368421053 358 | Rgs8,0.15463917525773196,0.23636363636363636,0.10714285714285714,0.21052631578947367,0.31865284974093266,0.2748091603053435,0.7401960784313726,0.5157894736842106 359 | Rhog,0.2268041237113402,0.23636363636363636,0.23809523809523808,0.23684210526315788,0.37305699481865284,0.2595419847328244,0.20588235294117646,0.25263157894736843 360 | Rims3,0.30927835051546393,0.2909090909090909,0.40476190476190477,0.3157894736842105,0.7124352331606217,0.4580152671755725,0.6176470588235294,0.6210526315789474 361 | Rnase4,0.24742268041237114,0.34545454545454546,0.2619047619047619,0.18421052631578946,0.3316062176165803,0.31297709923664124,0.2107843137254902,0.24210526315789474 362 | Rorb,0.4329896907216495,0.43636363636363634,0.5952380952380952,0.5789473684210527,0.4274611398963731,0.37404580152671757,0.47058823529411764,0.47368421052631576 363 | Rpp25,0.6907216494845361,0.2909090909090909,0.08333333333333333,0.10526315789473684,0.7616580310880829,0.46564885496183206,0.6421568627450981,0.3473684210526316 364 | Rprm,0.061855670103092786,0.09090909090909091,0.15476190476190477,0.2631578947368421,0.05699481865284974,0.061068702290076333,0.1323529411764706,0.16842105263157894 365 | Rprml,0.2268041237113402,0.18181818181818182,0.8452380952380952,0.631578947368421,0.25129533678756477,0.24427480916030533,0.16176470588235295,0.25263157894736843 366 | Rspo1,0.05154639175257732,0.09090909090909091,0.03571428571428571,0.02631578947368421,0.03367875647668394,0.030534351145038167,0.16176470588235295,0.1368421052631579 367 | Rtn4r,0.13402061855670103,0.05454545454545454,0.7619047619047619,0.39473684210526316,0.10621761658031088,0.0916030534351145,0.24509803921568626,0.23157894736842105 368 | Rtn4rl1,0.8350515463917526,0.34545454545454546,0.6309523809523809,0.5263157894736842,0.5414507772020726,0.35877862595419846,0.3284313725490196,0.25263157894736843 369 | Rtn4rl2,0.13402061855670103,0.09090909090909091,0.5714285714285714,0.42105263157894735,0.14507772020725387,0.0916030534351145,0.09313725490196079,0.12631578947368421 370 | S100a1,0.5670103092783505,0.6,0.5833333333333334,0.631578947368421,0.6139896373056994,0.6183206106870229,0.5196078431372549,0.6210526315789474 371 | S100a13,0.4020618556701031,0.5636363636363636,0.4523809523809524,0.5,0.4637305699481865,0.4961832061068702,0.3431372549019608,0.4421052631578947 372 | S100a16,0.4845360824742268,0.7454545454545455,0.44047619047619047,0.6052631578947368,0.48704663212435234,0.5343511450381679,0.4019607843137255,0.49473684210526314 373 | S1pr1,0.23711340206185566,0.36363636363636365,0.23809523809523808,0.2631578947368421,0.32124352331606215,0.37404580152671757,0.21568627450980393,0.3684210526315789 374 | Satb1,0.9587628865979382,0.6727272727272727,0.9166666666666666,0.6052631578947368,0.966321243523316,0.7175572519083969,0.6323529411764706,0.6105263157894737 375 | Satb2,0.3402061855670103,0.45454545454545453,0.9523809523809523,0.6842105263157895,0.36787564766839376,0.40458015267175573,0.43137254901960786,0.45263157894736844 376 | Scube1,0.16494845360824742,0.2545454545454545,0.7261904761904762,0.3684210526315789,0.13730569948186527,0.11450381679389313,0.09803921568627451,0.16842105263157894 377 | Sdc4,0.21649484536082475,0.2545454545454545,0.19047619047619047,0.18421052631578946,0.22538860103626943,0.2595419847328244,0.16666666666666666,0.16842105263157894 378 | Selplg,0.35051546391752575,0.4,0.36904761904761907,0.42105263157894735,0.422279792746114,0.4351145038167939,0.3382352941176471,0.30526315789473685 379 | Sema3c,0.08247422680412371,0.10909090909090909,0.16666666666666666,0.18421052631578946,0.16580310880829016,0.12213740458015267,0.5784313725490197,0.3473684210526316 380 | Sema3e,0.6391752577319587,0.6181818181818182,0.7857142857142857,0.6842105263157895,0.6398963730569949,0.5038167938931297,0.7058823529411765,0.5894736842105263 381 | Sepp1,0.5257731958762887,0.5454545454545454,0.4166666666666667,0.5526315789473685,0.5103626943005182,0.5877862595419847,0.3627450980392157,0.5157894736842106 382 | Serinc2,0.041237113402061855,0.10909090909090909,0.2261904761904762,0.10526315789473684,0.05699481865284974,0.03816793893129771,0.03431372549019608,0.021052631578947368 383 | Siglech,0.38144329896907214,0.2727272727272727,0.23809523809523808,0.3157894736842105,0.32642487046632124,0.29770992366412213,0.27450980392156865,0.3157894736842105 384 | Slc17a6,0.061855670103092786,0.16363636363636364,0.11904761904761904,0.05263157894736842,0.07253886010362694,0.07633587786259542,0.09803921568627451,0.12631578947368421 385 | Slc17a7,0.44329896907216493,0.43636363636363634,0.9642857142857143,0.8947368421052632,0.4637305699481865,0.4351145038167939,0.38235294117647056,0.47368421052631576 386 | Slc1a3,0.6185567010309279,0.7272727272727273,0.4642857142857143,0.5526315789473685,0.6502590673575129,0.6793893129770993,0.5196078431372549,0.6842105263157895 387 | Slc25a18,0.5670103092783505,0.36363636363636365,0.44047619047619047,0.34210526315789475,0.6373056994818653,0.4580152671755725,0.37745098039215685,0.4631578947368421 388 | Slc26a4,0.12371134020618557,0.09090909090909091,0.4166666666666667,0.23684210526315788,0.06994818652849741,0.07633587786259542,0.0784313725490196,0.05263157894736842 389 | Slc30a3,0.7525773195876289,0.509090909090909,0.5476190476190477,0.5526315789473685,0.8575129533678757,0.5419847328244275,0.3872549019607843,0.3263157894736842 390 | Slc32a1,0.8041237113402062,0.38181818181818183,0.0,0.02631578947368421,0.8393782383419689,0.5267175572519084,0.7254901960784313,0.4105263157894737 391 | Slc38a3,0.07216494845360824,0.18181818181818182,0.11904761904761904,0.21052631578947367,0.16839378238341968,0.13740458015267176,0.08823529411764706,0.10526315789473684 392 | Slc39a12,0.16494845360824742,0.2,0.21428571428571427,0.18421052631578946,0.13730569948186527,0.1450381679389313,0.12745098039215685,0.12631578947368421 393 | Slc6a1,1.0,0.7818181818181819,0.20238095238095238,0.34210526315789475,0.9792746113989638,0.8473282442748091,0.9166666666666666,0.7263157894736842 394 | Slc7a10,0.1134020618556701,0.16363636363636364,0.21428571428571427,0.21052631578947367,0.18911917098445596,0.1297709923664122,0.10294117647058823,0.09473684210526316 395 | Slco1c1,0.09278350515463918,0.12727272727272726,0.05952380952380952,0.18421052631578946,0.10103626943005181,0.061068702290076333,0.14215686274509803,0.07368421052631578 396 | Slco2b1,0.061855670103092786,0.05454545454545454,0.08333333333333333,0.05263157894736842,0.15803108808290156,0.1297709923664122,0.11274509803921569,0.11578947368421053 397 | Sorcs1,0.44329896907216493,0.4909090909090909,0.9166666666666666,0.7368421052631579,0.4844559585492228,0.48854961832061067,0.9068627450980392,0.7368421052631579 398 | Sorcs3,0.422680412371134,0.3090909090909091,0.5833333333333334,0.34210526315789475,0.43523316062176165,0.32061068702290074,0.9607843137254902,0.6526315789473685 399 | Sox10,0.10309278350515463,0.18181818181818182,0.05952380952380952,0.05263157894736842,0.08808290155440414,0.061068702290076333,0.05392156862745098,0.08421052631578947 400 | Sox6,0.9175257731958762,0.6181818181818182,0.32142857142857145,0.5,0.927461139896373,0.5648854961832062,0.29411764705882354,0.28421052631578947 401 | Sox9,0.31958762886597936,0.4,0.4642857142857143,0.34210526315789475,0.33419689119170987,0.31297709923664124,0.23039215686274508,0.29473684210526313 402 | Spi1,0.23711340206185566,0.38181818181818183,0.40476190476190477,0.5263157894736842,0.36787564766839376,0.366412213740458,0.3382352941176471,0.4631578947368421 403 | Sst,0.20618556701030927,0.16363636363636364,0.14285714285714285,0.18421052631578946,0.9585492227979274,0.7862595419847328,0.1323529411764706,0.16842105263157894 404 | Sstr2,0.1134020618556701,0.03636363636363636,0.39285714285714285,0.18421052631578946,0.07253886010362694,0.030534351145038167,0.1323529411764706,0.08421052631578947 405 | Sulf1,0.23711340206185566,0.2909090909090909,0.34523809523809523,0.42105263157894735,0.24870466321243523,0.2366412213740458,0.2647058823529412,0.28421052631578947 406 | Sv2b,0.31958762886597936,0.34545454545454546,0.9047619047619048,0.6052631578947368,0.37823834196891193,0.3282442748091603,0.29901960784313725,0.42105263157894735 407 | Synpr,0.28865979381443296,0.4,0.34523809523809523,0.39473684210526316,0.9507772020725389,0.6564885496183206,0.9509803921568627,0.7684210526315789 408 | Syt17,0.5257731958762887,0.2727272727272727,0.3333333333333333,0.2631578947368421,0.23575129533678757,0.17557251908396945,0.4117647058823529,0.37894736842105264 409 | Syt6,0.09278350515463918,0.07272727272727272,0.047619047619047616,0.07894736842105263,0.31865284974093266,0.1984732824427481,0.2647058823529412,0.15789473684210525 410 | Tac1,0.4536082474226804,0.21818181818181817,0.08333333333333333,0.02631578947368421,0.07253886010362694,0.05343511450381679,0.024509803921568627,0.031578947368421054 411 | Tac2,0.010309278350515464,0.07272727272727272,0.011904761904761904,0.02631578947368421,0.015544041450777202,0.007633587786259542,0.4411764705882353,0.4631578947368421 412 | Tbr1,0.15463917525773196,0.18181818181818182,0.39285714285714285,0.2894736842105263,0.19948186528497408,0.1297709923664122,0.15196078431372548,0.18947368421052632 413 | Tcap,0.4845360824742268,0.23636363636363636,0.023809523809523808,0.05263157894736842,0.046632124352331605,0.015267175572519083,0.029411764705882353,0.021052631578947368 414 | Tcrb,0.3402061855670103,0.2909090909090909,0.4880952380952381,0.34210526315789475,0.5181347150259067,0.2900763358778626,0.4166666666666667,0.29473684210526313 415 | Tekt5,0.08247422680412371,0.01818181818181818,0.10714285714285714,0.05263157894736842,0.04145077720207254,0.03816793893129771,0.06372549019607843,0.021052631578947368 416 | Tesc,0.35051546391752575,0.21818181818181817,0.40476190476190477,0.2894736842105263,0.30310880829015546,0.2900763358778626,0.3137254901960784,0.3157894736842105 417 | Tiam2,0.6597938144329897,0.2909090909090909,0.7619047619047619,0.39473684210526316,0.6683937823834197,0.33587786259541985,0.28921568627450983,0.2736842105263158 418 | Tlcd1,0.12371134020618557,0.14545454545454545,0.11904761904761904,0.13157894736842105,0.14766839378238342,0.15267175572519084,0.07352941176470588,0.09473684210526316 419 | Tmem119,0.15463917525773196,0.2,0.17857142857142858,0.15789473684210525,0.2538860103626943,0.2366412213740458,0.19117647058823528,0.2 420 | Tmem132c,0.9175257731958762,0.41818181818181815,0.2619047619047619,0.18421052631578946,0.5569948186528497,0.2824427480916031,0.23039215686274508,0.16842105263157894 421 | Tmem163,0.23711340206185566,0.2727272727272727,0.6071428571428571,0.23684210526315788,0.23056994818652848,0.1297709923664122,0.23039215686274508,0.21052631578947367 422 | Tmem200a,0.24742268041237114,0.18181818181818182,0.5595238095238095,0.2894736842105263,0.23575129533678757,0.10687022900763359,0.5882352941176471,0.3263157894736842 423 | Tmem40,0.05154639175257732,0.03636363636363636,0.07142857142857142,0.02631578947368421,0.03626943005181347,0.04580152671755725,0.049019607843137254,0.010526315789473684 424 | Tmem88b,0.12371134020618557,0.07272727272727272,0.17857142857142858,0.07894736842105263,0.14507772020725387,0.07633587786259542,0.11274509803921569,0.08421052631578947 425 | Tmem91,0.4845360824742268,0.2545454545454545,0.6547619047619048,0.2894736842105263,0.8626943005181347,0.5190839694656488,0.36764705882352944,0.23157894736842105 426 | Tox,0.3711340206185567,0.3090909090909091,0.8095238095238095,0.3684210526315789,0.7616580310880829,0.4351145038167939,0.3235294117647059,0.25263157894736843 427 | Trem2,0.28865979381443296,0.2545454545454545,0.2619047619047619,0.34210526315789475,0.3290155440414508,0.366412213740458,0.29901960784313725,0.3157894736842105 428 | Trf,0.4020618556701031,0.3090909090909091,0.40476190476190477,0.2894736842105263,0.4637305699481865,0.3969465648854962,0.29901960784313725,0.4 429 | Trhde,0.5257731958762887,0.2909090909090909,0.7738095238095238,0.47368421052631576,0.9093264248704663,0.48091603053435117,0.7107843137254902,0.5473684210526316 430 | Tsc22d4,0.8350515463917526,0.7272727272727273,0.6190476190476191,0.5789473684210527,0.7772020725388601,0.6717557251908397,0.5784313725490197,0.5894736842105263 431 | Txnip,0.16494845360824742,0.09090909090909091,0.08333333333333333,0.07894736842105263,0.10621761658031088,0.07633587786259542,0.07352941176470588,0.031578947368421054 432 | Tyrobp,0.5773195876288659,0.45454545454545453,0.4523809523809524,0.47368421052631576,0.5569948186528497,0.6030534351145038,0.4950980392156863,0.49473684210526314 433 | Ugt8a,0.14432989690721648,0.16363636363636364,0.21428571428571427,0.13157894736842105,0.15284974093264247,0.1297709923664122,0.1568627450980392,0.2 434 | Unc5d,0.9175257731958762,0.7090909090909091,0.7976190476190477,0.5789473684210527,0.7150259067357513,0.5190839694656488,0.4803921568627451,0.5578947368421052 435 | Unc93b1,0.24742268041237114,0.2545454545454545,0.23809523809523808,0.2894736842105263,0.25129533678756477,0.25190839694656486,0.1715686274509804,0.24210526315789474 436 | Vcam1,0.6804123711340206,0.8363636363636363,0.8333333333333334,0.8157894736842105,0.616580310880829,0.8244274809160306,0.5931372549019608,0.7473684210526316 437 | Vip,0.020618556701030927,0.03636363636363636,0.07142857142857142,0.02631578947368421,0.025906735751295335,0.030534351145038167,0.9754901960784313,0.9368421052631579 438 | Whrn,0.4742268041237113,0.2545454545454545,0.39285714285714285,0.2631578947368421,0.5932642487046632,0.3053435114503817,0.25,0.17894736842105263 439 | Wif1,0.7422680412371134,0.7090909090909091,0.6785714285714286,0.7368421052631579,0.616580310880829,0.5572519083969466,0.6666666666666666,0.8105263157894737 440 | Wscd1,0.5257731958762887,0.32727272727272727,0.21428571428571427,0.2631578947368421,0.582901554404145,0.366412213740458,0.2549019607843137,0.21052631578947367 441 | Zcchc12,0.29896907216494845,0.14545454545454545,0.13095238095238096,0.2631578947368421,0.8626943005181347,0.5267175572519084,0.6911764705882353,0.5368421052631579 442 | Zfp36,0.29896907216494845,0.2,0.16666666666666666,0.2631578947368421,0.39896373056994816,0.2824427480916031,0.18627450980392157,0.17894736842105263 443 | Zfp536,0.9278350515463918,0.6545454545454545,0.2976190476190476,0.2894736842105263,0.8316062176165803,0.549618320610687,0.9558823529411765,0.7052631578947368 444 | Zfp804a,0.9175257731958762,0.5272727272727272,0.5952380952380952,0.47368421052631576,0.6994818652849741,0.366412213740458,0.9117647058823529,0.631578947368421 445 | Zfpm2,0.7628865979381443,0.7636363636363637,0.7857142857142857,0.7105263157894737,0.6917098445595855,0.648854961832061,0.7058823529411765,0.7473684210526316 446 | sample_id,,,,,,,, 447 | -------------------------------------------------------------------------------- /manuscript_data/Patchseq_QC_for_methods_paper.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Patch-seq QC assessment for manuscript" 3 | output: html_notebook 4 | --- 5 | 6 | Use the package patchSeqQC to assign QC scores (and in particular a contamination score) for each cell. To do this, we load the patchSeqQC library and then follow the relevant aspects of the tutorial here: https://github.com/PavlidisLab/patchSeqQC. The basic idea is as follows: (1) define markers for different broad classes, (2) determine expression of these genes in a reference data set, and (3) see how these genes are expressed in patch-seq data to assess contamination. The advantage of this method is it can be done independent of cluster calls, so long as you have a reliable set of marker genes for different broad classes. This requires both FACS and Patch-seq data to run. 7 | 8 | It is important to note that this analysis is based almost entirely on the the Shreejoy Trapathy's `patchSeqQC` library linked above, and which has now been published here: https://www.frontiersin.org/articles/10.3389/fnmol.2018.00363/full. Please be sure to cite this paper! 9 | 10 | ```{r setup, include=FALSE} 11 | knitr::opts_chunk$set(echo = TRUE) 12 | ``` 13 | 14 | First load the required libraries and set the working directory. (NOTE: Probably most of these aren't actually needed) 15 | 16 | ```{r load_libraries} 17 | suppressPackageStartupMessages({ 18 | library(feather) 19 | library(dplyr) 20 | library(bindrcpp) 21 | library(viridisLite) 22 | library(ggplot2) 23 | library(mfishtools) # devtools::install_github("AllenInstitute/mfishtools") 24 | library(patchseqtools) # devtools::install_github("AllenInstitute/patchseqtools") 25 | library(patchSeqQC) # devtools::install_github('PavlidisLab/patchSeqQC') 26 | library(scrattch.io) # devtools::install_github("AllenInstitute/scrattch.io") 27 | }) 28 | options(stringsAsFactors = FALSE) 29 | 30 | patchDir = "\\\\allen/programs/celltypes/workgroups/rnaseqanalysis/shiny/patch_seq/star/mouse_patchseq_VISp_20210403_collapsed40_cpm/" 31 | facsDir = "\\\\allen/programs/celltypes/workgroups/rnaseqanalysis/shiny/facs_seq/mouse_V1_ALM_20180520/" 32 | outputFolder = "\\\\allen/programs/celltypes/workgroups/hct/HCT_RNAseq/Jeremy/patchseq_analysis/mouse_IVSCC_methods_paper/" 33 | setwd(outputFolder) 34 | ``` 35 | 36 | Load and subsample the FACs data to 100 cells per cluster, excluding all ALM and outlier clusters. 37 | 38 | Note that the `anno.feather` and `data.feather` files for the FACS data below can be generated by following the `Code 1. Download and prepare the data` script in the `VENcelltypes` R library available here: https://github.com/AllenInstitute/L5_VEN. Just follow the instructions for mouse VISp (the other parts can be ignored). 39 | 40 | 41 | ```{r load FACS 1} 42 | # Read in the data --> NOTE, this can be generated from the website 43 | Samp.dat <- read_feather(paste(facsDir,"anno.feather",sep="")) 44 | Expr.dat <- feather(paste(facsDir,"data.feather",sep="")) # FPKM 45 | Samp.dat <- Samp.dat[match(Expr.dat$sample_id,Samp.dat$sample_id),] 46 | 47 | # Define a second annotation and data file with all VISp clusters 48 | ld <- sort(unique(Samp.dat$cluster_label)) 49 | useClust2 <- ld 50 | for (val in c("ALM","Batch Grouping","Doublet","High Intron","Low Quality")) 51 | useClust2 <- as.character(useClust2[!grepl(val,useClust2)]) 52 | kpSamp2 <- subsampleCells(Samp.dat$subclass_label,100) 53 | kpSamp2 <- kpSamp2&is.element(Samp.dat$cluster_label,useClust2) 54 | 55 | gc() 56 | ``` 57 | 58 | ```{r load FACS 2} 59 | annoFACs2 <- Samp.dat[kpSamp2,] 60 | datFACs2 <- as.matrix(Expr.dat[kpSamp2,names(Expr.dat)!="sample_id"]) 61 | rownames(datFACs2) <- annoFACs2$sample_id 62 | datFACs2 <- t(datFACs2) 63 | annoFACs2$subclass_label = make.names(annoFACs2$subclass_label) 64 | 65 | # Define class labels 66 | classBr <- annoFACs2$subclass_label 67 | classBr[annoFACs2$class_label!="Non-Neuronal"] = annoFACs2$class_label[annoFACs2$class_label!="Non-Neuronal"] 68 | classBr <- factor(classBr) 69 | clustersF <- factor(annoFACs2$subclass_label) 70 | 71 | gc() 72 | ``` 73 | 74 | 75 | Load the Patch-seq data and filter to only include those cells that will be used in the IVSCC methods manuscript. This includes cells from Vip, Pvalb, Sst, and Rbp4 Cre lines. 76 | 77 | ```{r load patchseq} 78 | # Read in the data 79 | Samp.datp <- read_feather(paste(patchDir,"anno.feather",sep="")) 80 | Expr.datp <- feather(paste(patchDir,"data.feather",sep="")) # FPKM 81 | Samp.datp <- Samp.datp[match(Expr.datp$sample_id,Samp.datp$sample_id),] 82 | 83 | # Read in sample subset and check to make sure they are all there 84 | cells_ivscc <- read.csv("cells_for_IVSCC_methods_all.csv") # "cells_for_IVSCC_methods.csv" 85 | print(c(length(as.character(cells_ivscc$specimen_id)),length(intersect(as.character(cells_ivscc$specimen_id),Samp.datp$spec_id_label)))) 86 | 87 | # Filter data 88 | kpSampP <- match(as.character(cells_ivscc$specimen_id),Samp.datp$spec_id_label) 89 | #1:dim(Samp.datp)[1] # is.element(Samp.datp$collection_label,c("Patch-seq Production","Patch-seq Pre-production")) # Use all cells 90 | 91 | annoPat_all<- Samp.datp[kpSampP,] 92 | annoPat_all$dendcluster_color = annoPat_all$cluster_color # I don't know why/if we need this line of code... 93 | datPat_all <- as.matrix(Expr.datp[kpSampP,names(Expr.datp)!="sample_id"]) 94 | rownames(datPat_all) <- annoPat_all$sample_id 95 | datPat_all <- t(datPat_all) 96 | 97 | gc() 98 | ``` 99 | 100 | 101 | Define marker genes for each broad class and contamination class (use 50 total for now). These are selected using some reasonable approach which involves a combination of median expression per class and proportion of cells per class expressing a given gene. The approach is specifically what was published in the `patchSeqQC` library, with the only difference being that the specific reference data set was changed to our mouse VISp/ALM data set. Here is the description of on and off markers: 'On markers, are genes that are highly expressed in the cell type of interest with enriched expression relative to other cell types. The second class, Off markers, are expected to be expressed at low levels in a given patch-seq cell type.' 102 | 103 | For this analysis, we build "on" markers by subclass, and "off" markers by subclass for Non-neuronal cells and by class for neuronal cells. This approximates what was done in Shreejoy's paper. 104 | 105 | ```{r define marker genes} 106 | markers <- defineClassMarkers(datFACs2,clustersF,classBr,numMarkers = 50) 107 | allMarkers <- unique(unlist(markers)) 108 | markerTable <- NULL 109 | for (i in 1:length(markers)) markerTable <- cbind(markerTable,markers[[i]]) 110 | colnames(markerTable) <- names(markers) 111 | write.csv(markers, paste0(outputFolder,"class_markers.csv"),row.names=FALSE) 112 | ``` 113 | 114 | 115 | Format the data for FACS and patch-seq. 116 | 117 | ```{r Format the data} 118 | # Format the data for FACS and patch-seq 119 | tmp <- datFACs2 120 | rownames(tmp) <- make.names(rownames(tmp)) 121 | facs_df <- as.data.frame(t(tmp[allMarkers,])+1) 122 | facs_df$sample_id <- rownames(facs_df) 123 | facs_df$major_type <- as.character(classBr) 124 | facs_df$contam_type <- as.character(clustersF) 125 | 126 | tmp <- datPat_all 127 | rownames(tmp) <- make.names(rownames(tmp)) 128 | pat_df <- as.data.frame(t(tmp[allMarkers,annoPat_all$sample_id])+1) 129 | pat_df$sample_id <- rownames(pat_df) 130 | ``` 131 | 132 | 133 | Define which subclass each patch-seq cell is assigned to, based on maximal marker expression. 134 | 135 | ```{r Calculate contamination} 136 | nm <- names(markers) 137 | isOn <- substr(nm,nchar(nm)-2,nchar(nm))=="_on" 138 | useThese <- nm[isOn&(!is.element(nm,paste0(nm,"_on")))] 139 | useThese <- setdiff(useThese,c("CR_on","Meis2_on")) # These types are rare and unlikely to be actually patched. 140 | subclassDat <- calcContamAllTypes(pat_df, markers[useThese]) # Identify subclass based on marker gene expression 141 | subclass <- colnames(subclassDat)[subclassDat %>% apply(1,which.max)] 142 | subclass <- gsub("_on","",subclass) 143 | 144 | pat_df$contam_type <- subclass 145 | tmp2 = match(pat_df$contam_type,annoFACs2$subclass_label) 146 | pat_df$major_type <- as.character(classBr)[tmp2] 147 | pat_df$contam_type <- paste0(pat_df$contam_type,"_on") 148 | ``` 149 | 150 | 151 | ### Calculate the QC metrics 152 | 153 | This is also a wrapper function for `patchSeqQC` which includes quality score, contamination score, and marker gene sum (both normalized and un-normalized). Here are some approximate definitions for these things: 154 | * norm_marker_sum - This is a measure of how much expression of expected marker genes are found in a patch-seq cell relative to what is seen in the FACs data from which the markers were derived (more detail below.) 155 | * contam_sum - the contamination index for cell c (of type A), reflects off-target contamination across multiple broad cell types 156 | * quality_score - "we correlated each patch-seq sample's expression of “on” and “off” marker genes with the average expression profile of dissociated cells of the same type' 157 | 158 | (Details on norm marker sum: "We summarized the expression of multiple cell type specific markers specific to cell type B (MarkersB), in a cell c of type A as: Mc_A, B=∑m∈MarkersBlog2(cm). Where cm denotes the normalized expression of marker gene m in cell c. We further used the dissociated-cell reference data to quantify how much marker expression of cell type B's markers one would typically expect in cells of type A as: dA_B=mediantypeA(Mc_A, B). Reflecting the median marker expression of cell type B's markers in dissociated cells of type A.") 159 | 160 | ```{r caclulate QC metrics} 161 | qcMetrics <- calculatePatchSeqQCMetrics2(pat_df,facs_df,markers) 162 | 163 | # We are using NMS score of 0.4 as a pass/fail call 164 | qcMetrics$QC_pass <- c(TRUE,FALSE)[(qcMetrics$marker_sum_norm<0.40)+1] 165 | ``` 166 | 167 | 168 | ### Plot subclass vs. NMS pass 169 | 170 | First group by NMS pass/fail. 171 | 172 | ```{r prep data for plot} 173 | # Merge sparse subclasses 174 | class2 <- subclass 175 | class2[is.element(class2,c("Serpinf1","Sncg","Lamp5"))] = "Inh_other" 176 | class2[is.element(class2,c("L2.3.IT","L6.CT","L6.IT","NP"))] = "Exc_other" 177 | class2 <- factor(class2,levels=c("Pvalb","Sst","Vip","Inh_other","L4","L5.IT","L5.PT","Exc_other")) 178 | geno <- factor(cells_ivscc$Cre, levels=c("Pvalb","Sst","Vip","Rbp4")) 179 | 180 | datPlot <- data.frame(cell=annoPat_all$spec_id_label, 181 | NMS_pass=factor(qcMetrics$QC_pass,levels=c(TRUE,FALSE)), 182 | genotype=geno, 183 | subclass=class2) 184 | head(datPlot) 185 | ``` 186 | 187 | 188 | 189 | ```{r plot subclass assignments by NMS score, fig.width=7,fig.height=9} 190 | g1 <- ggplot(datPlot, aes(x= subclass, group=NMS_pass)) + 191 | geom_bar(aes(y = ..prop.., fill = factor(..x..)), stat="count") + 192 | geom_text(aes( label = scales::percent(..prop..,accuracy = 0.1), 193 | y= ..prop.. ), stat= "count", size=3, vjust = -.5) + 194 | labs(y = "Percent", fill="subclass") + 195 | facet_grid(genotype ~ NMS_pass) + 196 | scale_y_continuous(labels = scales::percent, expand = expansion(mult = c(0,0.1), add = 0)) + 197 | scale_x_discrete(expand = expansion(add = 1)) + 198 | theme(axis.text.x = element_text(angle = 90)) 199 | g1 200 | ggsave("subclass_plot.pdf",height=9,width=8) 201 | ``` 202 | 203 | 204 | Now subset for GABA cells only and bin by 0.1 bins. 205 | 206 | ```{r prep data for plot GABA} 207 | kp <- (geno!="Rbp4") 208 | match <- as.character(geno)==as.character(class2) 209 | 210 | datPlot <- data.frame(cell=annoPat_all$spec_id_label, 211 | NMS_score=floor(10*qcMetrics$marker_sum_norm)/10, 212 | genotype=geno, 213 | match=match)[kp,] 214 | head(datPlot) 215 | 216 | tabPlot <- table(datPlot$NMS_score,datPlot$match,droplevels(datPlot$genotype)) 217 | for (i in 1:3) tabPlot[,,i] <- tabPlot[,,i]/rowSums(tabPlot[,,i]) 218 | write.csv(tabPlot[,2,],"heatmap_values.csv") 219 | ``` 220 | 221 | 222 | ```{r plot GABA results, fig.height=8,fig.width=5} 223 | out <- tabPlot[,2,] 224 | out <- out[dim(out)[1]:1,] 225 | col <- WGCNA::blueWhiteRed(50)[30:50] 226 | gplots::heatmap.2(out,scale="none", Rowv = NA, Colv=NA, col=col, cellnote=round(100*out), 227 | notecol="black",trace="none",notecex=0.7,margins=c(5,15)) 228 | pdf("subclass_heatmap.pdf") 229 | gplots::heatmap.2(out,scale="none", Rowv = NA, Colv=NA, col=col, cellnote=round(100*out), 230 | notecol="black",trace="none",notecex=0.7,margins=c(8,20)) 231 | dev.off() 232 | ``` 233 | 234 | ```{r session info} 235 | sessionInfo() 236 | ``` 237 | 238 | 239 | -------------------------------------------------------------------------------- /manuscript_data/class_markers.csv: -------------------------------------------------------------------------------- 1 | "Astro_on","CR_on","Endo_on","L2.3.IT_on","L4_on","L5.IT_on","L5.PT_on","L6.CT_on","L6.IT_on","L6b_on","Lamp5_on","Macrophage_on","Meis2_on","NP_on","Oligo_on","Peri_on","Pvalb_on","Serpinf1_on","SMC_on","Sncg_on","Sst_on","Vip_on","VLMC_on","Astro","Endo","GABAergic","Glutamatergic","Macrophage","Oligo","Peri","SMC","VLMC" 2 | "Gpr37l1","Ndnf","Ly6c1","Calb1","Rorb","Neurod6","Fam19a1","Crym","Neurod6","Cplx3","Npy","C1qb","Penk","Myl4","Olig1","Vtn","Tac1","Adarb2","Acta2","Htr3a","Sst","Vip","Dcn","Mlc1","AU021092","Dlx6os1","Gm11549","Fcrls","Sox10","Kcnj8","Aoc3","Slc22a6" 3 | "Cldn10","Trp73","Cldn5","Lamp5","Rspo1","Slc17a7","Fezf2","Rprm","Rasl10a","Ctgf","Gad1","Ctss","Scgn","Crym","Sox10","Higd1b","Pvalb","Gad1","Tagln","Cxcl14","Lhx6","Adarb2","Apod","Cyp4f15","Sox17","Dlx1as","Neurod6","Csf1r","Gjc3","LOC105244119","LOC105246387","Lum" 4 | "Gjb6","Reln","Ly6a","Fam19a1","Dkkl1","Nrn1","Lamp5","Foxp2","Nrn1","Nxph4","Hapln1","C1qc","Gad1","Tshz2","Pllp","Atp13a5","Cox6a2","Npy","Myl9","Npas1","Nxph1","Crh","Ptgds","Aqp4","Slc38a5","Gad2","Tbr1","Fcgr3","Ugt8a","Art3","Cnn1","Itih2" 5 | "Gja1","Lhx1os","Slco1a4","Myh7","Cbln4","Slc30a3","Pou3f1","Hs3st4","Igfbp6","Hs3st4","Gad2","C1qa","Frmd7","Lypd1","Gjc3","Kcnj8","Lhx6","Pnoc","Myh11","Adarb2","Rbp4","Penk","Slc6a13","Ppp1r3g","Tie1","Dlx5","Neurod2","Tyrobp","Fa2h","Abcc9","Tagln","Aox3" 6 | "Acsbg1","Gm27199","Eltd1","C730002L08Rik","Cpne9","Sv2b","Gm19410","Fezf2","Gm11549","Ly6g6e","Cplx3","Csf1r","Meis2","Fezf2","S100a16","Myl9","Nxph1","Gad2","Crip1","Sncg","Calb1","Dlx6os1","Vtn","Gm13325","Slc19a3","Slc32a1","Sv2b","Cx3cr1","Mog","Ace2","Pln","Aldh1a2" 7 | "S1pr1","Lhx5","Flt1","Igfbp6","Neurod6","Pamr1","Npr3","Tcrb","Bmp3","Tmem163","Lamp5","Fcer1g","Synpr","Nxph1","Cd9","Art3","Gad1","Dlx6os1","Tpm2","Tnfaip8l3","Grin3a","Gad1","Serping1","Grin2c","Sox18","Gm14204","Slc17a7","C1qb","Myrf","Atp13a5","Acta2","Dcn" 8 | "Slco1c1","Cacna2d2","Pglyrp1","Itpka","LOC101056001","Hs3st2","Chst8","Gm30620","Slc26a4","Nxph3","Dlx6os1","Tyrobp","Shisa8","Neurod6","Plp1","Sod3","Cort","Nov","Sncg","Dlx6os1","Gad2","Igf1","Igfbp2","Acsbg1","Ushbp1","Dlx1","LOC102634132","C1qc","Opalin","Pla1a","Pdlim3","Fam180a" 9 | "Ntsr2","Emx2","Abcb1a","Rgs14","Exph5","Kcnv1","Fam84b","Arhgap25","Col6a1","X3110035E14Rik","Adarb2","Fcgr3","Gad2","Nxph3","Cmtm5","Ndufa4l2","Crhbp","Igf1","Aspn","Pnoc","Gad1","Gad2","Igf2","Nwd1","Erg","Gad1","Itpka","C1qa","Nkx6.2","Gm36823","BC051019","Lama1" 10 | "Slc1a3","Syndig1l","Pltp","Neurod1","Krt12","Itpka","Adcyap1","X3110035E14Rik","C1ql3","Slc17a7","Kit","Fcrls","Th","Rprm","Ugt8a","P2ry14","Cartpt","Kcnip1","Slc38a11","Dlx1as","Lypd6","Synpr","Col1a2","Btbd17","Ptprb","Dlx2","Nptx1","AF251705","Bcas1","Pde4c","Myom1","Cyp1b1" 11 | "F3","Cd274","Slco1c1","Gpr88","Nrn1","Egr3","Crym","Col5a1","Slc17a7","Prss12","Pnoc","P2ry12","Sp8","Pamr1","Bcas1","Rgs5","Erbb4","Vip","Mustn1","Gad1","Npy","Prox1","Pcolce","Plcd4","Icam2","Pnoc","Kcnv1","Ctss","Gjb1","Ggt1","Fhl5","LOC100861618" 12 | "Slc7a10","Tbr1","Ctla2a","B230216N24Rik","Gm11549","Dkkl1","Gm11549","Neurod6","Rtn4rl2","Ipcef1","Erbb4","Laptm5","Ptpro","Meis2","Olig2","Ifitm1","Gad2","Dlx1as","Pdlim3","Sema3c","Synpr","Pthlh","Serpinf1","Slc25a18","Cldn5","Rpp25","Egr3","Fcer1g","Ermn","Saa1","Sncg","Slc13a4" 13 | "Mlc1","Calb2","Ptprb","Nrn1","Slc30a3","Krt12","Sv2b","Gm11549","Sv2b","Sv2b","Ngf","Cd53","Myo16","Nrn1","Fa2h","Abcc9","Gm13629","Erbb4","Pln","Egln3","Crhbp","Erbb4","Slc6a20a","Cldn10","Mecom","Kcnip1","LOC105246694","Emr1","Plp1","Saa2","Myh11","Kcnj13" 14 | "Mfge8","Tmem163","Srgn","Rasl10a","Egr3","Myl4","Meis2","Slc17a7","Bdnf","Pcsk5","Slc6a1","Ly86","Amigo2","Olfm3","Kcnj10","Cox4i2","Btbd11","Dlx1","Vim","Gad2","Lypd6b","Dlx1","Aldh1a2","Rmst","Pglyrp1","Cntnap5c","X9130024F11Rik","P2ry13","Gal3st1","Nodal","Myocd","Col1a1" 15 | "Aqp4","Nhlh2","Wfdc1","Rtn4rl2","Sv2b","Satb2","Itpka","Hs3st2","Gm2694","Drd1","Dlx1as","Cx3cr1","Gng4","Etv1","Gatm","Igfbp7","Kcnc2","Sp8","Des","Npy","Elfn1","Asic4","Cfh","Lcat","Tek","A530058N18Rik","Nrn1","Aif1","Hapln2","Trpc3","Ccdc3","Enpp1" 16 | "Bcan","Slc17a6","Pecam1","Kcnv1","Pamr1","Il1rapl2","Egr4","Ipcef1","Itpka","Cidea","Sema3c","Gpr34","Dlx5","Amigo2","Mog","Slc6a20a","Sox6","Tnfaip8l3","Ptrf","Igf1","Sox6","Calb2","Gjb2","Fgfr3","Eltd1","Htr3a","Dkkl1","Spi1","Cercam","X5033404E19Rik","Olfr78","Islr" 17 | "Pla2g7","Ebf3","Gpr116","Bdnf","Slc17a6","Rtn4r","Slc17a7","Ramp3","Kcnv1","Fezf2","Tnnt1","Aif1","Cpne6","Grp","Ptgds","Pla1a","A330050F15Rik","Synpr","Mylk","Kcnip1","Arx","LOC102632463","Ifitm3","Gm33002","Kdr","Sp8","Bdnf","Ly86","C030029H02Rik","Enpep","Palld","Gpr182" 18 | "Slc39a12","Fam159b","Id1","Meis2","Bdnf","LOC101056001","Parm1","Sv2b","Tesc","Hs3st2","Reln","Pld4","Pbx3","Cd24a","Cercam","Tm4sf1","Slc6a1","Rgs8","Tinagl1","Synpr","Mafb","Dlx1as","Efemp1","Slc7a10","Paqr5","Kcnmb2","Rtn4rl2","Trem2","Sec14l5","P2ry14","Nexn","Bmp6" 19 | "Hepacam","Dach1","Ifitm3","Sv2b","Coch","Rtn4rl2","Tmem163","Nptx1","X3110035E14Rik","Nptx1","Tnfaip8l3","Unc93b1","Lgr5","Gm11549","Cnp","Ifitm3","Kcnmb2","Sema3c","Filip1l","Lppr1","Rpp25","Cxcl14","Colec12","Etnppl","Robo4","Dlx6","Rtn4r","Gpr34","Mag","Stc1","Sh3bgr","Gjb2" 20 | "Lcat","Thsd7b","Paqr5","Slc17a7","Whrn","Gm11549","Bhlhe40","Tbr1","Rtn4r","Gm11549","Nxph1","X4632428N05Rik","Pcp4l1","Plcxd2","Plekhb1","Pdgfrb","Tcap","Necab2","Rbpms","Rgs12","Kcnip1","Fstl5","Gjb6","Phkg1","Abcb1a","Npy","Nefm","Pld4","Zfp488","Sod3","Fbxl22","Ptgdr" 21 | "Cmtm5","Cxcl12","Tek","Nefl","Igfn1","Nptx2","Rtn4rl2","Nrn1","Hs3st2","Atp6ap1l","Grik1","Trem2","Rpp25","Vwc2l","Hepacam","Mgp","Nog","E530001K10Rik","Mcam","Kctd12","Kctd8","Rpp25","Slc22a6","Nat8","Degs2","Cort","Lingo1","Selplg","Cldn11","Pth1r","Mustn1","Crabp2" 22 | "Fam107a","Ankrd35","Fn1","BC030499","Arc","Nefl","Gm2164","Syt6","Lingo1","Lhfpl3","Pde11a","Selplg","Grm2","Slc17a7","Mag","Hspb1","Cntnap4","Nt5dc2","Igfbp7","Cnr1","Cort","Slc6a1","Cped1","Mir6390","Gm694","Galntl6","Cecr6","Laptm5","St18","Ptpn22","Lmod1","Ccl19" 23 | "Ppap2b","Igsf9","Lsr","Gm11549","Rtn4r","X3110035E14Rik","Nefm","Gadd45a","Satb2","Gabra5","Crispld1","Rnase4","Dlx1","Slc17a8","S100a13","Mfge8","Arx","Enpp2","Gm13861","Cadps2","Rab3b","Slc32a1","Bgn","Entpd2","Cyyr1","Sp9","Emx1","Hpgds","Matn4","Ggt5","Lrrc10b","Serpinf1" 24 | "Dbx2","Tmem176b","Emcn","Gsg1l","Plcxd2","Nptx1","Gm19744","Rprml","Sema3e","Cckbr","Igf1","Ltc4s","X1700019L22Rik","Spon1","Gal3st1","Rarres2","Cntnap5c","Pcdh20","Hspb1","Npas3","Dlx5","Tac2","Lum","Ntsr2","Grrp1","A330050F15Rik","Satb2","Cd53","Plxnb3","LOC105246561","Marveld1","Efemp1" 25 | "Slc25a18","Fibin","Nostrin","Slc30a3","Adcyap1","Rprml","Gm34583","Ano3","Cdh9","Clic5","Ndnf","AF251705","Syt6","LOC105244376","Phldb1","Atp1a2","Slc32a1","Prox1","Mgp","Col25a1","Slc32a1","Adra1b","Sparc","Cbs","Pecam1","Btbd11","Ovol2","P2ry12","Ninj2","LOC105245647","Tpm2","Asgr1" 26 | "Slc38a3","Nr2f2","Itm2a","Syt17","Satb2","Tbr1","Nefl","Nxph3","Cck","Satb2","Slc32a1","Siglech","Adamts19","Mgat4c","S100a1","Gng11","Rbp4","Slc6a1","Serping1","Fgf1","Slc6a1","Zcchc12","Ogn","Chrdl1","Fgd5","Gjd2","Exph5","Cd86","X1700047M11Rik","Zbtb43","Jph2","Kl" 27 | "Btbd17","Nrn1","Anxa3","BC048546","Cux2","Ankrd33b","Rprml","Itpka","Nptx1","Gadd45a","Cox6a2","P2ry13","G630016G05Rik","Stard5","Trf","Cald1","Gpr176","Htr3a","Mfge8","Dlx5","Kcnc2","Sorcs3","Nupr1","Gldc","Podxl","Cox6a2","Rprml","Fcgr2b","Tmem88b","LOC105243058","Hspb2","Fbln5" 28 | "Tlcd1","Cxcr4","Sox18","Egr3","Neurod1","Cobl","Rbm24","Nefm","Ovol2","Tbr1","Parm1","Cyth4","Nrip3","Slit1","Cldn11","Slc38a11","Tmem132c","Tcerg1l","Lmod1","Pcdh20","Klf5","Grpr","Slc1a3","Bmpr1b","Ctla2a","Cntnap3","Ipcef1","Itgam","Gjc2","Gm36416","LOC105245211","Osr1" 29 | "Fgfr3","Cacna2d1","Icam2","Rtn4r","Slc17a7","Sstr2","Cdh8","Pdlim1","Mas1","Oprm1","Kcnip1","Emr1","Sp9","Tmem159","Ermn","Ppp1r14a","Gpr83","Cacng5","Gja4","A530058N18Rik","Npas1","Kcnip1","Atp1a2","Slc39a12","Ocln","BC030500","Neurod1","Hmha1","Neu4","Gm30316","Wtip","Slc6a13" 30 | "Atp1a2","Ramp1","Sparc","Lingo1","Fam19a1","Cd34","Tekt5","Serinc2","Igsf21","Pdlim1","Zfp536","Txnip","Gpsm1","Glra2","Myrf","Ace2","Mafb","Cd24a","S100a11","Fstl5","Reln","Cpne7","Gja1","Dbx2","X8430408G22Rik","Lhx6","Slc17a6","P2ry6","LOC105243044","Arhgap42","Gm3646","Col13a1" 31 | "Ptprz1","Clstn2","Klf2","Nwd2","Nefm","Gpr88","X3110035E14Rik","Nefl","Neurod2","X1700001L19Rik","Pld5","Trf","Calb2","Sla2","Tsc22d4","Atp2a3","Kcns3","Cnr1","Gng11","Tac2","Dlx1","Gm14204","Slc7a11","AI464131","Tmem252","Tnfaip8l3","Ntn5","Crybb1","Bfsp2","A630077J23Rik","Tgfb3","Mpzl2" 32 | "Sox9","Rec114","Hspb1","Tesc","Lingo1","Nefm","Etv1","Galnt9","Egr3","Ano3","Cpne7","Hpgds","Isoc1","Trpc3","Opalin","Aspn","Nek7","Luzp2","Mir143hg","Cck","Slc30a3","Rgs10","Prelp","Dio2","Rassf9","Crhbp","Ano3","Ltc4s","Tnni1","Rem1","Ntn4","Cmbl" 33 | "Mertk","Gm35209","Esam","Kctd4","Epha4","BC048546","Tmem200a","Grik3","Ak4","Aldh1b1","Trpc5","Zfp36","Dlx6os1","Cdh18","Mal","Colec12","Lpl","Gm14204","Ppp1r14a","Megf10","Tmem91","Cnr1","Slc13a4","Aldh1l1","Ly6c1","Ankrd55","Adcyap1","Csf3r","Tmem125","Ifitm1","Map3k7cl","Fbln7" 34 | "Mt2","Pou6f2","Id3","Lpl","Grm2","Lingo1","Ptk2b","Rab26","Rprml","Tmem40","Zmat4","Spi1","Pcp4","Lmo3","Grb14","Sparc","Kcnip2","Tuba8","Bcam","Rpp25","Zcchc12","Htr3a","Col1a1","Atp13a4","X4930578C19Rik","Tac2","Nefl","Tbxas1","Prima1","LOC105243485","Smim5","LOC105243928" 35 | "Vcam1","Mab21l1","S1pr1","Rtn4rl1","BC030499","Tcrb","Tox","Ptk2b","Tbr1","Scube1","Dlx5","Cyba","Ccdc109b","Rnf152","Enpp2","Ackr3","Prss23","Lppr1","Cald1","Kit","Grik3","Npas3","Foxc1","Slc4a4","Ccm2l","Npas1","Serinc2","Clec4a3","LOC105245679","Nr1h3","Tuba1c","Clec3b" 36 | "S100a16","Thrsp","Kdr","Gm34996","Cdh12","Neurod2","Reln","Myl4","Ipcef1","Kcnv1","Gm14204","Cd68","Fam184a","Trhr","Mobp","Rbpms","A530058N18Rik","Slc44a5","Hspb2","Necab2","Mkx","Zfp536","Vcam1","Acot11","Sigirr","Zcchc12","Nrgn","Siglech","Mobp","Sik1","Gm34439","Eya2" 37 | "Dio2","Lhx2","Epas1","Cckbr","LOC102634502","Ano3","Dcdc2a","Neurod2","Cpne5","Igfbp5","Adra1a","Fyb","Col6a1","Il11ra1","Gpr37","Epas1","Kcnab3","A530058N18Rik","Higd1b","Gm14204","Grik1","Kit","Olfml3","X2900052N01Rik","Foxq1","Adarb2","Lzts1","Tlr7","Prkcq","Tmem71","X2200002D01Rik","Msx1" 38 | "Gm13325","Bcl11a","Eng","Pvrl3","Itpka","Klf10","Nrn1","Igfbp4","Ano3","Neurod6","Dlx1","Sepp1","Kcnip1","Satb1","Nkx6.2","Cp","Fam19a2","Cpne7","Wtip","Dlx1","LOC105243425","Gpd1","S100a11","C030018K13Rik","Hspa12b","Crh","Dtl","Tnfaip8l2","Sgk2","Nts","Crispld2","Aebp1" 39 | "Cyp4f15","Cd24a","Lef1","Nefm","Prdm8","Car10","Galnt9","Ppp1r1b","Car12","Rab26","Lmo2","Hmha1","Atp2b4","Bcl11b","Aspa","Enpep","Lgals1","Slc32a1","Rgs5","Slc32a1","Trhde","Npas1","Cp","Id4","Sdpr","Synpr","Egr4","Cd37","Plekhh1","Naalad2","Gpr20","Igf2" 40 | "Daam2","Gm21283","Ocln","Gm12371","Crhr1","Rorb","Cdkl4","Mmp17","Ak5","Rprml","Klhl13","Tmem119","Dgkb","Adcy2","X1700047M11Rik","Gm13861","Nxph2","Serpinf1","Cd9","Rwdd3","Cntnap3","Zfp804a","Rbp1","Pdzph1","Slc16a4","Nrtn","Hs3st4","Fcgr1","LOC105245083","LOC105244729","Asb2","Svep1" 41 | "Atp13a4","Fat3","Tmem204","Ptk2b","Scube1","Cck","Pcsk5","Rasal1","Atp2b4","Neurod2","Necab2","Hpgd","Map3k1","Adora1","Tmem88b","Tagln2","Lrrc38","Rpp25","Pde3a","Nr2f2","Grm1","Ptprz1","Apoe","Gm973","Rnf125","Elfn1","Gpr26","Il10ra","Adamts4","Hmcn2","Olfr558","Col12a1" 42 | "Apoe","Twsg1","Ctsh","A830009L08Rik","Gfra2","Arc","Hs3st2","Zfpm2","Sstr2","Igsf21","Fgf13","Slco2b1","Sez6","Nrsn2","Gltp","Ifitm2","Gabrd","Zfp536","Tagln2","Col19a1","Lgals1","Sema3c","Itih5","Tst","Kank3","Pvalb","Rasl10a","Hpgd","Olig2","Ntn1","Ltbp1","Fibin" 43 | "Cxcl14","Angpt1","Igfbp7","LOC102634502","Unc5d","Galnt9","Mas1","Rasl10a","Cobl","Rai14","Bcl11b","Lyn","Hap1","Sema3e","Gjb1","Itga1","Coro6","Cck","Epas1","Btbd11","Cdh13","Dlx2","Aox3","Gdpd2","Nos3","Egln3","Rnf39","Cd33","Gpr37","Gm12906","C1s1","Kdelr3" 44 | "Plcd4","Cep112","Sepp1","Cux2","Pou3f2","Deptor","BC048546","Rasgrp1","Pdlim1","Tmem91","Sox2ot","Lpcat2","Rprml","Sv2b","Plxnb3","S1pr3","Dlx5","Dusp10","Olfr78","Erbb4","Satb1","A530058N18Rik","Ctsh","Mir135a.2","Slco1a4","LOC105242595","Crym","Clec4a2","Galnt6","Plxdc1","Des","LOC100534389" 45 | "Cbs","Pcp4","Cgnl1","Dusp18","Hspb3","Epha4","Igsf21","Klf10","Nefl","Klhdc8a","Arl4c","Ptpn18","Sall3","Cpne4","Arhgef10","Gjc1","Kcnip1","Rgs16","Sparc","Vip","Col19a1","Gm17750","Id3","Gli3","Mmrn2","Fstl5","X2010300C02Rik","Ncf1","Nipal4","Gm9199","LOC102636037","Bmp7" 46 | "Grin2c","Nxph4","Podxl","Atp6ap1l","Kcnv1","Dkk3","Sorcs1","Lamp5","Rasgrp1","Galnt9","Krt1","Ctsh","Trim17","Wscd1","X2810468N07Rik","Tmem204","Wif1","Sox1","Tm4sf1","Jam2","Mgat4c","Arl4c","Trf","Gabrg1","Zic3","Gpr176","BC048546","Cd84","A230009B12Rik","Cysltr2","Ntf3","Wnt6" 47 | "Ppp1r3g","Pkib","Prom1","C1ql3","Kcnh5","Pde1a","Bcl11b","Mctp1","Nnat","Sulf1","Dner","Crybb1","Gabra5","Neto2","Car14","Axl","Rab3b","Cntn4","Rasl12","Zcchc12","Npas3","Igsf3","Fcgrt","Ezr","Rab11fip1","Pde11a","Rasgrp1","Cyth4","Prr18","Ecm2","Tmem38b","Gm6209" 48 | "Sdc4","Nrg1","Tinagl1","Cobl","Dtl","Scube1","Tiam2","Adora1","Mmp17","Grik3","Rpp25","Olfml3","Pcbp3","Hs3st4","Cdc42ep1","Gper1","Galntl6","LOC102632463","Palld","Galnt14","Nrsn2","Galntl6","Timp3","Aldoc","Ly6a","Htr2c","Glt8d2","Cd300a","Nkain1","LOC105242655","X9530034E10Rik","Hcar1" 49 | "Nwd1","Eya2","Vwa1","Rasgrf2","Cobl","Fezf2","X1700086L19Rik","Lmo3","Ptk2b","Rab3b","Nyap2","Mertk","Dcx","Diras2","Pla2g16","Nbl1","Rpp25","Dlx2","Phldb2","Slc6a1","Gm14204","Rgs8","Slc22a8","Cyp4f14","St6galnac2","Grip1","Extl1","Nckap1l","Anln","Steap4","Klhl30","Cemip" 50 | "Gstm1","X1500009L16Rik","Slc22a8","Unc5d","Camk4","Tox","Kcng1","Prkcg","Slc30a3","Kcnip3","Prox1","P2ry6","Matn2","Rprml","Rhog","Cgnl1","Gm14204","Crh","Ifitm3","Dlx2","Igf1","Cbln2","Anxa2","Cideb","Xdh","Grpr","Slc8a2","Susd3","Olig1","Il2ra","Amigo2","Mfap4" 51 | "Aldoc","Ifitm2","Gng11","Palmd","Rims3","Rprm","Prkcg","Emb","Cckbr","Atp2b4","Ptprm","Gpr183","Tcerg1l","Gpr26","Wscd1","Gatm","Ifitm10","Gm17750","Cav1","Qpct","Galntl6","Galnt14","Emp3","Elovl2","Gch1","Snrpn","Cdkl4","Gpr183","Phldb1","Tbx3os1","Rbpms2","Aldh1a1" 52 | -------------------------------------------------------------------------------- /manuscript_data/class_markers_humanMTG.csv: -------------------------------------------------------------------------------- 1 | "Astrocyte_on","Deep.Layers_on","Endothelial_on","LAMP5.PAX6.Other_on","Microglia_on","Oligo.OPC_on","PVALB_on","SST_on","Superficial.Layers_on","VIP_on","Astrocyte","Endothelial","GABAergic","Glutamatergic","Microglia","Oligo.OPC" 2 | "FGFR3","SATB2","EMCN","GAD2","CX3CR1","BCAS1","TAC1","SST","SATB2","VIP","ID4","EMCN","DLX6.AS1","LOC101929544","ADAM28","LOC101929249" 3 | "RNF219.AS1","SLC17A7","NOSTRIN","CXCL14","ADAM28","KCNH8","NXPH1","NXPH1","LY86.AS1","CXCL14","RNF219.AS1","NOSTRIN","GAD2","LY86.AS1","FGD2","BCAS1" 4 | "LINC00499","SV2B","ITIH5","ADARB2","C3","C10orf90","GAD1","GRIK3","MLIP","DLX6.AS1","PAPLN","CLDN5","LOC105375415","LOC105373896","LOC101929497","LOC101927459" 5 | "SLCO1C1","RXFP1","ADGRF5","KIT","DOCK8","APOD","BTBD11","SYNPR","LINCR.0002","ADARB2","ACSBG1","COL1A2","GRIP2","LOC105373893","C3","KCNH8" 6 | "ACSBG1","NPTX1","ANO2","GRIN3A","CD74","SHROOM4","TRPC4","GAD1","LOC284930","CALB2","ETNPPL","ADGRF5","PNOC","LOC284930","P2RY12","C10orf90" 7 | "SLC25A18","MIR137HG","SLC7A11","GAD1","APBB1IP","PLLP","GAD2","GRIK1","TESPA1","LOC105373642","RANBP3L","LEF1","SLC32A1","LOC101927880","CSF1R","FA2H" 8 | "RANBP3L","LOC105376407","LEF1","GRIP2","FYB","FA2H","SLIT2","SATB1.AS1","SV2B","SYNPR","FGFR3","ITIH5","BTBD11","SFTA1P","SYK","SH3TC2" 9 | "ETNPPL","LOC101929544","ATP10A","SV2C","P2RY12","LOC101929249","MYO5B","EPHB6","LOC105376407","PROX1","LINC00499","GGT5","ARL4C","KCNV1","CX3CR1","OPALIN" 10 | "PRODH","MLIP","UACA","DLX6.AS1","SYK","UGT8","LOC101929680","SOX6","NWD2","LOC105375415","PHYHD1","ATP10A","TAC1","LOC105378208","ITGAX","CARNS1" 11 | "PPAP2B","SFTA1P","IGFBP7","NECAB2","CSF1R","LOC102723503","LHX6","GRIN3A","SLC17A7","GAD1","SLC39A12","TMEM204","LOC105371352","TESPA1","APBB1IP","SOX10" 12 | "PRDM16","LOC105375629","EBF1","NXPH1","LPAR6","OLIG1","SOX6","LOC105372768","MIR137HG","CNR1","PRODH","C7","DLX1","LOC105371832","PIK3R5","CD22" 13 | "ATP1A2","OLFM3","LAMA2","EGFR","LOC101929497","COL9A2","CNTNAP3B","CDH9","SLC22A25","SCG2","LINC00982","TM4SF1","SYTL5","LOC105373720","MS4A7","LOC100130370" 14 | "PON2","ARPP21","COBLL1","BCL11B","TBXAS1","ST18","VWC2","FLT3","OLFM3","ARL4C","GRIN2C","SDPR","NRIP3","LOC105378207","PTPRC","OLIG2" 15 | "PAPLN","LOC105373893","FLI1","NRIP3","ITGAX","PLP1","GRIP2","COL25A1","SFTA1P","BTBD11","EMX2OS","ANXA3","GAD1","LYPD8","FYB","CDH19" 16 | "AQP4","PDZRN4","TGFBR2","LINC00299","INPP5D","SMOC1","SULF1","BCL11A","LOC101927880","GPR149","EMX2","GNG11","LOC105377574","SV2B","CSF3R","MAG" 17 | "SLC1A3","LOC105376405","ARHGAP29","HAPLN1","SLCO2B1","LOC101927459","MYO16","ELAVL2","SLC6A7","ASIC4","SLC25A18","CD34","TAC3","SLC22A24","C1QB","SMOC1" 18 | "ACSS1","KIAA1211L","PECAM1","CCK","PTPRC","DOCK1","ELAVL2","TRHDE","LOC105378334","COL21A1","PRDM16","TAGLN2","GPR149","LOC105376405","DOCK8","UGT8" 19 | "GLI3","DIRAS2","LAMA4","LAMP5","FGD2","CERCAM","CNTNAP3","LOC105377574","LINC01250","CHRNA2","RGS20","MECOM","DLX6","LOC105378209","LINC00996","LOC102723503" 20 | "SLC7A11","LY86.AS1","XAF1","LOC105375415","IKZF1","MBP","CNTNAP3P2","STXBP6","LOC105373893","PTHLH","MT1F","S100A10","SST","TBR1","LINC01268","STK32A" 21 | "F3","PDE1A","TNS1","EYA4","BLNK","ATP10B","KCNC2","TRB","SLC22A24","NR2F2.AS1","PLIN5","SLC38A5","GRIN3A","SLC22A25","IKZF1","LOC101927967" 22 | "GRAMD3","HS3ST2","MYO15B","NYAP2","AOAH","MOG","ANK1","LHX6","ARPP21","TAC3","LOC101929608","CDH5","LGI2","LOC101927871","CYBB","CNDP1" 23 | "NDRG2","CLSTN2","EMP2","RPH3A","LOC105377684","DOCK5","SCN9A","NMU","ANO3","SLC24A3","MLC1","TBX3","FLT3","KRT17P1","SELPLG","COL20A1" 24 | "LOC101927437","ANO3","MECOM","SLC35F4","CSF3R","RFTN2","KCNAB3","GRIP2","FSTL4","KCNT2","AQP4","TGM2","ECE2","LINC01202","LST1","LOC105377381" 25 | "STON2","NGEF","FLT1","VSTM2A","LAPTM5","PON2","GRIK3","RAB3B","KCNIP4.IT1","KMO","ARHGEF26","ANO2","CORT","SLC6A7","LOC105377918","CERCAM" 26 | "PAMR1","HS3ST4","LOC102467224","GRIK1","PIK3R5","CARNS1","LOC101927121","GRIA3","CDH22","OLFM3","PAX6","TBX18","ANKRD55","LOC440896","RHBDF2","KLK6" 27 | "GJA1","KCNK1","PLSCR4","ARL4C","RUNX1","ZCCHC24","ANKRD34C.AS1","MARCH4","KIAA1211L","VWC2L","ALDH1L1","LOC102467224","LYPD6B","ZDHHC23","LOC105377684","MIR219A2" 28 | "MT2A","LOC105371832","TGFBR3","PRELID2","ARHGAP15","PHLDB1","PLCXD3","SNORD115.","NPTX1","NR2F2","AIFM3","ARHGEF15","HRH3","NEUROD6","FAM177B","OLIG1" 29 | "ARHGEF26","PART1","TRIOBP","ADRA1A","LOC105378305","GPRC5B","LOC101929563","CACNG3","NGEF","C8orf34","LOC105376917","BGN","NXPH2","SATB2","LY86","CSPG4" 30 | "GLUL","NELL2","EPAS1","SPHKAP","RHBDF2","ENPP2","ST8SIA4","PDE1A","LOC102724109","ARPP21","GLI3","COBLL1","CALB2","NPTX1","LAPTM5","MROH9" 31 | "HIF3A","LINC00710","FGD6","CCDC85A","DOCK2","PTGDS","SAMD5","TSHZ3","MCHR2","ENTPD3","LCN12","RPS3P2","SLC35F4","LINC00710","TYROBP","KLRC3" 32 | "GRIN2C","SYT7","THSD4","KCNC2","ARHGAP22","MEIS2","WIF1","NETO1","ERICH1.AS1","CRH","AGT","FLT1","RPP25","STYK1","RGS10","LOC105374211" 33 | "COL5A3","VIPR1","MT2A","C8orf34","LINC01141","CREB5","PTCHD4","ANKRD55","KCNK1","FXYD6","SDC4","EDN3","PRRT4","LOC105373891","TBXAS1","GPR17" 34 | "OAF","ENC1","C7","CDHR3","FLI1","CHD7","SLC26A4","PRKCG","ST6GALNAC5","SHISA8","SLC16A9","CYYR1","SHISA8","MCHR2","ADAP2","TMEM98" 35 | "ALDH1L1","SEC14L5","CGNL1","RERG","OLR1","MOBP","OPN5","NETO2","PDE1A","KCNH7","GJA1","SLC2A1","OPN5","MLIP","TREM2","DBNDD2" 36 | "ATP13A4","ERICH1.AS1","ITGA10","FSTL5","ZFP36L2","LOC101927967","NDST3","CDH8","LOC105376405","GABRA1","MGST1","FLVCR2","DLX5","SLC17A7","CD86","SLC5A11" 37 | "NHSL1","RIT2","ABCB1","PDGFD","ATP8B4","ZFHX4","LYPD6B","XKR4","LINC00710","LOC105373643","LOC102724687","COL6A3","VIP","LOC105373895","SLC2A5","MOG" 38 | "LOC105376917","SH3GL2","GGT5","MYO16","CD86","CDH20","RUNX2","ST6GALNAC5","LCA5","KIT","SPATC1","ESAM","VSTM2A","SLC22A9","LILRB4","LDB3" 39 | "EMX2OS","ANKRD33B","B2M","FREM1","MS4A7","LPPR1","INPP5J","LINC01322","DLGAP1.AS4","LOC101928842","LAMA1","CLEC3B","C1QTNF2","LOC105375629","HLA.DMB","LOC102724312" 40 | "RGS20","LOC285696","ENG","RAB3C","HLA.DRA","CD9","FLJ41278","LINC01122","ANKRD33B","CALY","RFX2","IFI27","PCP4L1","LOC105375097","HAVCR2","ST18" 41 | "ZFHX4","RASGRP1","LHFP","NXPH2","PALD1","SCD","ZMAT4","COL19A1","ZBBX","B4GALT6","ARHGEF26.AS1","NES","FBN2","NRGN","BLNK","TMEM125" 42 | "LOC101929608","SCN3B","STOM","TOX3","LPCAT2","PLEKHH1","RSPO2","MPPED1","LOC105370610","PCDH8","LOC100289473","SLC16A12","LOC105377568","CBLN2","LOC105372984","LOC105379054" 43 | "LINC00299","PTPRR","LOC105377862","GABRA1","ST6GAL1","EDIL3","C8orf4","ARX","LDB2","SNORD115.","LOC101927437","SEMA3G","C8orf4","OR14I1","LPAR5","COL9A1" 44 | "BMPR1B","LINC01250","IFI44","RIMBP2","ALOX5","PTN","LOC101927885","CALY","NELL2","RGS12","LOC102724527","FOXC1","GRIN2D","RXFP1","ITGAM","SCD" 45 | "ID4","LOC105373896","NEAT1","GABRB2","SAMSN1","FRMD4B","DOCK11","PAWR","ENC1","SEZ6","RLBP1","SCN4A","CRH","LOC105378210","C1QC","LOC105374552" 46 | "SLC39A12","BCL11A","S100A10","PKP2","SLC1A3","MYRF","GABRA1","SNRPN","LOC105371832","LGI2","LOC105374244","IFITM1","GRIK1.AS2","NGEF","LINC01141","TMEM235" 47 | "LRP4","CBLN2","HLA.E","LINC00298","CYBB","LINC01170","CPLX1","GAD2","MFSD4","HMP19","EFEMP1","THSD4","PKP2","LOC105377390","OLR1","GJB1" 48 | "PLXNB1","ZDHHC23","LOC105369345","LINC00599","SLC2A5","ADARB2","TENM1","TENM3","LOC105373153","THSD7A","ITGA7","MFSD2A","ENTPD3","FSTL4","STAB1","LOC100506725" 49 | "RORB","FSTL4","SP100","SLC6A1","LINC01268","NCKAP5","ADCY8","KCNC2","CBLN2","ADRA1A","KLKB1","ADGRL4","CHRNA2","LOC105377329","ITGB2","PLLP" 50 | "MEIS2","LOC105369858","RHOJ","FGF13","HCK","DOCK10","RNF144B","SYTL5","SH3GL2","ADRA1B","MROH7.TTC4","LOC105377979","SP9","LOC105374934","DOCK2","KLRC2" 51 | "ACSS3","KCNIP4.IT1","APCDD1","PCP4L1","RCSD1","PDGFRA","ZNF804A","LOC105372472","ADAMTS3","GABRB2","F3","EBF1","ANO1","LOC105369334","SAMSN1","HAPLN2" 52 | -------------------------------------------------------------------------------- /patchseqtools.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | 15 | AutoAppendNewline: Yes 16 | StripTrailingWhitespace: Yes 17 | 18 | BuildType: Package 19 | PackageUseDevtools: Yes 20 | PackageInstallArgs: --no-multiarch --with-keep.source 21 | PackageCheckArgs: –no-examples 22 | --------------------------------------------------------------------------------