diff --git a/DESCRIPTION b/DESCRIPTION index bcce672..2acdead 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: scrattch.hicat Title: Hierarchical Iterative Clustering Analysis for Transcriptomic data -Version: 1.0.0 +Version: 1.0.6 Authors@R: c(person("Zizhen", "Yao", email = "zizheny@alleninstitute.org", role = c("aut")), person("Lucas", "Graybuck", email = "lucasg@alleninstitute.org", role = c("aut", "cre")), person("Trygve", "Bakken", email = "trygveb@alleninstitute.org", role = c("aut")), @@ -8,35 +8,39 @@ Authors@R: c(person("Zizhen", "Yao", email = "zizheny@alleninstitute.org", role person("Jeremy", "Miller", email = "jeremym@alleninstitute.org", role = c("aut")), person("Adriana","Sedeno-Cortes", email ="adrianas@alleninstitute.org", role = c("aut")), person("Changkyu","Lee", email="Changkyul@alleninstitute.org", role = c("aut")), - person("Lawrence","Huang", email="lawrenceh@alleninstitute.org", role = c("aut")), person("Saroja","Somasundaram", email="sarojas@alleninstitute.org", role = c("aut"))) Description: Iteractive clustering of single cell RNASeq dataset. BugReports: https://github.com/AllenInstitute/scrattch.hicat/issues -Depends: R (>= 3.3.0) +Depends: R (>= 4.0.0) License: GPL-3 Encoding: UTF-8 LazyData: TRUE VignetteBuilder: knitr RoxygenNote: 7.0.2 -Requires: Matrix +Requires: Matrix,Rphenograph, Imports: + Rcpp, + BiocNeighbors, + RcppAnnoy, + RcppEigen, + RcppProgress, + parallel, + doMC, + foreach, data.table, - dendextend, - devtools, - doParallel, dplyr, - foreach, ggplot2, grid, - limma, + dendextend, + Matrix, matrixStats, pvclust, - qlcMatrix, Rtsne, - WGCNA -Suggests: + RcppParallel +LinkingTo: Rcpp (>= 0.11.0), RcppEigen, RcppProgress, beachmat, RcppParallel +Suggests: + WGCNA, knitr, rmarkdown, - testthat, - Rphenograph, + testthat, covr diff --git a/NAMESPACE b/NAMESPACE index d75f824..bed3cc3 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1 +1,6 @@ +useDynLib(scrattch.hicat) +importFrom(Rcpp, sourceCpp) +importFrom(Rcpp, evalCpp) +importFrom(RcppParallel, RcppParallelLibs) exportPattern("^[[:alpha:]]+") + diff --git a/R/KNN.graph.R b/R/KNN.graph.R index b2fba9e..f72fe91 100644 --- a/R/KNN.graph.R +++ b/R/KNN.graph.R @@ -2,7 +2,6 @@ #' #' @param rd.dat #' @param cl -#' @param cl.df #' @param k #' @param knn.outlier.th #' @param outlier.frac.th @@ -11,33 +10,40 @@ #' @export #' #' @examples -get_knn_graph <- function(rd.dat, cl,cl.df, k=15, knn.outlier.th=2, outlier.frac.th=0.5) +get_knn_graph <- function(rd.dat, cl, k=15, knn.outlier.th=2, outlier.frac.th=0.5,clean.cells=row.names(rd.dat), knn.result=NULL) { - knn.result = RANN::nn2(rd.dat,k=k) - row.names(knn.result[[1]]) = row.names(knn.result[[2]])=row.names(rd.dat) + if(is.null(knn.result)){ + knn.result = RANN::nn2(rd.dat,k=k) + row.names(knn.result[[1]]) = row.names(knn.result[[2]])=row.names(rd.dat) + } knn = knn.result[[1]] knn.dist = knn.result[[2]] - cl.knn.dist.mean = tapply(names(cl),cl, function(x) mean(knn.dist[x,-1])) - cl.knn.dist.sd = tapply(names(cl),cl, function(x) sd(knn.dist[x,-1])) - cl.knn.dist.th = (cl.knn.dist.mean + knn.outlier.th * cl.knn.dist.sd) + knn.cl = matrix(cl[row.names(knn)[knn]],ncol=ncol(knn)) + row.names(knn.cl)= row.names(knn) + cl.knn.dist.med = tapply(clean.cells,cl[clean.cells], function(x) median(knn.dist[x,-1])) + cl.knn.dist.mad = tapply(clean.cells, cl[clean.cells], function(x) mad(knn.dist[x,-1])) + cl.knn.dist.th = cl.knn.dist.med + knn.outlier.th * cl.knn.dist.mad + cl.knn.dist.th = pmax(cl.knn.dist.th, median(cl.knn.dist.th)) knn.dist.th=cl.knn.dist.th[as.character(cl[row.names(knn)])] outlier = apply(knn.dist, 2, function(x) x> knn.dist.th) + outlier[!row.names(knn)[knn] %in% clean.cells]=TRUE row.names(outlier) = row.names(knn.dist) + outlier.frac= rowMeans(outlier) + knn[outlier] = NA - select.cells = row.names(outlier)[rowMeans(outlier) < outlier.frac.th] - pred.result = predict_knn(knn[select.cells,], row.names(rd.dat), cl) - pred.prob = pred.result$pred.prob - knn.cell.cl.counts = round(pred.prob * ncol(knn)) - knn.cl.cl.counts = do.call("rbind",tapply(row.names(pred.prob), cl[row.names(pred.prob)], function(x)colSums(knn.cell.cl.counts[x,]))) - knn.cl.df = as.data.frame(as.table(knn.cl.cl.counts)) - colnames(knn.cl.df)[1:2] = c("cl.from","cl.to") - from.size = rowSums(knn.cl.cl.counts) - to.size = colSums(knn.cl.cl.counts) - total = sum(knn.cl.cl.counts) + knn.cl[outlier] = NA + + select.cells = intersect(clean.cells, names(outlier.frac)[outlier.frac < outlier.frac.th]) + tmp.df = data.frame(sample_name =rep(select.cells, ncol(knn)), cl.to=as.vector(knn.cl[select.cells,])) + tmp.df$cl.from = cl[as.character(tmp.df$sample_name)] + knn.cl.df = tmp.df %>% filter(!is.na(cl.to)) %>% group_by(cl.from, cl.to) %>% summarise(Freq=n()) + + from.size = tapply(knn.cl.df$Freq, knn.cl.df$cl.from, sum) + to.size = tapply(knn.cl.df$Freq, knn.cl.df$cl.to, sum) + total = sum(knn.cl.df$Freq) knn.cl.df$cl.from.total= from.size[as.character(knn.cl.df$cl.from)] knn.cl.df$cl.to.total = to.size[as.character(knn.cl.df$cl.to)] - knn.cl.df = knn.cl.df[knn.cl.df$Freq > 0,] knn.cl.df$pval.log = knn.cl.df$odds = 0 for(i in 1:nrow(knn.cl.df)){ q = knn.cl.df$Freq[i] - 1 @@ -45,12 +51,10 @@ get_knn_graph <- function(rd.dat, cl,cl.df, k=15, knn.outlier.th=2, outlier.frac m = knn.cl.df$cl.to.total[i] n = total - m knn.cl.df$pval.log[i]=phyper(q, m=m, n=n, k=k, lower.tail = FALSE, log.p=TRUE) - knn.cl.df$odds[i] = (q + 1) / (k * m /total) + knn.cl.df$odds[i] = (q + 1) / (k /total * m) } knn.cl.df$frac = knn.cl.df$Freq/knn.cl.df$cl.from.total - knn.cl.df$cl.from.label = cl.df[as.character(knn.cl.df$cl.from),"cluster_label"] - knn.cl.df$cl.to.label = cl.df[as.character(knn.cl.df$cl.to),"cluster_label"] - return(list(knn.result=knn.result, pred.result=pred.result, knn.cl.df=knn.cl.df)) + return(list(knn.result=knn.result, knn.cl.df=knn.cl.df,outlier=outlier)) } @@ -82,7 +86,7 @@ get_knn_graph <- function(rd.dat, cl,cl.df, k=15, knn.outlier.th=2, outlier.frac #' @usage plotting.MGE.constellation <- plot_constellation(knn.cl.df = knn.cl.df, cl.center.df = cl.center.df, out.dir = "data/Constellation_example/plot", node.dodge=TRUE, plot.hull=c(1,2)) -plot_constellation <- function(knn.cl.df, cl.center.df, out.dir, node.label="cluster_id", exxageration=2, curved = TRUE, plot.parts=FALSE, plot.hull = NULL, plot.height=25, plot.width=25, node.dodge=FALSE, label.size=2, max_size=10) { +plot_constellation <- function(knn.cl.df, cl.center.df, out.dir, node.label="cluster_id", exxageration=2, curved = TRUE, plot.parts=FALSE, plot.hull = NULL, plot.height=25, plot.width=25, node.dodge=FALSE, label.size=2, max_size=10, size.breaks = c(100,1000,10000,100000)) { library(gridExtra) library(sna) @@ -119,7 +123,7 @@ plot_constellation <- function(knn.cl.df, cl.center.df, out.dir, node.label="clu color=alpha(cluster_color, 0.8))) + scale_size_area(trans="sqrt", max_size=max_size, - breaks = c(100,1000,10000,100000)) + + breaks = size.breaks) + scale_color_identity() + geom_text(data=cl.center.df, aes(x=x, @@ -568,8 +572,10 @@ if (exxageration !=1) { g2 <- gridExtra::arrangeGrob(grobs=list(dot.size.legend,edge.width.legend,cl.center.legend), layout_matrix=layout_legend) - - ggsave(file.path(out.dir,paste0(st,"constellation.pdf")),marrangeGrob(list(plot.all,g2),nrow = 1, ncol=1),width = plot.width, height = plot.height, units="cm",useDingbats=FALSE) + + fout = file.path(out.dir,paste0(st,"constellation.pdf")) + cat("Save ", fout, "\n") + ggsave(fout, marrangeGrob(list(plot.all,g2),nrow = 1, ncol=1),width = plot.width, height = plot.height, units="cm",useDingbats=FALSE) } @@ -719,3 +725,19 @@ angle <- function(x, y) { atan2(y[2] - y[1], x[2] - x[1]) } + + +plot_umap_constellation <- function(umap.2d, cl, cl.df, select.knn.cl.df, dest.d=".", prefix="",...) + { + + cl.center.df = as.data.frame(get_RD_cl_center(umap.2d,cl)) + cl.center.df$cl = row.names(cl.center.df) + cl.center.df$cluster_id <- cl.df$cluster_id[match(cl.center.df$cl, cl.df$cl)] + cl.center.df$cluster_color <- cl.df$cluster_color[match(cl.center.df$cl, cl.df$cl)] + cl.center.df$cluster_label <- cl.df$cluster_label[match(cl.center.df$cl, cl.df$cl)] + cl.center.df$cluster_size <- cl.df$cluster_size[match(cl.center.df$cl, cl.df$cl)] + tmp.cl = row.names(cl.center.df) + tmp.knn.cl.df = select.knn.cl.df %>% filter(cl.from %in% tmp.cl & cl.to %in% tmp.cl) + p=plot_constellation(tmp.knn.cl.df, cl.center.df, node.label="cluster_id", out.dir=file.path(dest.d,prefix),...) + } + diff --git a/R/RcppExports.R b/R/RcppExports.R new file mode 100644 index 0000000..b85595d --- /dev/null +++ b/R/RcppExports.R @@ -0,0 +1,119 @@ +# Generated by using Rcpp::compileAttributes() -> do not edit by hand +# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 + +rcpp_get_cl_means <- function(mat, clAll) { + .Call('_scrattch_hicat_rcpp_get_cl_means', PACKAGE = 'scrattch.hicat', mat, clAll) +} + +rcpp_get_cl_means_RcppParallel <- function(mat, clAll) { + .Call('_scrattch_hicat_rcpp_get_cl_means_RcppParallel', PACKAGE = 'scrattch.hicat', mat, clAll) +} + +rcpp_get_cl_present <- function(mat, clAll, lowth) { + .Call('_scrattch_hicat_rcpp_get_cl_present', PACKAGE = 'scrattch.hicat', mat, clAll, lowth) +} + +rcpp_get_cl_present_RcppParallel <- function(mat, clAll, lowth) { + .Call('_scrattch_hicat_rcpp_get_cl_present_RcppParallel', PACKAGE = 'scrattch.hicat', mat, clAll, lowth) +} + +rcpp_get_cl_sqr_means <- function(mat, clAll) { + .Call('_scrattch_hicat_rcpp_get_cl_sqr_means', PACKAGE = 'scrattch.hicat', mat, clAll) +} + +rcpp_get_cl_sqr_means_RcppParallel <- function(mat, clAll) { + .Call('_scrattch_hicat_rcpp_get_cl_sqr_means_RcppParallel', PACKAGE = 'scrattch.hicat', mat, clAll) +} + +rcpp_get_cl_medians <- function(mat, clAll) { + .Call('_scrattch_hicat_rcpp_get_cl_medians', PACKAGE = 'scrattch.hicat', mat, clAll) +} + +rcpp_get_cl_medians_RcppParallel <- function(mat, clAll) { + .Call('_scrattch_hicat_rcpp_get_cl_medians_RcppParallel', PACKAGE = 'scrattch.hicat', mat, clAll) +} + +RowMergeMatrices <- function(mat1, mat2, mat1_rownames, mat2_rownames, all_rownames) { + .Call('_scrattch_hicat_RowMergeMatrices', PACKAGE = 'scrattch.hicat', mat1, mat2, mat1_rownames, mat2_rownames, all_rownames) +} + +RowMergeMatricesList <- function(mat_list, mat_rownames, all_rownames) { + .Call('_scrattch_hicat_RowMergeMatricesList', PACKAGE = 'scrattch.hicat', mat_list, mat_rownames, all_rownames) +} + +LogNorm <- function(data, scale_factor, display_progress = TRUE) { + .Call('_scrattch_hicat_LogNorm', PACKAGE = 'scrattch.hicat', data, scale_factor, display_progress) +} + +Standardize <- function(mat, display_progress = TRUE) { + .Call('_scrattch_hicat_Standardize', PACKAGE = 'scrattch.hicat', mat, display_progress) +} + +FastSparseRowScale <- function(mat, scale = TRUE, center = TRUE, scale_max = 10, display_progress = TRUE) { + .Call('_scrattch_hicat_FastSparseRowScale', PACKAGE = 'scrattch.hicat', mat, scale, center, scale_max, display_progress) +} + +FastSparseRowScaleWithKnownStats <- function(mat, mu, sigma, scale = TRUE, center = TRUE, scale_max = 10, display_progress = TRUE) { + .Call('_scrattch_hicat_FastSparseRowScaleWithKnownStats', PACKAGE = 'scrattch.hicat', mat, mu, sigma, scale, center, scale_max, display_progress) +} + +FastCov <- function(mat, center = TRUE) { + .Call('_scrattch_hicat_FastCov', PACKAGE = 'scrattch.hicat', mat, center) +} + +FastCovMats <- function(mat1, mat2, center = TRUE) { + .Call('_scrattch_hicat_FastCovMats', PACKAGE = 'scrattch.hicat', mat1, mat2, center) +} + +FastRBind <- function(mat1, mat2) { + .Call('_scrattch_hicat_FastRBind', PACKAGE = 'scrattch.hicat', mat1, mat2) +} + +SparseRowMean <- function(mat, display_progress) { + .Call('_scrattch_hicat_SparseRowMean', PACKAGE = 'scrattch.hicat', mat, display_progress) +} + +SparseRowVar2 <- function(mat, mu, display_progress) { + .Call('_scrattch_hicat_SparseRowVar2', PACKAGE = 'scrattch.hicat', mat, mu, display_progress) +} + +SparseRowVarStd <- function(mat, mu, sd, vmax, display_progress) { + .Call('_scrattch_hicat_SparseRowVarStd', PACKAGE = 'scrattch.hicat', mat, mu, sd, vmax, display_progress) +} + +FastLogVMR <- function(mat, display_progress) { + .Call('_scrattch_hicat_FastLogVMR', PACKAGE = 'scrattch.hicat', mat, display_progress) +} + +RowVar <- function(x) { + .Call('_scrattch_hicat_RowVar', PACKAGE = 'scrattch.hicat', x) +} + +SparseRowVar <- function(mat, display_progress) { + .Call('_scrattch_hicat_SparseRowVar', PACKAGE = 'scrattch.hicat', mat, display_progress) +} + +ReplaceColsC <- function(mat, col_idx, replacement) { + .Call('_scrattch_hicat_ReplaceColsC', PACKAGE = 'scrattch.hicat', mat, col_idx, replacement) +} + +GraphToNeighborHelper <- function(mat) { + .Call('_scrattch_hicat_GraphToNeighborHelper', PACKAGE = 'scrattch.hicat', mat) +} + +ImputeKnn <- function(knn_idx, ref_idx, cell_idx, gene_idx, dat, impute_dat, w_mat_, transpose_input, transpose_output) { + invisible(.Call('_scrattch_hicat_ImputeKnn', PACKAGE = 'scrattch.hicat', knn_idx, ref_idx, cell_idx, gene_idx, dat, impute_dat, w_mat_, transpose_input, transpose_output)) +} + +ComputeSNN <- function(nn_ranked, prune) { + .Call('_scrattch_hicat_ComputeSNN', PACKAGE = 'scrattch.hicat', nn_ranked, prune) +} + +WriteEdgeFile <- function(snn, filename, display_progress) { + invisible(.Call('_scrattch_hicat_WriteEdgeFile', PACKAGE = 'scrattch.hicat', snn, filename, display_progress)) +} + +DirectSNNToFile <- function(nn_ranked, prune, display_progress, filename) { + .Call('_scrattch_hicat_DirectSNNToFile', PACKAGE = 'scrattch.hicat', nn_ranked, prune, display_progress, filename) +} + diff --git a/R/annotate.R b/R/annotate.R index 9965b2e..97d65b1 100644 --- a/R/annotate.R +++ b/R/annotate.R @@ -47,27 +47,30 @@ map_by_cor <- function(train.dat, train.cl, test.dat, + cl.dat = NULL, method = "median") { method <- match.arg(arg = method, choices = c("mean","median")) - - # Get medians or means for each cluster - if(method == "median"){ - cl.meds <- tapply(names(train.cl), - train.cl, - function(x) { - train.mat <- train.dat[, x, drop = F] - train.mat <- as.matrix(train.mat) - matrixStats::rowMedians(train.mat) - } - ) - - cl.dat <- do.call("cbind", cl.meds) - } else { - cl.dat <- get_cl_means(train.dat, train.cl) + + if(is.null(cl.dat)){ + # Get medians or means for each cluster + if(method == "median"){ + cl.meds <- tapply(names(train.cl), + train.cl, + function(x) { + train.mat <- train.dat[, x, drop = F] + train.mat <- as.matrix(train.mat) + matrixStats::rowMedians(train.mat) + } + ) + + cl.dat <- do.call("cbind", cl.meds) + } else { + cl.dat <- get_cl_means(train.dat, train.cl) + } + row.names(cl.dat) <- row.names(train.dat) } - row.names(cl.dat) <- row.names(train.dat) # Perform correlations if(!is.matrix(test.dat) & nrow(test.dat)*ncol(test.dat) > 1e8){ @@ -234,32 +237,47 @@ map_sampling <- function(train.dat, markers, markers.perc = 0.8, iter = 100, - method = "median", - verbose = TRUE) { + method = "means", + verbose = TRUE, + mc.cores=1) { method <- match.arg(arg = method, choices = c("mean", "median")) - + + if(method =="mean"){ + train.cl.dat = get_cl_means(train.dat, train.cl) + } + else{ + train.cl.dat = get_cl_medians(train.dat, train.cl) + } + library(parallel) # Perform mapping iter times. - map.result <- sapply(1:iter, + map.result <- mclapply(1:iter, function(i){ if(verbose) { cat("\r", paste0("Running iteration ",i," of ",iter,". ")) flush.console() } tmp.markers <- sample(markers, round(length(markers) * markers.perc)) - map_by_cor(train.dat[tmp.markers,], - train.cl, - test.dat[tmp.markers,], - method = method) - }, simplify = F) + test.cl.cor <- cor(as.matrix(test.dat[tmp.markers,]), train.cl.dat[tmp.markers,]) + test.cl.cor[is.na(test.cl.cor)] <- 0 + max.cl.cor <- apply(test.cl.cor, 1, which.max) + pred.cl <- colnames(test.cl.cor)[max.cl.cor] + pred.cl <- setNames(pred.cl, row.names(test.cl.cor)) + pred.score <- apply(test.cl.cor, 1, max) + if (is.factor(train.cl)) { + pred.cl <- setNames(factor(pred.cl, levels = levels(train.cl)), + names(pred.cl)) + } + pred.df <- data.frame(pred.cl = pred.cl, pred.score = pred.score) + }, mc.cores=mc.cores) # Extract predicted cluster assignments from each iteration map.cl <- sapply(map.result, function(x) { - x$pred.df$pred.cl - } - ) + x$pred.cl + }) + # Compute fraction of times each sample mapped to each cluster row.names(map.cl) <- colnames(test.dat) map <- as.data.frame(as.table(as.matrix(map.cl))) @@ -387,6 +405,8 @@ compare_annotate <- function(cl, } else{ ref.cl <- setNames(factor(ref.cl), names(ref.cl)) + ref.cl.df = data.frame(cluster_id = levels(ref.cl), cluster_label=levels(ref.cl)) + row.names(ref.cl.df) = levels(ref.cl) } } @@ -410,7 +430,12 @@ compare_annotate <- function(cl, if(reorder){ tmp <- apply(tb, 1, which.max) cl_names <- names(cl) - cl <- factor(as.character(cl), levels = c(row.names(tb)[order(tmp)], absent.cl)) + if(do.droplevels){ + cl <- factor(as.character(cl), levels = c(row.names(tb)[order(tmp)], absent.cl)) + } + else{ + cl <- factor(as.character(cl), levels = row.names(tb)[order(tmp)]) + } cl <- setNames(cl, cl_names) if(rename){ cl.id.map <- data.frame(new = 1:length(levels(cl)), @@ -503,21 +528,23 @@ adjust_color <- function(colorset) { duplicated_colors <- which(duplicated(colorset)) while(length(duplicated_colors) > 0) { - + print(length(duplicated_colors)) rgb <- col2rgb(colorset) for(x in duplicated_colors) { - - if(x < length(duplicated_colors)) { - tmp <- round(rgb[,x - 1] * 0.8 + sample(20, 3) + rgb[,x + 1] * 0.2) - } else{ - tmp <- round(rgb[,x - 1] * 0.8 + sample(40, 3)) - } - + print(x) + print(rgb[,x]) + i = sample(1:3,1) + bg = rep(0,3) + bg[i] = (20+ sample(30,1)) * sample(c(1,-1) , 1) + k = which(colorset== colorset[x])[1] + tmp <- round(rgb[,k] * 0.8 + bg) rgb[,x] <- tmp + print(rgb[,x]) } rgb[rgb > 255] <- 255 + rgb[rgb < 0] <- 0 colorset <- rgb(rgb[1,], rgb[2,], @@ -608,3 +635,27 @@ match_cl <- function(cl, cl.df = cl.df, cor = mat)) } + + +clean_group_id <- function(cl.df, col="subclass") + { + col_label = paste0(col, "_label") + col_id = paste0(col, "_id") + + tmp = cl.df[[col_label]] + tmp1 = tmp[!duplicated(tmp)] + tmp = factor(tmp, levels=tmp1) + cl.df[[col_id]] = as.integer(tmp) + return(cl.df) + } + +clean_group_color <- function(cl.df, col="subclass") + { + col_id = paste0(col, "_id") + col_color = paste0(col, "_color") + tb = table(cl.df[[col_id]], cl.df[[col_color]]) + group_color = setNames(colnames(tb)[apply(tb, 1, which.max)], row.names(tb)) + cl.df[[col_color]] = group_color[as.character(cl.df[[col_id]])] + return(cl.df) + } + diff --git a/R/cluster.R b/R/cluster.R index 4f735e2..821bf18 100644 --- a/R/cluster.R +++ b/R/cluster.R @@ -52,11 +52,7 @@ jaccard_louvain.RANN <- function(dat, library(RANN) knn.matrix = RANN::nn2(dat, k = k)[[1]] - jaccard.adj <- knn_jaccard(knn.matrix) - - - leiden.result = leiden(jaccard.adj) - + jaccard.adj <- knn_jaccard(knn.matrix) jaccard.gr <- igraph::graph.adjacency(jaccard.adj, mode = "undirected", weighted = TRUE) @@ -74,40 +70,6 @@ jaccard_louvain.RANN <- function(dat, } } -#' Perform Jaccard/Louvain clustering based on RANN -#' -#' @param dat A matrix of features (rows) x samples (columns) -#' @param k K nearest neighbors to use -#' -#' @return A list object with the cluster factor object and (cl) and Jaccard/Louvain results (result) -#' -jaccard_leiden.RANN <- function(dat, - k = 10) -{ - library(igraph) - library(matrixStats) - library(RANN) - library(leiden) - - knn.matrix = RANN::nn2(dat, k = k)[[1]] - - jaccard.adj <- knn_jaccard(knn.matrix) - - - leiden.result <- igraph::cluster_louvain(jaccard.gr) - mod.sc <- igraph::modularity(louvain.result) - - if(pass_louvain(mod.sc, jaccard.adj)) { - - cl <- setNames(louvain.result$membership, row.names(dat)) - - return(list(cl = cl, result = louvain.result)) - - } else{ - return(NULL) - } -} - #' Perform Jaccard/Louvain clustering using Rphenograph #' @@ -132,6 +94,10 @@ filter_RD <- function(rd.dat, rm.eigen, rm.th, verbose=FALSE) rm.cor=cor(rd.dat, rm.eigen[row.names(rd.dat),]) rm.cor[is.na(rm.cor)]=0 rm.score = rowMaxs(abs(rm.cor)) + if(verbose){ + print("rm score") + print(tail(sort(rm.score))) + } select = colSums(t(abs(rm.cor)) >= rm.th) ==0 if(sum(!select)>0 & verbose){ print("Remove dimension:") @@ -159,8 +125,8 @@ filter_RD <- function(rd.dat, rm.eigen, rm.th, verbose=FALSE) # jaccard_leiden <- function(dat, k = 10, weight = NULL, - num_iter = 2, - resolution_parameter = 0.0001, + num_iter = 5, + resolution_parameter = 0.01, random_seed = NULL, verbose = FALSE, ...) { @@ -168,9 +134,11 @@ jaccard_leiden <- function(dat, k = 10, weight = NULL, library(matrixStats) library(RANN) library(Matrix) - + + if(verbose){ + cat("Compute Jaccard distance\n") + } knn.matrix = RANN::nn2(dat, k = k)[[1]] - jaccard.adj <- knn_jaccard(knn.matrix) jaccard.gr <- igraph::graph.adjacency(jaccard.adj, mode = "undirected", @@ -179,16 +147,16 @@ jaccard_leiden <- function(dat, k = 10, weight = NULL, partition_type <- 'CPMVertexPartition' #write line to determine optimal resolutoin↔ - + if(verbose){ + cat("Leiden clustering\n") + } cluster_result <- leidenbase::leiden_find_partition(jaccard.gr, partition_type = partition_type, - num_iter=10, - resolution_parameter=0.01, + num_iter=num_iter, + resolution_parameter=resolution_parameter, verbose = FALSE ) cl <- setNames(cluster_result$membership, row.names(dat)) - - return(list(cl = cl, result = cluster_result)) } @@ -222,7 +190,7 @@ jaccard_leiden <- function(dat, k = 10, weight = NULL, onestep_clust <- function(norm.dat, select.cells = colnames(norm.dat), counts = NULL, - method = c("louvain","leiden","ward.D", "kmeans"), + method = c("louvain","ward.D", "leiden","kmeans"), vg.padj.th = 0.5, dim.method = c("pca","WGCNA"), max.dim = 20, @@ -236,7 +204,8 @@ onestep_clust <- function(norm.dat, k.nn = 15, prefix = NULL, verbose = FALSE, - regress.x=NULL) + regress.x=NULL, + max.cl=NULL) { library(matrixStats) @@ -257,14 +226,15 @@ onestep_clust <- function(norm.dat, sampled.cells = select.cells } ###Find high variance genes - select.genes = row.names(norm.dat)[which(Matrix::rowSums(norm.dat[,select.cells] > de.param$low.th) >= de.param$min.cells)] + tmp = get_cl_present(norm.dat, setNames(rep(1, length(select.cells)),select.cells), de.param$low.th) + select.genes = row.names(norm.dat)[which(tmp * length(select.cells) >= de.param$min.cells)] ###Find high variance genes. if(is.null(counts)){ if(is.matrix(norm.dat)){ - counts = 2^(norm.dat[,sampled.cells])-1 + counts = 2^(norm.dat[select.genes,sampled.cells])-1 } else{ - counts = norm.dat[,sampled.cells] + counts = norm.dat[select.genes,sampled.cells] counts@x = 2^(norm.dat@x) - 1 } } @@ -272,7 +242,9 @@ onestep_clust <- function(norm.dat, if(verbose & !is.null(prefix)){ plot_file=paste0(prefix,".vg.pdf") } - vg = find_vg(as.matrix(counts[select.genes,sampled.cells]),plot_file=plot_file) + vg = find_vg(counts,plot_file=plot_file) + rm(counts) + gc() if(dim.method=="auto"){ if(length(select.cells)> 1000){ dim.method="pca" @@ -297,7 +269,11 @@ onestep_clust <- function(norm.dat, if(length(select.genes)< de.param$min.genes){ return(NULL) } - rd.dat = rd_PCA(norm.dat,select.genes, select.cells, sampled.cells=sampled.cells, max.pca = max.dim)$rd.dat + rd.result = rd_PCA(norm.dat,select.genes, select.cells, sampled.cells=sampled.cells, max.pca = max.dim) + rd.dat = rd.result$rd.dat + if(verbose){ + cat("PCA dimensions:",ncol(rd.dat),"\n") + } } if(is.null(rd.dat)||ncol(rd.dat)==0){ return(NULL) @@ -305,13 +281,16 @@ onestep_clust <- function(norm.dat, if(!is.null(rm.eigen)){ rd.dat <- filter_RD(rd.dat, rm.eigen, rm.th, verbose=verbose) } + if(is.null(rd.dat)||ncol(rd.dat)==0){ return(NULL) } if(verbose){ print(method) } - max.cl = ncol(rd.dat)*2 + 1 + if(is.null(max.cl)){ + max.cl = pmin(ncol(rd.dat)*2 + 1, round(length(select.cells)/de.param$min.cells)) + } if(method=="louvain"){ k = pmin(k.nn, round(nrow(rd.dat)/2)) tmp = jaccard_louvain(rd.dat, k) @@ -320,16 +299,13 @@ onestep_clust <- function(norm.dat, } cl = tmp$cl if(length(unique(cl))>max.cl){ - tmp.means =do.call("cbind",tapply(names(cl),cl, function(x){ - colMeans(rd.dat[x,,drop=F]) - },simplify=F)) + tmp.means = get_cl_means(rd.dat, cl) tmp.hc = hclust(dist(t(tmp.means)), method="average") tmp.cl= cutree(tmp.hc, pmin(max.cl, length(unique(cl)))) cl = setNames(tmp.cl[as.character(cl)], names(cl)) } } - else if(method=="leiden"){ k = pmin(k.nn, round(nrow(rd.dat)/2)) tmp = jaccard_leiden(rd.dat, k) @@ -359,8 +335,8 @@ onestep_clust <- function(norm.dat, stop(paste("Unknown clustering method", method)) } #print(table(cl)) - rd.dat.t = t(rd.dat) - merge.result=merge_cl(norm.dat, cl=cl, rd.dat.t=rd.dat.t, merge.type=merge.type, de.param=de.param, max.cl.size=max.cl.size,verbose=verbose) + merge.result=merge_cl(norm.dat, cl=cl, rd.dat=rd.dat, merge.type=merge.type, de.param=de.param, max.cl.size=max.cl.size,verbose=verbose) + gc() if(is.null(merge.result))return(NULL) sc = merge.result$sc @@ -505,4 +481,12 @@ combine_finer_split <- function(cl, finer.cl) finer.cl = finer.cl + max.cl cl[names(finer.cl)] = finer.cl return(cl) -} \ No newline at end of file +} + + +iter_clust_merge <- function(norm.dat, select.cells, merge.type="undirectional", de.param = de_param(), max.cl.size = 300,...) +{ + result <- scrattch.hicat::iter_clust(norm.dat=norm.dat, select.cells=select.cells, de.param = de.param, merge.type=merge.type, ...) + result=merge_cl(norm.dat, cl=result$cl, rd.dat.t = norm.dat[result$markers,], merge.type=merge.type, de.param=de.param, max.cl.size=max.cl.size) + return(result) +} diff --git a/R/consensusCluster.R b/R/consensusCluster.R index 4fd1003..cdf77f1 100644 --- a/R/consensusCluster.R +++ b/R/consensusCluster.R @@ -1,3 +1,35 @@ +run_iter_clust_merge <- function(norm.dat, iter, output_dir="subsample_result", all.cells=colnames(norm.dat), prefix="all", de.param=de_param(), merge.type="undirectional", sample.frac = 0.8, init.result=NULL, mc.cores=1, override=FALSE) + { + run <- function(i,...){ + prefix = paste("iter",i,sep=".") + print(prefix) + library(Matrix) + outfile= file.path(output_dir, paste0("result.",i,".rda")) + if(file.exists(outfile)& !override){ + return(NULL) + } + select.cells=sample(all.cells, round(length(all.cells)*sample.frac)) + save(select.cells, file=file.path(output_dir, paste0("cells.",i,".rda"))) + + result <- scrattch.hicat::iter_clust_merge(norm.dat=norm.dat, select.cells=select.cells,prefix=prefix, de.param = de.param, merge.type=merge.type, result=init.result, ...) + save(result, file=outfile) + } + if(!dir.exists(output_dir)){ + dir.create(output_dir) + } + if (mc.cores==1){ + sapply(iter, function(i){run(i,...)}) + } + else{ + require(doMC) + require(foreach) + registerDoMC(cores=mc.cores) + foreach::foreach(i=iter,.packages=c("scrattch.hicat","Matrix"), .combine='c') %dopar% { run(i) } + } + } + + + #' Collect co-clustering matrix from results files #' #' @param result.files A directory containing results files @@ -48,7 +80,7 @@ get_co_ratio <- function(cl.mat, cells, n.times) #' Iterative consensus clustering #' -#' @param co.ratio cell cell co-clustering matrix +#' @param co.ratio cell cel√l co-clustering matrix #' @param cl.list The list of subsampled clustering results. #' @param norm.dat The log2 transformed normalzied expression matrix #' @param select.cells Cells to be clustered @@ -165,8 +197,7 @@ iter_consensus_clust <- function(cl.list, } tmp.cl=merge_cl_by_co(tmp.cl, co.ratio=co.ratio, cl.mat=cl.mat[,names(tmp.cl)],diff.th) cell.cl.co.ratio= get_cell.cl.co.ratio(tmp.cl, co.ratio= co.ratio, cl.mat=cl.mat[,names(tmp.cl)]) - tmp= merge_cl(norm.dat=norm.dat, cl=tmp.cl, rd.dat.t=t(cell.cl.co.ratio), verbose=verbose, de.param = de.param, return.markers=TRUE, max.cl.size= max.cl.size, merge.type=merge.type) - + tmp= merge_cl(norm.dat=norm.dat, cl=tmp.cl, rd.dat=cell.cl.co.ratio, verbose=verbose, de.param = de.param, return.markers=FALSE, max.cl.size= max.cl.size, merge.type=merge.type) markers=tmp$markers if(is.null(tmp) | !is.list(tmp)) return(NULL) if (length(unique(tmp$cl))==1) return(NULL) @@ -220,12 +251,22 @@ collect_subsample_cl_matrix <- function(norm.dat,result.files,all.cells,max.cl.s if(is.null(result)){ return(NULL) } - cl= result$cl + cl= result$cl test.cells = setdiff(all.cells, names(cl)) - markers=unique(result$markers) - map.df = map_by_cor(norm.dat[markers,names(cl)],cl, norm.dat[markers,test.cells],method="mean")$pred.df - test.cl = setNames(map.df$pred.cl, row.names(map.df)) - all.cl = c(setNames(as.character(cl),names(cl)), setNames(as.character(test.cl), names(test.cl))) + if(length(test.cells) > 0){ + if(is.null(result$test.cl)){ + markers=unique(result$markers) + map.df = map_by_cor(norm.dat[markers,names(cl)],cl, norm.dat[markers,test.cells],method="mean")$pred.df + test.cl = setNames(map.df$pred.cl, row.names(map.df)) + } + else{ + test.cl = result$test.cl + } + all.cl = c(setNames(as.character(cl),names(cl)), setNames(as.character(test.cl), names(test.cl))) + } + else{ + all.cl = cl + } return(all.cl[all.cells]) } if (mc.cores==1){ @@ -233,12 +274,10 @@ collect_subsample_cl_matrix <- function(norm.dat,result.files,all.cells,max.cl.s cl.list = cl.list[!sapply(cl.list,is.null)] } else{ + require(doMC) require(foreach) - require(doParallel) - cl <- makeForkCluster(mc.cores) - registerDoParallel(cl) + registerDoMC(cores=mc.cores) cl.list= foreach(i=1:niter, .combine='c') %dopar% run(f) - stopCluster(cl) } if(!is.null(max.cl.size)){ select.cells= sample_cl_list(cl.list, max.cl.size=max.cl.size) @@ -508,30 +547,8 @@ run_consensus_clust <- function(norm.dat, if(!is.null(init.result)){ all.cells= intersect(all.cells, names(init.result$cl)) } - run <- function(i,...){ - prefix = paste("iter",i,sep=".") - print(prefix) - outfile= file.path(output_dir, paste0("result.",i,".rda")) - if(file.exists(outfile)& !override){ - return(NULL) - } - select.cells=sample(all.cells, round(length(all.cells)*sample.frac)) - save(select.cells, file=file.path(output_dir, paste0("cells.",i,".rda"))) - result <- scrattch.hicat::iter_clust(norm.dat=norm.dat, select.cells=select.cells,prefix=prefix, de.param = de.param, merge.type=merge.type, result=init.result, ...) - save(result, file=outfile) - } if(is.null(co.result)){ - if (mc.cores==1){ - sapply(1:niter, function(i){run(i,...)}) - } - else{ - require(foreach) - require(doParallel) - cl <- makeForkCluster(mc.cores) - registerDoParallel(cl) - foreach(i=1:niter, .combine='c') %dopar% run(i) - stopCluster(cl) - } + tmp=run_iter_clust_merge(norm.dat=norm.dat, iter=1:niter, output_dir=output_dir, all.cells=all.cells, prefix=prefix, de.param=de.param, merge.type=merge.type, sample.frac=0.8, init.result=init.result, mc.cores=mc.cores) result.files=file.path(output_dir, dir(output_dir, "result.*.rda")) co.result <- collect_subsample_cl_matrix(norm.dat,result.files,all.cells) } diff --git a/R/de.genes.R b/R/de.genes.R index f9c4cbe..0cd086d 100644 --- a/R/de.genes.R +++ b/R/de.genes.R @@ -6,9 +6,7 @@ # # vec_chisq_test() # -# score_pair_limma() Tests for one pair of clusters # -# score_pair_chisq() Tests for one pair of clusters # vec_chisq_test() de.genes.R # # de_selected_pairs() Tests for multiple pairs of clusters. Was DE_genes_pairs(). @@ -16,16 +14,11 @@ # score_pair_limma() de.genes.R # score_pair_chisq() de.genes.R # -# de_all_pairs() Tests for every pair of clusters. Was DE_genes_pw(). -# DE_genes_pairs() de.genes.R # # compute_pair_deScore() Compute deScores based on score_pair_X() results and de_param(). Was de_pairs(). # -# de_score() -# de_score_pairs() de.genes.R # -# de_score_pairs() -# DE_genes_pairs de.genes.R + # # get_de_matrix() # get_pairs() de.genes.R @@ -282,7 +275,7 @@ de_pair_limma <- function(pair, y <- as.character(pair[2]) ctr <- paste(paste0("cl", x), "-", paste0("cl", y)) - + contrasts.matrix <- limma::makeContrasts(contrasts = ctr, levels = design) @@ -305,10 +298,10 @@ de_pair_limma <- function(pair, results <- data.frame(padj = padj, pval = pval, lfc = lfc, - meanA = cl.means[,x], - meanB = cl.means[,y], - q1 = cl.present[,x], - q2 = cl.present[,y]) + meanA = cl.means[[x]], + meanB = cl.means[[y]], + q1 = cl.present[[x]], + q2 = cl.present[[y]]) row.names(results) <- genes @@ -377,49 +370,237 @@ de_pair_chisq <- function(pair, } -#' Perform pairwise differential gene expression tests between main pairs of clusters in parallel -#' -#' @param norm.dat a normalized data matrix for data. -#' @param cl a cluster factor object. -#' @param pairs A 2-column matrix of cluster pairs. -#' @param method Either "limma" or "chisq". -#' @param low.th The minimum expression value used to filter for expressed genes. -#' @param cl.present A matrix of proportions of cells in each cluster with gene detection. Can be generated with \code{get_cl_props()}. Default is NULL (will be generated). -#' @param use.voom Logical, whether or not to use \code{voom()} for \code{limma} calculations. Default is FALSE. -#' @param counts A matrix of raw count data for each cell. Required if \code{use.voom} is TRUE. Default is NULL. -#' @param mc.cores A number indicating how many processor cores to use for parallelization. + +#' Perform pairwise differential detection tests using t.test for a single pair of clusters +#' +#' @param pair a numeric vector of length 2 specifying which clusters to compare +#' @param cl.means a data.frame of normalized mean gene expression values (genes x clusters) +#' @param cl.vars a data.frame of normalized variance gene expression values (genes x clusters) +#' @param cl.size a named numeric vector of cluster sizes +#' @param genes the genes to use for pairwise comparisons +#' +#' @return a data.frame with DE statistics: +#' \itemize{ +#' \item{padj} P-values adjusted using the Holm (1979) method (\code{p.adjust()} default). +#' \item{pval} P-values reported by the \code{vec_chisq_test()} function. +#' \item{lfc} Log fold change of mean expression values between the pair of clusters. +#' \item{meanA} Mean expression value for the first cluster in the pair. +#' \item{meanB} Mean expression value for the second cluster in the pair. +#' \item{q1} Proportion of cells expressing each gene for the first cluster in the pair. +#' \item{q2} Proportion of cells expressing each gene for the second cluster in the pair. +#' } #' -#' @return #' @export -de_selected_pairs <- function(norm.dat, - cl, - pairs, - method = "limma", - low.th = 1, - min.cells = 4, - cl.means = NULL, - cl.present = NULL, - use.voom = FALSE, - counts = NULL, - mc.cores = 1) { +#' +de_pair_t.test <- function(pair, + cl.means, + cl.present, + cl.vars, + cl.size, + genes) { + - method <- match.arg(method, - choices = c("limma", "chisq")) + x <- as.character(pair[1]) + y <- as.character(pair[2]) + m1 = cl.means[[x]] + m2 = cl.means[[y]] + v1 = cl.vars[[x]] + v2 = cl.vars[[y]] + n1 = cl.size[[x]] + n2 = cl.size[[y]] + sd = sqrt( v1/n1 + v2/n2) + t.stats = (m1 - m2) / sd + df = sd^4 / ((v1/n1)^2/(n1-1) + (v2/n2)^2/(n2-1)) + pval = pt(abs(t.stats), df, lower.tail=FALSE) * 2 + padj <- p.adjust(pval) + + lfc <- m1 - m2 + # Note: Above depends on the data being log2 scaled already. + # If we change this expectation, we may need a more generalized calculation. + # fc <- cl.means[, x] / cl.means[, y] + # lfc <- log2(fc) + # lfc[is.na(lfc)] <- 0 + + results <- data.frame(padj = padj, + pval = pval, + lfc = lfc, + meanA = m1, + meanB = m2, + q1 = cl.present[,x], + q2 = cl.present[,y]) + row.names(results) <- genes + + return(results) + +} + + +get_cl_sigma <- function(mat,cl, cl.means=NULL, cl.sqr.means = NULL) + { + cl.size = table(cl) + cl.size = setNames(as.vector(cl.size),names(cl.size)) + if(is.null(cl.means)){ + cl.means = get_cl_means(mat,cl) + } + if(is.null(cl.sqr.means)){ + cl.sqr.means = get_cl_sqr_means(mat,cl) + } + df = sum(cl.size) - length(cl.size) + sigma = sqrt(colSums( t(cl.sqr.means - cl.means^2) * cl.size[colnames(cl.sqr.means)]) / df) + } + + + +simple_lmFit <- function(norm.dat, cl, cl.means = NULL, cl.sqr.means = NULL) + { + if(is.null(cl.means)){ + cl.means = get_cl_means(norm.dat, cl) + } + if(is.null(cl.sqr.means)){ + cl.sqr.means = get_cl_sqr_means(norm.dat, cl) + } + cl.size = table(cl) + cl.means = cl.means[,names(cl.size)] + cl.sqr.means = cl.sqr.means[,names(cl.size)] + fit = list() + fit$coefficients = cl.means + fit$rank = ncol(cl.means) + fit$df.residual = length(cl) - fit$rank + fit$sigma = get_cl_sigma(norm.dat, cl, cl.means = cl.means, cl.sqr.means= cl.sqr.means) + fit$stdev.unscaled = 1/sqrt(cl.size) + return(fit) + } + + + +simple_ebayes <- function(fit,proportion=0.01,stdev.coef.lim=c(0.1,4),trend=FALSE,robust=FALSE,winsor.tail.p=c(0.05,0.1)) +# Empirical Bayes statistics to select differentially expressed genes +# Gordon Smyth +# 8 Sept 2002. Last revised 1 May 2013. +# Made a non-exported function 18 Feb 2018. +{ + require(limma) + coefficients <- fit$coefficients + stdev.unscaled <- fit$stdev.unscaled + sigma <- fit$sigma + df.residual <- fit$df.residual + if(is.null(coefficients) || is.null(stdev.unscaled) || is.null(sigma) || is.null(df.residual)) stop("No data, or argument is not a valid lmFit object") + if(all(df.residual==0)) stop("No residual degrees of freedom in linear model fits") + if(all(!is.finite(sigma))) stop("No finite residual standard deviations") + if(trend) { + covariate <- fit$Amean + if(is.null(covariate)) stop("Need Amean component in fit to estimate trend") + } else { + covariate <- NULL + } + + # Moderated t-statistic + out <- squeezeVar(sigma^2, df.residual, covariate=covariate, robust=robust, winsor.tail.p=winsor.tail.p) + out$s2.prior <- out$var.prior + out$s2.post <- out$var.post + out$var.prior <- out$var.post <- NULL + out$t <- coefficients / stdev.unscaled / sqrt(out$s2.post) + df.total <- df.residual + out$df.prior + df.pooled <- sum(df.residual,na.rm=TRUE) + df.total <- pmin(df.total,df.pooled) + out$df.total <- df.total + out$p.value <- 2*pt(-abs(out$t),df=df.total) + return(out) +} + + +de_pair_fast_limma <- function(pair, + fit, + cl.means, + cl.present, + genes) +{ + x <- as.character(pair[1]) + y <- as.character(pair[2]) + fit2 = fit + coef = fit$coefficients + fit2$coefficients = coef[[x]] - coef[[y]] + stdev.unscaled = fit$stdev.unscaled + fit2$stdev.unscaled = sqrt(sum(stdev.unscaled[c(x,y)]^2)) + + fit2 <- simple_ebayes(fit = fit2) + m1 = cl.means[[x]] + m2 = cl.means[[y]] + + + lfc <- m1 - m2 + pval <- fit2$p.value + padj <- p.adjust(pval) + + # Note: Above depends on the data being log2 scaled already. + # If we change this expectation, we may need a more generalized calculation. + # fc <- cl.means[, x] / cl.means[, y] + # lfc <- log2(fc) + # lfc[is.na(lfc)] <- 0 + + results <- data.frame(padj = padj, + pval = pval, + lfc = lfc, + meanA = m1, + meanB = m2, + q1 = cl.present[[x]], + q2 = cl.present[[y]]) + + row.names(results) <- genes + + return(results) + + } + + + #' Perform pairwise differential gene expression tests between main pairs of clusters in parallel + #' + #' @param norm.dat a normalized data matrix for data. + #' @param cl a cluster factor object. + #' @param pairs A 2-column matrix of cluster pairs. + #' @param method Either "limma" or "chisq". + #' @param low.th The minimum expression value used to filter for expressed genes. + #' @param cl.present A matrix of proportions of cells in each cluster with gene detection. Can be generated with \code{get_cl_props()}. Default is NULL (will be generated). + #' @param use.voom Logical, whether or not to use \code{voom()} for \code{limma} calculations. Default is FALSE. + #' @param counts A matrix of raw count data for each cell. Required if \code{use.voom} is TRUE. Default is NULL. + #' @param mc.cores A number indicating how many processor cores to use for parallelization. + #' + #' @return + #' @export + de_selected_pairs <- function(norm.dat, + cl, + pairs, + de.param = de_parm(), + method = "fast_limma", + cl.means = NULL, + cl.present = NULL, + cl.sqr.means = NULL, + use.voom = FALSE, + counts = NULL, + mc.cores = 1, + return.df = FALSE) { + + method <- match.arg(method, + choices = c("fast_limma", "limma","chisq", "t.test")) + require(parallel) if(use.voom & is.null(counts)) { stop("The use.voom = TRUE parameter requires a raw count matrix via the counts parameter.") } # Sample filtering based on selected clusters - select.cl <- unique(c(pairs[,1], pairs[,2])) - cl.size <- table(cl) - select.cl <- intersect(select.cl, names(cl.size)[cl.size >= min.cells]) - - cl <- cl[cl %in% select.cl] - - norm.dat <- norm.dat[, names(cl)] + cl.size = setNames(as.integer(cl.size), names(cl.size)) + select.cl <- unique(c(pairs[,1], pairs[,2])) + select.cl <- intersect(select.cl, names(cl.size)[cl.size >= de.param$min.cells]) + pairs = pairs[pairs[,1]%in% select.cl & pairs[,2] %in% select.cl,,drop=F] + cl <- cl[cl %in% select.cl] + if(is.factor(cl)){ + cl = droplevels(cl) + } + cl.size = cl.size[select.cl] + # Gene filtering based on low.th and min.cells thresholds # This was removed recently by Zizhen, as this can be computationally expensive # and can cause some inconsistent results based on which pairs are selected. @@ -442,24 +623,20 @@ de_selected_pairs <- function(norm.dat, cl.means <- as.data.frame(cl.means) } - # Set thresholds per gene - if(length(low.th) == 1) { - low.th <- setNames(rep(low.th, nrow(norm.dat)), row.names(norm.dat)) - } # Compute fraction of cells in each cluster with expression >= low.th if(is.null(cl.present)){ - cl.present <- as.data.frame(get_cl_means(norm.dat >= low.th[row.names(norm.dat)], - cl)) + cl.present <- as.data.frame(get_cl_present(norm.dat, cl, de.param$low.th)) } else { cl.present <- as.data.frame(cl.present) } - - if(method=="limma"){ + + if(method == "limma"){ + require("limma") + norm.dat <- as.matrix(norm.dat[, names(cl)]) cl <- setNames(as.factor(paste0("cl",cl)),names(cl)) design <- model.matrix(~0 + cl) colnames(design) <- levels(as.factor(cl)) - if(use.voom & !is.null(counts)){ v <- limma::voom(counts = as.matrix(counts[row.names(norm.dat), names(cl)]), design = design) @@ -471,95 +648,72 @@ de_selected_pairs <- function(norm.dat, design = design) } } - - if(mc.cores == 1) { - de_list <- list() - - for(i in 1:nrow(pairs)) { - - pair <- paste(pairs[i, 1], pairs[i, 2], sep = "_") + else if (method == "fast_limma"){ + fit = simple_lmFit(norm.dat, cl=cl, cl.means= cl.means, cl.sqr.means= cl.sqr.means) + } + else if (method == "t.test"){ + cl.vars <- as.data.frame(get_cl_vars(norm.dat, cl, cl.means = cl.means)) + } + de_list = parallel::pvec(1:nrow(pairs), function(x){ + tmp=sapply(x, function(i){ if(method == "limma") { - de_list[[pair]] <- de_pair_limma(pair = pairs[i,], - cl.present = cl.present, - cl.means = cl.means, - design = design, - fit = fit, - genes = row.names(norm.dat)) + require("limma") + df= de_pair_limma(pair = pairs[i,], + cl.present = cl.present, + cl.means = cl.means, + design = design, + fit = fit, + genes = row.names(norm.dat)) + } + else if(method == "fast_limma") { + df= de_pair_fast_limma(pair = pairs[i,], + cl.present = cl.present, + cl.means = cl.means, + fit = fit, + genes = row.names(norm.dat)) + } + else if(method =="t.test"){ + df = de_pair_t.test(pair = pairs[i,], + cl.present = cl.present, + cl.means = cl.means, + cl.vars = cl.vars, + cl.size = cl.size, + genes = row.names(norm.dat)) - } else if(method == "chisq") { - de_list[[pair]] <- de_pair_chisq(pair = pairs[i,], - cl.present = cl.present, - cl.means = cl.means, - cl.size = cl.size, - genes = row.names(norm.dat)) + } + else if (method == "chisq"){ + df = de_pair_chisq(pair = pairs[i,], + cl.present = cl.present, + cl.means = cl.means, + cl.size = cl.size, + genes = row.names(norm.dat)) } + if(!is.null(de.param$min.cells)) { + cl.size1 <- cl.size[as.character(pairs[i, 1])] + cl.size2 <- cl.size[as.character(pairs[i, 2])] + } else { + cl.size1 <- NULL + cl.size2 <- NULL + } + + stats= de_stats_pair(df, + de.param = de.param, + cl.size1, + cl.size2, + return.df = return.df) + },simplify=F) + #cat(length(tmp), length(x),"\n") + if(length(tmp)!=length(x)){ + save(x, file="Error.pairs.rda") + stop('length of de_list does not match pairs') } - } else { - # This needs to be moved to NAMESPACE - library(foreach) - - cluster <- parallel::makeCluster(mc.cores) - doParallel::registerDoParallel(cluster) - - if(method == "limma") { - de_list <- foreach::foreach(i = 1:nrow(pairs), - .combine='c') %dopar% - list(de_pair_limma(pair = pairs[i,], - cl.present = cl.present, - cl.means = cl.means, - design = design, - fit = fit, - genes = row.names(norm.dat))) - } else if(method == "chisq") { - de_list <- foreach::foreach(i = 1:nrow(pairs), - .combine='c') %dopar% - list(de_pair_chisq(pair = pairs[i,], - cl.present = cl.present, - cl.means = cl.means, - cl.size = cl.size, - genes = row.names(norm.dat))) - - } - - parallel::stopCluster(cluster) - - names(de_list) <- paste(pairs[,1],pairs[,2],sep="_") - } - + names(tmp) = row.names(pairs)[x] + tmp + },mc.cores=mc.cores) return(de_list) } -####Make sure dat and cl has the same dimension, and cells are in the same order - -#' Perform all pairwise differential expression comparison between clusters -#' -#' @param norm.dat a normalized data matrix for data. -#' @param cl a cluster factor object. -#' @param ... Additional parameters passed to DE_genes_pairs() -#' -#' @seealso \link{DE_genes_pairs} -#' -#' @return a list containing DE results for every pair of clusters -#' -#' @export -de_all_pairs <- function(norm.dat, - cl, - ...) { - - if(sum(names(cl) %in% colnames(norm.dat)) != length(cl)) { - stop("Missing data for some cells in cl.") - } - - cn <- as.character(sort(unique(cl))) - pairs = create_pairs(cn) - de_selected_pairs(norm.dat = norm.dat, - cl = cl, - pairs = pairs, - ...) - -} - # Add docs and implement within functions #' Title @@ -587,6 +741,20 @@ create_pairs <- function(cn, direction="nondirectional", include.self = FALSE) } +null_de <- function() + { + tmp=sapply(c("score","up.score","down.score","num","up.num","down.num"), function(x)0) + tmp = c(tmp, list(up.genes=NULL, down.genes=NULL)) + } + + +get_de_truncate_score_sum <- function(gene.score, th=20) + { + tmp = gene.score + tmp[tmp > 20] = 20 + return(sum(tmp)) + } + #' Compute differential expression summary statistics based on a differential results data.frame and de_param(). #' #' @param df A data.frame of pairwise differential expression results (i.e. from \code{score_selected_pairs()}). @@ -612,8 +780,8 @@ de_stats_pair <- function(df, de.param = de_param(), cl.size1 = NULL, cl.size2 = NULL, - select.genes = NULL) { - + select.genes = NULL, + return.df = FALSE) { df <- df[order(df$pval, -abs(df$lfc)), ] select <- with(df, which(padj < de.param$padj.th & abs(lfc) > de.param$lfc.th)) @@ -624,7 +792,7 @@ de_stats_pair <- function(df, } if(is.null(select) | length(select) == 0){ - return(list()) + return(null_de()) } up <- select[df[select, "lfc"] > 0] @@ -640,14 +808,11 @@ de_stats_pair <- function(df, if(!is.null(de.param$q1.th)) { up <- with(df[up, , drop = FALSE], up[q1 > de.param$q1.th]) - if(!is.null(cl.size1)){ up <- with(df[up, , drop = FALSE], up[q1 * cl.size1 >= de.param$min.cells]) - } down <- with(df[down, , drop = FALSE], down[q2 > de.param$q1.th]) - if(!is.null(cl.size2)) { down <- with(df[down, , drop = FALSE], down[q2 * cl.size2 >= de.param$min.cells]) } @@ -666,132 +831,36 @@ de_stats_pair <- function(df, select <- c(up, down) if(length(select) == 0){ - return(list()) + return(null_de()) } else { - - df$padj[df$padj < 1e-20] <- 1e-20 - up.score <- sum(-log10(df[up,"padj"])) - down.score <- sum(-log10(df[down,"padj"])) - - if(length(up) == 0) { up.score <- 0 } - if(length(down) == 0) { down.score <- 0 } - - list(score = up.score + down.score, - up.score = up.score, - down.score = down.score, - num = length(select), - up.num = length(up), - down.num = length(down), - genes = select, - up.genes = up, - down.genes = down, - de.df = df[select, ]) - } - -} - - -#' Compute differential expression summary statistics for selected pairs of clusters based on de_param(). -#' -#' @param norm.dat a normalized data matrix for data. -#' @param cl a cluster factor object. -#' @param pairs A 2-column matrix of cluster pairs. -#' @param de.df Optional. Pre-computed results from \code{de_selected_pairs()} using the same pairs. Default = NULL. -#' @param de.param A list of differential gene expression parameters from \code{de_param()} -#' @param method If de.df is NULL, use "limma" or "chisq" to compute differentially expressed genes. -#' @param mc.cores If de.df is NULL, number of cores to use for parallel computation. -#' -#' @return A list with two objects: -#' \itemize{ -#' \item{de.df} A list of results from \code{de_selected_pairs()} for each pair. -#' \item{de.genes} A list of results from \code{de_stats_pair()} for each pair. -#' } -#' @export -#' -de_stats_selected_pairs <- function(norm.dat, - cl, - pairs, - de.df = NULL, - de.param = de_param(), - method = "limma", - select.genes = NULL, - mc.cores = 1, - cl.means = NULL, - cl.present = NULL) { - - # Filter data for only the provided pairs - row.names(pairs) <- paste(pairs[, 1], pairs[, 2], sep = "_") - - select.cl <- unique(c(pairs[, 1],pairs[, 2])) - cl <- cl[cl %in% select.cl] - - norm.dat <- as.matrix(norm.dat[, names(cl)]) - if(is.factor(cl)) { cl <- droplevels(cl) } - - # Filter pairs for clusters larger than min.cells - cl.size <- table(cl) - cl.n <- names(cl.size) - - cl.small <- cl.n[cl.size < de.param$min.cells] - cl.big <- setdiff(cl.n,cl.small) - - select.pair <- pairs[, 1] %in% cl.big & pairs[, 2] %in% cl.big - - de.genes <- list() - - if(sum(select.pair) > 0) { + up.genes = setNames(-log10(df[up,"padj"]), up) + down.genes = setNames(-log10(df[down,"padj"]), down) - cl <- cl[cl %in% c(pairs[select.pair, 1], pairs[select.pair, 2])] - select.cells <- names(cl) - low.th <- de.param$low.th + tmp = up.genes + tmp[tmp > 20] = 20 + up.score <- sum(tmp) + tmp = down.genes + tmp[tmp > 20] = 20 + down.score <- sum(tmp) + + result=list( + up.genes=up.genes, + down.genes=down.genes, + up.score = up.score, + down.score = down.score, + score = up.score + down.score, + up.num = length(up.genes), + down.num = length(down.genes), + num = length(up.genes) + length(down.genes) + ) - if(length(low.th) == 1){ - low.th <- setNames(rep(low.th, nrow(norm.dat)), - row.names(norm.dat)) - } - - if(is.null(de.df)) { - de.df <- de_selected_pairs(norm.dat, - cl[select.cells], - pairs[select.pair, , drop = FALSE], - low.th = low.th, - min.cells = de.param$min.cells, - method = method, - mc.cores = mc.cores, - cl.means = cl.means, - cl.present = cl.present) + + if(return.df){ + result$de.df = df[select,] } - - de.genes <- sapply(names(de.df), - function(x) { - if(is.null(de.df[[x]])){ - return(list()) - } - - df = de.df[[x]] - if(!is.null(de.param$min.cells)) { - cl.size1 <- cl.size[as.character(pairs[x, 1])] - cl.size2 <- cl.size[as.character(pairs[x, 2])] - } else { - cl.size1 <- NULL - cl.size2 <- NULL - } - de_stats_pair(df, - de.param = de.param, - cl.size1, - cl.size2, - select.genes = select.genes) - }, - simplify = FALSE) - } - - for(i in which(!select.pair)) { - pair <- paste(pairs[i, 1], pairs[i, 2], sep = "_") - de.genes[[pair]] <- list() - } - ###Not returning de.df anymore to save memory - return(de.genes) + return(result) + } } @@ -807,17 +876,14 @@ de_stats_selected_pairs <- function(norm.dat, #' @return a character vector of all differentially expressed genes. #' @export #' -de_stats_all_pairs <- function(norm.dat, - cl, - de.param = de_param(), - method = "limma", - de.genes = NULL, - ...) { - - if(is.factor(cl)){ - cl <- droplevels(cl) - } - +de_all_pairs <- function(norm.dat, + cl, + de.param = de_param(), + method = "fast_limma", + de.genes = NULL, + mc.cores=1, + ...) { + cn <- as.character(sort(unique(cl))) pairs= create_pairs(cn) @@ -826,13 +892,14 @@ de_stats_all_pairs <- function(norm.dat, } else { missing_pairs <- pairs } - - de.genes <- c(de.genes, de_stats_selected_pairs(norm.dat, - cl = cl, - pairs = missing_pairs, - de.param = de.param, - method = method, - ...)) + + de.genes <- c(de.genes, de_selected_pairs(norm.dat, + cl = cl, + pairs = missing_pairs, + de.param = de.param, + method = method, + mc.cores=mc.cores, + ...)) return(de.genes) } diff --git a/R/dend.markers.R b/R/dend.markers.R index 05838f8..7b951dd 100644 --- a/R/dend.markers.R +++ b/R/dend.markers.R @@ -1,4 +1,5 @@ -#' Select node specific markers + + #' Select node specific markers #' #' @param dend #' @param norm.dat @@ -59,6 +60,7 @@ select_node_specific_markers <- function(dend, norm.dat, cl, n.markers=10,de.gen #' @examples select_dend_markers <- function(dend, cl, de.genes,norm.dat=NULL,up.gene.score=NULL, down.gene.score=NULL,...) { + library(matrixStats) require(dendextend) require(randomForest) print(dend) diff --git a/R/dendro.R b/R/dendro.R index cc63b75..07dd2b4 100644 --- a/R/dendro.R +++ b/R/dendro.R @@ -70,13 +70,13 @@ build_dend <- function(cl.dat, cl.cor=NULL, l.rank=NULL, l.color=NULL, nboot=100 cl.hc = hclust(as.dist(1-cl.cor),method="average") dend = as.dendrogram(cl.hc) } - dend = dend %>% set("labels_cex", 0.7) + dend = dendextend::set(dend,"labels_cex", 0.7) if(!is.null(l.color)){ - dend = dend %>% set("labels_col", l.color[labels(dend)]) + dend = dendextend::set(dend, "labels_col", l.color[labels(dend)]) } - dend = dend %>% set("leaves_pch", 19) %>% set("leaves_cex", 0.5) + dend = dend %>% dendextend::set("leaves_pch", 19) %>% dendextend::set("leaves_cex", 0.5) if(!is.null(l.color)){ - dend = dend %>% set("leaves_col", l.color[labels(dend)]) + dend = dendextend::set(dend, "leaves_col", l.color[labels(dend)]) } if(!is.null(l.rank)){ dend =reorder_dend(dend,l.rank) @@ -106,9 +106,9 @@ unbranch_by_conf <- function(dend, conf.th) conf[i] = attr(dend[[i]],"edgePar")$conf } dend[[i]]=unbranch_by_conf(dend[[i]],conf.th) - } + } select = conf < conf.th - select.children = which(select ) + select.children = which(select ) if(length(select.children)>0){ unchanged = which(!select) new_dend = dend[unchanged] @@ -346,6 +346,18 @@ label_dend <- function(dend,n=1) } +reset_dend_label <- function(dend) + { + if(length(dend)>1){ + attr(dend, "label") = NULL + for(i in 1:length(dend)){ + dend[[i]] = reset_dend_label(dend[[i]]) + } + } + return(dend) + } + + #' Get dendrogram parent #' #' @param dend diff --git a/R/find_noise_cl.R b/R/find_noise_cl.R index 914c2d6..c39ece1 100644 --- a/R/find_noise_cl.R +++ b/R/find_noise_cl.R @@ -107,16 +107,16 @@ find_doublet <- function(cl.df, cl.sim, cl.good, de.genes=NULL) cl1= row.names(nn.df)[i] cl2=as.character(nn.df$nn.cl[i]) de = get_de_pair(de.genes, cl1, cl2) - up.genes = head(de$up.genes, 50) + up.genes = head(names(de$up.genes), 50) nn.df$up.genes[i] = length(up.genes) - nn.df$up.genes.score[i] = get_de_score(de$de.df, up.genes) + nn.df$up.genes.score[i] = sum(pmin(-log10(de$up.genes[up.genes]),20)) up.genes.olap =sapply( setdiff(cl.good, c(cl1,cl2)), function(k){ p = paste0(k,"_",cl2) tmp.de = get_de_pair(de.genes, k, cl2) - olap.genes= intersect(tmp.de$up.genes, up.genes) + olap.genes= intersect(names(tmp.de$up.genes), up.genes) olap.num = length(olap.genes) - olap.score= get_de_score(de$de.df, olap.genes) + olap.score= sum(pmin(-log10(de$up.genes[olap.genes]), 20)) c(olap.num, olap.score) }) cl3 = names(which.max(up.genes.olap[1,])) @@ -126,12 +126,12 @@ find_doublet <- function(cl.df, cl.sim, cl.good, de.genes=NULL) nn.df$max.olap.ratio1[i] = up.genes.olap[2,cl3]/nn.df$up.genes.score[i] de1 = get_de_pair(de.genes, cl1, cl3) - up.genes = head(de1$up.genes, 50) - up.gene.score= get_de_score(de1$de.df, up.genes) + up.genes = head(names(de1$up.genes), 50) + up.gene.score= sum(pmin(-log10(de1$up.genes[up.genes]),20)) de2 = get_de_pair(de.genes, cl2, cl3) - olap.genes = intersect(de2$up.genes, up.genes) + olap.genes = intersect(names(de2$up.genes), up.genes) nn.df$max.olap.genes2[i] = length(olap.genes) - nn.df$max.olap.score2[i] = get_de_score(de1$de.df, olap.genes) + nn.df$max.olap.score2[i] = sum(pmin(-log10(de1$up.genes[olap.genes]),20)) nn.df$max.olap.ratio2[i] = nn.df$max.olap.score2[i]/ up.gene.score } nn.df$max.olap.cl_label = cl.df[as.character(nn.df$max.olap.cl),"cluster_label"] @@ -154,10 +154,10 @@ find_doublet <- function(cl.df, cl.sim, cl.good, de.genes=NULL) #' @examples plot_doublet <- function(norm.dat, cl, doublet.df, de.genes, all.col) { - for(i in 1:nrow(doublets.df)){ - x = as.character(doublets.df[i, "cl"]) - y = as.character(doublets.df[i, "cl1"]) - z = as.character(doublets.df[i, "cl2"]) + for(i in 1:nrow(doublet.df)){ + x = as.character(doublet.df[i, "cl"]) + y = as.character(doublet.df[i, "cl1"]) + z = as.character(doublet.df[i, "cl2"]) tmp.cl = cl[cl %in% c(x, y, z)] tmp.cl = setNames(factor(as.character(tmp.cl), c(x,y,z)), names(tmp.cl)) tmp=display_cl(tmp.cl, norm.dat, prefix=paste0("doublet.",paste(levels(tmp.cl), collapse="_")), col=all.col, max.cl.size=100, de.genes=de.genes) @@ -283,88 +283,96 @@ plot_low_qc <- function(norm.dat, -find_doublet_all <- function(de.genes, cl, mc.cores=5, min.genes=100) +find_doublet_all <- function(de.genes, mc.cores=5, min.genes=100) { + require(parallel) if(is.null(de.genes)){ stop("Need to specify de.genes") } - require(foreach) - require(doParallel) - if (mc.cores == 1) { - registerDoSEQ() - } - else { - cores <- makeForkCluster(mc.cores) - doParallel::registerDoParallel(cores) - on.exit(parallel::stopCluster(cores), add = TRUE) - } - result.list= foreach(p=names(de.genes), .combine='list',.multicombine=TRUE, .maxcombine=length(de.genes)) %dopar% { - #result.list= sapply(names(de.genes), function(p){ - #print(p) - de = de.genes[[p]] - if(de$up.num < min.genes | de$down.num < min.genes){ - return(NULL) - } - tmp=strsplit(p,"_")[[1]] - cl1 = tmp[[1]] - cl2 = tmp[[2]] - - up.genes = head(de$up.genes, 50) - down.genes = head(de$down.genes,50) - - up.genes.score = get_de_score(de$de.df, up.genes) - down.genes.score = get_de_score(de$de.df, down.genes) - - results = sapply(setdiff(as.character(cl),c(cl1,cl2)), function(cl3){ - tmp1.de = get_de_pair(de.genes, cl1, cl3) - tmp2.de = get_de_pair(de.genes, cl3, cl2) - - olap.up.genes1 = intersect(tmp2.de$up.genes, up.genes) - olap.up.num1 = length(olap.up.genes1) - olap.up.score1 = get_de_score(de$de.df, olap.up.genes1) - olap.up.ratio1 = olap.up.score1 / up.genes.score - - olap.down.genes1 = intersect(tmp1.de$down.genes, down.genes) - olap.down.num1 = length(olap.down.genes1) - olap.down.score1 = get_de_score(de$de.df, olap.down.genes1) - olap.down.ratio1 = olap.down.score1 / down.genes.score - - up.genes2 = head(tmp1.de$up.genes, 50) - up.genes.score2 = get_de_score(tmp1.de$de.df, up.genes2) - olap.up.genes2 = intersect(up.genes2,de$up.genes) - olap.up.num2 = length(olap.up.genes2) - olap.up.score2 = get_de_score(tmp1.de$de.df, olap.up.genes2) - olap.up.ratio2 = olap.up.score2 /up.genes.score2 + pairs.df = get_pairs(names(de.genes)) - - down.genes2 = head(tmp2.de$down.genes, 50) - down.genes.score2 = get_de_score(tmp2.de$de.df, down.genes2) - olap.down.genes2 = intersect(down.genes2,de$down.genes) - olap.down.num2 = length(olap.down.genes2) - olap.down.score2 = get_de_score(tmp2.de$de.df, olap.down.genes2) - olap.down.ratio2 = olap.down.score2 /down.genes.score2 + cl = union(pairs.df[,1],pairs.df[,2]) + result.list= parallel::pvec(sample(row.names(pairs.df)), function(pairs){ + result.list= sapply(pairs, function(p){ + de = de.genes[[p]] + if(length(de)==0){ + return(NULL) + } + if(de$up.num < min.genes | de$down.num < min.genes){ + return(NULL) + } + cl1 = pairs.df[p,1] + cl2 = pairs.df[p,2] + + up.genes.score = head(de$up.genes, 50) + down.genes.score = head(de$down.genes,50) + up.genes.score[up.genes.score > 20] = 20 + down.genes.score[down.genes.score > 20] = 20 + up.genes = names(up.genes.score) + down.genes = names(down.genes.score) + up.genes.score=sum(up.genes.score) + down.genes.score = sum(down.genes.score) - result = list( - cl1=cl1, - cl2=cl2, - up.num = length(up.genes), - down.num = length(down.genes), - olap.num=c(olap.up.num1, olap.down.num1, olap.up.num2, olap.down.num2), - olap.ratio = c(olap.up.ratio1, olap.down.ratio1, olap.up.ratio2, olap.down.ratio2), - olap.score = c(olap.up.score1, olap.down.score1, olap.up.score2, olap.down.score2) - ) - result$score = sum(result$olap.score) / sum(c(up.genes.score, down.genes.score, up.genes.score2, down.genes.score2)) - return(result) + results = sapply(setdiff(as.character(cl),c(cl1,cl2)), function(cl3){ + tmp1.de = get_de_pair(de.genes, cl1, cl3) + tmp2.de = get_de_pair(de.genes, cl3, cl2) + if(tmp1.de$num < 20 | tmp2.de$num < 20 ){ + return(NULL) + } + olap.up.genes1 = intersect(names(tmp2.de$up.genes), up.genes) + olap.up.num1 = length(olap.up.genes1) + olap.up.score1 = get_de_truncate_score_sum(de$up.genes[olap.up.genes1]) + + olap.up.ratio1 = olap.up.score1 / up.genes.score + + olap.down.genes1 = intersect(names(tmp1.de$down.genes), down.genes) + olap.down.num1 = length(olap.down.genes1) + + olap.down.score1 = get_de_truncate_score_sum(de$down.genes[olap.down.genes1]) + olap.down.ratio1 = olap.down.score1 / down.genes.score + + up.genes2 = head(names(tmp1.de$up.genes), 50) + up.genes.score2 = get_de_truncate_score_sum(tmp1.de$up.genes[up.genes2]) + olap.up.genes2 = intersect(names(up.genes2),de$up.genes) + olap.up.num2 = length(olap.up.genes2) + olap.up.score2 = get_de_truncate_score_sum(tmp1.de$up.genes[olap.up.genes2]) + olap.up.ratio2 = olap.up.score2 /up.genes.score2 + + + down.genes2 = head(names(tmp2.de$down.genes), 50) + down.genes.score2 = get_de_truncate_score_sum(tmp2.de$down.genes[down.genes2]) + olap.down.genes2 = intersect(down.genes2,names(de$down.genes)) + olap.down.num2 = length(olap.down.genes2) + olap.down.score2 = get_de_truncate_score_sum(tmp2.de$down.genes[olap.down.genes2]) + olap.down.ratio2 = olap.down.score2 /down.genes.score2 + + result = list( + cl1=cl1, + cl2=cl2, + up.num = length(up.genes), + down.num = length(down.genes), + olap.num=c(olap.up.num1, olap.down.num1, olap.up.num2, olap.down.num2), + olap.ratio = c(olap.up.ratio1, olap.down.ratio1, olap.up.ratio2, olap.down.ratio2), + olap.score = c(olap.up.score1, olap.down.score1, olap.up.score2, olap.down.score2) + ) + result$score = sum(result$olap.score) / sum(c(up.genes.score, down.genes.score, up.genes.score2, down.genes.score2)) + return(result) + },simplify=F) + if(is.null(results) | length(results)==0){ + return(NULL) + } + test.score=unlist(sapply(results, function(x)x$score)) + tmp = names(which.max(test.score)) + result = results[[tmp]] + result$cl = tmp + return(result) },simplify=F) - test.score=sapply(results, function(x)x$score) - tmp = names(which.max(test.score)) - result = results[[tmp]] - result$cl = tmp - return(result) - #},simplify=F) - } - names(result.list) = names(de.genes) + },mc.cores=mc.cores) + result.list = result.list[!sapply(result.list, is.null)] + if(is.null(result.list)| length(result.list)==0){ + return(NULL) + } cl = sapply(result.list, function(x)x$cl) cl1 = sapply(result.list, function(x)x$cl1) cl2 = sapply(result.list, function(x)x$cl2) diff --git a/R/harmonize.R b/R/harmonize.R index 9561c5f..f39a055 100644 --- a/R/harmonize.R +++ b/R/harmonize.R @@ -52,7 +52,7 @@ prepare_harmonize<- function(dat.list, meta.df=NULL, cl.list=NULL, cl.df.list = #' @export #' #' @examples -test_knn <- function(knn, cl, reference, ref.cl) +test_knn <- function(knn, cl, reference, ref.cl, plot=FALSE) { library(reshape) library(ggplot2) @@ -68,36 +68,32 @@ test_knn <- function(knn, cl, reference, ref.cl) return(NULL) } pred.result = predict_knn(knn, reference, ref.cl) - pred.prob = as.matrix(pred.result$pred.prob) - if(ncol(pred.prob) <= 1){ + pred.prob = pred.result$pred.prob + if(length(unique(pred.prob$nn.cl))){ return(NULL) } - cl.pred.prob=as.matrix(do.call("rbind",tapply(names(cl), cl, function(x){ - colMeans(pred.prob[x,,drop=F]) - })),ncol=ncol(pred.prob)) + pred.prob$cl = cl[pred.prob$query] + pred.prob$n = NULL + cl.pred.prob=pred.prob %>% group_by(cl,nn.cl) %>% summarize(n=sum(freq)) + cl.size = as.data.frame(table(cl)) + cl.pred.prob = cl.pred.prob %>% left_join(cl.size) %>% mutate(prob=n/Freq) + match.df = cl.pred.prob %>% group_by(cl) %>% summarize(match.cl = nn.cl[which.max(prob)], + match.score = max(prob), Freq=max(Freq)) - tmp <- apply(cl.pred.prob, 1, which.max) - cl.pred.prob = cl.pred.prob[order(tmp),] - - match.cl = setNames(tmp[as.character(cl)], names(cl)) - match_score = get_pair_matrix(pred.prob, names(match.cl), match.cl) - - cl.score = sum(apply(cl.pred.prob, 1, max))/sum(cl.pred.prob) - cell.score = mean(match_score) - tb.df = melt(cl.pred.prob) - tb.df[[1]] = factor(as.character(tb.df[[1]]), levels=row.names(cl.pred.prob)) - tb.df[[2]] = factor(as.character(tb.df[[2]]), levels=colnames(cl.pred.prob)) - colnames(tb.df) = c("cl","ref.cl", "freq") - g <- ggplot(tb.df, - aes(x = cl, y = ref.cl)) + - geom_point(aes(color = freq)) + + cl.score = mean(match.df$match.score) + cell.score = with(match.df, sum(match.score * Freq)/sum(Freq)) + + g <- ggplot(cl.pred.prob, + aes(x = cl, y = nn.cl)) + + geom_point(aes(color = prob)) + theme(axis.text.x = element_text(vjust = 0.1, hjust = 0.2, angle = 90, size = 7), axis.text.y = element_text(size = 6)) + scale_color_gradient(low = "white", high = "darkblue") + scale_size(range=c(0,3)) - return(list(cl.score=cl.score, cell.score= cell.score, cell.pred.prob = pred.prob, cl.pred.prob = cl.pred.prob, g=g)) + result=list(cl.score=cl.score, cell.score= cell.score, cell.pred.prob = pred.prob, cl.pred.prob = cl.pred.prob, g=g) + return(result) } @@ -124,7 +120,8 @@ sample_sets_list <- function(cells.list, cl.list, cl.sample.size=100, sample.siz if(is.factor(tmp.cl)){ tmp.cl = droplevels(tmp.cl) } - cells.list[[x]] = sample_cells(tmp.cl, max(cl.sample.size,round(sample.size/length(unique(tmp.cl))))) + cl.size = table(tmp.cl) + cells.list[[x]] = sample_cells(tmp.cl, max(cl.sample.size,round(sample.size/sum(cl.size >= 4)))) } } } @@ -149,20 +146,61 @@ sample_sets_list <- function(cells.list, cl.list, cl.sample.size=100, sample.siz batch_process <- function(x, batch.size, FUN, mc.cores=1, .combine="c",...) { require(foreach) - require(doParallel) + require(doMC) if (mc.cores == 1) { registerDoSEQ() } else { - cl <- makeForkCluster(mc.cores) - doParallel::registerDoParallel(cl) - on.exit(parallel::stopCluster(cl), add = TRUE) + registerDoMC(cores=mc.cores) + #on.exit(parallel::stopCluster(), add = TRUE) } bins = split(x, floor((1:length(x))/batch.size)) results= foreach(i=1:length(bins), .combine=.combine) %dopar% FUN(bins[[i]],...) return(results) } + +pvec_no_combine <- function (v, FUN, ..., mc.set.seed = TRUE, mc.silent = FALSE, + mc.cores = getOption("mc.cores", 2L), mc.cleanup = TRUE) +{ + if (!is.vector(v)) + stop("'v' must be a vector") + cores <- as.integer(mc.cores) + if (cores < 1L) + stop("'mc.cores' must be >= 1") + if (cores == 1L) + return(FUN(v, ...)) + if (mc.set.seed) + mc.reset.stream() + n <- length(v) + l <- if (n <= cores) + as.list(v) + else { + il <- as.integer(n/cores) + xc <- n - il * cores + sl <- rep(il, cores) + if (xc) + sl[1:xc] <- il + 1L + si <- cumsum(c(1L, sl)) + se <- si + c(sl, 0L) - 1L + lapply(seq_len(cores), function(ix) v[si[ix]:se[ix]]) + } + jobs <- NULL + prepareCleanup() + on.exit(cleanup()) + FUN <- match.fun(FUN) + jobs <- lapply(seq_len(min(n, cores)), function(i) mcparallel(FUN(l[[i]], + ...), name = i, mc.set.seed = mc.set.seed, silent = mc.silent)) + res <- mccollect(jobs) + names(res) <- NULL + return(res) + } +knn_combine <- function(results) +{ + knn.index = do.call("rbind", lapply(results, function(x)x[[1]])) + knn.distance = do.call("rbind", lapply(results, function(x)x[[2]])) + return(list(knn.index, knn.distance)) +} #' get knn batch #' @@ -178,13 +216,21 @@ batch_process <- function(x, batch.size, FUN, mc.cores=1, .combine="c",...) #' @export #' #' @examples -get_knn_batch <- function(dat, ref.dat, k, method="cor", dim=NULL, batch.size, mc.cores=1) +get_knn_batch <- function(dat, ref.dat, k, method="cor", dim=NULL, batch.size, mc.cores=1,return.distance=FALSE,...) { - results <- batch_process(x=1:ncol(dat), batch.size=batch.size, mc.cores=mc.cores, .combine="rbind", FUN=function(x){ - get_knn(dat=dat[,x], ref.dat=ref.dat, k=k, method=method, dim=dim) + if(return.distance){ + fun = "knn_combine" + } + else{ + fun = "rbind" + } + results <- batch_process(x=1:ncol(dat), batch.size=batch.size, mc.cores=mc.cores, .combine=fun, FUN=function(bin){ + get_knn(dat=dat[,bin,drop=F], ref.dat=ref.dat, k=k, method=method, dim=dim,return.distance=return.distance, ...) }) return(results) } + + #' Get KNN @@ -199,29 +245,66 @@ get_knn_batch <- function(dat, ref.dat, k, method="cor", dim=NULL, batch.size, m #' @export #' #' @examples -get_knn <- function(dat, ref.dat, k, method ="cor", dim=NULL) +get_knn <- function(dat, ref.dat, k, method ="cor", dim=NULL,index=NULL, transposed=TRUE, return.distance=FALSE) { + if(transposed){ + cell.id = colnames(dat) + } + else{ + cell.id= row.names(dat) + } - print(method) if(method=="cor"){ - knn.index = knn_cor(ref.dat, dat,k=k) - } - else if(method=="cosine"){ - knn.index = knn_cosine(ref.dat, dat,k=k) + if(transposed){ + knn.result = knn_cor(ref.dat, dat,k=k) + } + else{ + ref.dat = Matrix::t(ref.dat) + dat = Matrix::t(dat) + knn.result = knn_cor(ref.dat, dat,k=k) + } } - else if(method=="RANN"){ - knn.index = RANN::nn2(t(ref.dat), t(dat), k=k)[[1]] + else{ + if(transposed){ + if(is.null(index)){ + ref.dat = Matrix::t(ref.dat) + } + dat = Matrix::t(dat) + } + if(method=="RANN"){ + knn.result = RANN::nn2(ref.dat, dat, k=k) + } + if(method %in% c("Annoy.Euclidean", "Annoy.Cosine")){ + library(BiocNeighbors) + if(is.null(index)){ + if (method=="Annoy.Cosine"){ + ref.dat = l2norm(ref.dat,by = "row") + } + index= buildAnnoy(ref.dat) + } + if (method=="Annoy.Cosine"){ + dat = l2norm(dat,by="row") + } + knn.result = queryAnnoy(X= ref.dat, query=dat, k=k, precomputed = index) + } + else if(method == "CCA"){ + mat3 = crossprod(ref.dat, dat) + cca.svd <- irlba(mat3, dim=dim) + knn.result = knn_cor(cca.svd$u, cca.svd$v, k=k) + } + else{ + stop(paste(method, "method unknown")) + } } - else if(method == "CCA"){ - mat3 = crossprod(ref.dat, dat) - cca.svd <- irlba(mat3, dim=dim) - knn.index = knn_cor(cca.svd$u, cca.svd$v, k=k) + knn.index= knn.result[[1]] + knn.distance = knn.result[[2]] + row.names(knn.index) = row.names(knn.distance)=cell.id + if(!return.distance){ + return(knn.index) } else{ - stop(paste(method, "method unknown")) + list(index=knn.index, distance=knn.distance) } - row.names(knn.index) = colnames(dat) - return(knn.index) } @@ -243,22 +326,22 @@ get_knn <- function(dat, ref.dat, k, method ="cor", dim=NULL) #' #' @examples select_joint_genes <- function(comb.dat, ref.list, select.cells = comb.dat$all.cells, maxGenes=2000, vg.padj.th=0.5, max.dim=20,use.markers=TRUE, top.n=100,rm.eigen=NULL, rm.th=rep(0.7, ncol(rm.eigen))) - { + { select.genes.list = list() for(ref.set in names(ref.list)){ - print(ref.set) + #print(ref.set) ref.cells = intersect(ref.list[[ref.set]], select.cells) ref.dat = comb.dat$dat.list[[ref.set]][,ref.cells] ###if cluster membership is available, use cluster DE genes if(use.markers & !is.null(comb.dat$de.genes.list[[ref.set]])){ cl = droplevels(comb.dat$cl.list[[ref.set]][ref.cells]) cl.size = table(cl) - cl = droplevels(cl[cl %in% names(cl.size)[cl.size > de.param.list[[ref.set]]$min.cells]]) + cl = droplevels(cl[cl %in% names(cl.size)[cl.size > comb.dat$de.param.list[[ref.set]]$min.cells]]) if(length(levels(cl)) <= 1){ return(NULL) } de.genes = comb.dat$de.genes.list[[ref.set]] - print(length(de.genes.list[[ref.set]])) + #print(length(de.genes.list[[ref.set]])) select.genes = display_cl(cl, norm.dat=ref.dat, max.cl.size = 200, n.markers=20, de.genes= de.genes)$markers select.genes = intersect(select.genes, comb.dat$common.genes) } @@ -289,10 +372,10 @@ select_joint_genes <- function(comb.dat, ref.list, select.cells = comb.dat$all if(sum(select)==0){ return(NULL) } - print(rm.cor) - if(sum(!select)>0){ - print(rm.cor[!select,,drop=F]) - } + #print(rm.cor) + #if(sum(!select)>0){ + # print(rm.cor[!select,,drop=F]) + #} rot = rot[,select,drop=FALSE] } if(is.null(rot)){ @@ -314,6 +397,13 @@ select_joint_genes <- function(comb.dat, ref.list, select.cells = comb.dat$all } +cleanAnnoyIndex <- function(index) + { + unlink(index@path) + rm(index) + gc() + } + #' compute knn #' @@ -332,57 +422,88 @@ select_joint_genes <- function(comb.dat, ref.list, select.cells = comb.dat$all #' @export #' #' @examples -compute_knn <- function(comb.dat, select.genes, ref.list, select.sets=names(comb.dat$dat.list), select.cells=comb.dat$all.cells, k=15, method="cor", self.method="RANN", batch.size=10000, mc.cores=1) +compute_knn <- function(comb.dat, select.genes, ref.list, select.sets=names(comb.dat$dat.list), select.cells=comb.dat$all.cells, k=15, cross.knn.method=c("Annoy.Cosine","cor"), self.knn.method=c("Annoy.Euclidean","RANN"), batch.size=10000, mc.cores=1) { + cat("Number of select genes", length(select.genes), "\n") cat("Get knn\n") dat.list = comb.dat$dat.list ###index is the index of knn from all the cells - knn.comb = do.call("cbind",lapply(names(ref.list), function(ref.set){ + knn.list = list() + for(ref.set in names(ref.list)){ cat("Ref ", ref.set, "\n") if(length(ref.list[[ref.set]]) <= k) { ##Not enough reference points to compute k - return(NULL) + next } k.tmp = k if(length(ref.list[[ref.set]]) <= k*2) { k.tmp = round(k/2) } - ref.dat = comb.dat$dat.list[[ref.set]][select.genes, ref.list[[ref.set]],drop=F] - knn =do.call("rbind", lapply(select.sets, function(set){ + dat = dat.list[[ref.set]] + ref.cells = ref.list[[ref.set]] + ref.dat = dat[select.genes,ref.cells] + ref.cells = colnames(ref.dat)[Matrix::colSums(ref.dat) > 0] + ref.dat = ref.dat[,ref.cells] + map.cells= intersect(select.cells, colnames(dat)) + if(length(map.cells)==0){ + next + } + tmp.cores = mc.cores + if(length(map.cells)< batch.size){ + tmp.cores = 1 + } + rd.dat = rd_PCA(dat,select.genes=select.genes, select.cells=map.cells, max.pca = 50, sampled.cells=ref.cells, th=1, mc.cores=tmp.cores)$rd.dat + ref.rd.dat = rd.dat[ref.cells,,drop=F] + idx = match(ref.cells, comb.dat$all.cells) + index = NULL + if(self.knn.method %in% c("Annoy.Euclidean")){ + require(BiocNeighbors) + index = buildAnnoy(ref.rd.dat, distance ="Euclidean", transposed = FALSE) + } + knn=get_knn_batch(dat=rd.dat, ref.dat = ref.rd.dat, k=k.tmp, method = self.knn.method, batch.size = batch.size, mc.cores=tmp.cores, index=index, transposed=FALSE) + if(!is.null(index)){ + cleanAnnoyIndex(index) + } + knn = matrix(idx[knn], nrow=nrow(knn), dimnames=list(row.names(knn), NULL)) + self.knn = knn + index = NULL + if(cross.knn.method %in% c("Annoy.Euclidean", "Annoy.Cosine")){ + if(cross.knn.method=="Annoy.Cosine"){ + distance = "Cosine" + } + else{ + distance = "Euclidean" + } + index = buildAnnoy(ref.dat, distance =distance, transposed = TRUE) + } + knn =do.call("rbind", lapply(setdiff(select.sets,ref.set), function(set){ cat("Set ", set, "\n") map.cells= intersect(select.cells, colnames(dat.list[[set]])) if(length(map.cells)==0){ return(NULL) } dat = dat.list[[set]][select.genes,map.cells,drop=F] - if(set == ref.set & self.method =="RANN"){ - rd.dat = rd_PCA(dat,select.genes=row.names(dat), select.cells=colnames(dat), max.pca = 50, sampled.cells=colnames(ref.dat), th=1)$rd.dat - if(is.null(rd.dat)){ - return(NULL) - } - knn = RANN::nn2(rd.dat[colnames(ref.dat),,drop=F] , rd.dat[colnames(dat),,drop=F], k=k.tmp)[[1]] - row.names(knn) = colnames(dat) - } - else{ - tmp.cores = mc.cores - if(ncol(dat)< batch.size){ - tmp.cores = 1 - } - knn=get_knn_batch(dat=dat, ref.dat = ref.dat, k=k.tmp, method = method, batch.size = batch.size, mc.cores=tmp.cores) - } + tmp.cores = mc.cores + if(ncol(dat)< batch.size){ + tmp.cores = 1 + } + knn=get_knn_batch(dat=dat, ref.dat = ref.dat, k=k.tmp, method = cross.knn.method, batch.size = batch.size, mc.cores=tmp.cores, index=index, transposed=TRUE) if(!is.null(comb.dat$cl.list)){ - test.knn = test_knn(knn, comb.dat$cl.list[[set]], colnames(ref.dat), comb.dat$cl.list[[ref.set]]) + test.knn = test_knn(knn, comb.dat$cl.list[[set]], colnames(ref.dat), comb.dat$cl.list[[ref.set]]) if(!is.null(test.knn)){ - cat("Knn", set, ref.set, method, "cl.score", test.knn$cl.score, "cell.score", test.knn$cell.score,"\n") + cat("Knn", set, ref.set, cross.knn.method, "cl.score", test.knn$cl.score, "cell.score", test.knn$cell.score,"\n") } } - idx = match(colnames(ref.dat), comb.dat$all.cells) - knn = matrix(idx[knn], nrow=nrow(knn)) - row.names(knn) = map.cells - knn - })) - })) + knn = matrix(idx[knn], nrow=nrow(knn), dimnames=list(row.names(knn), NULL)) + })) + if(!is.null(index)){ + cleanAnnoyIndex(index) + } + knn = rbind(self.knn, knn) + knn.list[[ref.set]] = knn[select.cells,] + } + knn.comb = do.call("cbind",knn.list) return(knn.comb) } @@ -394,8 +515,8 @@ compute_knn <- function(comb.dat, select.genes, ref.list, select.sets=names(comb #' @param merge.sets #' @param select.cells #' @param select.genes -#' @param method -#' @param self.method +#' @param cross.knn.method +#' @param self.knn.method #' @param k #' @param sample.size #' @param cl.sample.size @@ -408,7 +529,7 @@ compute_knn <- function(comb.dat, select.genes, ref.list, select.sets=names(comb #' @export #' #' @examples -knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= names(comb.dat$dat.list),merge.sets=ref.sets, select.cells=comb.dat$all.cells, select.genes=NULL, method="cor", self.method = "RANN", k=15, sample.size = 5000, cl.sample.size = 100, batch.size = 10000, verbose=TRUE,mc.cores=1,...) +knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= names(comb.dat$dat.list),merge.sets=ref.sets, select.cells=comb.dat$all.cells, select.genes=NULL, cross.knn.method="cor", self.knn.method = "RANN", method = "louvain", k=15, sample.size = 5000, cl.sample.size = 100, batch.size = 10000, verbose=TRUE,mc.cores=1,...) { #attach(comb.dat) with(comb.dat,{ @@ -416,6 +537,7 @@ knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= cells.list = split(select.cells, meta.df[select.cells, "platform"])[select.sets] cells.list = sample_sets_list(cells.list, cl.list[names(cl.list) %in% select.sets], sample.size=sample.size, cl.sample.size = cl.sample.size) ref.list = cells.list[ref.sets] + ###Select genes for joint analysis if(is.null(select.genes)){ select.genes = select_joint_genes(comb.dat, ref.list = ref.list,select.cells=select.cells, ...) @@ -424,22 +546,23 @@ knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= return(NULL) } - knn.comb= compute_knn(comb.dat, select.genes=select.genes, ref.list=ref.list, select.sets=select.sets, select.cells=select.cells, k=k, method=method, self.method=self.method, batch.size=batch.size, mc.cores=mc.cores) - + knn.comb= compute_knn(comb.dat, select.genes=select.genes, ref.list=ref.list, select.sets=select.sets, select.cells=select.cells, k=k, cross.knn.method =cross.knn.method, self.knn.method=self.knn.method, batch.size=batch.size, mc.cores=mc.cores) + if(is.null(knn.comb)){ + return(NULL) + } sampled.cells = unlist(cells.list) - result = knn_jaccard_louvain(knn.comb[sampled.cells,]) - result$cl.mat = t(result$memberships) - row.names(result$cl.mat) = sampled.cells + + result = knn_jaccard_clust(knn.comb[sampled.cells,], method=method) result$knn = knn.comb - cl = setNames(result$cl.mat[,1], row.names(result$cl.mat)) + ###preliminary clusters from louvain or leiden + cl = result$cl if(length(cl) < nrow(result$knn)){ - pred.df = predict_knn(result$knn, all.cells, cl)$pred.df - pred.cl= setNames(pred.df$pred.cl, row.names(pred.df)) - #cl = c(cl, pred.cl[setdiff(names(pred.cl), names(cl))]) - cl = pred.cl + diff.cells = setdiff(row.names(result$knn), names(cl)) + pred.df = predict_knn(result$knn[diff.cells,], all.cells, cl )$pred.df + pred.cl= setNames(as.character(pred.df$pred.cl), row.names(pred.df)) + cl = c(cl, pred.cl[setdiff(names(pred.cl), names(cl))]) } cl.platform.counts = table(meta.df[names(cl), "platform"],cl) - print(cl.platform.counts) ###If a cluster is not present in reference sets, split the cells based on imputed cluster based on cells in reference set. ref.de.param.list = de.param.list[ref.sets] @@ -447,10 +570,7 @@ knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= cl.big= cl.platform.counts[ref.sets,,drop=F] >= cl.min.cells bad.cl = colnames(cl.big)[colSums(cl.big) ==0] if(length(bad.cl) > 0){ - print("Bad.cl") - print(bad.cl) tmp.cells = names(cl)[cl %in% bad.cl] - ##########FIX BUG pred.df = predict_knn(result$knn[tmp.cells,,drop=F], all.cells, cl)$pred.df pred.cl= setNames(as.character(pred.df$pred.cl), row.names(pred.df)) cl[names(pred.cl)]= pred.cl @@ -465,12 +585,16 @@ knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= if(length(unique(cl))<=1){ return(NULL) } - print(table(cl)) + if(verbose){ + print(table(cl)) + } result$ref.list = ref.list result$cl = cl result$markers = select.genes result$select.genes= select.genes result$ref.de.param.list = ref.de.param.list + rm(merge.dat.list) + gc() return(result) }) } @@ -486,11 +610,12 @@ knn_joint <- function(comb.dat, ref.sets=names(comb.dat$dat.list), select.sets= #' @examples sim_knn <- function(sim, k=15) { - + require(matrixStats) th = rowOrderStats(as.matrix(sim), which=ncol(sim)-k+1) select = sim >= th - knn.idx = t(apply(select, 1, function(x)head(which(x),k))) - return(knn.idx) + knn.index = t(apply(select, 1, function(x)head(which(x),k))) + knn.distance = do.call("rbind",lapply(1:nrow(sim), function(i) (1- sim[i,,drop=F])[knn.index[i,,drop=F]])) + return(list(knn.index, knn.distance)) } #' KNN cor @@ -508,8 +633,7 @@ knn_cor <- function(ref.dat, query.dat, k = 15) #sim = cor(as.matrix(query.dat), as.matrix(ref.dat), use="pairwise.complete.obs") sim = cor(as.matrix(query.dat), as.matrix(ref.dat)) sim[is.na(sim)] = 0 - knn.idx = sim_knn(sim, k=k) - return(knn.idx) + return(sim_knn(sim, k=k)) } #' KNN cosine @@ -541,20 +665,40 @@ knn_cosine <- function(ref.dat, query.dat, k = 15) #' @export #' #' @examples -knn_jaccard_louvain <- function(knn.index) +##' .. content for \description{} (no empty lines) .. +##' +##' .. content for \details{} .. +##' @title +##' @param knn.index +##' @param method +##' @param prune +##' @return +##' @author Zizhen Yao +knn_jaccard_clust <- function(knn.index, method=c("louvain","leiden"),prune=0.05,...) { require(igraph) cat("Get jaccard\n") - sim=knn_jaccard(knn.index) - cat("Louvain clustering\n") + #sim=knn_jaccard(knn.index,...) + sim = ComputeSNN(knn.index,prune=prune) + rownames(sim) = colnames(sim) = row.names(knn.index) gr <- igraph::graph.adjacency(sim, mode = "undirected", weighted = TRUE) - result <- igraph::cluster_louvain(gr) + if(method[1]=="louvain"){ + cat("Louvain clustering\n") + result <- igraph::cluster_louvain(gr,...) + } + else{ + cat("Leiden clustering\n") + library(leidenAlg) + result <- leiden.community(gr,...) + } + result$cl=membership(result) return(result) } + #' Harmonize #' #' @param comb.dat @@ -573,7 +717,6 @@ harmonize <- function(comb.dat, prefix, overwrite=TRUE, dir=".",...) dir.create(dir) } fn = file.path(dir, paste0(prefix, ".rda")) - print(fn) if(!overwrite){ if(file.exists(fn)){ load(fn) @@ -611,7 +754,7 @@ harmonize <- function(comb.dat, prefix, overwrite=TRUE, dir=".",...) #' @export #' #' @examples -i_harmonize <- function(comb.dat, select.cells=comb.dat$all.cells, ref.sets=names(comb.dat$dat.list), prefix="", result=NULL, overwrite=TRUE, ...) +i_harmonize <- function(comb.dat, select.cells=comb.dat$all.cells, ref.sets=names(comb.dat$dat.list), prefix="", result=NULL, overwrite=TRUE, split.size = 50,...) { #attach(comb.dat) @@ -629,15 +772,14 @@ i_harmonize <- function(comb.dat, select.cells=comb.dat$all.cells, ref.sets=name tmp.prefix=paste(prefix, i,sep=".") print(tmp.prefix) select.cells= names(cl)[cl == i] - platform.size = table(meta.df[select.cells, "platform"]) - + platform.size = table(meta.df[select.cells, "platform"]) print(platform.size) - + sets = names(platform.size) - pass.th = sapply(sets, function(set)platform.size[[set]] >= de.param.list[[set]]$min.cells) + pass.th = sapply(ref.sets, function(set)platform.size[[set]] >= de.param.list[[set]]$min.cells) pass.th2 = sapply(sets, function(set)platform.size[[set]] >= de.param.list[[set]]$min.cells*2) - if(sum(pass.th) == length(ref.sets) & sum(pass.th2) >= 1){ + if(sum(pass.th) >= length(ref.sets) & sum(pass.th2) >= 1){ tmp.result = i_harmonize(comb.dat, select.cells=select.cells, ref.sets=ref.sets, prefix=tmp.prefix, overwrite=overwrite, ...) } else{ @@ -864,15 +1006,31 @@ get_gene_cl_correlation <- function(cl.means.list) simple_dend <- function(cl.means.list) { levels = unique(unlist(lapply(cl.means.list, colnames))) - n.counts = tmp.cor=matrix(0, nrow=length(levels), ncol=length(levels)) - row.names(n.counts) = row.names(tmp.cor)=levels - colnames(n.counts)=colnames(tmp.cor)=levels + n.counts = cl.cor=matrix(0, nrow=length(levels), ncol=length(levels)) + row.names(n.counts) = row.names(cl.cor)=levels + colnames(n.counts)=colnames(cl.cor)=levels for(x in cl.means.list){ - tmp.cor[colnames(x),colnames(x)] = cor(x) + tmp.cor= cor(x) + tmp.cor[is.na(tmp.cor)] = 0 + cl.cor[colnames(x),colnames(x)] = cl.cor[colnames(x),colnames(x)] + tmp.cor n.counts[colnames(x),colnames(x)] = n.counts[colnames(x),colnames(x)] +1 } - tmp.cor = tmp.cor/n.counts - hclust(as.dist(1-tmp.cor)) + cl.cor = cl.cor/n.counts + cl.cor[is.na(cl.cor)] = 0 + dend=as.dendrogram(hclust(as.dist(1-cl.cor))) + dend = dend %>% set("labels_cex", 0.7) + if (!is.null(l.color)) { + dend = dend %>% set("labels_col", l.color[labels(dend)]) + } + dend = dend %>% set("leaves_pch", 19) %>% set("leaves_cex", + 0.5) + if (!is.null(l.color)) { + dend = dend %>% set("leaves_col", l.color[labels(dend)]) + } + if (!is.null(l.rank)) { + dend = reorder_dend(dend, l.rank) + } + return(list(dend=dend, cl.cor=cl.cor)) } #' Impute val cor @@ -910,3 +1068,4 @@ build_dend_harmonize <- function(impute.dat.list, cl, cl.df, ncores=1) l.color = setNames(as.character(cl.df$cluster_color), row.names(cl.df)) dend.result = build_dend(cl.means, l.rank = l.rank, l.color = l.color, nboot=100,ncores=ncores) } + diff --git a/R/harmonize_impute.R b/R/harmonize_impute.R index 201bc12..6e3fcbe 100644 --- a/R/harmonize_impute.R +++ b/R/harmonize_impute.R @@ -18,54 +18,42 @@ get_knn_weight <- function(knn.dist, scale=0.2, exclude.th = 0.0001) return(w) } -#' Title -#' -#' @param knn.idx -#' @param reference -#' @param cl -#' -#' @return -#' @export -#' -#' @examples -predict_knn <- function(knn.idx, reference, cl) +##' .. content for \description{} (no empty lines) .. +##' +##' .. content for \details{} .. +##' @title +##' @param knn.idx +##' @param reference +##' @param cl +##' @return +##' @author Zizhen Yao +predict_knn <- function(knn.idx, reference, cl, mc.cores=1) { library(matrixStats) + library(data.table) library(dplyr) + library(parallel) + defaultW <- getOption("warn") + options(warn = -1) query = row.names(knn.idx) - df = data.frame(nn=as.vector(knn.idx), query=rep(row.names(knn.idx), ncol(knn.idx))) - df = df[!is.na(df$nn),] - df$nn.cl = cl[reference[df$nn]] - tb=with(df, table(query, nn.cl)) - nn.size = table(df$query) - tb = tb/as.vector(nn.size) - pred.cl = setNames(colnames(tb)[apply(tb, 1, which.max)], row.names(tb)) - pred.score = setNames(rowMaxs(tb), row.names(tb)) - pred.df = data.frame(pred.cl, pred.score) - return(list(pred.df=pred.df, pred.prob = tb)) - } - -#' Title -#' -#' @param knn.idx -#' @param reference -#' @param cl -#' @param ... -#' -#' @return -#' @export -#' -#' @examples -predict_knn_new <- function(knn.idx, reference, cl, ...) - { - library(matrixStats) - library(dplyr) - dat = as.matrix(get_cl_mat(cl)) - result = impute_knn(knn.idx, reference, dat, ...) - pred.cl = setNames(colnames(result)[apply(result, 1, which.max)], row.names(result)) - pred.score = setNames(rowMaxs(result), row.names(result)) - pred.df = data.frame(pred.cl, pred.score) - return(list(pred.df=pred.df, pred.prob=result)) + if(nrow(knn.idx) < 10000){ + mc.cores=1 + } + results = parallel::pvec(query,function(x){ + df = data.table(nn=as.vector(knn.idx[x,,drop=F]), query=rep(x, ncol(knn.idx))) + df = df %>% filter(!is.na(nn)) + df$nn.cl = cl[reference[df$nn]] + tb = df %>% group_by(query, nn.cl) %>% summarise(n=n())%>% mutate(freq = n/sum(n)) + pred.df = tb %>% group_by(query) %>% summarize(pred.cl = nn.cl[which.max(freq)], pred.score = max(freq)) + list(list(pred.df = pred.df, tb=tb)) + },mc.cores=mc.cores) + pred.df = do.call("rbind",lapply(results, function(x)x[[1]])) + pred.prob = do.call("rbind",lapply(results, function(x)x[[2]])) + pred.df = as.data.frame(pred.df) + row.names(pred.df) = pred.df$query + pred.df$query=NULL + options(warn = defaultW) + return(list(pred.df=pred.df, pred.prob = pred.prob)) } @@ -83,91 +71,44 @@ predict_knn_new <- function(knn.idx, reference, cl, ...) #' @export #' #' @examples -impute_knn <- function(knn.idx, reference, dat, knn.dist=NULL, w, ...) +impute_knn <- function(knn.idx, reference, dat, knn.dist=NULL, w=NULL, transpose_input=FALSE, transpose_output= FALSE) { - query = row.names(knn.idx) - impute.dat= matrix(0, nrow=nrow(knn.idx),ncol=ncol(dat)) - if(is.null(w)){ - if(!is.null(knn.dist)){ - w = get_knn_weight(knn.dist,...) - } - else{ - w = matrix(1, nrow=nrow(knn.idx),ncol=ncol(knn.idx)) - } + + if(transpose_input){ + reference.id = match(reference, row.names(dat)) + genes = colnames(dat) } - total.w = rep(0, nrow(knn.idx)) - for(i in 1:ncol(knn.idx)){ - print(i) - nn = reference[knn.idx[,i]] - ###Ignore the neighbors not present in imputation reference - select = nn %in% row.names(dat) - impute.dat[select,]= impute.dat[select,] + dat[nn[select],] * w[select, i] - total.w[select] = total.w[select]+ w[select,i] + else{ + reference.id = match(reference, colnames(dat)) + genes=row.names(dat) } - impute.dat = impute.dat / total.w - row.names(impute.dat) = row.names(knn.idx) - colnames(impute.dat) = colnames(dat) - return(impute.dat) - } - - -#' Title -#' -#' @param knn -#' @param ref -#' @param dat -#' @param tol -#' @param max.iter -#' @param ... -#' -#' @return -#' @export -#' -#' @examples -iter_impute_knn <- function(knn, ref, dat, tol=10^-3,max.iter=100,...) - { - old.dat = NULL - iter=0 - while(TRUE){ - iter= iter+1 - new.dat = impute_knn(knn, ref, dat,...) - if(!is.null(old.dat)){ - diff = new.dat - old.dat - diff.scaled = sum(abs(diff))/sum(abs(old.dat)) - print(iter) - print(diff.scaled) - if(diff.scaled < tol | iter > max.iter ){ - break - } - } - dat = old.dat = new.dat + + cell.id = 1:nrow(knn.idx) + gene.id = 1:length(genes) + if(transpose_output){ + impute.dat = matrix(0,length(cell.id), length(genes)) + row.names(impute.dat) = row.names(knn.idx) + colnames(impute.dat) = genes + } + else{ + impute.dat = matrix(0, length(genes),length(cell.id)) + row.names(impute.dat) = genes + colnames(impute.dat) = row.names(knn.idx) } - return(new.dat) + ImputeKnn(knn.idx[x,,drop=F], reference.id, x, gene.id, + dat=dat,impute.dat, w_mat_=NULL, + transpose_input=transpose_input, transpose_output=transpose_output) + impute.dat } -#' Title -#' -#' @param comb.dat -#' @param split.results -#' @param select.genes -#' @param select.cells -#' @param ref.list -#' @param sets -#' @param max.dim -#' @param th -#' @param rm.eigen -#' @param rm.th -#' -#' @return -#' @export -#' -#' @examples -impute_knn_global <- function(comb.dat, split.results, select.genes, select.cells, ref.list, sets=comb.dat$sets, max.dim=80, th=0.5, rm.eigen=NULL,rm.th=0.65) + +impute_knn_global <- function(comb.dat, split.results, select.genes, select.cells, ref.list, sets=names(comb.dat$dat.list), max.dim=100, k=15, th=0.5, rm.eigen=NULL,rm.th=0.65,method="zscore",mc.cores=1,verbose=FALSE) { + library(matrixStats) org.rd.dat.list <- list() knn.list <- list() impute.dat.list <- list() @@ -176,60 +117,80 @@ impute_knn_global <- function(comb.dat, split.results, select.genes, select.cell { print(x) tmp.cells= select.cells[comb.dat$meta.df[select.cells,"platform"]==x] - ref.cells = intersect(ref.list[[x]],tmp.cells) - rd.result <- rd_PCA(comb.dat$dat.list[[x]], select.genes, select.cells=tmp.cells, sampled.cells = ref.cells, max.pca =max.dim, th=th) + ref.cells = ref.list[[x]] + rd.result <- rd_PCA(comb.dat$dat.list[[x]], select.genes, select.cells=tmp.cells, sampled.cells = ref.cells, max.pca =max.dim, th=th, method=method,mc.cores=mc.cores,verbose=verbose) + org.rd.dat.list[[x]] = rd.result + rd.result = org.rd.dat.list[[x]] if(!is.null(rm.eigen)){ - rd.dat = filter_RD(rd.result$rd.dat, rm.eigen, rm.th) + rd.dat = filter_RD(rd.result$rd.dat, rm.eigen, rm.th,verbose=verbose) } - print(ncol(rd.dat)) - knn.result <- RANN::nn2(data=rd.dat[ref.cells,], query=rd.dat, k=15) - knn <- knn.result[[1]] - row.names(knn) = row.names(rd.dat) - org.rd.dat.list[[x]] = rd.result - knn.list[[x]]=knn - knn = knn.list[[x]] - impute.dat.list[[x]] <- impute_knn(knn, ref.cells, t(as.matrix(comb.dat$dat.list[[x]][select.genes,ref.cells]))) + #print(ncol(rd.dat)) + knn = RANN::nn2(data=rd.dat[ref.cells,],query=rd.dat,k=k)[[1]] + row.names(knn) = row.names(rd.dat) + dat = as.matrix(comb.dat$dat.list[[x]][select.genes,ref.cells]) + reference.id = 1:length(ref.cells) + cell.id = match(row.names(rd.dat), select.cells) + gene.id = 1:length(select.genes) + impute.dat = matrix(0, nrow=length(select.genes), ncol=length(select.cells)) + dimnames(impute.dat) = list(select.genes, select.cells) + ImputeKnn(knn, reference.id, cell.id, gene.id, dat=dat, impute.dat, w_mat_ = NULL, + transpose_input=FALSE, transpose_output=FALSE); + impute.dat.list[[x]] = impute.dat } + ###cross-modality Imputation based on nearest neighbors in each iteraction of clustering using anchoring genes or genes shown to be differentiall expressed. - for(x in names(split.results)){ - print(x) + for(x in names(split.results)){ result = split.results[[x]] + if(x == names(split.results)[1]){ + impute.genes = select.genes + } + else{ + impute.genes=intersect(select.genes,c(result$markers, result$select.genes)) + } cl = result$cl knn = result$knn - for(ref.set in names(result$ref.list)){ - print(ref.set) + for(ref.set in intersect(names(result$ref.list),names(ref.list))){ tmp.cells = row.names(knn) - add.cells=FALSE query.cells = intersect(tmp.cells[comb.dat$meta.df[tmp.cells,"platform"] != ref.set], select.cells) - if(any(!query.cells %in% row.names(impute.dat.list[[ref.set]]))){ - add.cells=TRUE - impute.genes = select.genes - } - else{ - impute.genes=intersect(select.genes,c(result$markers, result$select.genes)) - } select.cols = comb.dat$meta.df[comb.dat$all.cells[knn[1,]],"platform"] == ref.set - print(select.cols) if(sum(select.cols)==0){ next } - else{ - ref.cells = intersect(comb.dat$all.cells[unique(as.vector(knn[, select.cols]))],select.cells) - select.knn = knn[query.cells,select.cols] - impute.dat = impute_knn(select.knn, comb.dat$all.cells, impute.dat.list[[ref.set]][ref.cells,impute.genes]) - } - if(!add.cells){ - impute.dat.list[[ref.set]][query.cells, impute.genes] <- impute.dat - } - else{ - impute.dat.list[[ref.set]] <- rbind(impute.dat.list[[ref.set]],impute.dat) + if(length(query.cells)==0){ + next } - print("Impute dimension") - print(dim(impute.dat.list[[ref.set]])) - rm(impute.dat) - gc() + + select.knn = knn[query.cells,select.cols,drop=F] + dat = impute.dat.list[[ref.set]] + gene.id = match(impute.genes, row.names(dat)) + cell.id = match(query.cells, colnames(dat)) + reference.id = match(comb.dat$all.cells, colnames(dat)) + ImputeKnn(select.knn, reference.id, cell.id, gene_idx=gene.id, + dat=dat,impute_dat=dat, w_mat_= NULL, + transpose_input=FALSE, transpose_output=FALSE) } } return(list(knn.list =knn.list, org.rd.dat.list = org.rd.dat.list,impute.dat.list=impute.dat.list, ref.list=ref.list)) } + +fast_knn <- function(query.dat, ref.dat=query.dat, distance="euclidean", k=15, M=16, ef=200,method="euclidean") + { + library("RcppHNSW") + if(method=="euclidean"){ + p = new(HnswL2,ncol(ref.dat), nrow(ref.dat),M, ef) + } + else if(method=="cosine"){ + p = new(HnswCosine,ncol(ref.dat), nrow(ref.dat),M, ef) + } + else if(method=="ip"){ + p = new(HnswIP,ncol(ref.dat), nrow(ref.dat),M, ef) + } + p$addItems(ref.dat) + knn.result = p$getAllNNsList(query.dat, k=15, include_distance=TRUE) + row.names(knn.result[[1]]) = row.names(knn.result[[2]]) = row.names(query.dat) + return(knn.result) + } + + + diff --git a/R/harmonize_merge.R b/R/harmonize_merge.R index dc7159c..a5dc0f3 100644 --- a/R/harmonize_merge.R +++ b/R/harmonize_merge.R @@ -2,6 +2,7 @@ #' #' @param dat.list #' @param de.param.list +#' @param common.genes #' @param cl #' @param pairs #' @param cl.means.list @@ -14,10 +15,15 @@ #' @export #' #' @examples -de_genes_pairs_multiple <- function(dat.list, de.param.list, cl, pairs, cl.means.list=NULL, cl.present.list=NULL, lfc.conservation.th=0.6, de.genes.list=NULL, max.cl.size=200) +de_genes_pairs_multiple <- function(dat.list, de.param.list, common.genes=NULL, cl, pairs, cl.means.list=NULL, cl.present.list=NULL, cl.sqr.means.list=NULL, lfc.conservation.th=0.6, de.genes.list=NULL, max.cl.size=200, method="fast_limma") { - cl.size = table(cl) - de.df.list = sapply(names(dat.list), function(x)list()) + if(is.null(common.genes)){ + common.genes = row.names(dat.list[[1]]) + for(x in 2:length(dat.list)){ + common.genes= intersect(common.genes, row.names(dat.list[[x]])) + } + } + cl.size = table(cl) if(is.null(de.genes.list)){ de.genes.list = sapply(names(dat.list), function(x)list()) } @@ -29,7 +35,6 @@ de_genes_pairs_multiple <- function(dat.list, de.param.list, cl, pairs, cl.means cl.size.platform[[x]]= cl.size select.cl = names(cl.size)[cl.size >= de.param.list[[x]]$min.cells] if(length(select.cl) < 2){ - de.df.list[[x]] = NULL next } tmp.cl = tmp.cl[tmp.cl %in% select.cl] @@ -42,45 +47,62 @@ de_genes_pairs_multiple <- function(dat.list, de.param.list, cl, pairs, cl.means } tmp.pairs= pairs[pairs[,1] %in% select.cl & pairs[,2] %in% select.cl,] if(nrow(tmp.pairs)==0){ - de.df.list[[x]] = NULL next - } - tmp.de.df = DE_genes_pairs(norm.dat, cl= tmp.cl, pairs = tmp.pairs, low.th= de.param.list[[x]]$low.th, min.cells = de.param.list[[x]]$min.cells, cl.means=cl.means.list[[x]], cl.present = cl.present.list[[x]]) - de.df.list[[x]] = tmp.de.df - } + } + tmp = de_selected_pairs(norm.dat, cl= tmp.cl, pairs = tmp.pairs, de.param=de.param.list[[x]], method=method,cl.means=cl.means.list[[x]], cl.present = cl.present.list[[x]], cl.sqr.means=cl.sqr.means.list[[x]]) + de.genes.list[[x]] = c(de.genes.list[[x]], tmp) + } for(p in row.names(pairs)){ - lfc = do.call("cbind",lapply(names(de.df.list), function(x){ - if(is.null(de.df.list[[x]][[p]])){ - return(NULL) + lfc = sapply(names(cl.means.list), function(x){ + if(pairs[p,1] %in% colnames(cl.means.list[[x]]) & pairs[p,2] %in% colnames(cl.means.list[[x]])){ + cl.means.list[[x]][common.genes,pairs[p,1]] - cl.means.list[[x]][common.genes,pairs[p,2]] } - df = de.df.list[[x]][[p]] - df[comb.dat$common.genes,"lfc"] - })) + else{ + NULL + } + }) + if(is.list(lfc)){ + lfc = lfc[!sapply(lfc,is.null)] + lfc = do.call("cbind",lfc) + } if(is.null(lfc)){ - next + return(NULL) } - row.names(lfc) = comb.dat$common.genes + row.names(lfc) = common.genes sign1 = rowSums(lfc > 1) sign2 = rowSums(lfc < -1) frac = pmax(sign1, sign2)/ncol(lfc) select.genes = names(frac)[frac >= lfc.conservation.th] for(x in names(de.genes.list)){ - df = de.df.list[[x]][[p]] - if(is.null(df)){ - de.genes.list[[x]][[p]] = list() - } - else{ - cl.size1 = cl.size.platform[[x]][as.character(pairs[p,1])] - cl.size2 = cl.size.platform[[x]][as.character(pairs[p,2])] - de.genes.list[[x]][[p]] = de_pair(df, de.param = de.param.list[[x]], cl.size1=cl.size1, cl.size2 = cl.size2, select.genes= select.genes) + if(is.null(de.genes.list[[x]][[p]])){ + next } + up.genes = de.genes.list[[x]][[p]]$up.genes + down.genes = de.genes.list[[x]][[p]]$down.genes + up.genes = up.genes[names(up.genes) %in% select.genes] + down.genes = down.genes[names(down.genes) %in% select.genes] + tmp = up.genes + tmp[tmp > 20] = 20 + up.score <- sum(tmp) + tmp = down.genes + tmp[tmp > 20] = 20 + down.score <- sum(tmp) + + de.genes.list[[x]][[p]]=list( + up.score = up.score, + down.score = down.score, + score = up.score + down.score, + up.num = length(up.genes), + down.num = length(down.genes), + num = length(up.genes) + length(down.genes) + ) + } } return(de.genes.list) } - #' Title #' #' @param cl.rd @@ -149,12 +171,30 @@ get_cl_sim_multiple <- function(cl.rd.list, FUN =pmax) #' @export #' #' @examples -merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbose=TRUE, pairBatch=40, de.genes.list=NULL, lfc.conservation.th=0.7, merge.type="undirectional") +##' .. content for \description{} (no empty lines) .. +##' +##' .. content for \details{} .. +##' @title +##' @param comb.dat +##' @param merge.dat.list +##' @param cl +##' @param anchor.genes +##' @param verbose +##' @param pairBatch +##' @param de.genes.list +##' @param lfc.conservation.th +##' @param merge.type +##' @param de.method +##' @return +##' @author Zizhen Yao +merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbose=TRUE, pairBatch=40, de.genes.list=NULL, lfc.conservation.th=0.7, merge.type="undirectional", de.method="fast_limma") { - print("merge_cl_multiple") + #print("merge_cl_multiple") cl = setNames(as.character(cl),names(cl)) - merge_x_y <- function(x, y, cl, cl.rd.list, cl.sim, cl.means.list=NULL, cl.present.list=NULL) + + merge_x_y <- function(x, y) { + cat("merge", x, y, "\n") cl[cl==x]= y if(length(unique(cl))==1){ return(NULL) @@ -174,27 +214,49 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo next } include.y = length(tmp.cells2) >= merge.de.param.list[[set]]$min.cells + #update cl.means.list if(!is.null(cl.means.list)){ - tmp = colnames(cl.means.list[[set]])!=x - cl.means.list[[set]] = cl.means.list[[set]][,tmp,drop=F] + if(!is.null(cl.means.list[[set]])){ + tmp = colnames(cl.means.list[[set]])!=x + cl.means.list[[set]] = cl.means.list[[set]][,tmp,drop=F] + } tmp.means = Matrix::rowMeans(merge.dat.list[[set]][,tmp.cells2,drop=F]) if(include.y){ - if(!is.null(cl.means.list[[set]]) & nrow(cl.means.list[[set]])>0){ + if(!is.null(cl.means.list[[set]])){ cl.means.list[[set]][[y]] = tmp.means[row.names(cl.means.list[[set]])] } else{ cl.means.list[[set]] = data.frame(tmp.means) colnames(cl.means.list[[set]])=y } + } + } + #update cl.sqr.means.list + if(!is.null(cl.sqr.means.list) & !is.null(cl.sqr.means.list[[set]]) & de.method=="fast_limma"){ + if(!is.null(cl.sqr.means.list[[set]])){ + tmp = colnames(cl.sqr.means.list[[set]])!=x + cl.sqr.means.list[[set]] = cl.sqr.means.list[[set]][,tmp,drop=F] } - + tmp.sqr.means = Matrix::rowMeans(merge.dat.list[[set]][,tmp.cells2,drop=F]^2) + if(include.y){ + if(!is.null(cl.sqr.means.list[[set]])){ + cl.sqr.means.list[[set]][[y]] = tmp.sqr.means[row.names(cl.sqr.means.list[[set]])] + } + else{ + cl.sqr.means.list[[set]] = data.frame(tmp.means) + colnames(cl.sqr.means.list[[set]])=y + } + } } - if(!is.null(cl.present.list)){ - tmp = colnames(cl.present.list[[set]])!=x - cl.present.list[[set]] = cl.present.list[[set]][,tmp,drop=F] + #update cl.present.list + if(!is.null(cl.present.list) & !is.null(cl.present.list[[set]])){ + if(!is.null(cl.present.list[[set]])){ + tmp = colnames(cl.present.list[[set]])!=x + cl.present.list[[set]] = cl.present.list[[set]][,tmp,drop=F] + } tmp.means = Matrix::rowMeans(merge.dat.list[[set]][,tmp.cells2,drop=F] >= merge.de.param.list[[set]]$low.th) if(include.y){ - if(!is.null(cl.present.list[[set]])&nrow(cl.present.list[[set]])>0){ + if(!is.null(cl.present.list[[set]])){ cl.present.list[[set]][[y]] = tmp.means[row.names(cl.present.list[[set]])] } else{ @@ -203,6 +265,7 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo } } } + #update cluster similary matrix if(include.y){ tmp= Matrix::rowMeans(merge.dat.list[[set]][anchor.genes ,tmp.cells2,drop=FALSE]) if(y %in% colnames(cl.rd)){ @@ -227,15 +290,9 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo return(list(cl=cl, cl.rd.list=cl.rd.list, cl.sim = cl.sim, cl.means.list=cl.means.list, cl.present.list = cl.present.list)) } - add_pairs_de_genes <- function(de.genes.list, cl, new.pairs) + add_pairs_de_genes <- function(de.genes.list, cl, new.pairs, common.genes) { - if(verbose){ - print("Add de genes") - } - de.genes.list <- de_genes_pairs_multiple(merge.dat.list, merge.de.param.list, cl, pairs=new.pairs, cl.means.list=cl.means.list, cl.present.list=cl.present.list, lfc.conservation.th=lfc.conservation.th, de.genes.list=de.genes.list) - if(verbose){ - print("Finish adding de genes") - } + de.genes.list <- de_genes_pairs_multiple(merge.dat.list, merge.de.param.list, common.genes=common.genes, cl=cl, pairs=new.pairs, cl.means.list=cl.means.list, cl.present.list=cl.present.list, cl.sqr.means.list= cl.sqr.means.list,lfc.conservation.th=lfc.conservation.th, de.genes.list=de.genes.list,method=de.method) return(de.genes.list) } @@ -278,49 +335,55 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo cl.big= cl.platform.counts >= cl.min.cells[rownames(cl.platform.counts)] cl.small = colnames(cl.big)[colSums(cl.big) == 0] cl.big = colnames(cl.big)[colSums(cl.big) > 0] - + if(length(cl.big)==0){ return(NULL) } - #cl.rd.list = get_cl_means_list(merge.dat.list, merge.de.param.list, select.genes=anchor.genes, cl=cl) - cl.rd.list = get_cl_means_list(merge.dat.list, cl=cl, select.genes=anchor.genes) + + ###Merge small cells based on KNN prediction + cl.small.cells= names(cl)[cl %in% cl.small] + cl.big.cells= names(cl)[cl %in% cl.big] + if(length(cl.small)>0){ + cl.small.cells.byplatform = split(cl.small.cells, as.character(comb.dat$meta.df[cl.small.cells, "platform"])) + cl.big.cells.byplatform = split(cl.big.cells, comb.dat$meta.df[cl.big.cells, "platform"]) + for(set in names(cl.small.cells.byplatform)){ + query.cells =cl.small.cells.byplatform[[set]] + if(length(query.cells)==0){next} + ref.cells =cl.big.cells.byplatform[[set]] + ref.cells = sample_cells(cl[ref.cells],300) + dat = merge.dat.list[[set]][anchor.genes, c(ref.cells, query.cells),drop=F] + knn.idx = get_knn(dat[,query.cells,drop=F], dat[,ref.cells,drop=F], method="Annoy.Euclidean", k=min(15, ceiling(length(ref.cells)/2))) + pred.result = predict_knn(knn.idx=knn.idx, reference = ref.cells, cl=cl) + tmp.cl = with(pred.result$pred.df, setNames(pred.cl, row.names(pred.result$pred.df))) + cl[names(tmp.cl)] = tmp.cl + } + } + + cl.rd.list = get_cl_means_list(merge.dat.list, cl=cl, de.param.list=merge.de.param.list, select.genes=anchor.genes) pairs=NULL - ###Merge small clusters first cl.sim = get_cl_sim_multiple(cl.rd.list) - while(length(cl.small)>0){ - knn = data.frame(cl=cl.small, nn=cl.big[sim_knn(cl.sim[cl.small, cl.big,drop=F],k=1)],stringsAsFactors=FALSE) - knn$sim = get_pair_matrix(cl.sim, knn$cl, knn$nn) - closest.pair = which.max(knn$sim) - x = knn[closest.pair,1] - y= knn[closest.pair,2] - if(verbose > 0){ - cat("Merge: ", x,y, "sim:", knn[closest.pair,3],"\n") - } - update.result=merge_x_y(x, y, cl, cl.rd.list, cl.sim) - if(is.null(update.result)){ - return(NULL) - } - cl = update.result$cl - cl.rd.list = update.result$cl.rd.list - cl.sim = update.result$cl.sim - cl.means.list = update.result$cl.means.list - cl.present.list = update.result$cl.present.list - cl.small = cl.small[cl.small!=x] - } - merge.de.param.list = comb.dat$de.param.list[merge.sets] + if (length(cl.sim)==0) return(NULL) - cl.means.list = get_cl_means_list(merge.dat.list, merge.de.param.list, cl=cl) + merge.de.param.list = comb.dat$de.param.list[merge.sets] + common.genes = comb.dat$common.genes + cl.means.list = get_cl_means_list(merge.dat.list, cl=cl, de.param.list=merge.de.param.list) cl.means.list = sapply(cl.means.list, as.data.frame, simplify=F) - cl.present.list = get_cl_present_list(merge.dat.list,merge.de.param.list, cl=cl) + + cl.sqr.means.list = get_cl_sqr_means_list(merge.dat.list, cl=cl, de.param.list=merge.de.param.list) + cl.sqr.means.list = sapply(cl.sqr.means.list, as.data.frame, simplify=F) + + cl.present.list = get_cl_present_list(merge.dat.list, cl=cl, de.param.list=merge.de.param.list) cl.present.list = sapply(cl.present.list, as.data.frame, simplify=F) + de.pairs = NULL de.genes.list = sapply(names(merge.dat.list), function(x)list(),simplify=F) while (length(unique(cl)) > 1) { ###Find pairs of nearest neighbrs as candidates for merging. k.tmp = pmin(4,ncol(cl.sim)) - nn=colnames(cl.sim)[sim_knn(cl.sim, k= k.tmp)] + nn=colnames(cl.sim)[sim_knn(cl.sim, k= k.tmp)[[1]]] + merge.pairs = data.frame(cl=rep(row.names(cl.sim), length(k.tmp)), nn=nn,stringsAsFactors=FALSE) merge.pairs = merge.pairs[merge.pairs[,1]!=merge.pairs[,2],] merge.pairs$sim = get_pair_matrix(cl.sim, merge.pairs$cl, merge.pairs$nn) @@ -341,8 +404,8 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo }else{ de.pairs = rbind(merge.pairs[new.pairs,],de.pairs) } - de.genes.list = add_pairs_de_genes(de.genes.list, cl, merge.pairs[new.pairs,]) - if(sum(sapply(de.genes.list, length))==0){ + de.genes.list = add_pairs_de_genes(de.genes.list, cl, merge.pairs[new.pairs,], common.genes) + if(is.null(de.genes.list) || sum(sapply(de.genes.list, length))==0){ return(NULL) } merge.sc = test_merge_multiple(de.genes.list, merge.type=merge.type) @@ -368,7 +431,7 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo if (verbose > 0) { cat("Merge ", x, y, merge.sc[i], sim, sum(cl == x), "cells", sum(cl == y), "cells", "\n") } - update.result=merge_x_y(x=x, y=y, cl, cl.rd.list, cl.sim, cl.means.list, cl.present.list) + update.result=merge_x_y(x=x, y=y) if(is.null(update.result)){ return(NULL) } @@ -377,6 +440,7 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo cl.sim = update.result$cl.sim cl.means.list = update.result$cl.means.list cl.present.list = update.result$cl.present.list + cl.sqr.means.list = update.result$cl.sqr.means.list rm.pairs = de.pairs[, 1] %in% c(x,y) | de.pairs[, 2] %in% c(x,y) de.genes.list = rm_pairs_de_genes(de.genes.list, row.names(de.pairs)[rm.pairs]) de.pairs = de.pairs[!rm.pairs,,drop=F] @@ -387,9 +451,6 @@ merge_cl_multiple <- function(comb.dat, merge.dat.list, cl, anchor.genes, verbo if (length(unique(cl)) < 2) { return(NULL) } - if (verbose > 0) { - print(table(cl)) - } return(cl) } diff --git a/R/harmonize_util.R b/R/harmonize_util.R index 5e58630..83364ff 100644 --- a/R/harmonize_util.R +++ b/R/harmonize_util.R @@ -103,7 +103,7 @@ plot_confusion <- function(consensus.cl, prefix, comb.dat,consensus.cl.df = NULL g.list=list() for(x in names(comb.dat$cl.list)){ if(sum(names(comb.dat$cl.list[[x]]) %in% names(consensus.cl)) > 0){ - if(is.null(cl.df)){ + if(is.null(consensus.cl.df)){ g = compare_annotate(consensus.cl, comb.dat$cl.list[[x]], comb.dat$cl.df.list[[x]], rename = FALSE, do.droplevels=do.droplevels)$g g = g + xlab("consensus cluster") + ylab(x) } @@ -149,6 +149,9 @@ get_cl_means_list <- function(dat.list, cl, de.param.list=NULL, min.cells=NULL, min.cells = setNames(rep(min.cells, length(dat.list)), names(dat.list)) } } + if(is.null(min.cells)){ + min.cells = setNames(rep(1, length(dat.list)), names(dat.list)) + } cl.means.list = list() for(x in sets){ tmp.cells = intersect(names(cl), colnames(dat.list[[x]])) @@ -156,7 +159,7 @@ get_cl_means_list <- function(dat.list, cl, de.param.list=NULL, min.cells=NULL, cl.size = table(tmp.cl) select.cl = names(cl.size)[cl.size >= min.cells[[x]]] if(length(select.cl)==0){ - return(NULL) + next } tmp.cl = tmp.cl[tmp.cl %in% select.cl] if(is.factor(tmp.cl)){ @@ -174,6 +177,44 @@ get_cl_means_list <- function(dat.list, cl, de.param.list=NULL, min.cells=NULL, } +get_cl_sqr_means_list <- function(dat.list, cl, de.param.list=NULL, min.cells=NULL, select.genes=NULL, sets=names(dat.list)) + { + if(is.null(min.cells)){ + if(!is.null(de.param.list)){ + min.cells = lapply(de.param.list,"[[", "min.cells") + } + else{ + min.cells = setNames(rep(1, length(dat.list)), names(dat.list)) + } + } + else{ + if(length(min.cells) ==1){ + min.cells = setNames(rep(min.cells, length(dat.list)), names(dat.list)) + } + } + cl.sqr.means.list = list() + for(x in sets){ + tmp.cells = intersect(names(cl), colnames(dat.list[[x]])) + tmp.cl = cl[tmp.cells] + cl.size = table(tmp.cl) + select.cl = names(cl.size)[cl.size >= min.cells[[x]]] + if(length(select.cl)==0){ + return(NULL) + } + tmp.cl = tmp.cl[tmp.cl %in% select.cl] + if(is.factor(tmp.cl)){ + tmp.cl=droplevels(tmp.cl) + } + tmp=get_cl_sqr_means(dat.list[[x]], tmp.cl) + if(!is.null(select.genes)){ + tmp=tmp[select.genes,,drop=F] + } + cl.sqr.means.list[[x]]= tmp + } + return(cl.sqr.means.list) + } + + #' Title #' @@ -187,18 +228,27 @@ get_cl_means_list <- function(dat.list, cl, de.param.list=NULL, min.cells=NULL, #' @export #' #' @examples -get_cl_present_list <- function(dat.list, de.param.list, select.genes=NULL, cl, sets=names(dat.list)) +get_cl_present_list <- function(dat.list, de.param.list=NULL, min.cells=NULL, select.genes=NULL, cl, sets=names(dat.list)) { - cl.present = sapply(sets, function(x){ - tmp.cells = intersect(names(cl), colnames(dat.list[[x]])) - tmp.cl = cl[tmp.cells] - cl.size = table(tmp.cl) - if(!is.null(de.param.list[[x]])){ - select.cl = names(cl.size)[cl.size >= de.param.list[[x]]$min.cells] + if(is.null(min.cells)){ + if(!is.null(de.param.list)){ + min.cells = lapply(de.param.list,"[[", "min.cells") } else{ - select.cl = names(cl.size)[cl.size >= 4] + min.cells = setNames(rep(1, length(dat.list)), names(dat.list)) } + } + else{ + if(length(min.cells) ==1){ + min.cells = setNames(rep(min.cells, length(dat.list)), names(dat.list)) + } + } + cl.present.list = list() + for(x in sets){ + tmp.cells = intersect(names(cl), colnames(dat.list[[x]])) + tmp.cl = cl[tmp.cells] + cl.size = table(tmp.cl) + select.cl = names(cl.size)[cl.size >= min.cells[[x]]] if(length(select.cl)==0){ return(NULL) } @@ -206,14 +256,13 @@ get_cl_present_list <- function(dat.list, de.param.list, select.genes=NULL, cl, if(is.factor(tmp.cl)){ tmp.cl=droplevels(tmp.cl) } - if(is.null(select.genes)){ - tmp=get_cl_means(dat.list[[x]] > de.param.list[[x]]$low.th, tmp.cl) + tmp=get_cl_present(dat.list[[x]], tmp.cl, de.param.list[[x]]$low.th) + if(!is.null(select.genes)){ + tmp=tmp[select.genes,,drop=F] } - else{ - tmp=get_cl_means(dat.list[[x]][select.genes,] > de.param.list[[x]]$low.th, tmp.cl) - } - },simplify=F) - return(cl.present) + cl.present.list[[x]]= tmp + } + return(cl.present.list) } @@ -255,7 +304,6 @@ get_de_lfc_list <- function(cl.means.list) sets=names(cl.means.list) de.gene.sign = NULL de.lfc.list = sapply(sets, function(set){ - print(set) cl.means = cl.means.list[[set]] cn = colnames(cl.means) cl.n = length(cn) @@ -283,23 +331,23 @@ get_de_lfc_list <- function(cl.means.list) #' @export #' #' @examples -get_de_result <- function(dat.list, de.param.list, cl, select.sets=names(de.param.list), ...) +get_de_result <- function(dat.list, de.param.list, cl, select.sets=names(de.param.list), max.cl.size=200,...) { - de.result <- sapply(select.sets, function(x){ + de.genes.list <- sapply(select.sets, function(x){ tmp.cl =cl[names(cl) %in% colnames(dat.list[[x]])] if(is.factor(tmp.cl)){ tmp.cl = droplevels(tmp.cl) } + tmp.cells = sample_cells(tmp.cl, max.cl.size) + tmp.cl = tmp.cl[tmp.cells] + if(length(unique(tmp.cl)) > 1){ - de.result = display_cl(tmp.cl, dat.list[[x]], max.cl.size = 200, de.param= de.param.list[[x]],...) + de.result = de_all_pairs(norm.dat= dat.list[[x]], cl=tmp.cl, de.param= de.param.list[[x]],...) } else{ return(NULL) } },simplify=F) - marker.counts <- table(unlist(sapply(de.result,function(x)x$markers,simplify=F))) - de.genes.list = sapply(de.result, function(x)x$de.genes, simplify=F) - return(list(marker.counts=marker.counts, de.genes.list=de.genes.list)) } #' Title @@ -329,11 +377,10 @@ comb_de_result <- function(de.genes.list, cl.means.list, common.genes=NULL, max. } de.genes = list() for(p in pairs){ - print(p) de.counts = table(unlist(lapply(names(de.genes.list), function(set){ de = de.genes.list[[set]][[p]] - de$genes}))) - g = intersect(names(de.counts), comb.dat$common.genes) + c(names(de$up.genes),names(de$down.genes))}))) + g = intersect(names(de.counts), common.genes) pair = unlist(strsplit(p,"_")) lfc = lapply(sets, function(set){ cl.means = cl.means.list[[set]] @@ -354,8 +401,8 @@ comb_de_result <- function(de.genes.list, cl.means.list, common.genes=NULL, max. rank = do.call("cbind",lapply(names(de.genes.list), function(set){ de = de.genes.list[[set]][[p]] - tmp1=match(g, de$up.genes) - tmp2=match(g, de$down.genes) + tmp1=match(g, names(de$up.genes)) + tmp2=match(g, names(de$down.genes)) tmp1[is.na(tmp1)] = max.num tmp2[is.na(tmp2)] = max.num tmp = pmin(tmp1, tmp2) @@ -378,7 +425,7 @@ comb_de_result <- function(de.genes.list, cl.means.list, common.genes=NULL, max. up = row.names(df)[which(df$lfc > 0)] down = row.names(df)[which(df$lfc < 0)] select = c(up,down) - de.genes[[p]] = list(up.genes =up, down.genes=down, up.num = length(up),down.num=length(down),num=length(select),genes=select, de.df = df) + de.genes[[p]] = list(up.genes =setNames(df[up,"counts"], up), down.genes=setNames(df[down,"counts"], down), up.num = length(up),down.num=length(down),num=length(select),genes=select, de.df = df) } return(de.genes) } @@ -466,7 +513,6 @@ gene_gene_cor_conservation <- function(dat.list, select.genes, select.cells,pair { sets = names(dat.list) gene.cor.list = sapply(sets, function(set){ - print(set) dat = dat.list[[set]] gene.cor = cor(t(as.matrix(dat[select.genes,intersect(colnames(dat),select.cells)]))) gene.cor[is.na(gene.cor)] = 0 @@ -479,7 +525,6 @@ gene_gene_cor_conservation <- function(dat.list, select.genes, select.cells,pair } gene.cor.mat= sapply(1:nrow(pairs), function(i){ p = pairs[i,] - print(p) pair_cor(gene.cor.list[[p[1]]], gene.cor.list[[p[2]]]) }) colnames(gene.cor.mat) = paste0(pairs[,1],":",pairs[,2]) @@ -508,7 +553,7 @@ gene_gene_cor_conservation <- function(dat.list, select.genes, select.cells,pair #' @export #' #' @examples -plot_markers <- function(dat.list, cl, de.param.list,prefix, common.genes, comb.de.genes=NULL, cl.means.list=NULL, col.list=NULL, cl.col=NULL, select.genes=NULL, save.matrix=FALSE,n.markers = 20,...) +plot_markers <- function(dat.list, cl, de.param.list,prefix, common.genes, comb.de.genes=NULL, ref.set=names(dat.list)[[1]], cl.means.list=NULL, col.list=NULL, cl.col=NULL, select.genes=NULL, save.matrix=FALSE,n.markers = 20,...) { sets=names(dat.list) jet.colors <-colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan","#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000")) @@ -528,14 +573,13 @@ plot_markers <- function(dat.list, cl, de.param.list,prefix, common.genes, comb if(is.factor(tmp.cl)){ tmp.cl = droplevels(tmp.cl) } - print(table(tmp.cl)) tmp=display_cl(cl=tmp.cl, norm.dat=dat, max.cl.size = 200, de.param=de.param.list[[set]], n.markers=n.markers)$de.genes },simplify=F) comb.de.genes = comb_de_result(de.genes.list, cl.means.list, common.genes=common.genes) } select.genes = select_markers(dat.list[[1]], cl, n.markers=n.markers, de.genes=comb.de.genes)$markers } - gene.hc = hclust(dist(cl.means.list[[1]][select.genes,]), method="ward.D") + gene.hc = hclust(dist(cl.means.list[[ref.set]][select.genes,]), method="ward.D") if(is.null(cl.col)){ cl.col = jet.colors(length(unique(cl))) } @@ -568,3 +612,30 @@ plot_markers <- function(dat.list, cl, de.param.list,prefix, common.genes, comb return(list(select.genes=select.genes, dat.matrix = dat.matrix, comb.de.genes= comb.de.genes,gene.hc=gene.hc)) } + + +get_incident_matrix <- function(cl1, cl2, consensus.cl,pseudo=0.01) +{ + tb1 = table(cl1, consensus.cl[names(cl1)]) + pseudo + freq1 = as.matrix(tb1/rowSums(tb1)) + tb2 = table(cl2, consensus.cl[names(cl2)]) + pseudo + freq2 = as.matrix(tb2/rowSums(tb2)) + kl = matrix(0, nrow=nrow(freq1), ncol=nrow(freq2)) + row.names(kl) = row.names(freq1) + colnames(kl) = row.names(freq2) + library(entropy) + for(i in 1:nrow(freq1)) + for(j in 1:nrow(freq2)){ + kl[i,j] = KL.plugin(freq1[i,], freq2[j,]) + } + + kl.exp = exp(-kl) + kl.sim = kl.exp/rowSums(kl.exp) + + pairs.df = melt(kl) + colnames(pairs.df)=c("cl1","cl2","KL") + pairs.df$sim = as.vector(kl.sim) + return(list(kl, kl.sim,pairs.df)) +} + + diff --git a/R/heatmap.R b/R/heatmap.R index 05dc440..226ec39 100644 --- a/R/heatmap.R +++ b/R/heatmap.R @@ -452,7 +452,7 @@ heatmap.3 <- function (x, lmat <- rbind(lmat[1, ] + 1, c(NA, 1), lmat[2, ] + 1) nnn <- ifelse(is.vector(ColSideColors), 1, - nrow(colSideColors)) + nrow(ColSideColors)) lhei <- c(lhei[1], nnn * 0.1, lhei[2]) } if (!missing(RowSideColors)) { @@ -784,4 +784,4 @@ heatmap.3 <- function (x, retval$colorTable <- data.frame(low = retval$breaks[-length(retval$breaks)], high = retval$breaks[-1], color = retval$col) invisible(retval) -} \ No newline at end of file +} diff --git a/R/map_to_dend.R b/R/map_to_dend.R index ff5148d..b47c026 100644 --- a/R/map_to_dend.R +++ b/R/map_to_dend.R @@ -10,14 +10,13 @@ #' @param low.th #' #' @return -#' @export +#' @Export #' #' @examples resolve_cl <- function(cl.g, - cl.med, + cl.dat, markers, - dat, map.dat, select.cells, p = 0.7, @@ -29,7 +28,7 @@ resolve_cl <- ###For each branch point, find the highest expression cluster. tmp.med = sapply(cl.g, function(g) - rowMaxs(cl.med[genes, g, drop = F])) + rowMaxs(cl.dat[genes, g, drop = F])) row.names(tmp.med) = genes ###Make sure the genes are discriminative between all the branches. genes = genes[rowMaxs(tmp.med) - rowMins(tmp.med) > 1] @@ -40,7 +39,7 @@ resolve_cl <- ###Compute the correlation with the median cluster profile. ###add drop=F - cl.cor = cor(as.matrix(map.dat[genes, select.cells, drop = F]), cl.med[genes, tmp.cl, drop = + cl.cor = cor(as.matrix(map.dat[genes, select.cells, drop = F]), cl.dat[genes, tmp.cl, drop = F]) cl.cor[is.na(cl.cor)] = 0 ###Compute the best match in each branch. @@ -87,9 +86,8 @@ resolve_cl <- mapped.cl, resolve_cl( cl.g[tmp.cl], - cl.med, + cl.dat, markers, - dat, map.dat, select.cells, p = p, @@ -106,7 +104,7 @@ resolve_cl <- #' #' @param dend #' @param cl -#' @param cl.med +#' @param cl.dat #' @param dat #' @param map.dat #' @param select.cells @@ -120,11 +118,9 @@ resolve_cl <- #' @examples map_dend <- function(dend, - cl, - cl.med, - dat, + cl.dat, map.dat, - select.cells, + select.cells=colnames(map.dat), p = 0.8, low.th = 0.2, default.markers = NULL) @@ -139,22 +135,15 @@ map_dend <- markers = markers[names(markers) %in% row.names(map.dat)] cl.g = sapply(dend, labels, simplify = F) names(cl.g) = 1:length(cl.g) - select.cl = cl[cl %in% unlist(cl.g)] - ###Sampling the cells from the reference cluster - cells = unlist(tapply(names(select.cl), select.cl, function(x) - sample(x, round(length( - x - ) * p)))) genes = names(markers) genes = union(genes, default.markers) mapped.cl = resolve_cl(cl.g, - cl.med, - markers, - dat, - map.dat, - select.cells, - p = p, - low.th = low.th) + cl.dat, + markers, + map.dat, + select.cells, + p = p, + low.th = low.th) if (length(mapped.cl) > 0) { for (i in unique(mapped.cl)) { select.cells = names(mapped.cl)[mapped.cl == i] @@ -162,16 +151,14 @@ map_dend <- final.cl = c( final.cl, map_dend( - dend[[as.integer(i)]], - cl, - cl.med, - dat, - map.dat, - select.cells, - p = p, - low.th = low.th + dend[[as.integer(i)]], + cl.dat, + map.dat, + select.cells, + p = p, + low.th = low.th + ) ) - ) } } return(cl = final.cl) @@ -237,40 +224,48 @@ summarize_cl <- markers.cl.list = do.call("c", markers.cl.list) all.markers = unique(unlist(markers.cl.list)) + # to deal with missing genes + missing.idx = which(is.na(all.markers, rownames(map.dat))) + if (length(missing.idx) > 0) { + print(paste(length(missing.idx), 'out of', length(all.markers), 'marker genes are missing in map.dat')) + all.markers = all.markers[-missing.idx] + } + + gene.anno="" memb.th = lapply(row.names(memb), function(cell) { ###Check all the node with confidence > conf.th x = memb[cell,] mapped.node = colnames(memb)[which(x > conf.th)] - + if(!is.null(min.genes)){ ###Check for detected markers at the given cell - det.genes = all.markers[map.dat[all.markers, cell] >= exp.th] - - ##compute detected markers at every branch point. - gene.olap = sapply(mapped.node, function(i) - intersect(markers.cl.list[[i]], det.genes), simplify = F) - gene.olap.num = sapply(gene.olap, length) - #TO DO: weight markers instead of using absolute counts/ratio. - - ####set the root, so that root always succeed. - gene.olap.num[attr(dend, "label")] = min.genes - gene.olap[attr(dend, "label")] = "" - gene.olap.ratio = gene.olap.num / sapply(markers.cl.list[names(gene.olap.num)], length) - gene.olap.ratio[is.na(gene.olap.ratio)] = 1 + det.genes = all.markers[map.dat[all.markers, cell] >= exp.th] - ###mapped nodes not met the minimal gene number/ratio constraints - fail.node = mapped.node[gene.olap.ratio < min.genes.ratio | - gene.olap.num < min.genes] - if (length(fail.node) > 0) { - ###choose the mapped nodes above any failed nodes - mapped.node = mapped.node[node.height[mapped.node] > max(node.height[fail.node])] + ##compute detected markers at every branch point. + gene.olap = sapply(mapped.node, function(i) + intersect(markers.cl.list[[i]], det.genes), simplify = F) + gene.olap.num = sapply(gene.olap, length) + #TO DO: weight markers instead of using absolute counts/ratio. + ####set the root, so that root always succeed. + gene.olap.num[attr(dend, "label")] = min.genes + gene.olap[attr(dend, "label")] = "" + gene.olap.ratio = gene.olap.num / sapply(markers.cl.list[names(gene.olap.num)], length) + gene.olap.ratio[is.na(gene.olap.ratio)] = 1 + ###mapped nodes not met the minimal gene number/ratio constraints + fail.node = mapped.node[gene.olap.ratio < min.genes.ratio | + gene.olap.num < min.genes] + if (length(fail.node) > 0) { + ###choose the mapped nodes above any failed nodes + mapped.node = mapped.node[node.height[mapped.node] > max(node.height[fail.node])] + } + gene.anno = sapply(mapped.node, function(x) { + paste0(x, ":", paste0(gene.olap[[x]], collapse = " ")) + }) } + ###Choose the deepest nodes that pass all the criteria. mapped.node = mapped.node[order(node.height[mapped.node])] best.node = mapped.node[1] - ###Get the markers on every mapped nodes. - gene.anno = sapply(mapped.node, function(x) { - paste0(x, ":", paste0(gene.olap[[x]], collapse = " ")) - }) + ###Get the markers on every mapped nodes. c( cl = best.node, score = x[best.node], @@ -309,7 +304,7 @@ summarize_cl <- #' #' @param dend #' @param cl -#' @param cl.med +#' @param cl.dat #' @param dat #' @param map.dat #' @param map.cells @@ -323,39 +318,26 @@ summarize_cl <- #' @examples map_dend_membership <- function(dend, - cl, - cl.med, - dat, + cl.dat, map.dat, map.cells, mc.cores = 1, bs.num = 100, ...) { - if (mc.cores == 1) { - mem = sapply(1:bs.num, function(i) { - print(i) - ###determine which branch to t - - tmp = map_dend(dend, cl, cl.med, dat, map.dat, map.cells, ...) - }, simplify = F) - memb = unlist(mem) + library(doMC) + require(foreach) + if(mc.cores ==1){ + registerDoSEQ() } else{ - require(foreach) - require(doParallel) - #fcluster <-makeCluster(mc.cores) - fcluster <- makeForkCluster(mc.cores) - registerDoParallel(fcluster) - #on.exit(stopCluster(fcluster)) - mem = foreach(i = 1:bs.num, .combine = 'cbind') %dopar% map_dend(dend, cl, cl.med, dat, map.dat, map.cells, ...) - - stopCluster(fcluster) - memb = as.character(mem) - names(memb) = rownames(mem) + registerDoMC(cores=mc.cores) } - - memb = data.frame(cell = names(memb), cl = memb) + mem = foreach(i = 1:bs.num, .combine = 'c') %dopar% { + print(i) + map_dend(dend, cl.dat, map.dat, map.cells, ...) + } + memb = data.frame(cell = names(mem), cl = mem) memb = table(memb$cell, memb$cl) memb = memb / bs.num tmp = get_nodes_attr(dend, "label") @@ -364,63 +346,42 @@ map_dend_membership <- return(memb) } -#' Title -#' -#' @param dend -#' @param cl.df -#' @param cl -#' @param norm.dat -#' @param query.dat -#' @param bp.collapse.th -#' @param mc.cores -#' @param bs.num -#' @param p -#' @param low.th -#' @param conf.th -#' @param min.genes -#' @param min.genes.ratio -#' -#' @return -#' @export -#' -#' @examples -mapping <- - function(dend, - cl.df, - cl, - norm.dat, - query.dat, - bp.collapse.th = NULL,mc.cores=1, bs.num=100, p=0.7, low.th=0.15, conf.th=0.7, min.genes=1, min.genes.ratio=0.3 - ) - { - rownames(cl.df)=cl.df$cluster_id - cltmp=cl.df[as.character(cl),"cluster_label"] - names(cltmp)=names(cl) - cl=factor(cltmp) - - - query.dat.norm = log2(as.matrix(query.dat+1)) - idx=match(rownames(norm.dat), rownames(query.dat.norm)) - query.dat.norm=query.dat.norm[idx,] + +build_reference <- function(cl, norm.dat, dend, de.genes, cl.label=NULL, up.gene.score=NULL, down.gene.score=NULL, n.markers=30) + { + cl.dat = get_cl_means(norm.dat, cl) + if(is.null(up.gene.score)){ + de.gene.score = get_gene_score(de.genes) + up.gene.score = de.gene.score[[1]] + down.gene.score = de.gene.score[[2]] + } + select.genes = intersect(row.names(norm.dat), row.names(up.gene.score)) + dend = select_dend_markers(dend, norm.dat=norm.dat, cl=cl, de.genes=de.genes, + up.gene.score=up.gene.score[select.genes,], + down.gene.score=down.gene.score[select.genes,], n.markers=n.markers) + dend = select_pos_dend_markers(dend= dend, norm.dat = norm.dat, cl = cl) + if(!is.null(cl.label)){ + colnames(cl.dat) = cl.label[colnames(cl.dat)] + labels(dend) = cl.label[labels(dend)] + } + dend = label_dend(dend)[[1]] + return(list(cl.dat=cl.dat, dend=dend)) + } + + +map_reference_tree <- function(cl.dat, dend, map.dat, map.cells=colnames(map.dat), mc.cores=10, bs.num=100, p=0.7, low.th=0.15) + { +###Assume map.dat is logCPM already + memb = map_dend_membership(dend, cl.dat, map.dat=map.dat, map.cells, mc.cores=mc.cores, bs.num=100, p=0.7, low.th=0.15) + map.df = summarize_cl(dend, memb, map.dat, conf.th=0.7, min.genes=1, min.genes.ratio=0.3) - ### Some more initializations - query.dat.cells = colnames(query.dat.norm) - cl.med = get_cl_means(norm.dat, cl) - rownames(cl.med)=rownames(norm.dat) + Tree_mapping_probability = compute_mapping_probability(memb = FACS.memb, + select.cells = FACS.cells, + select.cl = select.cl, + ref.cl= cl) - # The key algorithm : Run 100 iterations, in each one sample 70% of the cells. - # low.th is the minimum differnce in Pearson correlation required to decide on which branch to map to. If the difference - # is lower than this threshold, a random branch is chosen. - # The resulted memb object is a matrix where every row is a cell, and columns are the nodes of the dendrogram. The values are the bootstrap support for that node. - memb = map_dend_membership(dend, cl,cl.med, norm.dat, query.dat.norm, query.dat.cells, mc.cores=mc.cores, bs.num=bs.num, p=p, low.th=low.th) - # analyze the results to generate the final output, i.e. for every cell the deepest node with th=0.8 confidence. - # Also apply constraints on the minimum number of genes (or genes ratio) - mapping.df = summarize_cl(dend, memb, query.dat.norm, conf.th=conf.th, min.genes=min.genes, min.genes.ratio=min.genes.ratio) - # save results - save(mapping.df, file=file.path(paste0("mapping.df.rda"))) - save(memb, file=file.path(paste0("mapping.memb.rda"))) - write.csv(mapping.df, file=file.path(paste0("mapping.df.csv"))) - write.csv(memb, file=file.path( paste0("mapping.memb.csv"))) - return (list(memb, mapping.df)) - } \ No newline at end of file + return(list(memb, map.df)) + } + + diff --git a/R/markers.R b/R/markers.R index 8e726d9..8bd2f47 100644 --- a/R/markers.R +++ b/R/markers.R @@ -10,21 +10,28 @@ #' @export #' #' @examples -select_markers <- function(norm.dat, cl, n.markers=20,de.genes=NULL, ...) +select_markers <- function(norm.dat, cl, n.markers=20,de.genes=NULL, mc.cores=1,...) { + require(parallel) if(is.null(de.genes)){ - de.genes=de_stats_all_pairs(norm.dat, cl, ...) + de.genes=de_all_pairs(norm.dat, cl, mc.cores=mc.cores,...) } - pairs = names(de.genes) - pairs.df = gsub("cl","", do.call("rbind",strsplit(pairs, "_"))) - row.names(pairs.df)=pairs - select.pairs = pairs[pairs.df[,1] %in% cl & pairs.df[,2]%in% cl] - de.markers = sapply(select.pairs, function(s){ - tmp = de.genes[[s]] - c(head(tmp$up.genes,n.markers), head(tmp$down.genes,n.markers)) - },simplify=F) - markers = intersect(unlist(de.markers),row.names(norm.dat)) - return(list(markers=markers, de.genes=de.genes[select.pairs])) + pairs.df = get_pairs(names(de.genes)) + select.pairs = row.names(pairs.df)[pairs.df[,1] %in% cl & pairs.df[,2]%in% cl] + + de.markers = parallel::pvec(select.pairs, function(s){ + sapply(s, function(x){ + tmp = de.genes[[x]] + select.genes = c(head(names(tmp$up.genes),n.markers), head(names(tmp$down.genes),n.markers)) + },simplify=F) + },mc.cores=mc.cores) + if(!is.null(norm.dat)){ + markers = intersect(unlist(de.markers),row.names(norm.dat)) + } + else{ + markers = unique(unlist(de.markers)) + } + return(list(markers=markers, de.genes=de.genes)) } #' Title @@ -38,29 +45,65 @@ select_markers <- function(norm.dat, cl, n.markers=20,de.genes=NULL, ...) #' @export #' #' @examples -get_gene_score <- function(de.genes,top.n=50, max.num=1000,bin.th=4) +get_gene_score <- function(de.genes,cl.means=NULL, all.genes=NULL, top.n=50, max.num=1000,bin.th=4, mc.cores=1) { - select.genes <- sapply(de.genes, function(x){ - up.genes = x$up.genes - #Deal with pairs with too many DEX genes, include all binary markers - up.binary.genes = up.genes[x$q.stats[up.genes, 3] < 1 & x$q.stats[up.genes,2]>bin.th] - up.genes=up.genes[up.genes %in% c(head(up.genes, top.n), up.binary.genes)] - down.genes = x$down.genes - down.binary.genes = down.genes[x$q.stats[down.genes, 1] < 1 & x$q.stats[down.genes,4]>bin.th] - down.genes=down.genes[down.genes %in% c(head(down.genes, top.n), down.binary.genes)] - list(up=up.genes, down=down.genes) - },simplify=F) - all.genes=unique(unlist(select.genes)) - up.gene.score = sapply(select.genes, function(x){ - tmp=match(all.genes, x$up) - tmp[is.na(tmp)]=max.num - tmp - }) - down.gene.score = sapply(select.genes, function(x){ - tmp=match(all.genes, x$down) - tmp[is.na(tmp)]=max.num - tmp - }) + require(Matrix) + require(parallel) + + if(is.null(all.genes)){ + all.genes <- parallel::pvec(names(de.genes), function(x){ + genes=lapply(x, function(p){ + de = de.genes[[p]] + pair = strsplit(p, "_")[[1]] + x = pair[[1]] + y = pair[[2]] + lfc = cl.means[,x] - cl.means[,y] + up.genes = names(de$up.genes) + down.genes = names(de$down.genes) + #Deal with pairs with too many DEX genes, include all binary markers + up.binary.genes = up.genes[lfc[up.genes] > bin.th] + up.genes=up.genes[up.genes %in% c(head(up.genes, top.n), up.binary.genes)] + + down.binary.genes = down.genes[lfc[down.genes] < -bin.th] + down.genes=down.genes[down.genes %in% c(head(down.genes, top.n), down.binary.genes)] + list(up=up.genes, down=down.genes) + }) + },mc.cores=mc.cores) + all.genes=unique(unlist(all.genes)) + } + up.gene.score = parallel::pvec(names(de.genes),function(x){ + mat=sapply(x, function(p){ + de = de.genes[[p]] + tmp= match(all.genes, head(names(de$up.genes),max.num)) + tmp[is.na(tmp)]=max.num + tmp = max.num - tmp + tmp + }) + mat = Matrix(mat, sparse=TRUE) + row.names(mat) = all.genes + mat + }, mc.cores=mc.cores) + if(is.list(up.gene.score)){ + up.gene.score = do.call("cbind",up.gene.score) + } + + down.gene.score = parallel::pvec(names(de.genes),function(x){ + mat=sapply(x, function(p){ + de = de.genes[[p]] + tmp= match(all.genes, head(names(de$down.genes),max.num)) + tmp[is.na(tmp)]=max.num + tmp = max.num - tmp + tmp[tmp < 0] = 0 + tmp + }) + mat = Matrix(mat, sparse=TRUE) + row.names(mat) = all.genes + mat + }, mc.cores=mc.cores) + if(is.list(down.gene.score)){ + down.gene.score = do.call("cbind",down.gene.score) + } + row.names(up.gene.score)=row.names(down.gene.score)= all.genes return(list(up.gene.score=up.gene.score, down.gene.score=down.gene.score)) } @@ -80,24 +123,23 @@ get_gene_score <- function(de.genes,top.n=50, max.num=1000,bin.th=4) #' @export #' #' @examples -select_markers_pair <- function(de.genes, add.genes, gene.score=NULL,rm.genes=NULL,top.n=50,max.num=2000) +select_markers_pair <- function(de.genes, add.genes, cl.means, gene.score=NULL,rm.genes=NULL,top.n=50,max.num=2000) { pairs =do.call("rbind",strsplit(gsub("cl","",names(add.genes)), "_")) row.names(pairs)= names(add.genes) de.genes.list=list() if(is.null(gene.score)){ de.genes= de.genes[names(add.genes)] - tmp=get_gene_score(de.genes,top.n=top.n, max.num=max.num,bin.th=4) + tmp=get_gene_score(de.genes,cl.means=cl.means, top.n=top.n, max.num=max.num,bin.th=4) up.gene.score=tmp$up.gene.score down.gene.score=tmp$down.gene.score - gene.score=pmin(up.gene.score, down.gene.score) + gene.score=pmax(up.gene.score, down.gene.score) row.names(gene.score)=row.names(up.gene.score) } select.genes = setdiff(row.names(gene.score),rm.genes) - gene.score= gene.score[select.genes,names(add.genes),drop=F] - final.genes=list() + gene.score= gene.score[,names(add.genes),drop=F] while(sum(add.genes)>0 & nrow(gene.score)>0){ - g = order(rowSums(gene.score))[1] + g = order(get_row_means(gene.score, select.genes, ),decreasing=T)[1] g.n = row.names(gene.score)[g] select.pair = colnames(gene.score)[gene.score[g, ]< top.n] add.genes[select.pair]= add.genes[select.pair]-1 @@ -105,7 +147,9 @@ select_markers_pair <- function(de.genes, add.genes, gene.score=NULL,rm.genes=NU de.genes.list[[p]]=union(de.genes.list[[p]],g.n) } add.genes = add.genes[add.genes > 0] - gene.score=gene.score[-g,names(add.genes),drop=F] + + gene.score=gene.score[,names(add.genes),drop=F] + select.genes = setdiff(select.genes, g) } return(de.genes.list) } @@ -126,7 +170,7 @@ select_markers_pair <- function(de.genes, add.genes, gene.score=NULL,rm.genes=NU #' @export #' #' @examples -select_markers_pair_direction <- function(de.genes, add.up,add.down,up.gene.score=NULL,down.gene.score=NULL,rm.genes=NULL,top.n=50,max.num=2000) +select_markers_pair_direction <- function(de.genes, add.up,add.down,cl.means, up.gene.score=NULL,down.gene.score=NULL,rm.genes=NULL,top.n=50,max.num=2000) { up.genes = down.genes=list() final.genes=c() @@ -135,7 +179,7 @@ select_markers_pair_direction <- function(de.genes, add.up,add.down,up.gene.scor pairs =do.call("rbind",strsplit(gsub("cl","",pairs.n), "_")) row.names(pairs)= pairs.n de.genes= de.genes[pairs.n] - tmp=get_gene_score(de.genes,top.n=top.n, max.num=max.num,bin.th=4) + tmp=get_gene_score(de.genes,cl.means, top.n=top.n, max.num=max.num,bin.th=4) up.gene.score=tmp$up.gene.score down.gene.score=tmp$down.gene.score } @@ -143,14 +187,19 @@ select_markers_pair_direction <- function(de.genes, add.up,add.down,up.gene.scor while((sum(add.up)+sum(add.down)>0) & length(select.genes)>0){ sc =0 if(length(add.up)>0){ - sc = rowSums(up.gene.score[select.genes, names(add.up),drop=F]) + sc = get_row_sums(up.gene.score, select.genes, names(add.up)) } if(length(add.down)>0){ - sc = sc+rowSums(down.gene.score[select.genes, names(add.down),drop=F]) + sc = sc+ get_row_sums(down.gene.score, select.genes, names(add.down)) + } + sc = sc[sc > 0] + ##No more genes to choose from + if(length(sc)==0){ + break } - g = select.genes[ which.min(sc)] - select.up.pair = names(add.up)[up.gene.score[g,names(add.up)]< top.n] - select.down.pair = names(add.down)[down.gene.score[g,names(add.down)]< top.n] + g = names(sc)[ which.max(sc)] + select.up.pair = names(add.up)[up.gene.score[g,names(add.up)] > 0] + select.down.pair = names(add.down)[down.gene.score[g,names(add.down)] > 0] if(length(select.up.pair) + length(select.down.pair)==0){ break } @@ -166,17 +215,7 @@ select_markers_pair_direction <- function(de.genes, add.up,add.down,up.gene.scor } final.genes=c(final.genes, g) select.genes = setdiff(select.genes, final.genes) - if(length(select.genes)>0){ - select = rep(TRUE,length(select.genes)) - if(length(add.up)>0){ - select = rowSums(up.gene.score[select.genes,names(add.up),drop=F] < top.n)>0 - } - if(length(add.down)>0){ - select = select | rowSums(down.gene.score[select.genes,names(add.down),drop=F] < top.n)>0 - } - select.genes= select.genes[select] - } - cat(g, length(add.up), length(add.down),"\n") + cat(g, length(add.up), length(add.down),length(select.genes),"\n") } markers= final.genes return(list(markers=markers, up.genes=up.genes, down.genes=down.genes)) @@ -198,8 +237,10 @@ select_markers_pair_direction <- function(de.genes, add.up,add.down,up.gene.scor #' @export #' #' @examples -select_markers_pair_group <- function(cl, g1,g2,de.genes,top.n=50,max.num=1000,n.markers=20,up.gene.score=NULL, down.gene.score=NULL) +# Always directory +select_markers_pair_group_top<- function(cl, g1,g2,de.genes,cl.means, top.n=50,max.num=1000,n.markers=20,up.gene.score=NULL, down.gene.score=NULL) { + require(matrixStats) pairs = do.call("rbind",strsplit(names(de.genes), "_")) pairs = gsub("cl", "",pairs) row.names(pairs)= names(de.genes) @@ -207,33 +248,54 @@ select_markers_pair_group <- function(cl, g1,g2,de.genes,top.n=50,max.num=1000,n down.pairs = row.names(pairs)[pairs[,1] %in% g2 & pairs[,2] %in% g1] select.pairs = c(up.pairs, down.pairs) if(is.null(up.gene.score)){ - tmp=get_gene_score(de.genes[select.pairs],top.n=top.n, max.num=max.num,bin.th=4) + tmp=get_gene_score(de.genes[select.pairs],cl.means=cl.means, top.n=top.n, max.num=max.num,bin.th=4) up.gene.score=tmp$up.gene.score down.gene.score=tmp$down.gene.score } all.genes = row.names(up.gene.score) tmp.up.gene.score = cbind(up.gene.score[,up.pairs,drop=F], down.gene.score[,down.pairs,drop=F]) tmp.down.gene.score = cbind(down.gene.score[,up.pairs,drop=F], up.gene.score[,down.pairs,drop=F]) + tmp.up.gene.score.total = Matrix::rowSums(tmp.up.gene.score) + tmp.down.gene.score.total = Matrix::rowSums(tmp.down.gene.score) - up.genes = row.names(tmp.up.gene.score)[head(order(rowSums(tmp.up.gene.score)), n.markers)] - down.genes = row.names(tmp.down.gene.score)[head(order(rowSums(tmp.down.gene.score)), n.markers)] - - up.num = colSums(tmp.up.gene.score[up.genes,,drop=F] < max.num) - down.num = colSums(tmp.down.gene.score[down.genes,,drop=F] < max.num) - total.num = up.num + down.num - add.genes = setNames(rep(n.markers, ncol(tmp.up.gene.score)), colnames(tmp.up.gene.score)) - total.num - add.genes = add.genes[add.genes > 0] - - up.genes = up.genes[rowMins(tmp.up.gene.score[up.genes,,drop=F]) < max.num] - down.genes = down.genes[rowMins(tmp.down.gene.score[down.genes,,drop=F]) < max.num] + tmp.up.gene.score.total = sort(tmp.up.gene.score.total[tmp.up.gene.score.total>0],decreasing=TRUE) + tmp.down.gene.score.total = sort(tmp.down.gene.score.total[tmp.down.gene.score.total>0],decreasing=TRUE) + + up.genes = names(head(tmp.up.gene.score.total, n.markers)) + down.genes = names(head(tmp.down.gene.score.total,n.markers)) + + up.num = Matrix::colSums(tmp.up.gene.score[up.genes, , drop = F] > 0) + down.num = Matrix::colSums(tmp.down.gene.score[down.genes, , drop = F] > 0) genes = union(up.genes, down.genes) - if(length(add.genes)>0){ - tmp=select_markers_pair(add.genes= add.genes,de.genes= de.genes, gene.score=pmin(tmp.up.gene.score, tmp.down.gene.score), rm.genes=c(up.genes, down.genes),top.n=top.n) - genes=union(genes, unlist(tmp)) - } - return(list(up.genes=up.genes, down.genes=down.genes, genes=genes)) + select = !row.names(tmp.up.gene.score) %in% genes + tmp.up.gene.score = tmp.up.gene.score[select,,drop=F] + tmp.down.gene.score = tmp.down.gene.score[select,,drop=F] + + return(list(up.genes=up.genes, down.genes=down.genes, up.num=up.num, down.num=down.num, up.gene.score=tmp.up.gene.score, down.gene.score=tmp.down.gene.score, up.gene.score.total=tmp.up.gene.score.total, down.gene.score.total = tmp.down.gene.score.total)) } +select_markers_pair_group<- function(cl, g1,g2,de.genes,cl.means, top.n=50,max.num=1000,n.markers=20,up.gene.score=NULL, down.gene.score=NULL) + { + result=select_markers_pair_group_top(cl, g1,g2,de.genes,cl.means, top.n=50,max.num=1000,n.markers=n.markers,up.gene.score, down.gene.score) + up.gene.score= result$up.gene.score + down.gene.score=result$down.gene.score + up.num = result$up.num + down.num = result$down.num + up.genes = result$up.genes + down.genes = result$down.genes + genes = c(up.genes, down.genes) + + add.up = setNames(rep(n.markers, length(up.num)),names(up.num)) - up.num + add.down = setNames(rep(n.markers, length(down.num)),names(down.num)) - up.num + + if(sum(add.up) + sum(add.down) > 0){ + tmp = select_markers_pair_direction(add.up,add.down,de.genes=de.genes, cl.means=cl.means,up.gene.score=up.gene.score,down.gene.score=down.gene.score) + genes = c(genes, tmp$markers) + } + return(list(genes=genes, up.genes=up.genes, down.genes=down.genes)) + } + + #' Title #' @@ -251,19 +313,27 @@ select_markers_pair_group <- function(cl, g1,g2,de.genes,top.n=50,max.num=1000,n #' @export #' #' @examples -select_N_markers <- function(de.genes, up.gene.score=NULL, down.gene.score=NULL, default.markers=NULL, pair.num =1, add.up=pair.num, add.down=pair.num, rm.genes=NULL, pairs=names(de.genes)) +select_N_markers <- function(de.genes, cl.means, up.gene.score=NULL, down.gene.score=NULL, default.markers=NULL, pair.num =1, add.up=pair.num, add.down=pair.num, rm.genes=NULL, pairs=names(de.genes), mc.cores=20) { add.up = setNames(rep(add.up, length(pairs)), pairs) add.down= setNames(rep(add.down, length(pairs)), pairs) + up.default = down.default = c() if(!is.null(default.markers)){ - up.default = sapply(pairs, function(p){intersect(de.genes[[p]]$up.genes, default.markers)},simplify=F) - down.default = sapply(pairs, function(p){intersect(de.genes[[p]]$down.genes, default.markers)},simplify=F) + library(parallel) + up.default = parallel::pvec(pairs, function(x){ + g.list=sapply(x, function(p){intersect(names(de.genes[[p]]$up.genes), default.markers)},simplify=F) + },mc.cores=mc.cores) + + down.default = parallel::pvec(pairs, function(x){ + g.list=sapply(x, function(p){intersect(names(de.genes[[p]]$down.genes), default.markers)},simplify=F) + },mc.cores=mc.cores) + add.up = pmax(add.up - sapply(up.default, length),0) add.down = pmax(add.down - sapply(down.default, length),0) } add.up = add.up[add.up>0, drop=F] add.down = add.down[add.down>0, drop=F] - result = select_markers_pair_direction(add.up,add.down,de.genes=de.genes, up.gene.score=up.gene.score,down.gene.score=down.gene.score,rm.genes=c(rm.genes,default.markers),top.n=50,max.num=2000) + result = select_markers_pair_direction(add.up,add.down,de.genes=de.genes, cl.means=cl.means,up.gene.score=up.gene.score,down.gene.score=down.gene.score,rm.genes=c(rm.genes,default.markers),top.n=50,max.num=2000) up.genes = up.default down.genes=down.default for(x in names(result$up.genes)){ @@ -291,40 +361,71 @@ select_N_markers <- function(de.genes, up.gene.score=NULL, down.gene.score=NULL, #' @export #' #' @examples -select_pos_markers <- function(de.genes, cl, n.markers=3, default.markers=NULL, rm.genes=NULL, up.gene.score=NULL, down.gene.score=NULL) +select_pos_markers <- function(de.genes, cl, cl.means=NULL, n.markers=3, default.markers=NULL, rm.genes=NULL, up.gene.score=NULL, down.gene.score=NULL,mc.cores=1) { - pairs = names(de.genes) - pairs.df = as.data.frame(do.call("rbind", strsplit(pairs, "_"))) - row.names(pairs.df) = pairs - pairs.df = pairs.df[pairs.df[,1]%in% levels(cl) & pairs.df[,2]%in% levels(cl),] + library(parallel) + if(!is.null(de.genes)){ + pairs.df = get_pairs(names(de.genes)) + } + else if(!is.null(up.gene.score)){ + pairs.df = get_pairs(colnames(up.gene.score)) + }else{ + stop("both de.genes and up.gene.score are null") + } if(is.null(up.gene.score) | is.null(down.gene.score)){ - tmp=get_gene_score(de.genes) + tmp=get_gene_score(de.genes, cl.means=cl.means) up.gene.score=tmp$up.gene.score down.gene.score=tmp$down.gene.score } - cl.df$markers="" - -###for each cluster, find markers that discriminate it from other types - cl.markers <- sapply(levels(cl), function(tmp.cl){ - up.pairs = row.names(pairs.df)[pairs.df[,1] == tmp.cl] - down.pairs = row.names(pairs.df)[pairs.df[,2] == tmp.cl] + ###for each cluster, find markers that discriminate it from other types + cl.markers <- parallel::mclapply(levels(cl), function(x){ + up.pairs = row.names(pairs.df)[pairs.df[,1] == x] + down.pairs = row.names(pairs.df)[pairs.df[,2] == x] add.up = setNames(rep(n.markers, length(up.pairs)), up.pairs) add.down = setNames(rep(n.markers, length(down.pairs)), down.pairs) - - up.default = sapply(up.pairs, function(p){intersect(de.genes[[p]]$up.genes, default.markers)},simplify=F) - down.default = sapply(down.pairs, function(p){intersect(de.genes[[p]]$down.genes, default.markers)},simplify=F) - if(length(up.default)>0){ + + up.default = sapply(up.pairs, function(p){intersect(names(de.genes[[p]]$up.genes), default.markers)},simplify=F) + down.default = sapply(down.pairs, function(p){intersect(names(de.genes[[p]]$down.genes), default.markers)},simplify=F) + if(length(add.up) > 0 & length(up.default)>0){ add.up = pmax(add.up - sapply(up.default, length),0) } - if(length(down.default)>0){ + if(length(add.down) > 0 & length(down.default)>0){ add.down = pmax(add.down - sapply(down.default, length),0) } - tmp.result = select_markers_pair_direction(add.up=add.up, add.down=add.down,de.genes=de.genes, up.gene.score=up.gene.score,down.gene.score=down.gene.score,rm.genes=c(rm.genes,default.markers)) - + tmp.result = select_markers_pair_direction(add.up=add.up, add.down=add.down,de.genes=de.genes, cl.means=cl.means, up.gene.score=up.gene.score,down.gene.score=down.gene.score,rm.genes=c(rm.genes,default.markers)) unique(c(tmp.result$markers, unlist(up.default), unlist(down.default))) - },simplify=F) + }, mc.cores=mc.cores) + names(cl.markers) = levels(cl) + return(cl.markers) } + +select_top_pos_markers <- function(de.genes, cl, n.markers=3, up.gene.score, down.gene.score,mc.cores=10) + { + library(parallel) + pairs.df = get_pairs(names(de.genes)) + + ###for each cluster, find markers that discriminate it from other types + cl.markers <- parallel::pvec(levels(cl), function(x){ + sapply(x, function(tmp.cl){ + up.pairs = row.names(pairs.df)[pairs.df[,1] == tmp.cl] + down.pairs = row.names(pairs.df)[pairs.df[,2] == tmp.cl] + if(length(up.pairs)>0){ + sc = get_row_sums(up.gene.score, select.col=up.pairs) + } + else{ + sc = 0 + } + if(length(down.pairs)>0){ + sc = sc+ get_row_sums(down.gene.score, select.col=down.pairs) + } + head(names(sort(sc,decreasing=T)), n.markers) + },simplify=F) + },mc.cores=mc.cores) + return(cl.markers) + } + + #' Title #' #' @param cl.dat @@ -480,7 +581,6 @@ within_group_specific_markers <- function(cl.g, norm.dat, cl, ...) ###Beta score from Trygve - #' Title #' #' @param propExpr @@ -492,20 +592,19 @@ within_group_specific_markers <- function(cl.g, norm.dat, cl, ...) #' #' @examples get_beta_score <- function(propExpr, spec.exp = 2, mcores=1){ + library(doMC) if(mcores ==1){ registerDoSEQ() } else{ - cl <- parallel::makeForkCluster(mcores) - doParallel::registerDoParallel(cl) - on.exit(parallel::stopCluster(cl), add = TRUE) + registerDoMC(cores=mc.cores) + on.exit(parallel::stopCluster(), add = TRUE) } calc_beta <- function(y, spec.exp = 2, eps1 = 1e-10) { d1 <- as.matrix(dist(y)) score1 <- sum(d1^spec.exp) / (sum(d1) + eps1) return(score1) } - res <- foreach(i = 1:nrow(propExpr), .combine="c") %dopar% { print(i) calc_beta(propExpr[i,]) @@ -515,3 +614,25 @@ get_beta_score <- function(propExpr, spec.exp = 2, mcores=1){ } + +###select_markers_groups +#' Title +#' +#' @param de.genes +#' @param cl.group Assignment of clusters to groups cluster as names, and group id as values. +#' +#' @return +#' @export +#' +#' @examples + + +select_markers_groups <- function(de.genes, cl.group, cl.means, n.markers=1,...) + { + pairs = create_pairs(as.character(names(cl.group))) + pairs = pairs[cl.group[pairs[,1]]!= cl.group[pairs[,2]], ] + markers=select_N_markers(de.genes, cl.means=cl.means, pairs=row.names(pairs), ...) + return(markers) + } + + diff --git a/R/merge_cl.R b/R/merge_cl.R index ed95d8a..e9f2aef 100644 --- a/R/merge_cl.R +++ b/R/merge_cl.R @@ -35,19 +35,37 @@ test_merge <- function(de.pair, de.param, merge.type="undirectional") } +get_knn_pairs <- function(cl.rd, cl.rd.ref=cl.rd, k=5, method="Annoy.Euclidean") + { + knn.result= get_knn(cl.rd, cl.rd.ref, k=min(k, ncol(cl.rd)),method=method, return.distance=TRUE) + knn.matrix = knn.result[[1]] + knn.dist = knn.result[[2]] + merge.pairs = data.frame(c1= rep(colnames(cl.rd),ncol(knn.matrix)), c2= colnames(cl.rd.ref)[as.vector(knn.matrix)]) + merge.pairs$dist = as.vector(knn.dist) + merge.pairs$sim = 1 - merge.pairs$dist/max(merge.pairs$dist) + merge.pairs = merge.pairs[merge.pairs[,1]!=merge.pairs[,2],] + merge.pairs[,1] = as.integer(merge.pairs[,1]) + merge.pairs[,2] = as.integer(merge.pairs[,2]) + tmp1 =pmin(merge.pairs[,1],merge.pairs[,2]) + tmp2 =pmax(merge.pairs[,1],merge.pairs[,2]) + merge.pairs[,1:2] = cbind(tmp1,tmp2) + p = paste(merge.pairs[,1],merge.pairs[,2],sep="_") + merge.pairs= merge.pairs[!duplicated(p),,drop=F] + row.names(merge.pairs) = p[!duplicated(p)] + merge.pairs = merge.pairs[order(merge.pairs$sim,decreasing=T),] + } + #' Merge clusters based on pairwise differential expressed genes. #' #' @param norm.dat normalized expression data matrix in log transform, using genes as rows, and cells and columns. Users can use log2(FPKM+1) or log2(CPM+1) #' @param cl A vector of cluster membership with cell index as names, and cluster id as values. #' @param rd.dat Reduced dimensions for cells. Used to determine which clusters are close to each other. Clusters are merged among nearest neighbors first. -#' @param rd.dat.t Transpose of rd.dat #' @param de.param The DE gene criteria. See de_param for details. #' @param merge.type Determine if the DE gene score threshold should be applied to combined de.score, or de.score for up and down directions separately. #' @param max.cl.size Sampled cluster size. This is to speed up limma DE gene calculation. Instead of using all cells, we randomly sampled max.cl.size number of cells for testing DE genes. #' @param de.method Use limma by default. We are still testing "chisq" mode. #' @param de.genes If not null, use DE genes computated prevoiusly by DE_genes_pw or DE_genes_pairs to avoid recomputing. #' @param return.markers If TRUE, compute the DE genes between very pairs of clusters as markers -#' @param pairBatch The number of pairs to be tested for merging in one batch. Avoid compairing many pairs at the same time to reduce memory comsumption. Default 40 #' @param sampled For big dataset, norm.dat may not include all cells from cl. If TRUE, norm.dat is the data matrix for downsampled cells, and no need for further down sampling. #' #' @return A list with cl (cluster membership), de.genes (differentially expressed genes), sc (cluster pairwise de.score), markers (top cluster pairwise markers) @@ -56,20 +74,17 @@ test_merge <- function(de.pair, de.param, merge.type="undirectional") #' merge_cl<- function(norm.dat, cl, - rd.dat = NULL, - rd.dat.t = NULL, + rd.dat=NULL, + rd.dat.t = NULL, de.param = de_param(), merge.type = c("undirectional","directional"), max.cl.size = 300, - de.method = "limma", + de.method = "fast_limma", de.genes = NULL, return.markers = FALSE, - pairBatch =40, - verbose = 0) + verbose = 0, + k=4) { - if (is.null(rd.dat.t)){ - rd.dat.t = Matrix::t(rd.dat) - } if(!is.integer(cl)){ cl = setNames(as.integer(as.character(cl)), names(cl)) } @@ -81,136 +96,105 @@ merge_cl<- function(norm.dat, row.names(pairs)=names(de.genes) } ###Merge small clusters with the closest neighbors first. - cl.rd = get_cl_means(rd.dat.t,cl[names(cl) %in% colnames(rd.dat.t)]) + if(!is.null(rd.dat)){ + cl.rd = as.data.frame(get_cl_means(rd.dat,cl[names(cl) %in% row.names(rd.dat)])) + } + else{ + cl.rd = as.data.frame(get_cl_means(rd.dat.t,cl[names(cl) %in% colnames(rd.dat.t)])) + } + cl.size = table(cl) while(TRUE){ cl.size = table(cl) if(length(cl.size)==1){ break } cl.small = names(cl.size)[cl.size < de.param$min.cells] + ###if all clusters are small, not need for further split. + if(length(cl.small)==length(cl.size)){ + return(NULL) + } if(length(cl.small)==0){ break - } - ##Compute cluster similary on reduced dimension - if(ncol(cl.rd)>2 & nrow(cl.rd) > 2){ - cl.sim = cor(cl.rd) - } - else{ - cl.diff=as.matrix(dist(t(cl.rd))) - cl.sim = 1 - cl.diff/max(cl.diff) - } - tmp=as.data.frame(as.table(cl.sim[cl.small,,drop=F])) - tmp[,1]=as.integer(as.character(tmp[,1])) - tmp[,2]=as.integer(as.character(tmp[,2])) - tmp = tmp[tmp[,1]!=tmp[,2],,drop=F] - closest.pair = which.max(tmp$Freq) - x = tmp[closest.pair,1] - y= tmp[closest.pair,2] + } + merge.pairs = get_knn_pairs(cl.rd[,!colnames(cl.rd) %in% cl.small, drop=F], cl.rd[,cl.small,drop=F], k=1) + x = merge.pairs[1,1] + y= merge.pairs[1,2] if(verbose > 0){ cat("Merge: ", x,y, "sim:", tmp[closest.pair,3],"\n") } - cl[cl==x]= y - tmp.cells = intersect(names(cl)[cl==y], colnames(rd.dat.t)) - tmp= Matrix::rowMeans(rd.dat.t[,tmp.cells,drop=FALSE]) - cl.rd[,as.character(y)]= tmp - cl.rd = cl.rd[,colnames(cl.rd)!=x,drop=F] - } - + cl[cl==y]= x + p = as.character(c(x,y)) + cl.rd[[p[1]]] = get_weighted_means(as.matrix(cl.rd[,p]), as.vector(cl.size[p])) + cl.rd[[p[2]]] = NULL + cl.size[p[1]] = sum(cl.size[p]) + cl.size = cl.size[names(cl.size)!=p[2]] + } + tmp.cl = cl[names(cl) %in% colnames(norm.dat)] + cl.means = as.data.frame(get_cl_means(norm.dat, tmp.cl)) + cl.present = as.data.frame(get_cl_present(norm.dat, tmp.cl,low.th=de.param$low.th)) + cl.sqr.means = as.data.frame(get_cl_sqr_means(norm.dat,tmp.cl)) + while(length(unique(cl)) > 1){ - if(length(unique(cl)) == 2){ - merge.pairs = as.data.frame(matrix(as.integer(colnames(cl.rd)), nrow=1)) - merge.pairs$sim = cor(cl.rd[,1], cl.rd[,2]) - row.names(merge.pairs) = paste(merge.pairs[,1], merge.pairs[,2],sep="_") - } - else{ - ##Compute cluster similary on reduced dimension - if(ncol(cl.rd)>2 & nrow(cl.rd) > 2){ - cl.sim = cor(cl.rd) - } - else{ - cl.diff=as.matrix(dist(t(cl.rd))) - cl.sim = 1 - cl.diff/max(cl.diff) - } - - knn.matrix=t(sapply(1:nrow(cl.sim), function(i){colnames(cl.sim)[-i][order(cl.sim[i,-i],decreasing=T)]})) - row.names(knn.matrix)=row.names(cl.sim) - knn.matrix = knn.matrix[,1:min(3,ncol(knn.matrix))] - merge.pairs = do.call("rbind",apply(knn.matrix, 2,function(x)data.frame(c1=row.names(knn.matrix),c2=x, stringsAsFactors=FALSE))) - merge.pairs$sim = get_pair_matrix(cl.sim, merge.pairs[,1], merge.pairs[,2]) - merge.pairs[,1] = as.integer(merge.pairs[,1]) - merge.pairs[,2] = as.integer(merge.pairs[,2]) - tmp1 =pmin(merge.pairs[,1],merge.pairs[,2]) - tmp2 =pmax(merge.pairs[,1],merge.pairs[,2]) - merge.pairs[,1:2] = cbind(tmp1,tmp2) - p = paste(merge.pairs[,1],merge.pairs[,2],sep="_") - merge.pairs= merge.pairs[!duplicated(p),,drop=F] - row.names(merge.pairs) = p[!duplicated(p)] - merge.pairs = merge.pairs[order(merge.pairs$sim,decreasing=T),] - } - - - ###Determine the de score for these pairs + merge.pairs = get_knn_pairs(cl.rd, cl.rd, k=k) +###Determine the de score for these pairs if(nrow(merge.pairs)==0){ - break - } - ##Down sample cells for efficiency - if(!is.null(max.cl.size)){ - sampled.cells = sample_cells(cl[names(cl) %in% colnames(norm.dat)], max.cl.size) - tmp.cl= cl[sampled.cells] - } - else{ - tmp.cl= cl + break } - #####Check pairs already known but not yet merged yet. + +#####get DE genes for new pairs new.pairs = setdiff(row.names(merge.pairs),names(de.genes)) - while(length(new.pairs) > 0){ - new.pairs = new.pairs[head(order(merge.pairs[new.pairs,"sim"],decreasing=T), pairBatch)] - pairs = rbind(pairs, merge.pairs[new.pairs,,drop=F]) - tmp.de.genes =de_stats_selected_pairs(norm.dat, cl=tmp.cl, pairs=merge.pairs[new.pairs,,drop=F], de.param= de.param, method=de.method) - de.genes[names(tmp.de.genes)] = tmp.de.genes - gc() - tmp.pairs= intersect(names(de.genes), row.names(merge.pairs)) - sc = sapply(de.genes[tmp.pairs], function(x){ - if(length(x)>0){x$score} - else{0} - }) - sc = sort(sc) - #print(head(sc,10)) - to.merge = sapply(names(sc), function(p){ - to.merge = test_merge(de.genes[[p]], de.param, merge.type=merge.type) - }) - if(sum(to.merge)>0){ - sc = sc[to.merge] - to.merge= merge.pairs[names(sc),,drop=FALSE] - to.merge$sc = sc - break - } - new.pairs = setdiff(row.names(merge.pairs),names(de.genes)) + if(verbose > 0){ + cat("Compute DE genes\n") } - ###all pairs have been checked and no pairs under DE threshold - if(length(new.pairs)==0){ + tmp.de.genes =de_selected_pairs(norm.dat, cl=cl, pairs=merge.pairs[new.pairs,], de.param= de.param, method=de.method, cl.means=cl.means, cl.present=cl.present, cl.sqr.means=cl.sqr.means) + de.genes[names(tmp.de.genes)] = tmp.de.genes + pairs = get_pairs(names(de.genes)) + + tmp.pairs= intersect(names(de.genes), row.names(merge.pairs)) + sc = sapply(de.genes[tmp.pairs], function(x){ + if(length(x)>0){x$score} + else{0} + }) + sc = sort(sc) + #print(head(sc,10)) + to.merge = sapply(names(sc), function(p){ + to.merge = test_merge(de.genes[[p]], de.param, merge.type=merge.type) + }) + if(sum(to.merge)==0){ break } + sc = sc[to.merge] + to.merge= merge.pairs[names(sc),,drop=FALSE] + to.merge$sc = sc + merged =c() - ###The first pair in to.merge always merge. For the remaining pairs, if both clusters have already enough cells, - ###or independent of previus merging, then they can be directly merged as well, without re-assessing DE genes. +###The first pair in to.merge always merge. For the remaining pairs, if both clusters have already enough cells, +###or independent of previus merging, then they can be directly merged as well, without re-assessing DE genes. for(i in 1:nrow(to.merge)){ p = c(to.merge[i,1], to.merge[i,2]) if(i == 1 | sc[i] < de.param$de.score.th /2 & length(intersect(p, merged))==0){ + cl[cl==p[2]] = p[1] + + p = as.character(p) if(verbose > 0){ - cat("Merge ",p[1], p[2], to.merge[i,"sc"], to.merge[i, "sim"], sum(tmp.cl== p[1]),"cells", sum(tmp.cl==p[2]),"cells", "\n") + cat("Merge ",p[1], p[2], to.merge[i,"sc"], to.merge[i, "sim"], cl.size[p[1]],"cells", cl.size[p[2]],"cells", "\n") } - cl[cl==p[2]] = p[1] + + cl.rd[[p[1]]] = get_weighted_means(as.matrix(cl.rd[,p]), cl.size[p]) + cl.rd[[p[2]]] = NULL + cl.means[[p[1]]] = get_weighted_means(as.matrix(cl.means[, p]), cl.size[p]) + cl.means[[p[2]]] = NULL + cl.present[[p[1]]] = get_weighted_means(as.matrix(cl.present[, p]), cl.size[p]) + cl.present[[p[2]]] = NULL + cl.sqr.means[[p[1]]] = get_weighted_means(as.matrix(cl.sqr.means[, p]), cl.size[p]) + cl.sqr.means[[p[2]]] = NULL + cl.size[p[1]] = sum(cl.size[p]) + cl.size = cl.size[names(cl.size)!=p[2]] rm.pairs = row.names(pairs)[pairs[,1]%in% p | pairs[,2]%in% p] de.genes = de.genes[setdiff(names(de.genes),rm.pairs)] - tmp.cells = intersect(names(cl)[cl==p[1]], colnames(rd.dat.t)) - tmp= Matrix::rowMeans(rd.dat.t[,tmp.cells,drop=FALSE]) - cl.rd[,as.character(p[1])]= tmp - cl.rd = cl.rd[,colnames(cl.rd)!=p[2],drop=F] + merged = c(merged,p) } - merged = c(merged, p) } - pairs = pairs[names(de.genes),,drop=F] } if(length(unique(cl))<2){ return(NULL) @@ -227,7 +211,7 @@ merge_cl<- function(norm.dat, else{ tmp.cl= cl } - de.genes = de_stats_all_pairs(norm.dat, cl=tmp.cl, de.genes=de.genes, de.param=de.param) + de.genes = de_all_pairs(norm.dat, cl=tmp.cl, de.genes=de.genes, de.param=de.param, cl.means=cl.means, cl.present=cl.present, cl.sqr.means=cl.sqr.means) } markers = select_markers(norm.dat, cl, de.genes=de.genes, n.markers=50)$markers sc = sapply(de.genes, function(x){ @@ -237,3 +221,7 @@ merge_cl<- function(norm.dat, return(list(cl=cl, de.genes=de.genes,sc=sc, markers=markers)) } + + + + diff --git a/R/reduceDimension_PCA.R b/R/reduceDimension_PCA.R index 6685d48..270792e 100644 --- a/R/reduceDimension_PCA.R +++ b/R/reduceDimension_PCA.R @@ -1,27 +1,3 @@ -#' prcomp irlba -#' -#' @param x -#' @param max.rank -#' @param maxit -#' @param tol -#' @param center -#' @param ... -#' -#' @return -#' @export -#' -#' @examples -prcomp.irlba <- function(x, max.rank=500, maxit=1000, tol=1e-05, center=TRUE,...) - { - library(irlba) - s <- irlba::irlba(x, nv=max.rank, nu=max.rank, maxit = maxit, tol=tol, ...) - s$d <- s$d / sqrt(max(1, nrow(x) - 1)) - dimnames(s$v) <- list(colnames(x), paste0("PC", seq_len(ncol(s$v)))) - r <- list(sdev = s$d, rotation = s$v) - r$x <- x %*% s$v - class(r) <- "prcomp" - r - } #' Title @@ -37,28 +13,107 @@ prcomp.irlba <- function(x, max.rank=500, maxit=1000, tol=1e-05, center=TRUE,... #' @export #' #' @examples -rd_PCA <- function(norm.dat, select.genes=row.names(norm.dat), select.cells=colnames(norm.dat),sampled.cells=select.cells, max.pca=10, th=2) +rd_PCA <- function(norm.dat, select.genes=row.names(norm.dat), select.cells=colnames(norm.dat),sampled.cells=select.cells, max.pca=10, th=2, verbose=FALSE, method="zscore", mc.cores=1) { library(Matrix) library(stats) - - pca = stats::prcomp(t(as.matrix(norm.dat[select.genes,sampled.cells])),tol=0.01) - pca.importance = summary(pca)$importance - v = pca.importance[2,] - - select= which((v - mean(v))/sd(v)>th) - tmp = head(select,max.pca) - if(length(tmp)==0){ + + tmp = get_PCA(norm.dat[select.genes, sampled.cells], max.pca=max.pca, verbose=verbose,th=th, method=method) + if(is.null(tmp)){ return(NULL) } + rot = tmp$rot + rd.dat = tmp$rd.dat + pca = tmp$pca if(length(sampled.cells)< length(select.cells)){ - rot = pca$rotatio[,tmp,drop=F] - tmp.dat = norm.dat[row.names(rot), select.cells,drop=F] - rd.dat = as.matrix(Matrix::t(tmp.dat) %*% rot) - } - else{ - rd.dat=pca$x[,tmp,drop=F] + require(parallel) + rd.dat = parallel::pvec(select.cells, function(x){ + tmp.dat = norm.dat[row.names(rot), x,drop=F] + rd.dat = as.matrix(Matrix::crossprod(tmp.dat, rot)) + return(list(rd.dat)) + }, mc.cores=mc.cores) + rd.dat = do.call("rbind",rd.dat) } return(list(rd.dat=rd.dat, pca=pca)) } + +get_PCA <- function(dat, max.pca, verbose=FALSE, method="zscore",th=2,fun="prcomp", rot=TRUE, init.pca = 200) + { + library(Matrix) + library(stats) + dat = as.matrix(dat) + if(rot){ + dat = t(dat) + } + if(fun=="prcomp"){ + pca = stats::prcomp(dat,tol=0.01) + } + else{ + require("irlba") + pca = prcomp_irlba(dat, n = min(init.pca, nrow(dat))); + } + if(method=="elbow"){ + dim.elbow = findElbowPoint(pca$sdev^2) + if(verbose){ + cat("elbow dim:", dim.elbow, "\n") + } + select = 1:min(max.pca,dim.elbow) + } + else if(method=="zscore"){ + pca.importance = summary(pca)$importance + v = pca.importance[2,] + select= which((v - mean(v))/sd(v)>th) + select = head(select,max.pca) + } + else{ + Stop("Unknown method") + } + if(length(select)==0){ + return(NULL) + } + rot = pca$rotatio[,select,drop=F] + rd.dat = pca$x[,select,drop=F] + return(list(rot=rot, rd.dat = rd.dat,pca=pca)) + } + + + +top_loading_genes <- function(rot,top.n=10) + { + top.genes= apply(rot, 2, function(x){ + tmp=head(order(abs(x),decreasing=T), top.n) + split(row.names(rot)[tmp], x[tmp]>0) + }) + } + + +###Taken from https://github.com/kevinblighe/PCAtools/blob/master/R/findElbowPoint.R +findElbowPoint <- function(variance) { + if (is.unsorted(-variance)) { + stop("'variance' should be sorted in decreasing order") + } + + # Finding distance from each point on the curve to the diagonal. + dy <- -diff(range(variance)) + dx <- length(variance) - 1 + l2 <- sqrt(dx^2 + dy^2) + dx <- dx/l2 + dy <- dy/l2 + + dy0 <- variance - variance[1] + dx0 <- seq_along(variance) - 1 + parallel.l2 <- sqrt((dx0 * dx)^2 + (dy0 * dy)^2) + normal.x <- dx0 - dx * parallel.l2 + normal.y <- dy0 - dy * parallel.l2 + normal.l2 <- sqrt(normal.x^2 + normal.y^2) + + #Picking the maximum normal that lies below the line. + #If the entire curve is above the line, we just pick the last point. + below.line <- normal.x < 0 & normal.y < 0 + if (!any(below.line)) { + length(variance) + } else { + which(below.line)[which.max(normal.l2[below.line])] + } +} diff --git a/R/reduceDimension_Umap.R b/R/reduceDimension_Umap.R index 9a60c29..e331355 100644 --- a/R/reduceDimension_Umap.R +++ b/R/reduceDimension_Umap.R @@ -1,62 +1,98 @@ -#' Adapt from Seurat package -#' @importFrom reticulate py_module_available py_set_seed import -#' -#' @rdname RunUMAP -#' @method RunUMAP default -#' @export -#' -rd_Umap <- function( - mat, - n.neighbors = 30L, - n.components = 2L, - metric = "correlation", - n.epochs = NULL, - learning.rate = 1.0, - min.dist = 0.3, - spread = 1.0, - set.op.mix.ratio = 1.0, - local.connectivity = 1L, - repulsion.strength = 1, - negative.sample.rate = 5, - a = NULL, - b = NULL, - seed.use = 42, - metric.kwds = NULL, - angular.rp.forest = FALSE, - reduction.key = 'UMAP_', - verbose = TRUE) -{ - library(reticulate) - if (!py_module_available(module = 'umap')) { - stop("Cannot find UMAP, please install through pip (e.g. pip install umap-learn).") - } - if (!is.null(x = seed.use)) { - set.seed(seed = seed.use) - py_set_seed(seed = seed.use) +# rd_Rumap (dat, param) +# +# dat (nsample x nfeat) : full dim. data +# umap.param : umap parameter +# +# contact : changkyul@alleninstitute.org +# +# +# Default umap configuration parameters +# n_neighbors: 15 +# n_components: 2 +# metric: euclidean +# n_epochs: 200 +# input: data +# init: spectral +# min_dist: 0.1 +# set_op_mix_ratio: 1 +# local_connectivity: 1 +# bandwidth: 1 +# alpha: 1 +# gamma: 1 +# negative_sample_rate: 5 +# a: NA +# b: NA +# spread: 1 +# random_state: NA +# transform_state: NA +# knn: NA +# knn_repeats: 1 +# verbose: FALSE +# umap_learn_args: NA +# +rd_Rumap <- function (dat, umap.param,method="umap") { + if(method=="umap"){ + library(umap) + # set up parameters + custom.config = umap.defaults + if (length(umap.param) > 0) { + inparam = names(umap.param) + for (key in inparam) custom.config[[key]] = umap.param[[key]] + } + + # run ummap + if (custom.config$metric == "correlation") { + dat.dist = (1 - cor(t(dat)))/2 + custom.config$metric = "euclidean" + tmp = umap(dat.dist, config=custom.config, random_state=umap.param$random_state, input="dist") + } else { + tmp = umap(dat, config=custom.config, random_state=umap.param$random_state) + } + rd.umap = tmp$layout } - if (typeof(x = n.epochs) == "double") { - n.epochs_as.integer(x = n.epochs) + + return(rd.umap) +} + +umap_param <- function(n_neighbors=25, metric="correlation", min_dist=0.4, random_seed=123) + { + umap.param <- list() + umap.param$n_neighbors = n_neighbors + umap.param$metric = metric + umap.param$min_dist = min_dist + umap.param$random_state = random_seed + return(umap.param) } - umap_import_import(module = "umap", delay_load = TRUE) - umap_umap_import$UMAP( - n_neighbors = as.integer(x = n.neighbors), - n_components = as.integer(x = n.components), - metric = metric, - n_epochs = n.epochs, - learning_rate = learning.rate, - min_dist = min.dist, - spread = spread, - set_op_mix_ratio = set.op.mix.ratio, - local_connectivity = local.connectivity, - repulsion_strength = repulsion.strength, - negative_sample_rate = negative.sample.rate, - a = a, - b = b, - metric_kwds = metric.kwds, - angular_rp_forest = angular.rp.forest, - verbose = verbose) - umap_output= umap$fit_transform(mat) - colnames(umap_output)=paste0(reduction.key, 1:ncol(x = umap_output)) - rownames(umap_output)=rownames(object) - return(umap_output) + +# +# PCA_umap (rd.dat.list, cl, Comb.dat, ref.set, N.sampled.cells, umap.param) +# +# rd.dat.list[[ref.set]] : dimension reduction data for each platform +# cl : cluster result +# Comb.dat : combined data set +# ref.set : platform to be used for reference +# N.sampled.cells : max number of cells selected in each cluster +# umap.param : umap parameter +# +# contact : changkyul@alleninstitute.org +# +PCA_umap <- function(dat, + cl, + rm.eigen=NULL, + rm.th=0.6, + umap.param = NULL,... ) +{ + rd.dat = rd_PCA(dat, select.cells = names(cl),...) + if(!is.null(rm.eigen)){ + rd.dat = filter_RD(rd.dat, rm.eigen, rm.th) + } + ###################################### + # UMAP + if (is.null(umap.param)) { + umap.param= umap_param() + } + umap = rd_Rumap(rd.dat[sampled.cells,], umap.param=umap.param) + return(umap) } + + diff --git a/R/reduceDimension_WGCNA.R b/R/reduceDimension_WGCNA.R index 4dad508..2104f2f 100644 --- a/R/reduceDimension_WGCNA.R +++ b/R/reduceDimension_WGCNA.R @@ -63,7 +63,6 @@ filter_gene_mod <- function(norm.dat, select.cells, gene.mod, minModuleSize=10, rm.cor=cor(eigen, rm.eigen[select.cells,]) rm.cor[is.na(rm.cor)]=0 rm.score = setNames(rowMaxs(abs(rm.cor)), colnames(eigen)) - print(rm.score) select = rm.score < rm.th if(sum(!select)){ print("Remove module") diff --git a/R/reduceDimension_plot.R b/R/reduceDimension_plot.R index 36a9c9f..44846a8 100644 --- a/R/reduceDimension_plot.R +++ b/R/reduceDimension_plot.R @@ -1,6 +1,8 @@ jet.colors <-colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan","#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000")) +blue.red <-colorRampPalette(c("blue", "white", "red")) -#' Title + +#' get_RD_cl_center #' #' @param rd.dat #' @param cl @@ -20,7 +22,7 @@ get_RD_cl_center <- function(rd.dat, cl) })) } -#' Title +#' plot_RD_cl #' #' @param rd.dat #' @param cl @@ -39,23 +41,33 @@ get_RD_cl_center <- function(rd.dat, cl) #' @export #' #' @examples -plot_RD_cl <- function(rd.dat, cl, cl.color, cl.label,cex=0.15, fn.size =2, alpha.val=1,show.legend=FALSE, legend.size=2, label.center=TRUE, bg="blank",fn.color="black") +plot_RD_cl <- function(rd.dat, cl, cl.color, cl.label,cex=0.15, fn.size =2, alpha.val=NULL,show.legend=FALSE, legend.size=2, label.center=TRUE, bg="blank",fn.color="black",no.shape=TRUE,ncol=4,shift.x=0, shift.y=0) { rd.dat=as.data.frame(rd.dat) colnames(rd.dat) = paste0("Dim", 1:ncol(rd.dat)) - rd.dat$cl = cl[row.names(rd.dat)] - rd.dat$cl_label = droplevels(factor(cl.label[as.character(rd.dat$cl)], levels=cl.label)) + rd.dat$cl = factor(cl[row.names(rd.dat)]) if(label.center){ cl.center = get_RD_cl_center(rd.dat, cl) - row.names(cl.center) = cl.label[row.names(cl.center)] } - shape = setNames(1:length(levels(rd.dat$cl_label)) %% 20 + 1,levels(rd.dat$cl_label)) - g=ggplot(rd.dat, aes(Dim1, Dim2)) + geom_point(aes(color=cl_label,shape=cl_label),size=cex) - g = g+ scale_color_manual(values=alpha(as.vector(cl.color[levels(rd.dat$cl_label)]),alpha.val))+ scale_shape_manual(values=as.vector(shape[levels(rd.dat$cl_label)])) + if(!no.shape){ + shape = setNames(1:length(levels(rd.dat$cl)) %% 20 + 1,levels(rd.dat$cl)) + g=ggplot(rd.dat, aes(Dim1, Dim2)) + geom_point(aes(color=cl,shape=cl),size=cex) + g = g+ scale_shape_manual(values=as.vector(shape[levels(rd.dat$cl)])) + } + else{ + g=ggplot(rd.dat, aes(Dim1, Dim2)) + geom_point(aes(color=cl),size=cex) + } + if(!is.null(alpha.val)){ + col = alpha(as.vector(cl.color[levels(rd.dat$cl)]),alpha.val) + } + else{ + col = as.vector(cl.color[levels(rd.dat$cl)]) + } + g = g+ scale_color_manual(values=col,labels=cl.label[levels(rd.dat$cl)]) if(label.center){ g = g + geom_point(data=as.data.frame(cl.center), aes(x=x, y=y), size=cex*1.5) for(i in 1:nrow(cl.center)){ - g = g + annotate("text", label=row.names(cl.center)[i], x=cl.center[i,1], y=cl.center[i,2],size=fn.size,color=fn.color) + g = g + annotate("text", label=cl.label[row.names(cl.center)[i]], x=cl.center[i,1]+shift.x, y=cl.center[i,2] + shift.y,size=fn.size,color=fn.color) } } if(bg=="blank"){ @@ -67,9 +79,13 @@ plot_RD_cl <- function(rd.dat, cl, cl.color, cl.label,cex=0.15, fn.size =2, alph g = g + theme(panel.background= element_rect(fill=bg, color=NA), panel.border = element_blank(),panel.grid.major = element_blank(), panel.grid.minor= element_blank()) } if(show.legend){ - g = g + guides(colour = guide_legend(override.aes = list(shape = shape[levels(rd.dat$cl_label)])),ncol=5) - g <- g + guides(color = guide_legend(override.aes = list(size = legend.size))) - g = g + theme(legend.position="bottom") + if(no.shape){ + g = g + guides(colour = guide_legend(override.aes = list(size = legend.size),ncol=ncol)) + } + else{ + g = g + guides(colour = guide_legend(override.aes = list(shape = shape[levels(rd.dat$cl)],size = legend.size)),ncol=ncol) + } + g = g + theme(legend.position="right") } else{ g = g + theme(legend.position="none") @@ -82,7 +98,7 @@ plot_RD_cl <- function(rd.dat, cl, cl.color, cl.label,cex=0.15, fn.size =2, alph ###meta is discretized. -#' Title +#' plot_RD_meta #' #' @param rd.dat #' @param meta @@ -132,7 +148,7 @@ plot_RD_meta <- function(rd.dat, meta, meta.col=NULL,show.legend=TRUE, cex=0.15, } -#' Title +#' plot_RD_gene #' #' @param rd.dat #' @param norm.dat @@ -177,34 +193,36 @@ plot_RD_gene <- function(rd.dat, norm.dat, genes, cex=0.15) #' @examples multiplot <- function(..., plotlist=NULL, file, cols=1, layout=NULL) { library(grid) - # Make a list from the ... arguments and plotlist + # Make a list from the ... arguments and plotlist plots <- c(list(...), plotlist) numPlots = length(plots) - # If layout is NULL, then use 'cols' to determine layout + # If layout is NULL, then use 'cols' to determine layout if (is.null(layout)) { - # Make the panel - # ncol: Number of columns of plots - # nrow: Number of rows needed, calculated from # of cols - layout <- matrix(seq(1, cols * ceiling(numPlots/cols)), - ncol = cols, nrow = ceiling(numPlots/cols)) + # Make the panel + # ncol: Number of columns of plots + # nrow: Number of rows needed, calculated from # of cols + layout <- matrix(seq(1, cols * ceiling(numPlots/cols)), + ncol = cols, + nrow = ceiling(numPlots/cols)) } if (numPlots==1) { print(plots[[1]]) } else { - # Set up the page - grid.newpage() - pushViewport(viewport(layout = grid.layout(nrow(layout), ncol(layout)))) - - # Make each plot, in the correct location + # Set up the page + grid.newpage() + pushViewport(viewport(layout = grid.layout(nrow(layout), ncol(layout)))) + + # Make each plot, in the correct location for (i in 1:numPlots) { - # Get the i,j matrix positions of the regions that contain this subplot + # Get the i,j matrix positions of the regions that contain this subplot matchidx <- as.data.frame(which(layout == i, arr.ind = TRUE)) - print(plots[[i]], vp = viewport(layout.pos.row = matchidx$row, + print(plots[[i]], + vp = viewport(layout.pos.row = matchidx$row, layout.pos.col = matchidx$col)) } } @@ -212,7 +230,7 @@ multiplot <- function(..., plotlist=NULL, file, cols=1, layout=NULL) { -#' Title +#' plot_3d_label #' #' @param df #' @param col @@ -254,7 +272,7 @@ plot_3d_label <- function(df, col, label_col=NULL,cex=1, label.cex=cex, init=TRU } } -#' Title +#' mybgplot3d #' #' @param tt #' @param bg.col @@ -283,7 +301,7 @@ mybgplot3d <- function(tt, bg.col=bg.col) } -#' Title +#' plot_3d_val #' #' @param df #' @param val @@ -315,7 +333,7 @@ plot_3d_val <- function(df, val, cex=1, max.val=quantile(val, 0.99), init=TRUE, -#' Title +#' plot_3d_label_multiple #' #' @param df #' @param cols @@ -332,24 +350,35 @@ plot_3d_val <- function(df, val, cex=1, max.val=quantile(val, 0.99), init=TRUE, #' @export #' #' @examples -plot_3d_label_multiple <- function(df, cols, label_cols, cex=0.7, label.cex=0.7, fn = NULL,win.dim = c(20,40,1200,800), layout = NULL, bg.col="gray60", dir="./") + +plot_3d_label_multiple <- function(df, + cols, + label_cols, + cex=0.7, + label.cex=0.7, + fn = NULL, + win.dim = c(20,40,1200,800), + layout = NULL, + bg.col="gray60", + dir="./") { n.win = length(cols) library(rgl) - print("start plotting") - mfrow3d(1,n.win) - next3d() + options(rgl.printRglwidget = TRUE) + + rgl::mfrow3d(1,n.win) + rgl::next3d() - open3d() + rgl::open3d() ###specify dimensions of the plots - par3d(windowRect=win.dim) + rgl::par3d(windowRect=win.dim) #bg3d(bg.col) if(is.null(layout)){ layout <- matrix(1:n.win, nrow=1) layout = rbind(layout, layout) } - layout3d(layout, sharedMouse = TRUE) + rgl::layout3d(layout, sharedMouse = TRUE) for (i in 1:n.win) { next3d() @@ -357,18 +386,39 @@ plot_3d_label_multiple <- function(df, cols, label_cols, cex=0.7, label.cex=0.7, if(length(col)==1){ tmp.col = paste0(col,"_color") if(tmp.col %in% colnames(df)){ - plot_3d_label(df, col=tmp.col, label_col=label_cols[[i]],init=FALSE, cex=cex, label.cex=label.cex, prefix=names(cols)[i], bg.col=bg.col) + print(1) + plot_3d_label(df, + col=tmp.col, + label_col=label_cols[[i]], + init=FALSE, + cex=cex, + label.cex=label.cex, + prefix=names(cols)[i], + bg.col=bg.col) } else{ - plot_3d_val(df, val=df[[col]], init=FALSE,cex=cex,prefix=names(cols)[i], bg.col=bg.col) + print(2) + plot_3d_val(df, + val=df[[col]], + init=FALSE, + cex=cex, + prefix=names(cols)[i], + bg.col=bg.col) } } else{ - plot_3d_val(df, val=col,init=FALSE, cex=cex,prefix=names(cols)[i],bg.col=bg.col) + print(3) + plot_3d_val(df, + val=col, + init=FALSE, + cex=cex, + prefix=names(cols)[i], + bg.col=bg.col) } } if(!is.null(fn)){ - writeWebGL(dir=dir, filename=fn) + filename=file.path(dir, paste0(fn, ".html")) + htmlwidgets::saveWidget(rglwidget(), filename) } } @@ -445,3 +495,207 @@ plot_3d_select <- function(rd.dat, select.cells, fg.col= "red", bg.col="gray", } } + +plot_RD_cl_subset<- function(rd.dat, cl, cl.color,cl.label,select.samples,missing.color="gray85",min.size=10,fg.alpha=1,bg.alpha=0.5,...) + { + cl= setNames(as.character(cl), names(cl)) + cl = cl[names(cl)%in% select.samples] + tmp = setdiff(row.names(rd.dat),names(cl)) + cl = c(cl, setNames(rep("0",length(tmp)), tmp)) + cl.size= table(cl) + cl.small = names(cl.size)[cl.size < min.size] + cl.label[c(cl.small,"0")] = " " + cl.color["0"] = missing.color + alpha.val = setNames(rep(fg.alpha, length(cl.color)),names(cl.color)) + alpha.val["0"] = bg.alpha + cl.color = alpha(cl.color, alpha.val) + rd.rd = rd.dat[order(row.names(rd.dat) %in% select.samples),] + plot_RD_cl(rd.dat, cl, cl.color, cl.label,...) + } + + + +#' plot_2d_umap_anno +#' +#' @param umap.fn path to umap coordinates. CSV file containing sample_id and umap x/y coordinates +#' @param anno.df Sample annotations. The first column should be sample_id, and each annotation should have \_id, \_label, and \_color columns. Requires cluster_id which needs to be sequential in order of the dendrogram. +#' @param dest.d path to save plots. +#' @param meta.fields base name of variables to be represented as bargraphs below dendrogram. Annotation variables need to be represented as \_id, \_label, \_color in anno. +#' @param show.label TRUE or FALSE. To show cluster label on top of plot. +#' @param alpha level of transparency of dots. Value between 0 (fully transparent) and 1 (fully opaque) +#' @param cex size of plotted points. Default = 0.25 +#' @param save.format figures can be saved as "png", "pdf" or "both" +#' @param plot.height +#' @param plot.width +#' @param show.legend TRUE or FALSE. Whether to show legend with plot. +#' +#' +#' @example_data: +#' +#' load("data/rd_plot_example/example_umap.csv") +#' load("data/rd_plot_example/anno.df.rda") +#' +#' +#' @usage plots <- plot_2d_umap_anno(umap.fn="data/rd_plot_example/example_umap.csv",anno.df=anno.df, dest.d="./", meta.fields=c("platform","joint_region"),show.label=FALSE,alpha=0.5, cex=0.15,save.format="both", plot.height=7, plot.width=10, show.legend=TRUE) +#' +#' +#' +plot_2d_umap_anno <- function(umap.fn, + anno.df, + dest.d="./", + umap.2d = NULL, + meta.fields=NULL, + show.label=FALSE, + alpha=0.65, + cex=0.25, + save.format=c("png","pdf","both"), + plot.height=7, + plot.width=7, + show.legend=FALSE) +{ + library(data.table) + library(dplyr) + library(ggplot2) + if(is.null(umap.2d)){ + #load umap from csv + umap.2d <- as.data.frame(fread(umap.fn,header=TRUE)) + colnames(umap.2d) <- c("sample_id","Dim1","Dim2") + umap.2d <- umap.2d[sample(1:nrow(umap.2d)),] + } + umap.df = umap.2d %>% left_join(anno.df) + row.names(umap.2d)<-umap.2d$sample_id + umap.2d <- umap.2d[,c("Dim1","Dim2")] + + # extract filename for saving + umap.fn <- basename(umap.fn) + umap.fn <- gsub(".csv", "",umap.fn) + + #setup cluster labels/colors for plotting + cl <- setNames(umap.df$cl, umap.df$sample_id) + cl.df <- umap.df %>% select(cluster_id, cluster_label, cluster_color,cl) %>% unique + cl.color <- setNames(cl.df$cluster_color, cl.df$cl) + cl.label <- setNames(cl.df$cluster_label, cl.df$cl) + + plot.list <- list() + #plot umap colored by cluster + if(show.label==TRUE) { + g <- plot_RD_cl(rd.dat=umap.2d, cl=cl, cl.color = cl.color, cl.label =cl.label,alpha.val=alpha, cex=cex, show.legend = FALSE) + plot.list$cluster <- g + } + else { + if(show.legend==TRUE){ + g <- plot_RD_cl(rd.dat=umap.2d, cl=cl, cl.color = cl.color, cl.label =cl.label,alpha.val=alpha, cex=cex,label.center=FALSE, show.legend = TRUE) + g[["labels"]][["colour"]] <- "Cluster" + legend <- cowplot::get_legend(g) + + g <- plot_RD_cl(rd.dat=umap.2d, cl=cl, cl.color = cl.color, cl.label =cl.label,alpha.val=alpha, cex=cex,label.center=FALSE, show.legend = FALSE) + g <- cowplot::plot_grid(g, legend, ncol=2) + plot.list$cluster <- g + } + else{ + g <- plot_RD_cl(rd.dat=umap.2d, cl=cl, cl.color = cl.color, cl.label =cl.label,alpha.val=alpha, cex=cex,label.center=FALSE, show.legend = FALSE) + plot.list$cluster <- g + } + } + + if(!is.null(meta.fields)) { + # plot umap colored by other metadata + for(m in meta.fields){ + tmp.df = umap.df[,paste0(m, c("_id","_label","_color"))] %>% unique + colnames(tmp.df)=c("id","label","color") + tmp.df = tmp.df %>% arrange(id) + tmp.color = setNames(as.character(tmp.df$color), tmp.df$label) + + g= plot_RD_meta(umap.2d, + factor(umap.df[,paste0(m, "_label")], + levels=names(tmp.color)), + meta.col = tmp.color, + alpha=alpha) + + if(show.legend==TRUE){ + g[["labels"]][["colour"]] <- m + legend <- cowplot::get_legend(g) + g = g + theme(axis.title.x=element_blank(), axis.title.y=element_blank())+ + theme_void() + + theme(legend.position="none") + + coord_fixed(ratio=1) + g <- cowplot::plot_grid(g, legend, ncol=2) + plot.list[[m]] <- g + } + else{ + g = g + theme(axis.title.x=element_blank(), axis.title.y=element_blank())+ + theme_void() + + theme(legend.position="none") + + coord_fixed(ratio=1) + plot.list[[m]] <- g + } + } + } + #save list of plots as pdf or png + if(save.format == "pdf") { + lapply(names(plot.list), function(nm) + ggsave(plot=plot.list[[nm]], file=file.path(dest.d, paste0(umap.fn,"_",nm, ".pdf")), useDingbats=FALSE, height=plot.height, width=plot.width )) + } else if(save.format == "png"){ + lapply(names(plot.list), function(nm) + ggsave(plot=plot.list[[nm]], file=file.path(dest.d, paste0(umap.fn,"_",nm, ".png")), height=plot.height, width=plot.width )) + } else if(save.format == "both"){ + lapply(names(plot.list), function(nm) + ggsave(plot=plot.list[[nm]], file=file.path(dest.d, paste0(umap.fn,"_",nm, ".pdf")), useDingbats=FALSE, height=plot.height, width=plot.width )) + + lapply(names(plot.list), function(nm) + ggsave(plot=plot.list[[nm]], file=file.path(dest.d, paste0(umap.fn,"_",nm, ".png")), height=plot.height, width=plot.width )) + } + else{ print("Specify save.format") + } + return(list(umap.2d=umap.2d, plot.list=plot.list)) +} + + + +#' plot_3d_umap_anno +#' +#' @param umap.fn path to umap coordinates. CSV file containing sample_id and umap x/y/z coordinates +#' @param anno.df Sample annotations. The first column should be sample_id, and each annotation should have \_id, \_label, and \_color columns. Requires cluster_id which needs to be sequential in order of the dendrogram. +#' @param dest.d path to load data from and save plots to. +#' @param cols base name of variables to be represented as bargraphs below dendrogram. Annotation variables need to be represented as \_id, \_label, \_color in anno. +#' @param label_cols Which label on top of plot. +#' @param win.dim dimensions of plot window +#' @param cex size of plotted points. Default = 0.25 +#' @param html.fn name of html file to save figures can be saved as "png", "pdf" or "both" +#' +#' @example_data: +#' +#' umap <- read.csv("data/rd_plot_example/3d.umap.sampled.csv") +#' load("data/rd_plot_example/anno.df.3d.rda") +#' +#' +#' @usage plots <- plot_3d_umap_anno(umap.fn="3d.umap.sampled.csv", anno.df, cols=c("platform","cluster"),label_cols=list(NULL,NULL),html.fn = "3d.umap",dest.d="data/rd_plot_example" ) +#' +#' +#' + +#dest.d = "Manuscript/common/umap_constellation/" +#for(umap.fn in dir(dest.d, pattern="umap.2d.sampled.csv")){ +# plot_2d_umap(umap.fn, dest.d) +#} +plot_3d_umap_anno <- function(umap.fn, + anno.df, + cols= c("region","cluster"), + label_cols=list(NULL,"cluster_label"), + win.dim=c(20,40,1500, 800), + cex=0.7, + html.fn = NULL, + dest.d="./") +{ + umap.3d <- as.data.frame(fread(file.path(dest.d,umap.fn),header=TRUE)) + colnames(umap.3d) = c("sample_id", paste0("Dim", 1:(ncol(umap.3d)-1))) + umap.3d <- umap.3d %>% left_join(anno.df) + plot_3d_label_multiple(umap.3d, + cols=cols, + label_cols=label_cols, + cex=cex, + win.dim=win.dim, + fn = html.fn, + dir=dest.d) +} + diff --git a/R/util.R b/R/util.R index 3b36eff..88c79e2 100644 --- a/R/util.R +++ b/R/util.R @@ -222,6 +222,11 @@ convert_pair_matrix_str <- function(pair.str, } +get_weighted_means <- function(mat, w) + { + rowSums(Matrix::tcrossprod(mat,diag(w)))/sum(w) + } + #' Generate a sparse matrix one-hot representation of clusters x samples #' #' @param cl a cluster factor object @@ -229,20 +234,25 @@ convert_pair_matrix_str <- function(pair.str, #' @return a sparse, one-hot matrix indicating which cluster(columns) each sample (rows) belongs to. #' @export #' -get_cl_mat <- function(cl) { +get_cl_mat <- function(cl, all.cells=NULL) { if(!is.factor(cl)){ cl <- as.factor(cl) } cl <- droplevels(cl) - - cl.mat <- Matrix::sparseMatrix(i = 1:length(cl), - j = as.integer(cl), - x = 1) - - rownames(cl.mat) <- names(cl) + if(is.null(all.cells)){ + all.cells = names(cl) + i = 1:length(cl) + } + else{ + i = match(names(cl),all.cells) + } + j = as.integer(cl) + cl.mat <- Matrix::sparseMatrix(i = i, + j = j, + x = 1, dims=c(length(all.cells), max(j))) + rownames(cl.mat) <- all.cells colnames(cl.mat) <- levels(cl) - return(cl.mat) } @@ -254,20 +264,38 @@ get_cl_mat <- function(cl) { #' @return a matrix of genes (rows) x clusters (columns) with sums for each cluster #' @export #' -get_cl_sums <- function(mat, - cl) { - - cl.mat <- get_cl_mat(cl) +get_cl_sums_R<- function(mat, + cl) +{ if(all(names(cl) %in% colnames(mat))){ - cl.sums <- Matrix::tcrossprod(mat[,rownames(cl.mat)], Matrix::t(cl.mat)) + cl.mat <- get_cl_mat(cl, all.cells=colnames(mat)) + cl.sums <- Matrix::tcrossprod(mat, Matrix::t(cl.mat)) } else{ - cl.sums <- Matrix::crossprod(mat[rownames(cl.mat),], cl.mat) + cl.mat <- get_cl_mat(cl, all.cells=row.names(mat)) + cl.sums <- Matrix::crossprod(mat, cl.mat) } cl.sums <- as.matrix(cl.sums) return(cl.sums) } +###Get row means without subsetting the matrix +get_row_sums <- function(mat, select.row=1:nrow(mat), select.col=1:ncol(mat)) + { + if(!is.integer(select.col)){ + select.col = match(select.col, colnames(mat)) + } + tmp.mat = Matrix::sparseMatrix(x = 1, j= select.col, i = rep(1,length(select.col)),dims=c(1, ncol(mat))) + sums = Matrix::tcrossprod(mat,tmp.mat) + sums[select.row,] + } + +get_row_means <- function(mat, select.row=1:nrow(mat), select.col=1:ncol(mat)) + { + sums = get_row_sums(mat, select.row, select.col) + sums/ length(select.col) + } + #' Compute cluster means for each row in a matrix #' #' @param mat A gene (rows) x samples (columns) sparse matrix @@ -276,7 +304,7 @@ get_cl_sums <- function(mat, #' @return a matrix of genes (rows) x clusters (columns) with means for each cluster #' @export #' -get_cl_means <- function(mat, +get_cl_means_R<- function(mat, cl) { cl.sums <- get_cl_sums(mat, cl) @@ -288,6 +316,74 @@ get_cl_means <- function(mat, return(cl.means) } +get_cl_means<- function(mat,cl) { + if(!is.factor(cl)){ + cl = setNames(factor(cl),names(cl)) + } + result=rcpp_get_cl_means(mat, cl) + result[,levels(cl),drop=F] +} + +get_cl_present_R<- function(mat, cl, low.th) + { + tmp = mat + if(is.matrix(tmp)){ + tmp = tmp > low.th + } + else{ + tmp@x = as.numeric(tmp@x > low.th) + } + cl.present = get_cl_means(tmp,cl) + + } + +get_cl_present<- function(mat, cl, low.th) +{ + if(!is.factor(cl)){ + cl = setNames(factor(cl),names(cl)) + } + + result=rcpp_get_cl_present(mat, cl, low.th) + result[,levels(cl),drop=F] +} + + +get_cl_sqr_means<- function(mat, cl) + { + tmp = mat + if(is.matrix(tmp)){ + tmp = tmp^2 + } + else{ + tmp@x = tmp@x^2 + } + cl.sqr = get_cl_means(tmp,cl) + } + +get_cl_sqr_means_new <- function(mat, cl) + { + if(!is.factor(cl)){ + cl = setNames(factor(cl),names(cl)) + } + result=rcpp_get_cl_sqr_means(mat, cl) + result[,levels(cl),drop=F] + } + + +get_cl_vars <- function(mat, cl, cl.means=NULL, cl.sqr.means = NULL) +{ + if(is.null(cl.means)){ + cl.means = get_cl_means(mat,cl) + } + if(is.null(cl.sqr.means)){ + cl.sqr.means = get_cl_sqr_means(tmat,cl) + } + cl.vars = cl.sqr.means - cl.means^2 + cl.size = as.vector(table(cl)[colnames(cl.vars)]) + cl.vars = t(t(cl.vars) * cl.size/(cl.size - 1)) + return(cl.vars) +} + #' Compute cluster medians for each row in a matrix #' #' @param mat A gene (rows) x samples (columns) sparse matrix @@ -296,7 +392,7 @@ get_cl_means <- function(mat, #' @return a matrix of genes (rows) x clusters (columns) with medians for each cluster #' @export #' -get_cl_medians <- function(mat, cl) +get_cl_medians_R <- function(mat, cl) { library(Matrix) library(matrixStats) @@ -315,6 +411,13 @@ get_cl_medians <- function(mat, cl) return(cl.med) } +get_cl_medians <- function(mat, cl) + { + if(!is.factor(cl)){ + cl = setNames(factor(cl),names(cl)) + } + rcpp_get_cl_medians(mat, cl) + } #' Compute cluster proportions for each row in a matrix #' @@ -327,7 +430,7 @@ get_cl_medians <- function(mat, cl) #' get_cl_prop <- function(mat, cl, - threshold = 1) { + threshold = 0) { cl.mat <- get_cl_mat(cl) @@ -455,12 +558,13 @@ sample_cells <- function(cl, #' #' @export #' -cpm <- function(counts) { - - sf <- Matrix::colSums(counts) / 1e6 - - if(is.matrix(counts)){ - return(t(t(counts) / sf)) +cpm <- function(counts, sf=NULL, denom=1e6) { + if(is.null(sf)){ + sf <- Matrix::colSums(counts) + } + sf = sf/denom + if(is.matrix(counts)){ + return(sweep(counts, 2, sf, "/", check.margin=FALSE)) } else if(class(counts) == "dgCMatrix") { sep <- counts@p sep <- sep[-1] - sep[-length(sep)] @@ -560,3 +664,38 @@ filter_by_size <- function(cat, min.size) } } +l2norm <- function(X, by="column") +{ + if (by=="column") { + l2norm <- sqrt(Matrix::colSums(X^2)) + if (any(l2norm==0)) { + stop("L2 norms of zero detected for distance='Cosine'") + } + X=sweep(X, 2, l2norm, "/", check.margin=FALSE) + X = X + } else { + l2norm <- sqrt(Matrix::rowSums(X^2)) + if (any(l2norm==0)) { + stop("L2 norms of zero detected for distance='Cosine'") + } + X= X/l2norm + } +} + + +standardize <- function(X, by="column") +{ + if(by=="column"){ + mean = Matrix::colMeans(X) + X=sweep(X, 2, mean, "-") + sd = sqrt(Matrix::colSums(X^2)/nrow(X)) + X = sweep(X, 2, sd, "/") + } + else{ + mean = Matrix::rowMeans(X) + X=sweep(X, 1, mean, "-") + sd = sqrt(Matrix::rowSums(X^2)/ncol(X)) + X = sweep(X, 1, sd, "/") + } +} + diff --git a/R/vg.R b/R/vg.R index d706db9..61c6a0b 100644 --- a/R/vg.R +++ b/R/vg.R @@ -249,8 +249,7 @@ gene_vars <- function(dat, means <- gene_means(dat) } - squared_dat <- dat^2 - + squared_dat <- dat^2 if(is.matrix(dat)) { rowMeans(squared_dat) - means ^ 2 } else { @@ -356,8 +355,8 @@ gene_loess_fit <- function(dat, selected_dispersions <- dispersions[select] selected_means <- means[select] - fit <- loess(selected_dispersions ~ log10(selected_means)) - + fit <- limma::loessFit(selected_dispersions, log10(selected_means)) + fit$x = as.matrix(log10(selected_means)) return(fit) } @@ -377,7 +376,7 @@ gene_loess_fit_z <- function(loess_fit, select <- !is.na(dispersions) & dispersions > 0 residual <- resid(loess_fit) - base <- min(predict(loess_fit)) + base <- min(loess_fit$fitted) diff <- dispersions - base diff[select] <- residual diff --git a/README.md b/README.md index 0fa4248..b5ba80e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Dev: [![Travis build status](https://travis-ci.org/AllenInstitute/scrattch.hicat source("https://bioconductor.org/biocLite.R") biocLite("limma") -devtools::install_github("JinmiaoChenLab/Rphenograph") +devtools::install_github("i-cyto/Rphenograph") ``` Once these dependencies are installed, `scrattch.hicat` can be installed with: diff --git a/data/rd_plot_example/anno.df.rda b/data/rd_plot_example/anno.df.rda new file mode 100644 index 0000000..a21443b Binary files /dev/null and b/data/rd_plot_example/anno.df.rda differ diff --git a/data/rd_plot_example/example_umap.csv b/data/rd_plot_example/example_umap.csv new file mode 100644 index 0000000..662a555 --- /dev/null +++ b/data/rd_plot_example/example_umap.csv @@ -0,0 +1,7566 @@ +,0,1 +10X_cells.CTGAAGTAGCATCATC-L8TX_180221_01_F12,10.117515,10.5931015 +10X_cells.CGATTGACACGAAATA-L8TX_180406_01_F06,10.108393,10.351468 +10X_cells.GTAACGTAGGAGTTGC-L8TX_200625_02_F11,9.812248,11.5816765 +10X_cells.TGCCCATAGAGCCTAG-L8TX_200625_02_G11,9.823639,11.55492 +10X_cells.GCCAAATTCTAAGCCA-L8TX_200625_02_E11,9.901783,11.716275 +10X_cells.CCTATTAAGTTGAGTA-L8TX_200625_02_E11,11.520385,9.567223 +Smartseq_cells.SM-GE65P_S354_E1-50,10.271382,10.838027 +Smartseq_cells.SM-GE8ZQ_S248_E1-50,10.149795,9.742104 +Smartseq_cells.SM-GE8ZS_S053_E1-50,10.190564,10.390399 +Smartseq_cells.SM-GE8ZT_S351_E1-50,10.100258,10.843164 +10X_cells.CCCTCCTGTAGCTTGT-L8TX_180221_01_B10,10.050946,11.753334 +10X_cells.CTCGTACCAGTATAAG-L8TX_180406_01_F07,10.110423,11.559268 +Smartseq_cells.SM-GE65P_S116_E1-50,10.650851,10.357478 +Smartseq_cells.SM-GE65P_S381_E1-50,10.03497,11.744267 +Smartseq_cells.SM-GE65S_S145_E1-50,10.105241,11.246835 +Smartseq_cells.SM-GE8ZQ_S162_E1-50,10.037995,11.620091 +Smartseq_cells.SM-GE8ZQ_S168_E1-50,9.972011,11.692396 +Smartseq_cells.SM-GE8ZR_S231_E1-50,10.369582,10.918383 +Smartseq_cells.SM-GE8ZR_S334_E1-50,10.181672,11.19298 +Smartseq_cells.SM-GE8ZT_S382_E1-50,10.395234,10.265471 +Smartseq_cells.SM-GE91C_S271_E1-50,9.963841,9.4139385 +10X_cells.CCACGGAGTCGCTTTC-L8TX_200625_02_E11,10.123029,8.93908 +10X_cells.ACACTGAGTTCGCTAA-L8TX_200625_02_E11,9.652439,9.776232 +10X_cells.CATCCACTCGTGGGAA-L8TX_200625_02_E11,10.049289,9.848044 +10X_cells.CCAATCCCACTTAACG-L8TX_200625_02_E11,10.109999,9.771669 +10X_cells.CCAGCGATCCCAACGG-L8TX_200625_02_E11,9.852242,9.934354 +10X_cells.GAAGCAGCAGGAATCG-L8TX_200625_02_E11,9.668751,9.745274 +Smartseq_cells.SM-GE8ZQ_S041_E1-50,9.839406,9.960216 +Smartseq_cells.SM-GE8ZQ_S106_E1-50,9.982909,9.817348 +Smartseq_cells.SM-GE8ZR_S217_E1-50,9.943556,9.803363 +Smartseq_cells.SM-GE8ZT_S005_E1-50,9.677552,9.659232 +Smartseq_cells.SM-GE8ZT_S161_E1-50,9.68018,9.858303 +Smartseq_cells.SM-GE8ZU_S063_E1-50,9.706907,9.864636 +Smartseq_cells.SM-GE8ZU_S302_E1-50,9.822368,9.925409 +10X_cells.CAGAATCCACGAAAGC-L8TX_180406_01_E02,10.790818,8.833394 +10X_cells.TAGTTGGGTATTCTCT-L8TX_180406_01_E06,11.083396,7.981215 +10X_cells.TCAGCTCAGCTATGCT-L8TX_180406_01_C08,11.422219,7.483476 +10X_cells.GTCGGGTGTCGCTTCT-L8TX_180406_01_C07,11.110666,8.68775 +10X_cells.TGAAAGATCTCTTATG-L8TX_180406_01_C07,10.84765,8.47672 +10X_cells.CGGACGTAGCTCCCAG-L8TX_180406_01_H01,10.649851,9.517551 +10X_cells.GTACTTTGTTATGTGC-L8TX_180406_01_C08,10.883685,9.142415 +10X_cells.ACTATCTAGTGAAGAG-L8TX_180406_01_C07,10.633267,9.647977 +Smartseq_cells.SM-GE91R_S118_E1-50,11.123983,8.033583 +10X_cells.TAAGAGATCTTGTTTG-L8TX_180406_01_F06,10.365944,9.947396 +10X_cells.CGATGTACACCAGTTA-L8TX_200625_02_E11,10.661669,9.042927 +Smartseq_cells.SM-GE8ZR_S278_E1-50,10.497981,9.48829 +10X_cells.ACGCAGCAGCTGTCTA-L8TX_180406_01_B01,10.98663,9.309227 +10X_cells.CCACTACCACAACGTT-L8TX_180406_01_H01,11.611185,9.7324705 +10X_cells.CCCTCCTTCTACTTAC-L8TX_180406_01_H01,11.490818,9.388743 +10X_cells.CGTGTAACAGGGTACA-L8TX_180406_01_H01,11.725536,9.864804 +10X_cells.TAGCCGGTCAAACAAG-L8TX_180406_01_H01,11.52452,9.816115 +10X_cells.TCTTCGGTCCAAGTAC-L8TX_180406_01_H01,11.419079,10.415017 +10X_cells.TTAACTCTCCTAGTGA-L8TX_180406_01_H01,11.600751,9.734449 +10X_cells.AGCTCCTGTACGCACC-L8TX_180406_01_E02,11.412427,10.783974 +10X_cells.CTAGCCTGTTCTGTTT-L8TX_180406_01_E02,11.3080635,10.592273 +10X_cells.GTTAAGCCACTGCCAG-L8TX_180406_01_H02,11.346227,10.521032 +10X_cells.TGTTCCGTCTTGTTTG-L8TX_180406_01_H02,11.547295,9.13987 +10X_cells.ACGGAGAGTCCGACGT-L8TX_180406_01_B06,11.887185,9.693228 +10X_cells.ACGATGTAGGAATCGC-L8TX_180406_01_E06,11.4044695,9.981878 +10X_cells.AGAGTGGCACAACGCC-L8TX_180406_01_C08,11.766198,10.116733 +10X_cells.TGCGCAGCAGGCTGAA-L8TX_180406_01_C08,11.764767,9.191564 +10X_cells.ATCCACCAGAAGGCCT-L8TX_180406_01_C07,11.355841,10.582882 +10X_cells.CAACCTCTCCAGAGGA-L8TX_180406_01_C07,11.416405,10.096579 +10X_cells.GTCTCGTGTGCAACGA-L8TX_180406_01_E07,11.867725,10.021091 +Smartseq_cells.SM-GE91L_S137_E1-50,11.312436,11.92374 +Smartseq_cells.SM-GE91G_S342_E1-50,11.249502,11.14121 +Smartseq_cells.SM-GE91J_S037_E1-50,11.25513,11.491978 +Smartseq_cells.SM-GE91J_S227_E1-50,11.307572,11.848526 +Smartseq_cells.SM-GE914_S070_E1-50,11.316223,11.950653 +10X_cells.AGGGAGTTCTGTCTCG-L8TX_180406_01_B01,11.691372,9.1849985 +10X_cells.CAGAATCTCTCAAACG-L8TX_180406_01_D02,11.46375,9.922065 +10X_cells.TACTTGTGTCTCTTTA-L8TX_180406_01_D02,11.755952,9.279875 +10X_cells.ACAGCCGTCTGCGTAA-L8TX_180406_01_H01,11.327003,9.765129 +10X_cells.GCTCTGTCATAGTAAG-L8TX_180406_01_H01,11.003005,8.916751 +10X_cells.TGCTACCGTACATCCA-L8TX_180406_01_H01,10.938307,9.769992 +10X_cells.AAACGGGAGATCGGGT-L8TX_180406_01_E02,11.378671,9.525668 +10X_cells.GCGACCACAATGGATA-L8TX_180406_01_E02,10.941492,9.782277 +10X_cells.CGACCTTAGCACGCCT-L8TX_180406_01_G02,10.8056755,9.835636 +10X_cells.CATCAAGTCAGCCTAA-L8TX_180406_01_H02,10.66593,9.799112 +10X_cells.GGTATTGGTAGCTGCC-L8TX_180406_01_H02,10.887382,9.156968 +10X_cells.GACACGCTCGACAGCC-L8TX_180406_01_E06,11.607348,9.374824 +10X_cells.GTCAAGTTCGAGAGCA-L8TX_180406_01_C08,11.16966,9.582593 +10X_cells.AAACCTGCACAACTGT-L8TX_180406_01_C07,10.70358,9.843699 +10X_cells.CGAACATCACTTCGAA-L8TX_180406_01_C07,11.651125,9.4389105 +10X_cells.CCACCTACAGTCTTCC-L8TX_180406_01_E02,11.599877,9.580666 +10X_cells.GGGAGATAGGGTTTCT-L8TX_180406_01_E02,11.316845,9.637811 +10X_cells.CAAGGCCAGCTGCCCA-L8TX_180406_01_G02,10.999186,9.695157 +10X_cells.ACCTTTAGTCTAAAGA-L8TX_180406_01_E06,11.896646,9.498278 +10X_cells.CTTGGCTGTAGCAAAT-L8TX_200625_02_E11,10.522852,9.782032 +10X_cells.GACCAATGTCTCACCT-L8TX_180406_01_D01,10.711222,9.885508 +10X_cells.CAAGATCGTAGCGCTC-L8TX_180406_01_G01,10.622292,9.326868 +10X_cells.CCTCTGAGTTGTTTGG-L8TX_180406_01_B02,11.258349,9.654872 +10X_cells.ATGCGATCATACTCTT-L8TX_180406_01_E01,11.28938,10.2628765 +Smartseq_cells.SM-GE93M_S338_E1-50,11.25956,10.612474 +10X_cells.CCAGCGAAGCGATGAC-L8TX_180712_01_H05,10.685985,9.660151 +10X_cells.GTCGGGTAGGCCCTTG-L8TX_180221_01_G09,2.2985513,1.6788546 +10X_cells.TGATTTCTCTGCTTGC-L8TX_180221_01_G09,1.2112843,1.8002902 +Smartseq_cells.SM-GE64P_S133_E1-50,3.7775156,8.847378 +10X_cells.CATCGAAAGTTAACGA-L8TX_180221_01_D09,2.3270712,1.6522182 +10X_cells.TCAGCAATCCTTTCGG-L8TX_180712_01_B06,1.7315049,1.6244751 +10X_cells.GGAATAATCACCATAG-L8TX_180221_01_D09,2.3546185,0.8227069 +10X_cells.CAGCATACAACTGCGC-L8TX_180221_01_C09,2.190176,3.3712697 +10X_cells.CGGACACGTGCACCAC-L8TX_180712_01_B06,3.0170405,-0.16682203 +10X_cells.GCTCCTAAGTGTCTCA-L8TX_180221_01_E09,1.7505292,3.0750422 +10X_cells.CCTTACGCATATACCG-L8TX_180221_01_C09,2.4157934,2.5515184 +10X_cells.CTCGTACTCGCAAACT-L8TX_180221_01_C09,2.6336946,0.5607962 +10X_cells.GTCACAAAGAAGGGTA-L8TX_180221_01_C09,1.7191391,1.3569894 +10X_cells.AGATTGCAGTGAACGC-L8TX_180221_01_D09,1.4260174,2.5197165 +10X_cells.GTGCTTCTCGTCTGAA-L8TX_180221_01_D09,1.776683,1.9843938 +10X_cells.AACTCTTAGGCCCTTG-L8TX_181011_01_C04,1.3709779,1.9564792 +10X_cells.CTGCCTACACGACGAA-L8TX_181011_01_H02,1.8185581,0.42526552 +10X_cells.GAAACTCTCCTATGTT-L8TX_180829_01_E10,1.5463487,3.5204258 +10X_cells.GGGAGATAGGCCCTCA-L8TX_180829_01_D10,2.0126483,3.3389878 +10X_cells.CCACTACCATGGAATA-L8TX_180907_01_G10,1.4641467,1.9546992 +10X_cells.TGAGCATCAGACGCCT-L8TX_181012_01_E05,2.3236508,1.9965756 +10X_cells.AAGGAGCAGGATTCGG-L8TX_180406_01_E07,2.0198596,1.8345208 +10X_cells.GCCTCTAAGCAGGCTA-L8TX_180406_01_H01,1.9588008,3.9494376 +10X_cells.TCAATCTAGACAGACC-L8TX_180406_01_H01,1.7783178,2.2933662 +10X_cells.ATTATCCTCTCCGGTT-L8TX_180406_01_E02,1.4246004,3.2706316 +10X_cells.TTCTTAGGTCTAGCGC-L8TX_180406_01_E02,1.2281615,1.2861512 +10X_cells.AAGGCAGGTGTGACCC-L8TX_180406_01_G02,0.92619973,2.2868085 +10X_cells.AGGGTGATCCAAATGC-L8TX_180406_01_G02,2.2232842,4.0444503 +10X_cells.GATTCAGAGGTAGCCA-L8TX_180406_01_E07,1.0933212,1.1480409 +Smartseq_cells.SM-GE91P_S290_E1-50,1.3935379,2.153739 +Smartseq_cells.SM-GE91P_S302_E1-50,2.214097,0.4745602 +10X_cells.CCACTACCACACCGCA-L8TX_171026_01_H05,1.6999794,0.4504485 +10X_cells.CACACTCTCTGTTTGT-L8TX_171026_01_F04,2.054144,3.827873 +10X_cells.CAAGTTGTCAAGGTAA-L8TX_171026_01_G04,2.083728,-0.15319283 +10X_cells.CTCTGGTGTTGTGGAG-L8TX_171026_01_B05,1.9720187,0.23135424 +10X_cells.GAATAAGTCACCCGAG-L8TX_171026_01_B05,1.3502951,3.142432 +10X_cells.ATGGGAGAGGACAGCT-L8TX_171026_01_A05,2.1746345,0.954351 +10X_cells.ATCATGGTCGGAAATA-L8TX_171026_01_H03,1.915912,0.7359904 +10X_cells.ATTCTACAGGTTCCTA-L8TX_171026_01_G05,1.6018215,1.4177089 +10X_cells.GGTGTTAAGGATGGAA-L8TX_180406_01_B01,2.275006,0.09928017 +10X_cells.TCGGTAAGTTTGGGCC-L8TX_180406_01_G01,2.924972,0.7973802 +10X_cells.TGTATTCGTCCGAGTC-L8TX_180406_01_C01,2.3976126,3.3234713 +10X_cells.CACTCCAGTAGCTAAA-L8TX_180406_01_D01,1.8514875,0.39337024 +10X_cells.GGAGCAAAGTTGAGTA-L8TX_180406_01_F01,2.0105453,1.7916561 +10X_cells.ACACCGGCACCATCCT-L8TX_180406_01_B02,0.8579064,1.4788541 +10X_cells.GGGTTGCTCTCTAAGG-L8TX_180406_01_C02,2.3890738,1.0741341 +10X_cells.CTTCTCTAGTTACCCA-L8TX_180406_01_D02,1.4969842,3.6481915 +10X_cells.GTCGGGTAGAAGGTGA-L8TX_180406_01_D02,2.9103353,1.3721215 +10X_cells.ACACCGGAGCATGGCA-L8TX_180221_01_D10,2.605588,1.3784995 +10X_cells.CGTCCATCACAGACTT-L8TX_180221_01_D10,2.3807962,2.77886 +10X_cells.AGTGAGGCACATGTGT-L8TX_180221_01_E10,1.9362928,1.6473523 +10X_cells.GTCGTAAAGTACGTAA-L8TX_180221_01_F10,1.2604299,2.3157382 +10X_cells.AGGGTGAGTCCGAATT-L8TX_180221_01_G10,2.6483438,2.7052734 +10X_cells.ATTACTCCACCTCGGA-L8TX_180221_01_H10,1.9582264,3.90633 +10X_cells.TATCTCATCCCAACGG-L8TX_190312_01_B02,1.2931368,3.1798716 +10X_cells.GGGAGATTCTTAGAGC-L8TX_190312_01_C02,3.0435212,0.062477376 +10X_cells.CTCTACGTCGGCTACG-L8TX_190312_01_D02,1.7282164,1.6496403 +10X_cells.TATTACCTCTCGTTTA-L8TX_190312_01_G02,1.4258976,2.7535992 +10X_cells.GGGAATGGTGAGTGAC-L8TX_181012_01_B05,2.0047371,4.0278225 +10X_cells.GCGCCAAAGCACAGGT-L8TX_180907_01_B11,1.9731885,3.17801 +10X_cells.CCTCAGTAGACTTGAA-L8TX_190312_01_F02,1.6594844,0.65558124 +10X_cells.ACTTGTTAGAGTGAGA-L8TX_180907_01_B12,2.00869,1.1637998 +10X_cells.GGGTCTGCATTAGGCT-L8TX_180907_01_E11,1.7553502,0.5599357 +10X_cells.GGATTACAGTGCGATG-L8TX_190312_01_F01,1.9225622,0.87729275 +Smartseq_cells.LS-15533_S90_E12-50,1.0395836,2.7475412 +Smartseq_cells.SM-D9D8J_S11_E1-50,0.9174213,2.6897254 +Smartseq_cells.SM-GE5UT_S232_E1-50,2.2543771,-0.49367264 +10X_cells.CTTCTCTCATAGACTC-L8TX_180926_01_F01,2.759111,1.1452831 +10X_cells.TAAGCGTCAGTAGAGC-L8TX_180926_01_F01,2.5090435,3.2258325 +10X_cells.GTTCATTTCCGTTGTC-L8TX_181011_01_A03,1.9764566,1.4770783 +Smartseq_cells.SM-GE91B_S011_E1-50,1.8978273,0.7102641 +Smartseq_cells.SM-GE91B_S021_E1-50,1.3608737,2.2422893 +10X_cells.CACCTTGCACGGTGTC-L8TX_180221_01_H11,2.5898383,1.828814 +10X_cells.TACACGATCCGCTGTT-L8TX_180712_01_H05,1.3703773,1.7247757 +10X_cells.CAGCAGCTCTTTACGT-L8TX_180221_01_C12,2.4715686,2.9208252 +10X_cells.TGCTACCCACATCCAA-L8TX_180221_01_C12,2.0322084,1.482655 +10X_cells.ATCATGGCACTGTCGG-L8TX_180221_01_H11,2.9959176,2.8080707 +Smartseq_cells.SM-GE679_S088_E1-50,0.8567586,2.6667228 +10X_cells.ATCCACCTCGACGGAA-L8TX_180115_01_B09,1.8383683,2.2529926 +10X_cells.TTTGTCAGTCTTTCAT-L8TX_180115_01_E11,1.513457,1.1056316 +10X_cells.GCATGCGTCAACGGGA-L8TX_180115_01_D09,1.9365745,2.3304856 +10X_cells.CTTAACTGTAGAAAGG-L8TX_180115_01_B09,1.67672,2.8849082 +10X_cells.CTCACACCATGCCTAA-L8TX_180115_01_C11,1.4134233,2.8594618 +10X_cells.AGCAGCCAGTGTGGCA-L8TX_180115_01_C09,1.6474197,2.6533797 +10X_cells.ATGTGTGCAAGCCGTC-L8TX_180115_01_D09,1.8845628,1.9160231 +10X_cells.GAACCTATCAGAAATG-L8TX_180115_01_B11,1.9502281,2.028743 +10X_cells.CCGTACTCAGTTCATG-L8TX_180115_01_C10,2.0205898,3.1994991 +10X_cells.CGAATGTGTCCAACTA-L8TX_180115_01_E10,1.9892962,2.8733437 +10X_cells.ACGGGTCAGGGATGGG-L8TX_180115_01_F10,2.0635922,2.796166 +10X_cells.GATCAGTGTGTCTGAT-L8TX_180115_01_F10,1.8400052,1.7018421 +10X_cells.GACGTTAGTTACGCGC-L8TX_180115_01_G10,2.157003,3.063886 +10X_cells.GTAACGTGTCTTGATG-L8TX_180115_01_G10,2.2556922,2.74745 +10X_cells.AAATGCCGTTTCGCTC-L8TX_180115_01_H09,2.4565372,2.980351 +10X_cells.CCCAGTTAGAACAATC-L8TX_180115_01_G09,2.437524,3.0046554 +10X_cells.GAACATCGTGCACGAA-L8TX_171120_01_G07,1.6936119,2.1951756 +10X_cells.AAACCTGAGCTGTTCA-L8TX_171120_01_C07,2.5115073,-0.099160336 +10X_cells.TTATGCTAGGCCCTCA-L8TX_171120_01_C07,1.9973754,0.08385724 +10X_cells.AACTCCCAGATATGCA-L8TX_180115_01_F08,1.1761831,3.2669263 +10X_cells.TGGCGCACACTGCCAG-L8TX_180115_01_C08,1.8789093,2.2355406 +Smartseq_cells.SM-D9CXQ_S61_E1-50,0.67593426,2.1016378 +Smartseq_cells.SM-DD45I_S045_E1-50,1.1657232,2.6025722 +Smartseq_cells.SM-GE8ZI_S057_E1-50,1.3658234,3.0257914 +Smartseq_cells.SM-GE92Z_S326_E1-50,1.7289494,1.4349936 +10X_cells.TCCCGATCACATCCAA-L8TX_180221_01_H09,0.5782151,3.1055322 +10X_cells.GGCGACTTCGAATCCA-L8TX_200625_02_E11,12.9745865,8.791336 +10X_cells.CATCGGGCATGAACCT-L8TX_200625_02_E11,1.5813849,-1.5238519 +Smartseq_cells.SM-GE8ZR_S111_E1-50,12.829636,8.17753 +Smartseq_cells.SM-GE915_S139_E1-50,12.963593,8.273713 +10X_cells.CATGACAAGAGGTTAT-L8TX_180406_01_B01,12.999617,8.149391 +10X_cells.CAGTAACAGCTGAAAT-L8TX_180406_01_C01,13.027937,7.6176972 +10X_cells.CTTCTCTCACTACAGT-L8TX_180406_01_C01,12.977695,8.200976 +10X_cells.CCTAAAGAGGGCTCTC-L8TX_180406_01_G01,13.048662,8.145893 +10X_cells.TTTGGTTTCTGCGTAA-L8TX_180221_01_D11,12.820943,7.9435234 +Smartseq_cells.SM-GE915_S089_E1-50,13.901654,6.410661 +Smartseq_cells.SM-GE91B_S051_E1-50,12.750043,8.292013 +10X_cells.CATCCACAGATGAGAG-L8TX_180712_01_G05,1.9739776,4.7317557 +10X_cells.TGGGAAGAGAGCTTCT-L8TX_180221_01_D09,4.308924,8.104595 +10X_cells.TATGCCCGTGTTAAGA-L8TX_181012_01_H04,2.1564496,4.2863936 +10X_cells.CGGGTCATCCAAGTAC-L8TX_180907_01_F10,4.0162873,10.854371 +10X_cells.CTGAAGTGTTATTCTC-L8TX_181012_01_H04,2.4708207,4.8118606 +10X_cells.GACCAATCAATAGCGG-L8TX_181011_01_G02,2.3048913,3.665163 +10X_cells.CAGCAGCCAGGTTTCA-L8TX_181011_01_C04,1.8129382,4.7607145 +10X_cells.TCATTACAGTGGTAAT-L8TX_180406_01_E07,2.2885056,3.841128 +10X_cells.CAGAGAGTCTTCGAGA-L8TX_180406_01_G02,2.8431735,9.960103 +10X_cells.TACGGGCCAGGAATGC-L8TX_180406_01_G02,3.530074,9.632075 +10X_cells.TAGAGCTGTAACGTTC-L8TX_180406_01_H02,-0.5992675,1.8130916 +Smartseq_cells.SM-GE91L_S171_E1-50,3.2959464,11.857917 +Smartseq_cells.SM-GE91R_S117_E1-50,1.6549845,4.2617154 +10X_cells.CTACCCACAAAGTGCG-L8TX_171026_01_A05,3.907445,11.2774105 +10X_cells.CACATAGAGATGCCTT-L8TX_181206_01_D12,2.329219,3.1788335 +10X_cells.ACTTGTTCAAGCTGTT-L8TX_180406_01_B01,4.892926,8.529473 +10X_cells.GAGCAGAAGTCCGGTC-L8TX_180406_01_D01,1.9864392,4.264606 +10X_cells.CGTCACTAGAAGGTGA-L8TX_180221_01_D10,3.847369,10.0748415 +10X_cells.GATGCTACATGGTAGG-L8TX_180221_01_A11,4.1623945,10.856796 +10X_cells.CAGGTGCCATTTCACT-L8TX_180221_01_D10,3.4829416,10.920451 +10X_cells.TTTACTGAGATCACGG-L8TX_180221_01_G10,2.2645612,3.871763 +10X_cells.GGAGCAATCTGCCAGG-L8TX_180221_01_H10,1.9665521,3.9940882 +10X_cells.GACACGCGTACCATCA-L8TX_190312_01_G02,3.9527483,10.222697 +10X_cells.CCTTACGCACAAGTAA-L8TX_181012_01_B05,1.3876731,3.9713674 +10X_cells.TCAGGTAAGTGTGGCA-L8TX_180221_01_C11,4.270242,11.254622 +10X_cells.AGTGAGGCAGACACTT-L8TX_180926_01_F01,1.7612782,4.3518963 +10X_cells.TTCTCAATCACAGGCC-L8TX_181011_01_C03,3.9736593,11.04563 +10X_cells.GCATACAGTAAAGGAG-L8TX_180221_01_A12,3.8438437,10.782559 +10X_cells.TAGGCATGTTCAGTAC-L8TX_180712_01_F05,2.8877554,4.702259 +10X_cells.GTAGGCCCACGGCCAT-L8TX_180221_01_H11,4.7167864,11.403199 +10X_cells.ATCGAGTTCAGAGCTT-L8TX_180712_01_A06,2.1844633,4.004079 +10X_cells.CGGACTGAGTTAGGTA-L8TX_180221_01_B12,2.183681,4.6354303 +10X_cells.GACTAACGTTCCACTC-L8TX_180115_01_C09,3.349726,11.172257 +10X_cells.GTATTCTGTATTCGTG-L8TX_180115_01_D09,4.1359644,10.737478 +10X_cells.ACTGCTCCACAACGCC-L8TX_180115_01_G11,4.0805492,11.088047 +10X_cells.CATCAGAAGGGTGTGT-L8TX_180115_01_A09,1.8636352,4.1871667 +10X_cells.GGAACTTCAGGGTTAG-L8TX_180115_01_G10,2.2364366,3.2668982 +10X_cells.AGTGGGACAAGTCTAC-L8TX_180115_01_G11,1.9026856,4.2032166 +10X_cells.ACGATACTCAGGATCT-L8TX_171120_01_G07,3.9887998,11.228548 +10X_cells.TAAGAGAGTTCCCTTG-L8TX_171120_01_D07,2.0577397,3.9205415 +10X_cells.TAAACCGCAAGCTGAG-L8TX_180406_01_F02,5.6321754,10.414518 +10X_cells.AGTGAGGAGGCATGTG-L8TX_180221_01_A10,6.019291,9.519863 +10X_cells.GTCTTCGGTAGCGTGA-L8TX_180221_01_A10,6.264954,9.194948 +10X_cells.CTCAGAAAGTCCTCCT-L8TX_180406_01_F02,6.105438,10.97247 +10X_cells.CTCTGGTAGACCCACC-L8TX_180406_01_C06,6.276623,9.692709 +Smartseq_cells.SM-DD45D_S060_E1-50,5.621795,11.450844 +10X_cells.CTCATTAGTATTAGCC-L8TX_180221_01_E09,4.6210265,11.9889965 +10X_cells.CATTCGCTCGTTGACA-L8TX_180221_01_H12,6.000395,10.493696 +10X_cells.GGAGCAAGTTACCAGT-L8TX_180221_01_H12,5.784763,11.466287 +10X_cells.ATAGACCAGACTAGAT-L8TX_180221_01_C09,6.507122,10.007898 +10X_cells.GCATACATCTCTTATG-L8TX_180221_01_C09,6.0697427,10.40996 +10X_cells.GCACATAAGGTGACCA-L8TX_180221_01_D09,6.4454803,10.549742 +10X_cells.ACACCGGTCGTCGTTC-L8TX_180607_01_C05,5.7367525,12.020026 +10X_cells.AAGGCAGCACGGATAG-L8TX_180712_01_G05,6.556576,10.040677 +10X_cells.TCAACGATCATGCTCC-L8TX_180712_01_G05,5.7780285,9.779248 +10X_cells.TTTGTCACACTTACGA-L8TX_180712_01_B06,4.6433764,12.28112 +10X_cells.CAGCATAAGAGGTACC-L8TX_180712_01_C06,5.6202884,12.332204 +10X_cells.CATCAGAAGTATCTCG-L8TX_180712_01_C06,5.798473,11.449602 +10X_cells.GTTCGGGCACTTGGAT-L8TX_180712_01_C06,5.7812643,10.613241 +Smartseq_cells.LS-15577_S18_E1-50,5.812074,11.542033 +Smartseq_cells.SM-GE635_S164_E1-50,5.6641574,11.614645 +Smartseq_cells.SM-GE672_S015_E1-50,5.067997,12.123268 +10X_cells.GCATGTACAAACTGCT-L8TX_180829_01_D09,6.132038,11.247423 +10X_cells.CTAGAGTGTTGATTGC-L8TX_180829_01_D10,5.810879,9.147975 +10X_cells.GCAATCATCAAGATCC-L8TX_180829_01_D10,5.943758,9.566812 +10X_cells.GTAACGTCACGAGGTA-L8TX_180829_01_D10,6.1053205,10.478617 +10X_cells.CCACTACTCAGCTTAG-L8TX_181012_01_G04,5.7469587,9.32962 +10X_cells.GGGCACTTCCTGCTTG-L8TX_181012_01_E05,5.456324,8.495537 +10X_cells.TTTGTCATCTTCATGT-L8TX_181012_01_E05,5.522051,8.902552 +10X_cells.AATCGGTGTATCGCAT-L8TX_180406_01_E06,5.5769343,8.745216 +10X_cells.CCTAGCTAGGGAACGG-L8TX_180406_01_E06,4.353463,9.614033 +Smartseq_cells.SM-GE91F_S258_E1-50,5.3975487,11.7244 +10X_cells.GTACTTTGTCAGAATA-L8TX_180406_01_F07,5.5064683,9.2762 +10X_cells.GCGAGAACAGCTGCAC-L8TX_171026_01_F05,5.5710034,12.249085 +10X_cells.TGCACCTGTAGGGACT-L8TX_171026_01_H04,5.384746,11.893776 +10X_cells.TCAGGTATCTGCTGCT-L8TX_171026_01_E05,5.4775023,12.43201 +10X_cells.GACCAATAGAAGGTGA-L8TX_171026_01_D05,4.2274613,12.458466 +10X_cells.GACTACACAAAGGTGC-L8TX_171026_01_D05,4.890837,11.490813 +10X_cells.ACATACGGTGCCTGTG-L8TX_171026_01_F03,5.8307548,12.203491 +10X_cells.ACGATACCAGGTGCCT-L8TX_171026_01_F03,5.550207,10.666043 +10X_cells.CGGTTAATCCCTCAGT-L8TX_171026_01_G03,4.450858,12.480148 +10X_cells.TCGGTAAAGTACGTTC-L8TX_171026_01_G03,5.7998853,11.83217 +10X_cells.TTCCCAGAGTGTTAGA-L8TX_171026_01_G03,5.406025,11.965622 +10X_cells.ACATACGGTGCATCTA-L8TX_171026_01_B04,5.4799247,12.471999 +10X_cells.AGACGTTTCGTACCGG-L8TX_171026_01_B04,5.3649955,9.822451 +10X_cells.CAACTAGTCCTTTCGG-L8TX_171026_01_G04,4.3767657,12.424293 +10X_cells.CGGAGTCCAGATGGGT-L8TX_171026_01_B05,5.835215,11.835346 +10X_cells.CATATTCCACCTATCC-L8TX_171026_01_A05,5.369763,12.332214 +10X_cells.CTCCTAGTCACGAAGG-L8TX_171026_01_H03,6.042234,11.09305 +10X_cells.GATGAAATCATCGGAT-L8TX_171026_01_H03,5.9137497,10.63398 +10X_cells.GCTTCCATCCACTCCA-L8TX_171026_01_H03,5.691938,9.451396 +10X_cells.GTGCGGTGTCATATCG-L8TX_171026_01_H03,5.6773973,9.280286 +10X_cells.TCTGAGATCAGTCAGT-L8TX_171026_01_H03,5.8990383,9.812138 +10X_cells.AGATCTGCACAACGTT-L8TX_171026_01_A04,5.7814736,12.288303 +10X_cells.CAAGATCCAGGAATCG-L8TX_171026_01_C05,6.348612,9.699834 +10X_cells.TCACAAGGTAAGTTCC-L8TX_171026_01_D05,5.4415374,11.533528 +10X_cells.TCACGAAAGCGATTCT-L8TX_171026_01_E05,5.70508,9.222829 +10X_cells.GGGTCTGTCTTGCATT-L8TX_171026_01_G05,5.9847136,9.645192 +10X_cells.ATGGGAGAGGCTATCT-L8TX_171026_01_H05,5.4233656,12.298204 +10X_cells.ACACCGGCAATGGAAT-L8TX_181206_01_B12,6.0244703,10.313687 +10X_cells.GAGGTGAGTCGAGTTT-L8TX_180406_01_B01,4.7125177,11.473914 +10X_cells.TGGGAAGCAAATACAG-L8TX_180406_01_C01,4.8613114,8.734174 +10X_cells.ATCTACTTCCAGAGGA-L8TX_180406_01_D01,5.358375,8.576413 +10X_cells.ACACTGAGTTCCCTTG-L8TX_180406_01_E01,5.4339647,8.55245 +10X_cells.CCGTGGACACGCGAAA-L8TX_180406_01_F01,6.219613,9.701829 +10X_cells.GCACATACACTACAGT-L8TX_180406_01_F01,5.1746087,12.005909 +Smartseq_cells.SM-GE671_S136_E1-50,5.1774287,10.661331 +10X_cells.TCTCATAAGCGATGAC-L8TX_180221_01_D10,4.3337502,10.003495 +10X_cells.TGTCCCAGTTGCGCAC-L8TX_190312_01_B02,6.5791655,10.552631 +10X_cells.CTCGAAATCGTTGCCT-L8TX_180221_01_G10,5.519354,10.606055 +10X_cells.AGCTTGACACGAAAGC-L8TX_180221_01_D10,5.0024524,11.501491 +10X_cells.ATTGGTGGTCGGCATC-L8TX_180221_01_D10,5.59131,12.347608 +10X_cells.CCAGCGAAGGCTACGA-L8TX_180221_01_D10,5.7047253,9.3724785 +10X_cells.GGCTGGTAGTTATCGC-L8TX_180221_01_D10,5.7025256,10.017476 +10X_cells.GTGAAGGTCGTCGTTC-L8TX_180221_01_D10,6.029767,10.088572 +10X_cells.AAGCCGCCACCAGCAC-L8TX_180221_01_E10,5.619789,12.361655 +10X_cells.ACTTTCACAATCTGCA-L8TX_180221_01_E10,5.4893126,10.180822 +10X_cells.GGAATAATCGTACCGG-L8TX_180221_01_E10,4.909504,11.108291 +10X_cells.TGCGGGTAGTGTACGG-L8TX_180221_01_E10,4.981322,9.6466255 +10X_cells.TGTATTCTCTGCGTAA-L8TX_180221_01_E10,4.5239353,11.304497 +10X_cells.CGATGGCGTTATTCTC-L8TX_180221_01_F10,6.252153,9.943763 +10X_cells.GAATAAGGTACGCTGC-L8TX_180221_01_F10,5.03746,11.20516 +10X_cells.ATTGGTGGTCCAAGTT-L8TX_180221_01_G10,5.7928686,10.033962 +10X_cells.CACAAACCACACCGAC-L8TX_180221_01_G10,5.5470676,9.180995 +10X_cells.CTCATTAGTGGGTCAA-L8TX_180221_01_G10,5.3535566,10.430204 +10X_cells.GATGAAAAGTGGTCCC-L8TX_180221_01_G10,5.2271304,9.5723505 +10X_cells.GGGTTGCCAATGGATA-L8TX_180221_01_H10,5.631538,11.194951 +10X_cells.AGCTTGAGTAAGGGAA-L8TX_180221_01_A11,4.87889,10.510861 +10X_cells.CCTTACGGTAGCGCTC-L8TX_180221_01_A11,5.818679,11.670259 +10X_cells.TGAAAGAAGTCCGTAT-L8TX_180221_01_A11,5.3160386,10.28582 +10X_cells.GCAAACTGTTGTGGAG-L8TX_190312_01_D02,5.288456,10.656934 +10X_cells.TGTATTCCATCGATGT-L8TX_190312_01_G02,4.531099,11.900791 +10X_cells.AGGGTGAGTGTTGGGA-L8TX_180926_01_C12,5.8864803,11.29152 +10X_cells.TCGGTAATCCCTGACT-L8TX_181012_01_C05,5.0645914,9.347979 +10X_cells.CGTGTCTTCACTTCAT-L8TX_180221_01_G11,6.9842277,9.935067 +10X_cells.TTGGCAAAGCTGGAAC-L8TX_180221_01_B11,6.884642,9.434752 +10X_cells.GACCTGGTCTGTCTAT-L8TX_180221_01_E11,6.773049,10.187031 +10X_cells.ATTGGTGAGGCTATCT-L8TX_180221_01_F11,6.3114314,10.975864 +10X_cells.CGATCGGTCCGAGCCA-L8TX_180907_01_A12,6.230774,10.73045 +10X_cells.CAGCCGAGTGCCTGCA-L8TX_180907_01_E11,6.354216,10.146675 +10X_cells.ATCTACTTCTATGTGG-L8TX_180907_01_F11,5.79367,9.682682 +Smartseq_cells.LS-15533_S94_E12-50,5.037447,12.064844 +10X_cells.CGTTGGGCACTAGTAC-L8TX_180926_01_D01,5.445931,8.564982 +10X_cells.CAGAATCTCAGTGCAT-L8TX_181011_01_B03,4.952531,9.886796 +10X_cells.GCAGTTATCAGAAATG-L8TX_180926_01_B01,5.6592503,9.499293 +10X_cells.CCAGCGAAGTTGTAGA-L8TX_180926_01_B01,6.141501,10.128603 +10X_cells.ACGAGGATCTTAGCCC-L8TX_180926_01_E01,5.7307754,9.83339 +10X_cells.CACAGGCCATTACGAC-L8TX_180926_01_E01,5.3677034,9.970487 +10X_cells.CACCACTTCGCGTAGC-L8TX_180926_01_E01,5.774466,11.480817 +10X_cells.GGCGTGTGTTGTGGCC-L8TX_180926_01_F01,6.1045046,10.938796 +10X_cells.CTCTACGGTCTAGTGT-L8TX_181011_01_A03,5.4030123,8.594389 +10X_cells.CGCGTTTTCCGCATAA-L8TX_181011_01_C03,6.009608,10.415488 +10X_cells.TACCTATGTCCGTCAG-L8TX_180221_01_C12,5.357079,9.209388 +10X_cells.AGTAGTCGTTGATTCG-L8TX_180712_01_H05,5.3568687,9.135757 +10X_cells.CTACGTCGTCTCAACA-L8TX_180712_01_H05,5.551984,9.168184 +10X_cells.CTCGTCAGTCTAGCCG-L8TX_180712_01_A06,5.29679,10.358566 +10X_cells.AACCGCGTCTTATCTG-L8TX_180504_01_E01,5.483199,8.60814 +10X_cells.AACGTTGGTGAGGCTA-L8TX_180504_01_E01,5.4566383,8.9211 +10X_cells.CGGACTGGTCTGCGGT-L8TX_180504_01_E01,5.075537,8.761834 +10X_cells.GGATTACCAAGTCTGT-L8TX_180504_01_E01,5.496488,10.168352 +10X_cells.GAAACTCAGGTGTGGT-L8TX_180221_01_A12,6.648876,9.65842 +10X_cells.GGATTACCATGTTGAC-L8TX_180221_01_B12,5.944324,9.10204 +10X_cells.GAATAAGTCCAGTAGT-L8TX_180221_01_C12,5.8854656,9.204375 +10X_cells.GTCTTCGAGTGAACAT-L8TX_180221_01_C12,6.0709863,8.884151 +10X_cells.CATCGAAGTGTAAGTA-L8TX_180221_01_H11,6.8996797,9.372301 +10X_cells.AGAGCTTCAATGCCAT-L8TX_200611_02_A05,4.1681986,10.698585 +10X_cells.GTCATTTTCATGCTCC-L8TX_200611_02_A05,5.2613516,9.724949 +10X_cells.GAATAAGCAAGCCGCT-L8TX_180115_01_A10,6.694253,10.131942 +10X_cells.GATCTAGCAATAGAGT-L8TX_180115_01_H11,5.412562,9.856982 +10X_cells.AAGCCGCCATCGGTTA-L8TX_180115_01_G11,5.574849,10.181476 +10X_cells.CCGTGGACATCGTCGG-L8TX_180115_01_F11,5.6898007,8.830198 +10X_cells.TCGGGACAGTACTTGC-L8TX_180115_01_H11,5.395125,11.751986 +10X_cells.GTGTTAGAGTTTGCGT-L8TX_180115_01_E11,5.467406,12.386254 +10X_cells.ATAAGAGGTTTGGGCC-L8TX_180115_01_H11,5.92706,11.503892 +10X_cells.TCTGAGAGTTATCCGA-L8TX_180115_01_C11,6.676773,10.013155 +10X_cells.AGCTCCTTCAAACAAG-L8TX_180115_01_A09,6.027472,11.123643 +10X_cells.GGCAATTCAGTTCCCT-L8TX_180115_01_B09,5.8575225,11.416833 +10X_cells.TCTTTCCGTCGCTTCT-L8TX_180115_01_C09,6.3717527,10.816102 +10X_cells.CGTGAGCGTAGGCTGA-L8TX_180115_01_D09,6.4355125,10.932137 +10X_cells.CTGCCTACACACAGAG-L8TX_180115_01_D09,6.5287986,9.99411 +10X_cells.TGCCAAAAGCGTTGCC-L8TX_180115_01_A11,6.169913,9.02457 +10X_cells.CGATGTAGTGATGTCT-L8TX_180115_01_H10,6.4491467,9.463771 +10X_cells.AAGGAGCCACCATCCT-L8TX_180115_01_B11,5.9776826,11.31223 +10X_cells.GGGACCTAGATCCCAT-L8TX_180115_01_D11,5.8262105,12.162502 +10X_cells.CATTATCTCTTGACGA-L8TX_180115_01_F10,6.6917295,10.632558 +10X_cells.GAACCTATCCAAGTAC-L8TX_180115_01_F10,5.9266567,11.28525 +10X_cells.GCTTGAACAAGCCCAC-L8TX_180115_01_G10,6.31083,9.048432 +10X_cells.GGCGTGTCATATGCTG-L8TX_180115_01_G10,6.5509067,9.674929 +10X_cells.GGTGCGTGTACCGCTG-L8TX_180115_01_E11,5.551171,12.194747 +10X_cells.TAAGTGCTCGTCACGG-L8TX_180115_01_H11,5.891822,10.4330015 +10X_cells.TCAACGAGTCTAAAGA-L8TX_180115_01_H09,6.439972,9.244442 +10X_cells.AAGGAGCCAATCTACG-L8TX_180115_01_E09,5.820744,11.455551 +10X_cells.AGGTCCGCAGCTCGCA-L8TX_180115_01_G08,5.5335336,11.360686 +10X_cells.ACGGAGACATCTACGA-L8TX_171120_01_G07,5.269015,12.322544 +10X_cells.GAGTCCGGTCATTAGC-L8TX_171120_01_G07,5.765315,9.732233 +10X_cells.GTAACTGAGCAATATG-L8TX_171120_01_H07,6.026987,9.738957 +10X_cells.ATCTACTCATGTCTCC-L8TX_180115_01_G08,5.452417,10.628892 +10X_cells.GTAACTGCAGTGACAG-L8TX_171120_01_C07,4.9830527,12.088966 +10X_cells.ATCACGAAGCTAGGCA-L8TX_171120_01_E07,5.896141,11.705043 +10X_cells.CGTGTAAAGCGTTTAC-L8TX_171120_01_E07,5.759834,11.367538 +10X_cells.TGGCCAGGTACCGAGA-L8TX_171120_01_E07,5.6207266,8.815151 +10X_cells.CTACCCATCGGTCCGA-L8TX_180115_01_F08,5.357278,10.743778 +10X_cells.CTCACACTCGACGGAA-L8TX_180115_01_C08,5.657126,8.782324 +10X_cells.CCACCTAGTCGGCATC-L8TX_180115_01_E08,5.1080675,11.2395735 +Smartseq_cells.LS-15001_S18_E1-50,4.9475036,12.141486 +Smartseq_cells.LS-15064_S03_E1-50,4.944809,11.916436 +Smartseq_cells.LS-15347_S69_E1-50,5.8042455,11.379272 +Smartseq_cells.LS-15347_S77_E1-50,5.758699,10.937493 +Smartseq_cells.LS-15521_S88_E1-50,5.428902,11.697906 +Smartseq_cells.LS-15521_S90_E1-50,5.104404,11.877941 +Smartseq_cells.SM-GE65Y_S040_E1-50,5.6642323,11.340642 +Smartseq_cells.SM-GE65Y_S152_E1-50,5.1182737,11.823256 +Smartseq_cells.SM-GE92Z_S327_E1-50,5.995241,11.02423 +10X_cells.GTCAAGTGTCAGAATA-L8TX_180221_01_H09,4.474526,9.828586 +10X_cells.ATCTGCCCAAGTTCTG-L8TX_180406_01_F02,4.2779403,10.02304 +10X_cells.TCATTTGGTTGCGCAC-L8TX_180221_01_C10,2.0105608,5.096509 +10X_cells.TGCGTGGAGCTAGGCA-L8TX_180221_01_C10,5.615147,9.719417 +Smartseq_cells.LS-15310_S19_E2-50,5.041383,11.59613 +10X_cells.ATGGGAGAGTGTACTC-L8TX_180406_01_E02,4.4806423,9.376811 +10X_cells.GACGGCTAGCTGCGAA-L8TX_180406_01_B06,5.036827,8.899113 +10X_cells.GAACCTATCGCTTAGA-L8TX_171026_01_G03,3.9627593,9.5366745 +10X_cells.TCAGCTCGTGAGTATA-L8TX_171026_01_H05,3.7720168,8.350413 +10X_cells.GAACATCTCCGCATAA-L8TX_171026_01_F04,3.792396,9.052812 +10X_cells.TGACAACGTCTGCCAG-L8TX_180406_01_B01,4.8769016,11.024857 +10X_cells.CAGCTAAGTCACTTCC-L8TX_180406_01_E01,0.44975442,2.480645 +10X_cells.TACTTGTGTGATAAGT-L8TX_180406_01_B02,3.7566028,9.786666 +10X_cells.GATCTAGGTAGCTCCG-L8TX_180406_01_E01,3.492504,9.35469 +10X_cells.ATTACTCGTGCACTTA-L8TX_180406_01_D02,4.238353,9.124806 +10X_cells.TGACGGCGTGAAAGAG-L8TX_180406_01_D02,4.50544,10.267889 +10X_cells.GGACAAGCAGGATTGG-L8TX_180406_01_F01,-0.037398655,1.902195 +10X_cells.GCCAAATCAAATCCGT-L8TX_180406_01_B01,2.756379,11.158346 +10X_cells.CCATTCGCAGGGTACA-L8TX_180406_01_E01,4.2450194,9.4369335 +10X_cells.CCCATACAGTGAACGC-L8TX_180406_01_E01,4.5074224,9.711929 +10X_cells.ACGATACGTAAGGATT-L8TX_180406_01_C02,4.0349216,9.704081 +Smartseq_cells.SM-GE66Z_S189_E1-50,5.757476,11.079514 +10X_cells.CACAGTATCAGGCCCA-L8TX_180221_01_D10,4.6801076,9.569819 +10X_cells.TGACTAGAGCTGAAAT-L8TX_190312_01_C02,3.8822484,9.831572 +10X_cells.GGTGAAGTCATGCATG-L8TX_180221_01_H10,4.2043753,10.5916195 +10X_cells.AGCTCTCTCCTTGGTC-L8TX_180221_01_H10,4.1363034,10.663315 +10X_cells.CTAGTGAAGGCTATCT-L8TX_180221_01_A11,1.8118898,4.374909 +10X_cells.AATCCAGCAGTGAGTG-L8TX_181012_01_B05,4.720409,11.660948 +10X_cells.GTGAAGGTCCCGGATG-L8TX_180221_01_D11,4.2449503,12.143 +10X_cells.GGACAAGTCTATCCCG-L8TX_180221_01_E11,4.560564,11.77597 +10X_cells.TGCGGGTAGATCTGAA-L8TX_180221_01_B11,6.9548855,9.994463 +10X_cells.CGGAGTCCAAGTAATG-L8TX_180221_01_C11,4.238027,12.24835 +10X_cells.ATGTGTGGTCACACGC-L8TX_180926_01_F01,4.2988067,9.537979 +Smartseq_cells.SM-GE91B_S014_E1-50,4.173106,11.562092 +10X_cells.CGAATGTGTTATCGGT-L8TX_180221_01_H11,6.7734756,9.426768 +10X_cells.AGAGCGACAACTTGAC-L8TX_180115_01_F10,3.8628247,10.592125 +10X_cells.TTCTCCTTCATGGTCA-L8TX_180115_01_E08,4.686237,11.158287 +Smartseq_cells.LS-15077_S60_E1-50,4.7430797,11.515573 +Smartseq_cells.SM-GE65Y_S053_E1-50,4.291385,10.676203 +Smartseq_cells.SM-GE65Y_S153_E1-50,4.680044,10.954002 +10X_cells.GTACTTTGTCCCTTGT-L8TX_180221_01_F09,1.702982,14.381736 +10X_cells.TCGCGTTTCCGTTGTC-L8TX_180221_01_F09,3.0915926,13.076709 +10X_cells.ACATGGTAGGGTGTGT-L8TX_180221_01_H09,3.307795,11.898236 +10X_cells.TGGGCGTTCGACCAGC-L8TX_180221_01_E09,4.7651234,11.9318905 +10X_cells.ACCGTAATCTAGAGTC-L8TX_180221_01_C09,2.9187455,12.1442795 +10X_cells.CCACCTAGTGAAATCA-L8TX_180221_01_C09,3.2143388,12.006361 +10X_cells.GTGTGCGTCCCTCAGT-L8TX_180221_01_C09,3.0015206,11.102542 +10X_cells.TAGCCGGTCGGTTCGG-L8TX_180221_01_D09,2.9525378,12.403735 +10X_cells.ATAAGAGAGTGACTCT-L8TX_180712_01_G05,2.560092,12.991796 +10X_cells.CTAGCCTAGAGATGAG-L8TX_180712_01_G05,2.8704615,11.386609 +10X_cells.AAAGCAATCGCATGGC-L8TX_180712_01_B06,2.4793348,14.019899 +10X_cells.TATCAGGAGGCGCTCT-L8TX_180712_01_C06,2.0153906,11.171733 +Smartseq_cells.LS-15323_S53_E2-50,3.1723325,12.734846 +Smartseq_cells.LS-15338_S37_E1-50,1.2155713,14.817644 +10X_cells.CCACCTATCTTCATGT-L8TX_180907_01_G10,3.4824624,12.620415 +10X_cells.CGATGTAAGGCCCGTT-L8TX_181012_01_G04,0.14560099,11.5886345 +10X_cells.TGAGCCGAGGACCACA-L8TX_181012_01_G04,0.025241466,9.936208 +Smartseq_cells.SM-GE5VU_S256_E1-50,1.1163393,14.732542 +10X_cells.CAGCTGGGTTAAGATG-L8TX_180406_01_H02,2.4499145,13.305929 +10X_cells.GTTCTCGGTGCTGTAT-L8TX_180406_01_E07,1.7948669,12.185884 +10X_cells.CAGCGACAGTCATCCA-L8TX_180406_01_H01,2.5870323,10.983371 +10X_cells.GGTGAAGCAACACCTA-L8TX_180406_01_H01,2.3411846,12.104027 +10X_cells.CTTTGCGTCTCTGTCG-L8TX_180406_01_B06,2.5910702,12.575375 +10X_cells.CAACCAAGTTAGGGTG-L8TX_180406_01_C08,3.480049,9.435218 +10X_cells.GCCTCTAAGACTACAA-L8TX_180406_01_C07,2.5735748,12.535093 +Smartseq_cells.SM-GE91L_S248_E1-50,3.1678834,12.099321 +10X_cells.ATGGGAGCAAAGCAAT-L8TX_200625_02_E11,2.6695657,12.064573 +10X_cells.ACACTGATCACCAGGC-L8TX_171026_01_C05,3.2969587,12.722755 +10X_cells.TCACAAGAGTGCGATG-L8TX_171026_01_H04,1.8665206,14.637228 +10X_cells.CATCAAGCATTATCTC-L8TX_171026_01_F03,-0.1109104,13.423949 +10X_cells.CACACTCGTTCACCTC-L8TX_171026_01_F04,1.2108042,15.214367 +10X_cells.TGCGTGGTCACTCCTG-L8TX_171026_01_G04,2.2672098,14.290679 +10X_cells.AATCCAGAGTCAAGCG-L8TX_171026_01_A05,2.6672168,13.780322 +10X_cells.CCCTCCTGTGGTCTCG-L8TX_171026_01_A05,3.1405716,12.223743 +10X_cells.CTCATTACACGGATAG-L8TX_171026_01_F05,3.004389,12.94447 +Smartseq_cells.SM-GE67S_S075_E1-50,4.789557,12.104021 +Smartseq_cells.SM-GE92I_S370_E1-50,3.0674899,13.138465 +10X_cells.CCGGTAGCAATGAAAC-L8TX_180406_01_B01,2.986528,9.622625 +10X_cells.TACTCGCCACCATCCT-L8TX_180406_01_B01,2.2739656,12.034472 +10X_cells.GCGCGATTCTTCGAGA-L8TX_180406_01_C01,2.640458,9.930972 +10X_cells.GGGCACTTCCCATTTA-L8TX_180406_01_C01,1.7598394,12.331245 +10X_cells.AACTCTTGTTATCGGT-L8TX_180406_01_F01,3.1952069,9.636781 +10X_cells.CCACCTATCGAACGGA-L8TX_180406_01_C02,2.8519301,10.017345 +10X_cells.CGCCAAGTCACCCGAG-L8TX_180406_01_C02,3.3804176,10.883977 +10X_cells.CGTTGGGCACCGTTGG-L8TX_180221_01_G10,2.108969,13.392891 +10X_cells.TCAGATGGTTCTGTTT-L8TX_180221_01_D10,0.92797583,13.215002 +10X_cells.TGCACCTCACGAAATA-L8TX_180221_01_D10,3.3374414,12.037822 +10X_cells.ACAGCCGCACGTTGGC-L8TX_180221_01_E10,2.3609374,13.719286 +10X_cells.TGGCGCAGTACATCCA-L8TX_180221_01_E10,3.1370363,11.6458 +10X_cells.ATCTGCCCACGAGGTA-L8TX_180221_01_G10,2.1157665,11.015578 +10X_cells.ACATCAGTCTCTAGGA-L8TX_180221_01_H10,2.2088125,13.076166 +10X_cells.GCATGTATCGAATGCT-L8TX_180221_01_H10,3.073443,12.81301 +10X_cells.CCTTTCTCAAAGGAAG-L8TX_180221_01_A11,1.6958444,12.47835 +10X_cells.CGCTATCGTCTTGTCC-L8TX_180926_01_C12,-0.49934062,13.62165 +10X_cells.GCGCGATCACATTTCT-L8TX_181012_01_B05,2.89687,10.521308 +10X_cells.AAAGTAGAGATGGGTC-L8TX_180221_01_B11,3.217427,12.91178 +10X_cells.GATGAGGGTACTCAAC-L8TX_180221_01_D11,2.6840777,12.218558 +10X_cells.CGTGTCTGTTCTGGTA-L8TX_180221_01_F11,1.7422689,14.592439 +10X_cells.GTCACGGCATCAGTCA-L8TX_180221_01_G11,0.09953086,11.135184 +10X_cells.CATGACAGTTTAGCTG-L8TX_180907_01_B12,2.48878,13.876835 +10X_cells.GCGCAACAGTACGTTC-L8TX_181011_01_B03,2.8742101,10.106085 +10X_cells.GTCCTCAAGACAGAGA-L8TX_180926_01_B01,2.4838908,12.128194 +10X_cells.GATGAGGAGAACTGTA-L8TX_180926_01_D01,3.1258307,12.20955 +10X_cells.CTCGGAGTCCCAAGAT-L8TX_181011_01_A03,1.136045,11.252544 +10X_cells.ATTTCTGGTAAAGGAG-L8TX_181011_01_B03,2.8605456,11.652497 +10X_cells.TGGCTGGTCTATCGCC-L8TX_181011_01_H03,1.0292537,15.168633 +10X_cells.GGTGCGTCAAGCGTAG-L8TX_180221_01_H11,3.3657238,12.586821 +10X_cells.GCTTGAACAATGGAAT-L8TX_180712_01_E05,2.4924228,12.480854 +10X_cells.CAGCAGCTCATCACCC-L8TX_180712_01_E05,1.7538755,13.034979 +10X_cells.CTTAACTGTTATGTGC-L8TX_180712_01_E05,3.0926259,9.648322 +10X_cells.CTGCTGTGTAAAGGAG-L8TX_180712_01_F05,2.772539,9.7699 +10X_cells.ATCCGAACAAGTCTGT-L8TX_180504_01_E01,0.16871342,10.67859 +10X_cells.CTTAGGAAGTTAGCGG-L8TX_180504_01_E01,2.8464975,10.471812 +10X_cells.GACCTGGCACGGCTAC-L8TX_180221_01_A12,6.3766975,9.875514 +10X_cells.CGAATGTGTAGCGTGA-L8TX_180221_01_B12,3.716182,10.469525 +10X_cells.GTCCTCAGTCAGAGGT-L8TX_180221_01_B12,3.2755089,9.698217 +10X_cells.CGTGAGCCAGTAAGCG-L8TX_180221_01_H11,-0.83503026,7.180014 +10X_cells.TGCCCTATCATGCATG-L8TX_180221_01_H11,0.4291031,10.59287 +10X_cells.GCAGCCAGTGTGAAAT-L8TX_180115_01_E11,1.0091192,13.987777 +10X_cells.TTCGAAGTCTTGTATC-L8TX_180115_01_B11,4.3710895,12.068848 +10X_cells.GTTCGGGCAATGAATG-L8TX_180115_01_C09,1.9645467,13.925391 +10X_cells.TGGCCAGAGCCGTCGT-L8TX_180115_01_A11,2.4036164,12.795006 +10X_cells.TGATTTCAGAGGACGG-L8TX_180115_01_H10,2.7525275,11.562334 +10X_cells.AAAGCAAGTCAACATC-L8TX_180115_01_B11,2.7540157,13.393431 +10X_cells.CTGCTGTAGACACTAA-L8TX_180115_01_B11,3.167854,12.179765 +10X_cells.TAGGCATAGAGTCTGG-L8TX_180115_01_B11,4.1048045,12.072863 +10X_cells.CGGAGCTTCTCCAGGG-L8TX_180115_01_D11,3.2105305,12.5222845 +10X_cells.ACACCAATCGGTGTTA-L8TX_180115_01_F10,2.3216474,13.076522 +10X_cells.GACCAATCACAGGCCT-L8TX_180115_01_E11,0.99847233,14.260294 +10X_cells.TGTTCCGGTGTCAATC-L8TX_180115_01_E11,0.65919757,14.464132 +10X_cells.CATGACAGTCATCCCT-L8TX_180115_01_F11,2.1786697,12.620337 +10X_cells.CGGAGTCAGGACGAAA-L8TX_180115_01_H11,2.6879091,12.486066 +10X_cells.GATGAAAAGAGGTTAT-L8TX_180115_01_H11,1.3658471,14.985914 +10X_cells.TACTTGTTCCAGAAGG-L8TX_180115_01_H11,1.2056386,14.088601 +10X_cells.CAAGGCCTCACTGGGC-L8TX_180115_01_G09,0.7105288,10.808202 +10X_cells.TGACTTTAGCAGCCTC-L8TX_180115_01_G09,-0.15302432,10.41999 +10X_cells.CTTACCGAGAGTCTGG-L8TX_171120_01_H07,3.650064,11.528035 +10X_cells.GGCTGGTCATCATCCC-L8TX_180115_01_G08,3.381779,12.094448 +10X_cells.CGCTATCAGGGATCTG-L8TX_180115_01_D08,3.364406,11.010027 +10X_cells.GGCTGGTGTCGAACAG-L8TX_180115_01_E08,3.6579807,12.495773 +Smartseq_cells.LS-15070_S44_E1-50,1.0394269,14.925665 +Smartseq_cells.LS-15075_S66_E1-50,2.786797,13.418782 +Smartseq_cells.LS-15542_S74_E1-50,1.9607989,14.409757 +Smartseq_cells.LS-15577_S57_E1-50,-1.8319539,1.6905797 +Smartseq_cells.SM-D9E4J_S47_E1-50,4.0358458,10.976556 +Smartseq_cells.SM-D9E4K_S04_E1-50,0.3654255,15.184332 +Smartseq_cells.SM-D9E62_S73_E1-50,-3.0301554,-1.6588054 +Smartseq_cells.SM-GE67T_S290_E1-50,3.1988993,12.818161 +Smartseq_cells.SM-GE67T_S305_E1-50,1.2140559,14.920056 +Smartseq_cells.SM-GE92Z_S315_E1-50,3.268684,12.828308 +10X_cells.AAATGCCAGTAGATGT-L8TX_180221_01_A10,-2.1135857,11.820622 +10X_cells.ATCCGAATCGAATCCA-L8TX_180221_01_A10,-0.5183009,10.59832 +10X_cells.CACATTTAGTCAAGGC-L8TX_180221_01_B10,-1.8336047,12.977708 +10X_cells.TACAGTGCATAGAAAC-L8TX_180221_01_B10,-1.7487844,13.384294 +10X_cells.AAGGTTCTCGCAAACT-L8TX_180221_01_C10,4.7159824,12.1279745 +10X_cells.AGCTCTCGTACATGTC-L8TX_180221_01_C10,-1.2820089,12.73947 +10X_cells.CGTGTAACAAGAGTCG-L8TX_180221_01_C10,-1.3011584,12.605958 +10X_cells.GGACAGACATCCCATC-L8TX_180221_01_C10,-1.7811805,12.952782 +10X_cells.GTACTTTTCACAGGCC-L8TX_180406_01_C06,-1.0736655,12.302089 +10X_cells.AACTCCCAGTCTCGGC-L8TX_180221_01_D09,-2.0745318,13.9289255 +10X_cells.CCTTACGCAGATCGGA-L8TX_180221_01_D09,-0.6883852,11.049632 +10X_cells.CACCTTGAGATGTTAG-L8TX_180712_01_B06,-1.6764864,13.283992 +Smartseq_cells.LS-15087_S33_E1-50,3.9950128,12.422351 +Smartseq_cells.LS-15339_S62_E1-50,-1.8609309,15.520833 +Smartseq_cells.LS-15524_S90_E1-50,-1.3131272,14.870971 +Smartseq_cells.LS-15577_S10_E1-50,0.84881186,13.432885 +Smartseq_cells.SM-D9EPG_S40_E1-50,-1.4010551,14.726517 +Smartseq_cells.SM-D9EPG_S63_E1-50,-1.8468821,14.718093 +Smartseq_cells.SM-D9EPG_S67_E1-50,-1.8753353,15.446416 +10X_cells.TAGTTGGTCGTTTAGG-L8TX_180829_01_D09,-0.5134488,10.792016 +10X_cells.CTGCGGACATCTGGTA-L8TX_180829_01_D10,-1.1044259,10.831402 +10X_cells.GCTCCTATCCGCGTTT-L8TX_181011_01_G02,-1.094487,12.298703 +10X_cells.CTAATGGCATTATCTC-L8TX_181012_01_E05,4.048735,9.180558 +10X_cells.TCAGATGCAAGCTGGA-L8TX_181012_01_E05,-0.6648032,11.387228 +10X_cells.TGACTTTCAAACGCGA-L8TX_180406_01_E02,-1.7449411,14.523217 +10X_cells.AGGGATGCAATGGAAT-L8TX_180406_01_G02,0.22387591,9.192335 +Smartseq_cells.SM-GE5VC_S288_E1-50,-0.34000933,13.565841 +10X_cells.AGAATAGAGAGTAATC-L8TX_171026_01_F03,-2.1707087,14.100247 +10X_cells.CGCTATCCATTGGGCC-L8TX_171026_01_F03,-0.9431133,12.58915 +10X_cells.GTTTCTAGTGTAATGA-L8TX_171026_01_F03,-1.569473,12.408375 +10X_cells.GATCGCGCATTGGCGC-L8TX_171026_01_G03,-2.18292,15.256794 +10X_cells.TAGGCATTCTCATTCA-L8TX_171026_01_G03,-1.9463558,13.416075 +10X_cells.CTTACCGTCAAGGTAA-L8TX_171026_01_B04,-1.0884897,14.094555 +10X_cells.CGTCAGGAGACAGGCT-L8TX_171026_01_G04,-2.4807618,15.412341 +10X_cells.CTTACCGTCTTGCCGT-L8TX_171026_01_H04,-1.7824715,14.80566 +10X_cells.TCCACACGTCCGCTGA-L8TX_171026_01_H04,-1.893242,13.646466 +10X_cells.TGAGGGATCGCCTGAG-L8TX_171026_01_A05,-1.9852992,15.200921 +10X_cells.ACCTTTATCCTAAGTG-L8TX_171026_01_H03,-2.4740858,15.004516 +10X_cells.CTCTGGTAGCGCCTTG-L8TX_171026_01_H03,-1.6932094,13.347643 +10X_cells.TTAGGACTCTAACCGA-L8TX_171026_01_H03,-1.7112547,13.122109 +10X_cells.CGACTTCGTGCAGACA-L8TX_171026_01_A04,-2.1530013,13.512703 +10X_cells.ACACCAACACAGGTTT-L8TX_171026_01_C05,-1.7213016,13.296123 +10X_cells.AAAGATGGTGAAAGAG-L8TX_171026_01_E05,-2.410851,14.561031 +10X_cells.GCCAAATTCGACGGAA-L8TX_171026_01_E05,-3.1184466,11.939338 +10X_cells.CGCGTTTGTCTGATCA-L8TX_171026_01_F05,-2.4418962,15.129314 +10X_cells.GACGCGTTCACTTACT-L8TX_171026_01_F05,-2.3267066,13.215709 +10X_cells.TCATTTGAGAGCCCAA-L8TX_171026_01_F05,-1.3394672,11.141824 +10X_cells.CTCACACAGAAACCAT-L8TX_171026_01_G05,-1.4928534,13.282879 +10X_cells.GATCGATCAGGGATTG-L8TX_171026_01_G05,-2.0840173,13.522408 +10X_cells.GTAACGTGTGTGGTTT-L8TX_171026_01_H05,-2.3756115,14.959836 +Smartseq_cells.SM-GE67S_S062_E1-50,-1.5950241,15.247661 +Smartseq_cells.SM-GE92L_S186_E1-50,-1.3991581,15.051084 +Smartseq_cells.SM-GE92L_S247_E1-50,-2.184215,15.611919 +Smartseq_cells.SM-GE92L_S279_E1-50,-1.8422452,15.115285 +Smartseq_cells.SM-GE92L_S337_E1-50,-2.2271585,15.898792 +10X_cells.ACTTTCACAGGTCCAC-L8TX_181206_01_H11,4.7103763,12.332052 +10X_cells.ACGCCGATCAATAAGG-L8TX_181206_01_A12,-0.93082416,11.210168 +Smartseq_cells.SM-GE914_S119_E1-50,-2.2619436,15.775973 +Smartseq_cells.SM-GE914_S145_E1-50,-2.311186,15.412748 +10X_cells.ATCCACCAGTAGATGT-L8TX_180406_01_B01,2.1323013,9.480074 +10X_cells.GCATGTACACCCATGG-L8TX_180406_01_B01,-2.955639,8.300586 +10X_cells.GCTGCTTCACACGCTG-L8TX_180406_01_B01,-2.2495165,11.026489 +10X_cells.AACTCTTGTAGCTGCC-L8TX_180406_01_C01,-1.1045874,10.471642 +10X_cells.GGAGCAATCGGACAAG-L8TX_180406_01_D01,2.8212016,9.296435 +10X_cells.TTAGGCATCGAATCCA-L8TX_180406_01_D01,-0.42009914,10.561184 +10X_cells.GTGCATAAGACGCTTT-L8TX_180406_01_F01,-1.7650527,13.676443 +10X_cells.GGAGCAAAGTGACTCT-L8TX_180406_01_G01,0.9865674,10.140302 +10X_cells.AAAGCAAAGTTAGCGG-L8TX_180406_01_B02,-0.013806543,8.375644 +10X_cells.CTGAAACTCTCACATT-L8TX_180406_01_B02,-1.4543248,11.218309 +10X_cells.AGATTGCCACGTGAGA-L8TX_180406_01_C02,-1.4001293,10.852803 +10X_cells.ACGTCAAGTTGGACCC-L8TX_180406_01_D02,-1.0771979,10.592967 +10X_cells.TGAGGGAGTTACGTCA-L8TX_180221_01_G10,-1.448686,14.251364 +10X_cells.TAGAGCTGTTAGTGGG-L8TX_180221_01_D10,0.23040968,8.82535 +10X_cells.TGATTTCCATCACGTA-L8TX_180221_01_D10,-1.0257336,12.384627 +10X_cells.GTGTTAGTCGAGCCCA-L8TX_180221_01_E10,-1.2115347,14.156234 +10X_cells.CTAGCCTTCTTCTGGC-L8TX_180221_01_A11,-1.8445866,14.742814 +10X_cells.GTACTTTCATTCGACA-L8TX_190312_01_D02,0.15349613,10.095504 +10X_cells.CTTTGCGGTCGAACAG-L8TX_190312_01_G02,-0.21520354,8.833387 +10X_cells.AGCTCTCTCACGCGGT-L8TX_180221_01_D11,-0.4122565,9.675917 +10X_cells.GGACGTCGTTCGTGAT-L8TX_180221_01_E11,-1.707118,12.0723095 +10X_cells.ACTTGTTGTACTTAGC-L8TX_180221_01_G11,-0.8039282,11.289705 +Smartseq_cells.SM-GE67O_S061_E1-50,-0.84876096,14.700552 +10X_cells.CGATTGAAGCAATATG-L8TX_180907_01_B12,4.348929,9.389851 +Smartseq_cells.SM-GE5US_S010_E1-50,-1.651815,14.595803 +10X_cells.TGCACCTTCGTTTATC-L8TX_180926_01_B01,0.2090709,12.95657 +10X_cells.TGACAACTCATATCGG-L8TX_180926_01_D01,-0.22568907,10.206758 +10X_cells.GACCAATCATAACCTG-L8TX_181011_01_C03,-3.1061606,11.950979 +10X_cells.GCAGCCACAGTGGAGT-L8TX_181011_01_H03,-1.0023308,11.368519 +10X_cells.TCCACACGTAAGTTCC-L8TX_181011_01_H03,0.4948293,11.120896 +Smartseq_cells.SM-GE914_S074_E1-50,-1.0351856,14.483271 +Smartseq_cells.SM-GE914_S365_E1-50,-0.4498776,14.163499 +10X_cells.CGGACACGTTCCAACA-L8TX_200611_02_A05,-0.99152434,13.792044 +10X_cells.GCACATAAGTGGACGT-L8TX_180712_01_E05,-0.86589533,13.005447 +10X_cells.TTTACTGGTCATCGGC-L8TX_180712_01_F05,0.26517048,10.400227 +10X_cells.ATAAGAGTCAACACAC-L8TX_180712_01_H05,1.9125704,9.1719265 +10X_cells.ATGGGAGTCATTTGGG-L8TX_180712_01_H05,-0.41062802,11.535879 +10X_cells.ATTTCTGAGCGGCTTC-L8TX_180712_01_H05,1.9316416,9.25994 +10X_cells.GCGACCACAATTCCTT-L8TX_180712_01_H05,-1.2214936,12.766076 +10X_cells.ATCATCTCAGACGTAG-L8TX_180712_01_A06,-0.40290427,12.802397 +10X_cells.GTCAAGTGTCAATACC-L8TX_180712_01_A06,1.6775258,9.627565 +10X_cells.TTCTCAAGTAGGCTGA-L8TX_180712_01_A06,-0.8586603,12.723691 +10X_cells.AACTTTCAGACTGGGT-L8TX_180504_01_E01,-1.3372763,11.842526 +10X_cells.ATCACGAAGCAATCTC-L8TX_180221_01_B12,2.3967144,10.322288 +10X_cells.CAGATCACACACCGAC-L8TX_180221_01_B12,0.17217875,9.088922 +10X_cells.TGCTACCTCGAATCCA-L8TX_180221_01_B12,-0.550519,10.367816 +10X_cells.CAGAGAGAGCTAGTTC-L8TX_200611_02_A05,1.1051158,9.91858 +10X_cells.CCACGGACAGTTCATG-L8TX_200611_02_A05,-0.242939,12.060538 +10X_cells.GTGCTTCGTAAACCTC-L8TX_200611_02_A05,0.86380905,9.349794 +10X_cells.CAGAGAGAGCCAACAG-L8TX_180115_01_D11,-1.5602385,10.700386 +10X_cells.GAGCAGACATCGTCGG-L8TX_180115_01_A09,-0.92534184,9.718467 +10X_cells.GATGAGGCAAGGTTCT-L8TX_180115_01_B09,-1.4624101,11.657893 +10X_cells.TGGCGCACAAGCCATT-L8TX_180115_01_B09,-0.9239152,10.253036 +10X_cells.ATCGAGTGTAGTACCT-L8TX_180115_01_C09,-1.9560947,11.706175 +10X_cells.TCGTACCAGCGATCCC-L8TX_180115_01_C09,-2.9136274,11.088102 +10X_cells.GACCAATCAAGTTAAG-L8TX_180115_01_D09,-0.665165,10.34187 +10X_cells.GGAATAACAGCTGTAT-L8TX_180115_01_D09,-1.2187631,10.649097 +10X_cells.ACGATACCAGGCAGTA-L8TX_180115_01_A11,-1.2450763,11.495661 +10X_cells.ATTACTCGTGCACCAC-L8TX_180115_01_A11,-1.0020317,12.517225 +10X_cells.CTCAGAACATATGCTG-L8TX_180115_01_A11,2.4154046,11.927711 +10X_cells.CTGCCTATCACTCTTA-L8TX_180115_01_H10,-0.9777457,10.502009 +10X_cells.CAACCTCAGAGAACAG-L8TX_180115_01_B11,-2.6421506,15.413607 +10X_cells.CTGTTTAGTCTGCGGT-L8TX_180115_01_B11,-2.100026,12.748619 +10X_cells.TGTGGTAGTACAGACG-L8TX_180115_01_C10,-1.231846,11.296793 +10X_cells.ACATCAGAGAGATGAG-L8TX_180115_01_D11,-0.2882988,9.662684 +10X_cells.AGAATAGTCTTGACGA-L8TX_180115_01_D11,-0.92793334,11.700766 +10X_cells.AGAGTGGTCCACTGGG-L8TX_180115_01_D11,-1.5525208,12.196349 +10X_cells.CATCAAGTCATAACCG-L8TX_180115_01_D11,-1.0534402,13.207797 +10X_cells.CCATTCGTCATCGGAT-L8TX_180115_01_D11,-1.9162159,11.17851 +10X_cells.CTGATAGAGACTGGGT-L8TX_180115_01_D11,-1.6953237,12.901006 +10X_cells.GCATACATCGTTTAGG-L8TX_180115_01_D11,-0.97272235,11.263151 +10X_cells.GGGCATCAGTTTGCGT-L8TX_180115_01_D11,-1.3322223,11.377641 +10X_cells.TGTGGTAGTGATGCCC-L8TX_180115_01_D11,-1.3052036,13.588172 +10X_cells.GTGAAGGAGGCTAGGT-L8TX_180115_01_E10,-1.9156473,11.666363 +10X_cells.TGAGCCGAGAGCTGCA-L8TX_180115_01_E10,-2.5653348,15.347855 +10X_cells.TGGTTAGAGTAAGTAC-L8TX_180115_01_E10,-0.3475274,10.186974 +10X_cells.TTTACTGGTCCGTGAC-L8TX_180115_01_E10,-0.5927945,11.300049 +10X_cells.TGAAAGATCCGCATAA-L8TX_180115_01_F10,-0.6858794,9.814494 +10X_cells.AGATTGCGTTATGTGC-L8TX_180115_01_G10,-1.4676362,11.48253 +10X_cells.AAATGCCCAGGGAGAG-L8TX_180115_01_E11,-2.8274677,11.700213 +10X_cells.AGATCTGGTAATCGTC-L8TX_180115_01_F11,-0.90793794,11.64326 +10X_cells.ATCATCTAGGTGCACA-L8TX_180115_01_F11,-1.5346539,11.668574 +10X_cells.CACATTTAGAAGGCCT-L8TX_180115_01_F11,-1.5140129,13.180732 +10X_cells.CGTCACTAGATCCCAT-L8TX_180115_01_F11,-0.62214535,11.524211 +10X_cells.GACCTGGTCGGTGTTA-L8TX_180115_01_F11,-1.716775,12.833771 +10X_cells.TACAGTGTCCCTTGTG-L8TX_180115_01_F11,-1.8752791,15.080506 +10X_cells.TACGGATAGGTAGCCA-L8TX_180115_01_F11,-1.5295969,12.606738 +10X_cells.TGGCTGGAGTCCATAC-L8TX_180115_01_F11,-3.0198963,11.116026 +10X_cells.ACCAGTAAGAGTGAGA-L8TX_180115_01_G11,-1.7566804,12.650031 +10X_cells.AGCGTCGCAAGTAGTA-L8TX_180115_01_G11,-1.1350945,11.799731 +10X_cells.AGGCCACTCATACGGT-L8TX_180115_01_G11,-1.9262509,12.111846 +10X_cells.TCGGTAAGTGTGACCC-L8TX_180115_01_G11,-1.7401867,12.7602625 +10X_cells.TGCTACCGTTGCGCAC-L8TX_180115_01_G11,-0.8790966,11.908361 +10X_cells.AAACGGGAGTAGCGGT-L8TX_180115_01_H11,3.4766102,11.430057 +10X_cells.CTGATCCCATCGATGT-L8TX_180115_01_H11,-0.40975395,10.717101 +10X_cells.TCATTACGTTAAGATG-L8TX_180115_01_H11,-0.9130512,11.410568 +10X_cells.GATCGATTCAACACTG-L8TX_180115_01_H09,-1.065314,10.871064 +10X_cells.TTAACTCAGCCACTAT-L8TX_180115_01_H09,-0.6154646,9.916096 +10X_cells.GTTCGGGGTCAGAATA-L8TX_180115_01_E09,-1.063294,12.837192 +10X_cells.CGGGTCAGTCGGCATC-L8TX_171120_01_G07,-1.441427,12.108829 +10X_cells.TTCTCAAGTAGTGAAT-L8TX_171120_01_G07,-0.7918084,13.011644 +10X_cells.CCCATACGTTAGAACA-L8TX_171120_01_H07,-0.45736918,11.866538 +10X_cells.GCAATCATCTAAGCCA-L8TX_171120_01_H07,0.77679324,8.73781 +10X_cells.ACTTACTGTTCAACCA-L8TX_171120_01_C07,-1.6771929,12.878584 +10X_cells.CTAACTTCAATAGCAA-L8TX_171120_01_C07,-2.0032642,15.209555 +10X_cells.CACACAAGTATTAGCC-L8TX_180115_01_H08,-1.046019,11.51739 +10X_cells.CTACCCAAGCTAAGAT-L8TX_180115_01_H08,-1.0055095,12.134907 +10X_cells.AAATGCCTCTGTACGA-L8TX_171120_01_E07,-3.0848837,7.9922833 +10X_cells.TGACTTTGTACTCGCG-L8TX_171120_01_F07,-2.175572,10.889114 +10X_cells.TGGACGCAGAGGTACC-L8TX_171120_01_F07,-1.9247645,12.180085 +10X_cells.CTTACCGCACAGGAGT-L8TX_180115_01_F08,-0.36568555,14.267685 +10X_cells.TCAACGAGTCAGCTAT-L8TX_180115_01_F08,-2.7437668,15.456772 +10X_cells.GTGCATATCCCAAGAT-L8TX_180115_01_E08,-1.1228822,11.414284 +Smartseq_cells.LS-15061_S72_E1-50,-1.9767171,15.8209715 +Smartseq_cells.LS-15338_S92_E1-50,-2.1333146,15.854229 +Smartseq_cells.LS-15350_S64_E1-50,-2.1886926,15.849835 +Smartseq_cells.LS-15396_S93_E1-50,-1.9578041,15.9282055 +Smartseq_cells.SM-D9D8K_S90_E1-50,-0.09866971,14.251563 +Smartseq_cells.SM-GE67S_S003_E1-50,-0.7614964,14.474995 +Smartseq_cells.SM-GE67S_S005_E1-50,-1.304368,13.187647 +Smartseq_cells.SM-GE67S_S014_E1-50,-2.0842063,15.900581 +Smartseq_cells.SM-GE92Z_S320_E1-50,0.30903596,13.533135 +Smartseq_cells.SM-GE94L_S045_E1-50,-1.9022657,15.184523 +Smartseq_cells.SM-GE5VT_S051_E1-50,-0.15714401,14.345539 +Smartseq_cells.SM-GE5VT_S065_E1-50,-2.2033737,15.885817 +Smartseq_cells.SM-GE5VT_S072_E1-50,-1.9597907,15.863345 +10X_cells.CACATAGGTCGATTGT-L8TX_180829_01_D09,-6.4553385,9.328259 +10X_cells.TCGAGGCCACGAAACG-L8TX_180829_01_D09,-7.5638213,9.314345 +10X_cells.GGCCGATCAATGAATG-L8TX_181011_01_G02,-6.2510962,9.411607 +10X_cells.TGTGTTTTCTGCAAGT-L8TX_181012_01_H04,-3.9377396,11.43284 +10X_cells.ACCGTAACACGTCTCT-L8TX_180406_01_E06,0.5823825,7.2707753 +10X_cells.GGCAATTAGACCTTTG-L8TX_171026_01_H03,8.644872,16.544186 +10X_cells.ACTGCTCAGCTAAGAT-L8TX_171026_01_B04,-8.030812,11.367273 +10X_cells.TGCGCAGCAAGTCATC-L8TX_171026_01_B04,-8.0741415,11.461708 +10X_cells.GCATACATCGCCCTTA-L8TX_171026_01_H03,-6.8140864,10.20057 +10X_cells.GCAATCAAGTGTTAGA-L8TX_180926_01_C12,-6.351112,9.714505 +10X_cells.GAGGTGACAAGCGAGT-L8TX_180926_01_D01,-7.241304,10.4373665 +10X_cells.AGACGTTCACAAGACG-L8TX_180712_01_H05,-7.1509213,8.886346 +10X_cells.GTTAAGCTCCAGTAGT-L8TX_180115_01_A10,-3.9584136,8.148679 +10X_cells.CACATTTCAAACCCAT-L8TX_180115_01_H10,-3.653553,10.169259 +10X_cells.GTTACAGCATGAGCGA-L8TX_180115_01_B09,-5.559006,9.016619 +10X_cells.AACTCCCTCACGCATA-L8TX_180115_01_E10,-4.1580305,11.891541 +10X_cells.TTGCCGTAGAAGGTGA-L8TX_180115_01_E09,-5.492594,8.881073 +10X_cells.CGCGGTATCCCACTTG-L8TX_180115_01_B10,-4.257543,10.815774 +10X_cells.GGGAATGTCGGCTACG-L8TX_180115_01_H11,-1.8397056,7.175928 +10X_cells.GGTGTTATCTTAACCT-L8TX_180115_01_D10,-5.7061315,8.963756 +10X_cells.GCGGGTTCACAGAGGT-L8TX_180115_01_G10,-3.3346608,7.587505 +10X_cells.CCGGGATGTAGGCTGA-L8TX_180115_01_B09,-7.934633,10.115928 +10X_cells.ATTATCCAGATTACCC-L8TX_180115_01_E09,-7.3808413,9.230829 +10X_cells.GCATGCGAGCTAACAA-L8TX_180115_01_H11,-7.034507,11.048071 +10X_cells.GCAAACTTCGGATGGA-L8TX_180115_01_G09,-3.3246841,7.9093604 +10X_cells.GTGTTAGTCCCATTTA-L8TX_180115_01_C09,-5.1584897,8.697234 +10X_cells.AGTAGTCGTTGTCTTT-L8TX_180115_01_C11,-6.7480454,9.268923 +10X_cells.TCGCGAGAGGGTCGAT-L8TX_180115_01_A11,-6.9204297,10.329933 +10X_cells.CCTTACGAGTTAAGTG-L8TX_180115_01_C09,-7.728895,10.419018 +10X_cells.TACACGAAGCAGGCTA-L8TX_180115_01_E09,-5.059143,8.564611 +10X_cells.GATGCTATCCTTGCCA-L8TX_180115_01_G11,-6.4334774,10.388285 +10X_cells.CTCGTACGTCGATTGT-L8TX_180115_01_F10,-6.5926204,9.675501 +10X_cells.CTGGTCTTCCCTAATT-L8TX_180115_01_C09,-7.2651896,9.539665 +10X_cells.CTTCTCTGTCGCTTTC-L8TX_180115_01_H10,-5.8620696,9.046471 +10X_cells.CCTTACGTCGTAGGTT-L8TX_180115_01_A11,-7.082693,9.665325 +10X_cells.GTCACAAGTCGACTGC-L8TX_180115_01_B11,-7.9660287,11.398444 +10X_cells.TGCCCTAAGATCCGAG-L8TX_180115_01_A11,-4.46174,8.060196 +10X_cells.CATCGGGGTTGTACAC-L8TX_180115_01_E11,-4.6447024,10.086154 +10X_cells.TCGTACCTCCAGAAGG-L8TX_180115_01_C09,-7.064025,9.645921 +10X_cells.ACTTACTAGAGTAAGG-L8TX_180115_01_H10,-7.4099164,9.226343 +10X_cells.GACTACACACCACCAG-L8TX_180115_01_D11,-6.4124746,9.696521 +10X_cells.TCCCGATTCAGGTAAA-L8TX_180115_01_G11,-5.3338366,8.22924 +10X_cells.CGTCAGGGTAATAGCA-L8TX_180115_01_E11,-4.7119694,7.403528 +10X_cells.TCCCGATTCTCCTATA-L8TX_180115_01_B09,-8.009548,10.030605 +10X_cells.CGTCACTCAGGGCATA-L8TX_180115_01_E10,-4.273215,11.725547 +10X_cells.GTCCTCATCTCCCTGA-L8TX_180115_01_D09,-7.4973207,9.582941 +10X_cells.AGCTTGAAGCCATCGC-L8TX_180115_01_C09,-7.4266205,9.556988 +10X_cells.TAAGCGTAGGTAGCTG-L8TX_180115_01_G11,-3.6319373,7.0743465 +10X_cells.AAAGCAATCACCGTAA-L8TX_180115_01_A10,-4.6076636,8.763746 +10X_cells.ATTGGTGCAGTAGAGC-L8TX_180115_01_E10,-7.218921,9.163496 +10X_cells.CAGCGACGTCTGCAAT-L8TX_180115_01_B09,-5.811716,9.08665 +10X_cells.AAACGGGTCAGTGTTG-L8TX_180115_01_H11,-4.8210983,7.6369004 +10X_cells.TCGTACCTCACCTCGT-L8TX_180115_01_C09,-6.682886,10.113828 +10X_cells.TGCACCTGTAAATGAC-L8TX_180115_01_A11,-5.9432073,9.862988 +10X_cells.TACCTATCAAGTAGTA-L8TX_180115_01_C09,-5.4825525,8.284737 +10X_cells.CGCGGTAGTACTTAGC-L8TX_180115_01_D10,-5.7199464,9.009909 +10X_cells.GATGAGGAGGAGTACC-L8TX_180115_01_H09,-4.318018,8.445129 +10X_cells.CCATTCGCAATCCAAC-L8TX_180115_01_G10,-3.982472,8.36434 +10X_cells.TCCCGATTCTAACTGG-L8TX_180115_01_H10,-5.6655526,7.870482 +10X_cells.CACAAACAGACGCTTT-L8TX_180115_01_B11,-6.9581494,13.06187 +10X_cells.TGAGCATGTCATACTG-L8TX_180115_01_F10,-8.034467,10.647615 +10X_cells.CAGCTGGTCAAGGCTT-L8TX_180115_01_F09,-5.9067235,9.060385 +10X_cells.GTAGGCCTCAGCTCGG-L8TX_180115_01_F09,-4.8886404,8.803371 +10X_cells.CCTTACGTCGCATGAT-L8TX_180115_01_E09,-6.9093437,8.979541 +10X_cells.AAGCCGCTCTTGTTTG-L8TX_180115_01_G11,-6.963542,9.542437 +10X_cells.CACAGGCAGTGTTGAA-L8TX_180115_01_G09,-1.841853,7.4570427 +10X_cells.TGGACGCGTCAGATAA-L8TX_180115_01_F10,-8.1762905,10.63831 +10X_cells.CAGGTGCGTTCAGTAC-L8TX_171120_01_H07,-7.72194,9.179182 +10X_cells.GTAACTGTCCATGCTC-L8TX_171120_01_H07,-7.28062,9.138634 +10X_cells.CCTAAAGGTCACAAGG-L8TX_180115_01_G08,-8.070403,10.752503 +10X_cells.CTAATGGAGAGGTTGC-L8TX_171120_01_C07,-1.5966489,7.1897473 +10X_cells.TGGGAAGGTCATTAGC-L8TX_180115_01_H08,-5.919892,9.574213 +10X_cells.GCTCTGTGTCTAGTGT-L8TX_180115_01_D08,-4.8192215,8.691713 +10X_cells.AAGGAGCGTGTTTGTG-L8TX_171120_01_D07,-7.6621995,10.831568 +10X_cells.GCTTCCATCACCGGGT-L8TX_171120_01_D07,-6.321151,8.410755 +10X_cells.TCTTCGGTCCTAGTGA-L8TX_171120_01_D07,-5.6700444,7.532193 +10X_cells.AGGGAGTGTGTAATGA-L8TX_171120_01_E07,-7.0735846,10.452796 +10X_cells.CCGGTAGCACTTGGAT-L8TX_171120_01_E07,-4.0839562,8.222409 +10X_cells.CTCTACGAGGATGTAT-L8TX_171120_01_E07,-7.946608,11.381776 +10X_cells.GCTCTGTCACTTCTGC-L8TX_171120_01_E07,-5.722003,8.395561 +Smartseq_cells.LS-15009_S83_E1-50,-7.976962,9.150223 +Smartseq_cells.LS-15061_S80_E1-50,-8.120288,10.640407 +Smartseq_cells.LS-15354_S92_E1-50,-8.198266,10.329934 +Smartseq_cells.LS-15363_S82_E1-50,-8.0248165,9.298903 +Smartseq_cells.LS-15513_S27_E1-50,-8.011348,11.482396 +Smartseq_cells.LS-15514_S09_E1-50,-8.275403,10.298523 +Smartseq_cells.LS-15514_S11_E1-50,-7.905943,9.0988 +Smartseq_cells.SM-D9E5X_S59_E1-50,-8.254091,10.717701 +Smartseq_cells.SM-D9E61_S84_E1-50,-8.123882,9.850538 +Smartseq_cells.SM-GE64U_S035_E1-50,-7.696987,9.468376 +Smartseq_cells.SM-GE65Z_S123_E1-50,-7.529214,9.071225 +Smartseq_cells.SM-GE65Z_S125_E1-50,-8.2760515,10.226225 +Smartseq_cells.SM-GE65Z_S152_E1-50,-8.218622,10.805663 +Smartseq_cells.SM-GE65Z_S162_E1-50,-8.229683,10.535077 +10X_cells.AAGTCTGCACCAGGCT-L8TX_180221_01_F09,-3.1843734,12.254735 +10X_cells.ATAACGCTCCATGCTC-L8TX_180221_01_F09,-0.63192326,8.497725 +10X_cells.CCGGTAGCAAGTAATG-L8TX_180221_01_F09,-2.1027014,12.743985 +10X_cells.CGTGTCTAGTCAAGCG-L8TX_180221_01_F09,-0.64343125,11.853161 +10X_cells.CTCGAAACACGAAATA-L8TX_180221_01_F09,-0.7974663,6.44762 +10X_cells.AACTCTTCACCGTTGG-L8TX_180221_01_G09,2.6188579,7.3386507 +10X_cells.AGGCCACAGCTGCGAA-L8TX_180221_01_G09,-0.5980832,6.4076104 +10X_cells.GGCTCGAAGCTAAGAT-L8TX_180221_01_H09,-6.3592544,8.911296 +10X_cells.TGCCCATCAACTTGAC-L8TX_180221_01_H09,-2.7900867,8.127796 +10X_cells.CATCGGGTCAGGTAAA-L8TX_180221_01_A10,0.21765499,7.2012315 +10X_cells.CGTCTACCAAGCTGTT-L8TX_180221_01_A10,-5.6134415,11.355847 +10X_cells.GAAGCAGGTCTTCGTC-L8TX_180221_01_A10,-4.76641,7.8428535 +10X_cells.GCGCAGTAGGAGTAGA-L8TX_180221_01_A10,-2.2695525,6.7698593 +10X_cells.CATATTCCATCAGTAC-L8TX_180221_01_B10,-0.5858468,6.535203 +10X_cells.CTCCTAGGTAAGGGCT-L8TX_180221_01_B10,-6.9231653,8.381887 +10X_cells.GAATAAGTCGCCATAA-L8TX_180221_01_B10,-5.9845705,7.838829 +10X_cells.GAGGTGAGTTGAGGTG-L8TX_180221_01_B10,-4.4299264,6.2616987 +10X_cells.AGCGTATCATCCTAGA-L8TX_180221_01_C10,-7.065848,10.823792 +10X_cells.AGGCCGTAGACAAGCC-L8TX_180221_01_C10,-4.5342865,7.015748 +10X_cells.CATCAGACACCATCCT-L8TX_180406_01_F02,-0.45145437,7.46694 +10X_cells.CCATGTCGTACGAAAT-L8TX_180406_01_F02,-1.829651,7.1279707 +10X_cells.GGATTACAGGGCATGT-L8TX_180406_01_F02,0.5659611,6.4094872 +10X_cells.ACTTTCACAAACTGTC-L8TX_180406_01_C06,1.7690383,6.7065506 +10X_cells.ATTATCCGTCCGCTGA-L8TX_180406_01_C06,-2.2987602,7.2015014 +10X_cells.CAGCGACTCGCAAGCC-L8TX_180406_01_C06,-2.0868013,14.63509 +10X_cells.CTAGTGAAGGCTAGAC-L8TX_180406_01_C06,-5.5245237,8.110263 +10X_cells.GACCAATTCTGATTCT-L8TX_180406_01_C06,-0.7918676,7.192923 +10X_cells.GGCTGGTGTGTTTGTG-L8TX_180406_01_C06,-2.526708,7.6460094 +Smartseq_cells.SM-DD45T_S048_E1-50,3.2925723,6.761093 +Smartseq_cells.SM-DD45T_S172_E1-50,5.217739,5.491794 +Smartseq_cells.SM-GE63L_S332_E1-50,-5.774918,7.679718 +Smartseq_cells.SM-GE67T_S162_E1-50,-5.383236,7.0628223 +Smartseq_cells.SM-GE67T_S251_E1-50,-7.009539,8.136924 +10X_cells.ATTACTCTCAACCATG-L8TX_180221_01_H12,-3.1324298,11.342973 +10X_cells.CACACTCCATAAAGGT-L8TX_180221_01_H12,-2.7195485,7.630308 +10X_cells.TACCTATAGGGCTTGA-L8TX_180221_01_H12,-3.8734012,7.3471994 +10X_cells.CGTTCTGAGACTAGGC-L8TX_180221_01_E09,-4.7658753,6.7725205 +10X_cells.CATCAGATCTAACTGG-L8TX_180221_01_C09,-4.240837,6.8890452 +10X_cells.CGTCACTAGCCGGTAA-L8TX_180221_01_C09,-3.7928553,8.174965 +10X_cells.TCACGAACAAGGACAC-L8TX_180221_01_C09,1.8209485,6.469101 +10X_cells.AATCGGTGTCCAACTA-L8TX_180221_01_D09,1.5899733,6.7370744 +10X_cells.ACACCAAGTTTAGGAA-L8TX_180221_01_D09,-2.9557605,10.445411 +10X_cells.ATCTACTAGATGAGAG-L8TX_180221_01_D09,-4.014505,9.171597 +10X_cells.CGGACGTAGTGTGGCA-L8TX_180221_01_D09,-3.9143817,7.84082 +10X_cells.GAAATGAGTGACTCAT-L8TX_180221_01_D09,-3.9679086,8.421412 +10X_cells.GGTGAAGTCAGCTGGC-L8TX_180221_01_D09,-1.6456801,6.78978 +10X_cells.TGTTCCGTCACCCGAG-L8TX_180221_01_D09,-0.350447,7.5483413 +10X_cells.CAACCAAGTACCGTAT-L8TX_180607_01_C05,-3.281243,7.2084985 +10X_cells.CGAGCCATCTGGCGAC-L8TX_180607_01_C05,-5.77441,9.645396 +10X_cells.GCATGCGCAATGTTGC-L8TX_180607_01_C05,-3.0438426,9.026065 +10X_cells.GCGCAACCAGATGGGT-L8TX_180607_01_C05,-2.471266,8.4448185 +10X_cells.GGAATAAAGCCCTAAT-L8TX_180607_01_C05,-3.8645515,8.840854 +10X_cells.GGTATTGGTTACGACT-L8TX_180607_01_C05,-5.0822463,10.834196 +10X_cells.CGTTAGAGTGCGAAAC-L8TX_180712_01_G05,-3.523343,8.391558 +10X_cells.CTGATCCCAACACGCC-L8TX_180712_01_G05,-5.910404,10.009285 +10X_cells.TAGGCATTCTGCGGCA-L8TX_180712_01_G05,-4.4474316,6.4977965 +10X_cells.AGCTCCTTCGTACGGC-L8TX_180712_01_B06,-4.7292953,6.971514 +10X_cells.AGTGTCAGTGTTCTTT-L8TX_180712_01_B06,-3.6401281,9.402841 +10X_cells.CACACCTTCGTTTAGG-L8TX_180712_01_B06,-0.8198741,6.676406 +10X_cells.CCATTCGGTGATGCCC-L8TX_180712_01_B06,-5.77916,7.558877 +10X_cells.CGAGAAGCATACGCTA-L8TX_180712_01_B06,-4.739533,10.365232 +10X_cells.CGTCACTCAGTAACGG-L8TX_180712_01_B06,-3.3845916,7.417332 +10X_cells.CTCATTAAGCCTTGAT-L8TX_180712_01_B06,0.7041869,7.1298876 +10X_cells.TCTATTGTCAAACCAC-L8TX_180712_01_B06,-2.7923255,7.602943 +10X_cells.TGACTAGAGGAGTCTG-L8TX_180712_01_B06,-4.6352544,6.8915915 +10X_cells.TGGCCAGTCTACTATC-L8TX_180712_01_B06,-5.2405124,10.149942 +10X_cells.ACAGCCGCAACTGCGC-L8TX_180712_01_C06,-4.950969,6.7932725 +10X_cells.CATGGCGTCTCACATT-L8TX_180712_01_C06,-4.0220237,9.050379 +Smartseq_cells.SM-GE67M_S368_E1-50,-4.1273785,6.882961 +Smartseq_cells.LS-15023_S64_E1-50,-7.8420143,10.617823 +Smartseq_cells.LS-15047_S12_E1-50,-6.071499,7.4597025 +Smartseq_cells.LS-15047_S67_E1-50,-7.5465565,10.791127 +Smartseq_cells.LS-15047_S77_E1-50,-6.9525213,11.694012 +Smartseq_cells.LS-15087_S61_E1-50,-6.6398945,8.469118 +Smartseq_cells.LS-15087_S64_E1-50,-7.01076,9.429875 +Smartseq_cells.LS-15087_S66_E1-50,-7.8901343,9.4943495 +Smartseq_cells.LS-15305_S71_E1-50,-4.0319467,6.034128 +Smartseq_cells.LS-15322_S02_E2-50,-7.854839,10.614063 +Smartseq_cells.LS-15325_S12_E2-50,-6.88891,8.424375 +Smartseq_cells.LS-15331_S94_E1-50,-5.579652,7.9191318 +Smartseq_cells.LS-15338_S45_E1-50,-6.2837467,7.750602 +Smartseq_cells.LS-15338_S46_E1-50,-7.4394646,10.790101 +Smartseq_cells.LS-15339_S10_E1-50,-6.2995024,7.7322817 +Smartseq_cells.LS-15339_S13_E1-50,-7.701442,11.143468 +Smartseq_cells.LS-15339_S20_E1-50,-6.879061,8.736153 +Smartseq_cells.LS-15367_S53_E1-50,-5.524011,7.118237 +Smartseq_cells.SM-D9EPG_S68_E1-50,-6.7720313,7.911341 +Smartseq_cells.SM-D9EPG_S77_E1-50,-6.9096403,8.456563 +Smartseq_cells.SM-D9EPG_S78_E1-50,-7.4756293,8.5772295 +Smartseq_cells.SM-D9EPG_S88_E1-50,-6.44844,7.915629 +Smartseq_cells.SM-D9EPG_S89_E1-50,-4.2850924,6.2203116 +Smartseq_cells.SM-D9EPH_S78_E1-50,-7.608083,9.32753 +Smartseq_cells.SM-D9D13_S88_E1-50,-6.8195806,9.410143 +Smartseq_cells.SM-D9D14_S52_E1-50,-4.0194154,6.028795 +Smartseq_cells.SM-D9D14_S53_E1-50,-4.6779103,6.905613 +Smartseq_cells.SM-D9D14_S54_E1-50,-5.335903,7.114292 +Smartseq_cells.SM-D9D7O_S24_E1-50,-5.7371407,7.371738 +Smartseq_cells.SM-D9D7O_S32_E1-50,-7.565475,8.850874 +Smartseq_cells.SM-D9E5X_S89_E1-50,-6.477855,7.734224 +Smartseq_cells.SM-GE659_S058_E1-50,-5.38269,11.578739 +Smartseq_cells.SM-GE64U_S053_E1-50,-7.184613,8.430533 +Smartseq_cells.SM-GE64U_S054_E1-50,-7.650623,8.762536 +10X_cells.GTGTTAGGTGGCAAAC-L8TX_180829_01_D09,-3.4725368,8.304264 +10X_cells.TTAGGACCAGTCGTGC-L8TX_180829_01_D09,-1.5285286,6.1506705 +10X_cells.ACGAGGAAGCCGGTAA-L8TX_180829_01_D10,1.4218528,6.938979 +10X_cells.ACTTTCACACTCTGTC-L8TX_180829_01_D10,0.15066719,6.215839 +10X_cells.CATGCCTGTAGCAAAT-L8TX_180829_01_D10,-0.5923758,6.4153905 +10X_cells.GCACATAAGAGTAAGG-L8TX_180829_01_D10,0.38945338,7.414393 +10X_cells.TCGTAGAGTAGGCTGA-L8TX_180829_01_D10,2.8546157,6.7706556 +10X_cells.GTGCAGCCAGTAAGAT-L8TX_180829_01_E10,0.5512455,6.6009994 +10X_cells.TCATTTGCAGAGCCAA-L8TX_180829_01_E10,-4.9527745,10.41172 +10X_cells.CTTGGCTGTACCGAGA-L8TX_180907_01_F10,2.025017,10.07807 +10X_cells.TCAGGATAGCACGCCT-L8TX_181011_01_G02,-4.34412,10.647903 +10X_cells.CGGACTGCAGGATTGG-L8TX_181011_01_C04,0.6516077,6.771816 +10X_cells.GGGCATCTCGGAATCT-L8TX_181012_01_G04,-3.743114,9.3047 +10X_cells.AGAATAGAGGTAGCTG-L8TX_181012_01_H04,0.9637683,6.7812157 +10X_cells.GGTGAAGCAGCGTAAG-L8TX_181012_01_H04,-4.8408194,6.7669835 +10X_cells.CTGGTCTTCACCACCT-L8TX_181012_01_E05,0.62840647,6.8359427 +10X_cells.GCGCAACGTTGGAGGT-L8TX_181012_01_E05,-0.669742,7.1642084 +10X_cells.GGGACCTTCAGCAACT-L8TX_181012_01_E05,-1.5303543,6.3835754 +10X_cells.CGAGAAGAGTGTCCAT-L8TX_180406_01_H01,-1.1231936,7.907646 +10X_cells.TGCCCATGTTCCACTC-L8TX_180406_01_H01,-3.2136242,8.545399 +10X_cells.ATTTCTGGTATGGTTC-L8TX_180406_01_H02,1.2179471,7.222365 +10X_cells.CGTGTAATCCACGAAT-L8TX_180406_01_H02,0.91647583,6.267871 +10X_cells.TAGGCATCAGATTGCT-L8TX_180406_01_H02,-1.5569978,6.9285574 +10X_cells.CAGGTGCCATGCTAGT-L8TX_180406_01_E06,-4.187821,8.283036 +10X_cells.GGAATAATCTGTTGAG-L8TX_180406_01_E06,-0.501287,8.352404 +10X_cells.TTCTCCTTCGATGAGG-L8TX_180406_01_C08,-2.7102895,8.30505 +10X_cells.AGAGCTTAGGCCCTTG-L8TX_180406_01_C07,-1.8566352,8.977034 +10X_cells.TAGCCGGAGAGCCCAA-L8TX_180406_01_C07,0.8390928,6.6549916 +Smartseq_cells.SM-GE5VA_S079_E1-50,-7.7026153,9.381013 +Smartseq_cells.SM-GE5V6_S130_E1-50,4.4640274,5.9492087 +Smartseq_cells.SM-GE5V6_S149_E1-50,-5.8531446,7.888014 +10X_cells.CCGGGATGTAGCAAAT-L8TX_200625_02_F11,-2.6943562,6.6292977 +10X_cells.ACACCCTGTCGAATCT-L8TX_171026_01_H03,-6.982348,10.04535 +10X_cells.CAGCATATCTTACCTA-L8TX_171026_01_F04,-6.4405513,9.835058 +10X_cells.GCCTCTACAATCCAAC-L8TX_171026_01_G04,-4.40606,7.2009306 +10X_cells.GAGGTGAGTCCAGTGC-L8TX_171026_01_F04,-8.064493,10.130903 +10X_cells.GTGCGGTAGAGTACAT-L8TX_171026_01_G04,-3.0801282,6.8319826 +10X_cells.TCACGAATCGGTTAAC-L8TX_171026_01_H03,-4.9118176,10.305323 +10X_cells.GGAACTTGTAGCCTAT-L8TX_171026_01_F04,-7.554822,9.82331 +10X_cells.CGTTGGGCACAACTGT-L8TX_171026_01_G04,-5.8226275,7.883603 +10X_cells.GCGCGATGTCAAAGAT-L8TX_171026_01_H03,-0.5812425,6.1283426 +10X_cells.GCCTCTAAGGGTGTGT-L8TX_171026_01_H04,-6.531981,10.293532 +10X_cells.TAAGCGTCAGCAGTTT-L8TX_171026_01_E05,-5.1474395,7.5445604 +10X_cells.CGTGAGCTCAAGGTAA-L8TX_171026_01_H04,-6.798565,8.598043 +10X_cells.GTAACGTTCACTCTTA-L8TX_171026_01_H03,-5.0120783,10.051901 +10X_cells.TGACGGCTCTTAGAGC-L8TX_171026_01_G04,-7.503174,12.466388 +10X_cells.GGATTACGTTGACGTT-L8TX_171026_01_H04,-6.5101175,8.563187 +10X_cells.AAGCCGCTCCCTTGCA-L8TX_171026_01_F04,-6.453908,9.476376 +10X_cells.CGATTGAAGCGAAGGG-L8TX_171026_01_H05,-7.90399,11.333885 +10X_cells.AGAGCTTTCGGAAATA-L8TX_171026_01_G03,-5.8577952,10.601049 +10X_cells.CGTGTCTCAGCCAGAA-L8TX_171026_01_H04,-5.076878,8.816557 +10X_cells.TGCGCAGAGATGTAAC-L8TX_171026_01_G04,-7.2718306,10.954181 +10X_cells.AGTAGTCTCAGCCTAA-L8TX_171026_01_H04,-3.7907267,11.14617 +10X_cells.GGGCATCAGGCAATTA-L8TX_171026_01_F04,-6.5320797,8.1417675 +10X_cells.CGAGAAGCATGGAATA-L8TX_171026_01_G03,1.6635987,6.2658916 +10X_cells.TTCGAAGGTAAGGATT-L8TX_171026_01_C05,-4.1594486,9.393062 +10X_cells.CCGTTCAGTCTAAACC-L8TX_171026_01_F04,-3.1248655,9.707178 +10X_cells.GCGCCAAAGCTAACAA-L8TX_171026_01_F05,-3.546251,10.146851 +10X_cells.GTCAAGTGTAGCGCAA-L8TX_171026_01_B05,-5.016515,8.890918 +10X_cells.AAGGCAGTCACAATGC-L8TX_171026_01_A04,-5.149506,7.246224 +10X_cells.TACACGAAGTAGATGT-L8TX_171026_01_D05,-6.5928607,11.080783 +10X_cells.GATCTAGGTGTAACGG-L8TX_171026_01_E05,-3.4099867,8.25664 +10X_cells.TGGTTAGAGCCACTAT-L8TX_171026_01_F03,-3.0981467,6.989965 +10X_cells.ATTTCTGTCGACGGAA-L8TX_171026_01_H05,-6.1751595,7.6067996 +10X_cells.TGTGTTTTCACAGTAC-L8TX_171026_01_G04,-6.7671127,9.33052 +10X_cells.CACTCCAGTGGTAACG-L8TX_171026_01_B05,-4.4918933,9.339625 +10X_cells.TGAGCATAGGTAGCCA-L8TX_171026_01_H04,-5.604034,10.228014 +10X_cells.ACTTGTTCAAATACAG-L8TX_171026_01_F03,-4.614343,8.331299 +10X_cells.GCGCAACCATATGCTG-L8TX_171026_01_A05,-5.620759,11.050988 +10X_cells.CTCGTCAAGGCTAGCA-L8TX_171026_01_H03,-4.982756,9.233404 +10X_cells.TTCTCCTGTCTCATCC-L8TX_171026_01_G05,-5.0537524,6.6522813 +10X_cells.GGTGTTATCGCCTGTT-L8TX_171026_01_A04,-6.82003,10.097062 +10X_cells.GGCTCGAAGTGTGGCA-L8TX_171026_01_F03,-5.1311107,10.291899 +Smartseq_cells.SM-DD44L_S30_E1-50,-7.8709006,9.801748 +Smartseq_cells.SM-GE935_S043_E1-50,-5.5393705,7.2046547 +Smartseq_cells.SM-GE935_S196_E1-50,-7.706849,9.6898775 +Smartseq_cells.SM-GE935_S242_E1-50,-6.913546,9.033902 +Smartseq_cells.SM-GE935_S290_E1-50,-7.8251805,9.522792 +Smartseq_cells.SM-GE92H_S274_E1-50,-6.7914653,8.012519 +Smartseq_cells.SM-GE92H_S284_E1-50,-7.7892,9.262075 +Smartseq_cells.SM-GE92I_S254_E1-50,-7.3427534,10.740322 +Smartseq_cells.SM-GE92I_S262_E1-50,-6.555714,7.966422 +Smartseq_cells.SM-GE92I_S269_E1-50,-4.316433,6.1381044 +Smartseq_cells.SM-GE92L_S030_E1-50,-7.8701982,9.722191 +Smartseq_cells.SM-GE92L_S035_E1-50,-7.1768394,9.309369 +Smartseq_cells.SM-GE92L_S041_E1-50,-6.4870586,8.224361 +Smartseq_cells.SM-GE92L_S172_E1-50,-6.914943,10.536895 +Smartseq_cells.SM-GE92L_S233_E1-50,-7.796362,11.752096 +Smartseq_cells.SM-GE92L_S246_E1-50,-7.587514,11.270932 +Smartseq_cells.SM-GE92L_S259_E1-50,-7.475759,11.810867 +Smartseq_cells.SM-GE92M_S051_E1-50,-7.140766,8.383109 +Smartseq_cells.SM-GE92M_S088_E1-50,-6.8946233,8.033021 +10X_cells.TGTGTTTGTCCGTTAA-L8TX_181206_01_A12,-7.380096,10.974524 +10X_cells.TAAGTGCTCGCTGATA-L8TX_181206_01_B12,-3.9935615,7.0114193 +10X_cells.TAGGCATAGGTGCAAC-L8TX_181206_01_C12,-1.8628032,6.568811 +10X_cells.TCGGGACAGTCACGCC-L8TX_180406_01_B01,-1.7449034,6.688172 +10X_cells.CAGAGAGGTTCCATGA-L8TX_180406_01_C01,0.44248328,7.565078 +10X_cells.AGAGCTTTCTATGTGG-L8TX_180406_01_D01,1.4570018,7.356968 +10X_cells.ACGATGTCAGCTGCAC-L8TX_180406_01_E01,0.59406406,7.9759984 +10X_cells.TTAACTCAGACAGAGA-L8TX_180406_01_G01,-1.1828794,9.559278 +10X_cells.GGAATAATCCTGCAGG-L8TX_180406_01_B02,-0.2527849,6.814068 +10X_cells.GCGGGTTAGTGTTAGA-L8TX_180406_01_C02,-5.1523046,7.2362723 +10X_cells.ACGGGCTAGCGTAGTG-L8TX_180406_01_D02,1.1698439,6.853707 +10X_cells.ATGAGGGGTAATAGCA-L8TX_190312_01_D02,-3.7322974,6.6816907 +10X_cells.AACTCAGGTGCTGTAT-L8TX_180221_01_D10,-1.1021684,6.9681964 +10X_cells.GAGTCCGCAGGTGGAT-L8TX_180221_01_D10,-4.8109117,7.3113613 +10X_cells.ACGTCAAGTAAGCACG-L8TX_180221_01_E10,2.7121496,7.0300155 +10X_cells.CACAAACAGGATGGTC-L8TX_180221_01_E10,-2.5276513,6.742236 +10X_cells.CGGCTAGCATCCCATC-L8TX_180221_01_E10,-3.7343118,7.915252 +10X_cells.GTAACGTGTACCAGTT-L8TX_180221_01_E10,0.10037051,9.328706 +10X_cells.AAAGATGAGGGTTTCT-L8TX_180221_01_F10,-1.0815834,8.591913 +10X_cells.CATGGCGGTTATGCGT-L8TX_180221_01_F10,-2.4663563,8.324163 +10X_cells.GCGCAACCAGTAACGG-L8TX_180221_01_F10,-1.2609235,8.762623 +10X_cells.GCTGCGATCGGAATCT-L8TX_180221_01_F10,-2.0638418,6.881461 +10X_cells.GTGCATATCTAACTCT-L8TX_180221_01_F10,-0.15338056,7.637124 +10X_cells.CACCTTGCAAGGTGTG-L8TX_180221_01_H10,-2.0576205,8.243229 +10X_cells.CCCATACTCTGGTTCC-L8TX_180221_01_H10,-4.050859,6.931746 +10X_cells.ATTTCTGCATGAGCGA-L8TX_190312_01_C02,-0.86326355,7.8110285 +10X_cells.AGATCTGAGAAGGTTT-L8TX_190312_01_D02,-4.8326426,6.9924693 +10X_cells.ATCATGGTCGTTGACA-L8TX_190312_01_D02,0.36389878,6.3653173 +10X_cells.TCGGGACAGCACAGGT-L8TX_190312_01_D02,1.5824574,6.431987 +10X_cells.TGCCAAAAGACTAAGT-L8TX_190312_01_D02,1.6158977,6.200622 +10X_cells.ACTTACTTCAACACTG-L8TX_190312_01_G02,-3.8861797,11.15386 +10X_cells.CACTCCACAGATCTGT-L8TX_180907_01_B11,0.08675387,6.1933084 +10X_cells.CCTCTGACAGGGTACA-L8TX_180907_01_B11,-7.776613,9.590287 +10X_cells.TGAGAGGAGGCCATAG-L8TX_180907_01_B11,4.382727,5.3463507 +10X_cells.CACAGTACAGATAATG-L8TX_180926_01_E12,-4.8084426,9.2397995 +10X_cells.TCTTTCCAGTGGTAAT-L8TX_180926_01_E12,-2.6761508,8.425477 +10X_cells.CCTTCCCCATGTAGTC-L8TX_181012_01_B05,-1.8284608,6.7872143 +10X_cells.AGACGTTCAGCTTCGG-L8TX_181012_01_C05,-5.2823215,8.008972 +10X_cells.GTGGGTCGTGGTCCGT-L8TX_181012_01_C05,-2.3221316,6.8345714 +10X_cells.TCTCTAAAGGCCCTTG-L8TX_181012_01_C05,-7.2810974,11.109469 +Smartseq_cells.SM-GE95K_S109_E1-50,-7.921303,9.10539 +Smartseq_cells.SM-GE8XO_S100_E1-50,-5.4617643,7.3841376 +10X_cells.CCTATTAGTTTACTCT-L8TX_180221_01_B11,-5.969299,7.7631764 +10X_cells.CGATCGGTCGTCCGTT-L8TX_180221_01_D11,-7.3573866,12.053362 +10X_cells.GCCAAATCAGACGCAA-L8TX_180221_01_D11,-2.7821922,15.293332 +Smartseq_cells.SM-GE67Q_S041_E1-50,-4.5014277,14.456424 +10X_cells.CCATTCGCATATACCG-L8TX_180907_01_A12,-1.8091594,7.0194235 +10X_cells.AGCGTATTCTCTGTCG-L8TX_180907_01_B12,-4.254469,6.8596773 +10X_cells.CCATGTCTCACATGCA-L8TX_180907_01_B12,-2.81625,8.812023 +Smartseq_cells.SM-GE5US_S235_E1-50,-4.8225245,6.485826 +10X_cells.CAACCTCTCTTAGAGC-L8TX_180926_01_E01,-0.6521897,6.4733233 +10X_cells.ATTACTCTCACTTACT-L8TX_180926_01_F01,-6.261297,8.882407 +10X_cells.CCCAGTTGTGTTTGGT-L8TX_180926_01_F01,-2.6388457,7.472586 +10X_cells.CTCGTACTCGAGAGCA-L8TX_180926_01_F01,-1.6447662,6.377203 +10X_cells.CCTTCGATCTGAGGGA-L8TX_181011_01_B03,-2.0937753,6.6853085 +10X_cells.GATTCAGGTCGGGTCT-L8TX_181011_01_B03,0.3077486,6.2909007 +10X_cells.GTACTTTCATATGGTC-L8TX_181011_01_B03,0.10456361,6.216334 +10X_cells.TAAACCGTCCCAACGG-L8TX_181011_01_B03,-3.3633788,9.803532 +10X_cells.TGAGAGGCAGCCTTTC-L8TX_181011_01_C03,-2.9384186,9.018769 +10X_cells.TTATGCTAGCATCATC-L8TX_181011_01_C03,-4.940524,10.14171 +Smartseq_cells.SM-GE914_S363_E1-50,-6.53206,7.7306113 +10X_cells.AGATTGCCAGAGCCAA-L8TX_180221_01_B12,1.1773878,7.2136173 +10X_cells.AACCGCGGTGCTTCTC-L8TX_180712_01_E05,-0.23277551,7.1050243 +10X_cells.CCATTCGAGACGCAAC-L8TX_180712_01_E05,-0.09456167,7.662072 +10X_cells.CGTTCTGCACAGCGTC-L8TX_180712_01_E05,0.49134094,7.4412127 +10X_cells.GCACATACACATGACT-L8TX_180712_01_E05,-2.183242,7.3114247 +10X_cells.TCAGGATTCAAGGCTT-L8TX_180712_01_E05,-1.1257865,7.12435 +10X_cells.CTGGTCTGTAAATGTG-L8TX_180712_01_F05,-0.10723473,7.504979 +10X_cells.GACACGCAGTGGAGTC-L8TX_180712_01_F05,-4.5605197,10.239211 +10X_cells.GGGTTGCAGTGGAGAA-L8TX_180712_01_F05,1.7244774,6.233007 +10X_cells.TATCAGGTCGTGGTCG-L8TX_180712_01_F05,-2.970159,6.943698 +10X_cells.ACTGAGTAGCGTCTAT-L8TX_180712_01_H05,6.3712697,6.0489717 +10X_cells.CACAGGCTCTAACTCT-L8TX_180712_01_H05,-4.520987,6.87835 +10X_cells.CTGCCTATCGTTGACA-L8TX_180712_01_H05,-2.1665242,6.753321 +10X_cells.GCACTCTTCGTTTGCC-L8TX_180712_01_H05,-1.7961181,7.663019 +10X_cells.GTGCAGCAGATCTGCT-L8TX_180712_01_H05,-3.0354574,6.773467 +10X_cells.TGAGAGGCATTCTTAC-L8TX_180712_01_H05,-3.435398,10.7393675 +10X_cells.CAGCGACTCAAACCGT-L8TX_180712_01_A06,-2.53564,6.5132537 +10X_cells.CGAACATGTTCGGGCT-L8TX_180712_01_A06,-4.692018,6.8864913 +10X_cells.CTCGAGGTCCGCTGTT-L8TX_180712_01_A06,-2.4367688,7.552419 +10X_cells.CTGATAGGTCCGAGTC-L8TX_180712_01_A06,-0.5385747,6.5348363 +10X_cells.GCAAACTTCGGAAATA-L8TX_180712_01_A06,-6.571657,7.936108 +10X_cells.TGCCAAAAGGCCCTCA-L8TX_180712_01_A06,-4.2570057,9.813805 +10X_cells.TTCGGTCGTGCCTGGT-L8TX_180712_01_A06,0.06590572,6.7626553 +10X_cells.ACACCCTGTAAATGTG-L8TX_180504_01_E01,-1.5735073,6.5160556 +10X_cells.CCTTCCCCAACACCTA-L8TX_180504_01_E01,0.099879876,7.9756055 +10X_cells.CGAATGTCAAGTTGTC-L8TX_180504_01_E01,1.1960409,7.2088804 +10X_cells.CTCATTACACGTCAGC-L8TX_180504_01_E01,0.8690902,6.6483965 +10X_cells.TGCTGCTGTAGCCTCG-L8TX_180504_01_E01,-1.6977303,7.847443 +10X_cells.AACGTTGAGAGTCGGT-L8TX_180221_01_A12,-0.3455712,6.97639 +10X_cells.CACAGGCGTGTGAAAT-L8TX_180221_01_A12,-1.8329973,10.758549 +10X_cells.CACCACTTCCGTTGTC-L8TX_180221_01_A12,-1.7387214,6.291992 +10X_cells.CAGCAGCAGGCATGGT-L8TX_180221_01_A12,-0.75755566,6.804352 +10X_cells.CTAATGGCACTTGGAT-L8TX_180221_01_A12,-1.5572543,7.3791265 +10X_cells.GGCCGATCATTAGGCT-L8TX_180221_01_A12,-0.408383,6.6754313 +10X_cells.TTTCCTCGTAGGCATG-L8TX_180221_01_A12,-4.059879,6.3443336 +10X_cells.ATCTACTTCCCACTTG-L8TX_180221_01_B12,1.4931425,7.1188436 +10X_cells.CTGCGGAGTGTGAATA-L8TX_180221_01_B12,0.20029007,7.622445 +10X_cells.TGCCAAAAGCTTATCG-L8TX_180221_01_B12,-2.1938255,6.947733 +10X_cells.CTACCCAAGCCACGTC-L8TX_180221_01_C12,1.5290633,6.9189544 +10X_cells.CACAGGCAGTCGCCGT-L8TX_180221_01_H11,-0.7882651,7.092377 +10X_cells.TTCGAAGGTTCCATGA-L8TX_180221_01_H11,-0.5799502,6.75057 +10X_cells.ATTCTACTCTTGTATC-L8TX_200611_02_A05,-4.4289637,6.780792 +10X_cells.GTTCTCGCAACGCACC-L8TX_200611_02_A05,-1.5043153,6.985909 +Smartseq_cells.SM-GE679_S161_E1-50,-5.2562747,7.0955057 +10X_cells.AGTCTTTCATGCGCAC-L8TX_180115_01_G10,-0.3919005,7.189558 +10X_cells.CTAGCCTAGATACACA-L8TX_180115_01_C09,4.3845677,5.1980433 +10X_cells.GATCGCGGTCGCCATG-L8TX_180115_01_G09,-3.1806262,7.6999025 +10X_cells.GTCGTAAAGACCCACC-L8TX_180115_01_C11,-4.7107067,7.4576063 +10X_cells.TGCGGGTAGCTAACTC-L8TX_180115_01_C11,-0.02893387,7.425393 +10X_cells.TAGAGCTTCGTCGTTC-L8TX_180115_01_H10,-6.409183,9.409951 +10X_cells.TAGCCGGCACAACGTT-L8TX_180115_01_H10,-0.9962764,6.215151 +10X_cells.AGCTCTCGTTCAGACT-L8TX_180115_01_C11,-2.0245295,6.756659 +10X_cells.TCGTACCCAATCACAC-L8TX_180115_01_F10,-3.4040375,7.433502 +10X_cells.ACTTTCATCGCTTAGA-L8TX_180115_01_F11,-4.936081,8.0291395 +10X_cells.AACTTTCTCTATGTGG-L8TX_180115_01_A11,-5.449386,7.6952653 +10X_cells.CGAGCCATCGTTTATC-L8TX_180115_01_B09,-2.9732878,7.620088 +10X_cells.AACCGCGAGCCACTAT-L8TX_180115_01_H10,-5.8517847,9.294261 +10X_cells.GGTGAAGTCCCAACGG-L8TX_180115_01_G10,4.0049486,7.013083 +10X_cells.ACCTTTACAAGAGTCG-L8TX_180115_01_D11,-4.0815234,6.4701443 +10X_cells.CAGCCGATCACCACCT-L8TX_180115_01_D10,-1.4652946,7.1270766 +10X_cells.GCTGCTTAGATATGGT-L8TX_180115_01_F11,-1.6124954,6.337761 +10X_cells.GGACGTCGTACCCAAT-L8TX_180115_01_H09,-5.628004,9.166416 +10X_cells.CCATGTCTCAGGCCCA-L8TX_180115_01_G09,-2.9504735,7.5072765 +10X_cells.CCTACACAGATCACGG-L8TX_180115_01_G10,-2.6900022,7.504538 +10X_cells.GACGGCTGTCCAAGTT-L8TX_180115_01_F10,-1.9778336,7.0097117 +10X_cells.GTCACAATCGTCCGTT-L8TX_180115_01_F10,5.071356,5.216694 +10X_cells.GGGCACTAGGACACCA-L8TX_180115_01_B11,-4.5802484,7.700125 +10X_cells.AGTGGGATCAACGAAA-L8TX_180115_01_G11,-1.9706491,7.4270124 +10X_cells.GATCTAGTCTGAAAGA-L8TX_180115_01_E09,-3.693763,7.2243714 +10X_cells.ACTTACTTCAAACCGT-L8TX_180115_01_G10,-1.3047482,6.4143267 +10X_cells.CTACCCAGTTCGTTGA-L8TX_180115_01_H11,-4.292268,7.1947727 +10X_cells.TAGGCATCAAGAGTCG-L8TX_180115_01_A11,-4.883693,6.5182786 +10X_cells.GATGCTATCGAGAACG-L8TX_180115_01_C11,-6.9917974,10.106289 +10X_cells.CCTTACGTCAACGGGA-L8TX_180115_01_G11,-3.3247502,9.776583 +10X_cells.CGGACACAGCGTTTAC-L8TX_180115_01_A11,-4.9668107,6.905142 +10X_cells.GAATGAAAGCCAGAAC-L8TX_180115_01_G10,-3.007833,7.2038693 +10X_cells.CATCGAACAGACGCAA-L8TX_180115_01_H11,-4.5495524,7.532933 +10X_cells.CGTCAGGAGTTGAGTA-L8TX_180115_01_B09,-5.9346786,9.379973 +10X_cells.TAGGCATTCAATCACG-L8TX_180115_01_F11,-0.12851602,6.321284 +10X_cells.TCTGAGAAGCGGATCA-L8TX_180115_01_D09,2.8653216,6.421797 +10X_cells.CGAGCCACAGCCTATA-L8TX_180115_01_A11,-1.395491,6.3610325 +10X_cells.GTAGGCCTCCGCGCAA-L8TX_180115_01_F11,-4.3447366,7.317339 +10X_cells.TTTCCTCGTCGCTTCT-L8TX_180115_01_C10,-4.6528587,8.81937 +10X_cells.GTTTCTAAGGGTCTCC-L8TX_180115_01_F11,-3.8024802,12.099477 +10X_cells.CTACATTTCTATCCCG-L8TX_180115_01_F10,-6.4660373,10.099971 +10X_cells.CGCTGGAAGATCTGCT-L8TX_180115_01_F10,1.1386353,6.6798964 +10X_cells.TATTACCTCCCATTAT-L8TX_180115_01_E09,-4.8872805,7.5735173 +10X_cells.CGGCTAGCATTTCACT-L8TX_180115_01_H10,-2.078815,6.7250714 +10X_cells.TCCACACCATGGGACA-L8TX_180115_01_D09,3.0252943,6.254554 +10X_cells.TCAATCTAGCCATCGC-L8TX_180115_01_B11,-1.1463377,7.094285 +10X_cells.CAAGATCTCTGACCTC-L8TX_180115_01_H10,2.184131,6.282198 +10X_cells.CGCGTTTGTAGAGTGC-L8TX_180115_01_H11,-5.7368445,7.3912234 +10X_cells.TAAGCGTGTTGTGGAG-L8TX_180115_01_H10,-4.633433,7.4584603 +10X_cells.ACGATGTTCGATGAGG-L8TX_180115_01_B11,-3.9203358,7.6345925 +10X_cells.GATGAGGTCGCTAGCG-L8TX_180115_01_A09,-5.3441005,8.089858 +10X_cells.GAACATCGTTGAACTC-L8TX_180115_01_E11,-6.756587,10.086463 +10X_cells.CACTCCACATACTCTT-L8TX_180115_01_B10,-5.132732,8.949585 +10X_cells.TCGTACCCATGCCTTC-L8TX_180115_01_B09,-1.5771078,6.585527 +Smartseq_cells.SM-GE5PM_S030_E1-50,-7.5030513,8.423951 +Smartseq_cells.SM-GE5PE_S003_E1-50,-7.6836457,10.940641 +10X_cells.AGATCTGTCATGTGGT-L8TX_171120_01_G07,-2.4646833,7.7122345 +10X_cells.CGATCGGGTCGCCATG-L8TX_171120_01_G07,-5.4447455,8.232154 +10X_cells.ACACCCTGTACTTAGC-L8TX_171120_01_H07,-5.065436,7.751192 +10X_cells.TCAACGAGTGAGGGTT-L8TX_171120_01_H07,-3.6028183,10.0171585 +10X_cells.ACGGGCTAGTGGGATC-L8TX_171120_01_C07,-5.5343924,7.858325 +10X_cells.ATCCGAAAGAGTGAGA-L8TX_171120_01_C07,-7.306404,9.137995 +10X_cells.CGTAGCGGTGGTACAG-L8TX_171120_01_C07,-4.903465,9.531605 +10X_cells.TCCCGATCATGGTCAT-L8TX_171120_01_C07,-3.046923,6.572228 +10X_cells.ACGCCAGCAACGATCT-L8TX_171120_01_D07,-7.6448226,11.574873 +10X_cells.CTGAAGTTCCATGAAC-L8TX_171120_01_D07,-4.780356,7.521745 +10X_cells.CATCCACGTCTTCGTC-L8TX_171120_01_E07,-4.6868577,8.191978 +10X_cells.TTTGGTTAGGATGGTC-L8TX_171120_01_E07,-5.2559576,7.520293 +10X_cells.AAACGGGTCATTATCC-L8TX_180115_01_F08,4.4609923,5.7456484 +10X_cells.TGCACCTTCAAGATCC-L8TX_180115_01_C08,-4.0854974,9.61065 +10X_cells.ACTGAACAGGCGACAT-L8TX_180115_01_E08,-7.777178,11.475856 +10X_cells.CATTATCTCGCAGGCT-L8TX_180115_01_E08,-4.3022437,7.191536 +10X_cells.TAGTTGGTCACTTACT-L8TX_180115_01_E08,-1.1167479,6.6487985 +Smartseq_cells.LS-15008_S56_E1-50,-5.825887,7.2715116 +Smartseq_cells.LS-15015_S84_E1-50,-7.3739924,8.260474 +Smartseq_cells.LS-15016_S19_E1-50,-5.7472124,7.042438 +Smartseq_cells.LS-15060_S73_E1-50,-7.3831706,10.516024 +Smartseq_cells.LS-15061_S49_E1-50,-7.2083697,8.546736 +Smartseq_cells.LS-15064_S44_E1-50,-4.666408,6.3514667 +Smartseq_cells.LS-15072_S78_E1-50,-7.0459886,8.225898 +Smartseq_cells.LS-15072_S80_E1-50,-6.52189,8.992355 +Smartseq_cells.LS-15097_S55_E1-50,4.27672,6.1804576 +Smartseq_cells.LS-15305_S93_E1-50,-7.3859944,11.295373 +Smartseq_cells.LS-15307_S94_E1-50,-7.2510366,8.163885 +Smartseq_cells.LS-15352_S63_E1-50,-7.680683,10.956637 +Smartseq_cells.LS-15354_S95_E1-50,-7.489869,8.494076 +Smartseq_cells.LS-15363_S77_E1-50,-7.6205745,9.747017 +Smartseq_cells.LS-15366_S46_E1-50,-7.0735197,10.076001 +Smartseq_cells.LS-15382_S15_E1-50,-7.559507,8.947809 +Smartseq_cells.LS-15509_S86_E2-50,-6.41035,7.630503 +Smartseq_cells.LS-15509_S96_E2-50,-5.447143,6.9379864 +Smartseq_cells.LS-15510_S80_E1-50,-6.5891576,7.963933 +Smartseq_cells.LS-15513_S31_E1-50,-7.777466,9.238193 +Smartseq_cells.LS-15514_S16_E1-50,-7.351047,10.884196 +Smartseq_cells.LS-15544_S57_E1-50,-6.8548584,7.888345 +Smartseq_cells.LS-15544_S74_E1-50,-6.47312,7.642094 +Smartseq_cells.LS-15544_S82_E1-50,-6.8268538,8.070372 +Smartseq_cells.LS-15544_S84_E1-50,-6.70638,7.7787747 +Smartseq_cells.LS-15544_S85_E1-50,-6.5494876,8.1843195 +Smartseq_cells.LS-15546_S46_E1-50,-6.719069,7.8832245 +Smartseq_cells.SM-D9E5J_S92_E1-50,-5.5805798,6.9672136 +Smartseq_cells.SM-D9E5W_S48_E1-50,-6.121106,7.663459 +Smartseq_cells.SM-D9E61_S85_E1-50,-4.4959126,6.2765694 +Smartseq_cells.SM-D9E61_S95_E1-50,-6.942455,8.69545 +Smartseq_cells.SM-D9E63_S59_E1-50,-3.748174,5.950481 +Smartseq_cells.SM-D9E63_S86_E1-50,-5.737486,7.1423297 +Smartseq_cells.SM-DD45K_S138_E1-50,-3.7915635,6.3414617 +Smartseq_cells.SM-DD45L_S050_E1-50,-5.6596546,7.117827 +Smartseq_cells.SM-GE64U_S029_E1-50,-7.395379,8.403126 +Smartseq_cells.SM-GE65Z_S113_E1-50,-7.549469,8.5645075 +Smartseq_cells.SM-GE65Z_S146_E1-50,-8.194189,9.984773 +Smartseq_cells.SM-GE65Z_S148_E1-50,-6.375654,8.072397 +Smartseq_cells.SM-GE65Z_S168_E1-50,-7.4791675,11.478528 +10X_cells.GAAGCAGCACACAGAG-L8TX_180221_01_F09,-4.6804523,10.360131 +10X_cells.CGTCTACAGAAACCTA-L8TX_180221_01_H09,-6.159687,13.555461 +10X_cells.CTTAGGATCCTTGGTC-L8TX_180221_01_H09,-4.831348,9.565581 +10X_cells.CGAATGTGTCCTGCTT-L8TX_180221_01_B10,-4.2541647,8.64407 +10X_cells.CGGAGTCCATCCAACA-L8TX_180221_01_B10,-6.0051804,11.329208 +10X_cells.CCTACACAGTACCGGA-L8TX_180221_01_C10,-5.5601397,11.982705 +10X_cells.TCAATCTAGCTCAACT-L8TX_180221_01_C10,-3.2400904,11.085455 +10X_cells.GAAGCAGAGAGTAATC-L8TX_180221_01_H12,-3.890801,9.035308 +10X_cells.TTTCCTCAGGTGATAT-L8TX_180221_01_H12,-3.0005457,7.9496245 +10X_cells.ACGGGTCAGTGGGATC-L8TX_180221_01_E09,-5.993954,13.391981 +10X_cells.TTAGTTCGTCTAGGTT-L8TX_180221_01_E09,-4.186881,9.961639 +10X_cells.GCGCAACCAGTTCCCT-L8TX_180221_01_D09,-4.281833,8.588931 +10X_cells.GCAATCACATGCTAGT-L8TX_180607_01_C05,-3.5638146,9.030594 +10X_cells.GTTCGGGAGGTGTGGT-L8TX_180607_01_C05,-2.8540056,7.444366 +10X_cells.CTGCCTACAAGAGTCG-L8TX_180712_01_G05,-5.5383034,11.398086 +10X_cells.CACCTTGCAGACGCCT-L8TX_180712_01_B06,-4.2964706,10.019548 +10X_cells.TGTGTTTTCCACGCAG-L8TX_180712_01_B06,-5.654161,11.378678 +10X_cells.ACGGCCAAGCAGCGTA-L8TX_180712_01_C06,-3.9288397,8.562818 +Smartseq_cells.LS-15307_S71_E1-50,-6.578061,12.342782 +Smartseq_cells.LS-15329_S19_E1-50,-6.128952,13.507745 +10X_cells.AAGGTTCTCCTATTCA-L8TX_181012_01_E05,-2.8641071,8.265709 +10X_cells.CACTCCATCAAACAAG-L8TX_180829_01_D10,-5.4663987,11.066383 +10X_cells.CCAATCCTCCGCGGTA-L8TX_180829_01_D10,-2.9945726,8.175354 +10X_cells.CTGCGGAAGCGAGAAA-L8TX_180829_01_D10,-3.252827,11.169581 +10X_cells.GGGACCTGTTCAGACT-L8TX_180829_01_D10,-3.347833,9.973786 +10X_cells.TCGAGGCAGCGTTTAC-L8TX_180829_01_D10,-4.402383,9.146317 +10X_cells.CTGATAGTCTCCTATA-L8TX_180907_01_F10,-5.1471786,11.045389 +10X_cells.GCTGCTTAGAGTACAT-L8TX_180907_01_F10,-5.442582,10.004545 +10X_cells.GTCACAAGTTAAAGTG-L8TX_180907_01_F10,-4.044555,10.372029 +10X_cells.TATTACCCAATGGTCT-L8TX_180907_01_F10,-3.8200445,9.189484 +10X_cells.GTGCTTCTCTACCTGC-L8TX_180907_01_G10,-3.151164,9.467639 +10X_cells.GGCTCGAGTTGCGTTA-L8TX_181011_01_G02,-4.6901417,10.16016 +10X_cells.CCTTCCCTCCGTTGTC-L8TX_181011_01_H02,-3.983708,10.882475 +10X_cells.GCTGCGAAGACTAGAT-L8TX_181011_01_H02,-5.1976137,11.317552 +10X_cells.CGTCCATGTACGACCC-L8TX_181011_01_C04,-3.2550669,11.033944 +10X_cells.CGTGTAAGTGACGCCT-L8TX_181012_01_G04,-3.3658257,8.168001 +10X_cells.GCCAAATGTGAAAGAG-L8TX_181012_01_G04,-2.5502887,8.489042 +10X_cells.GTCGGGTTCGCTGATA-L8TX_181012_01_G04,-5.0780454,10.362461 +10X_cells.TCAACGAAGGCCCTCA-L8TX_181012_01_G04,-2.872926,7.7930074 +10X_cells.AAAGCAACAATGTTGC-L8TX_181012_01_H04,-4.3713303,9.75024 +10X_cells.AAGTCTGAGAGCCCAA-L8TX_181012_01_H04,-5.7507133,10.575005 +10X_cells.GAACATCGTGCAGTAG-L8TX_181012_01_H04,-6.0926657,11.452343 +10X_cells.TCACGAAGTAAAGGAG-L8TX_181012_01_H04,-4.443163,9.443146 +10X_cells.CAAGAAACATTGGCGC-L8TX_181012_01_E05,-3.873681,8.4846115 +10X_cells.GCGGGTTTCTTCATGT-L8TX_181012_01_E05,-3.9520352,9.380429 +10X_cells.GGCTGGTTCGGAATCT-L8TX_181012_01_E05,-2.760619,8.334158 +10X_cells.TTGGAACTCCACTGGG-L8TX_181012_01_E05,-4.333699,9.355303 +Smartseq_cells.SM-GE5VH_S266_E1-50,-6.6780686,13.058306 +Smartseq_cells.SM-GE5VB_S301_E1-50,-6.8747797,12.932234 +10X_cells.ATAACGCCAAAGCAAT-L8TX_180406_01_H02,-2.7555943,11.597565 +10X_cells.GGACAGACAGTTTACG-L8TX_180406_01_H01,-4.0900607,9.578175 +10X_cells.CCACGGAGTCTAAACC-L8TX_180406_01_H02,-2.696976,10.51864 +10X_cells.GCATGATTCTCTAAGG-L8TX_180406_01_B06,-0.6170389,8.658273 +10X_cells.GATTCAGTCGGCGCAT-L8TX_180406_01_C08,-1.9549721,10.83649 +10X_cells.ATTATCCAGAGGTACC-L8TX_171026_01_A04,-6.734301,13.09558 +10X_cells.ACATCAGAGATGAGAG-L8TX_171026_01_A05,-6.05816,11.847035 +10X_cells.GGTGTTATCTGCGTAA-L8TX_171026_01_H03,-4.144891,9.162948 +10X_cells.AGGGTGAAGTGTGAAT-L8TX_171026_01_E05,-4.904455,10.658271 +10X_cells.AGTGAGGCAACGATGG-L8TX_171026_01_E05,-6.7818103,13.272322 +10X_cells.CATCGAATCGCTTGTC-L8TX_171026_01_E05,-4.5541434,11.847733 +10X_cells.TTGGCAATCCTTTCGG-L8TX_171026_01_F03,-4.8177423,10.176264 +10X_cells.ATTATCCTCCAACCAA-L8TX_171026_01_A05,-6.5022078,13.547463 +10X_cells.CCACCTACATCAGTCA-L8TX_171026_01_C05,-5.740618,11.548423 +10X_cells.TCATTTGTCGCGTAGC-L8TX_171026_01_F05,-3.426871,7.75629 +10X_cells.TTAACTCAGTCCATAC-L8TX_171026_01_H05,-6.9534454,10.573663 +10X_cells.AGCAGCCCATCACAAC-L8TX_171026_01_G03,-6.4614196,13.291109 +10X_cells.GTCTCGTGTCCGTCAG-L8TX_171026_01_F04,-6.214243,13.827189 +10X_cells.GTTCATTCAGTAAGAT-L8TX_171026_01_A05,-5.1818876,10.991465 +10X_cells.CAGCTAAAGGCTCATT-L8TX_171026_01_F05,-6.378973,11.34977 +10X_cells.GATGAAATCTTACCTA-L8TX_171026_01_G04,-3.7207057,8.426291 +10X_cells.CCTAAAGCAATCCAAC-L8TX_171026_01_G03,-5.1893587,11.6616535 +10X_cells.GATCGATTCAAGCCTA-L8TX_171026_01_G04,-4.9753227,12.811468 +10X_cells.TCACAAGCAATGGAAT-L8TX_171026_01_F04,-6.3256464,11.450107 +10X_cells.CCCATACTCTGTGCAA-L8TX_171026_01_C05,-3.5123122,7.842903 +10X_cells.TAAACCGAGGCCGAAT-L8TX_171026_01_G04,-6.9283147,12.068432 +10X_cells.AGTAGTCAGCGCCTCA-L8TX_171026_01_A04,-4.4441357,8.308989 +10X_cells.CAAGGCCGTTGAGGTG-L8TX_171026_01_E05,-5.8095007,11.280455 +10X_cells.CTGCGGAGTTACAGAA-L8TX_171026_01_B04,-5.3275604,9.950136 +10X_cells.CCTCTGATCTGCCCTA-L8TX_171026_01_B05,-4.7545276,10.907959 +10X_cells.GTGCAGCAGATCCTGT-L8TX_171026_01_A05,-6.624937,12.21308 +10X_cells.CTAAGACTCGATAGAA-L8TX_171026_01_C05,-4.4195647,10.402702 +10X_cells.CACATTTCACCACGTG-L8TX_171026_01_C05,-4.4833503,9.994539 +10X_cells.TCAGCAAAGCGTCTAT-L8TX_171026_01_H03,-6.2236714,12.697324 +10X_cells.TATCTCACATCCTTGC-L8TX_171026_01_F05,-5.376892,11.027569 +10X_cells.GGCTCGACACGGTGTC-L8TX_171026_01_F05,-6.9870796,12.969739 +10X_cells.CGTGAGCAGCTGTCTA-L8TX_171026_01_B05,-6.5205326,12.004189 +10X_cells.GAACGGAAGCCGGTAA-L8TX_171026_01_B04,-6.3433194,11.620121 +10X_cells.TCGCGAGCACGGCGTT-L8TX_171026_01_G03,-6.2738347,11.715203 +10X_cells.GCGCAACAGCTATGCT-L8TX_171026_01_G05,-4.83424,10.2958355 +10X_cells.ACCAGTAGTCGAATCT-L8TX_171026_01_B05,-4.369192,8.336325 +10X_cells.TCATTTGAGCTGCAAG-L8TX_171026_01_G04,-5.169395,11.019881 +10X_cells.GTCTTCGGTCAACTGT-L8TX_171026_01_H03,-4.344875,11.378464 +10X_cells.GAGGTGAAGGCTACGA-L8TX_171026_01_D05,-5.1708946,11.186258 +10X_cells.CATCGGGCACTCAGGC-L8TX_171026_01_G05,-6.3004756,11.537844 +10X_cells.AGCTCCTGTTACGACT-L8TX_171026_01_E05,-5.4375377,10.240729 +10X_cells.CCCAATCGTAACGCGA-L8TX_171026_01_G05,-1.365918,7.715475 +10X_cells.TGTATTCTCACTTACT-L8TX_171026_01_B04,-6.650327,13.450834 +10X_cells.CCTACACAGAGCTATA-L8TX_171026_01_G03,-4.7321906,10.003131 +10X_cells.CCCATACTCGGCCGAT-L8TX_171026_01_G04,-6.246211,11.352598 +10X_cells.ACTGTCCCATCGGAAG-L8TX_171026_01_G04,-4.7070065,9.866937 +10X_cells.CGAATGTGTCTGGAGA-L8TX_171026_01_F05,-5.902519,10.66859 +10X_cells.GCTGCAGAGTACGATA-L8TX_171026_01_G05,-6.204221,11.415768 +10X_cells.TCAGATGCATGACATC-L8TX_171026_01_H05,-3.1342034,8.072669 +Smartseq_cells.SM-DD442_S19_E1-50,-6.218094,11.96491 +Smartseq_cells.SM-GE92I_S266_E1-50,-6.2448015,11.943379 +Smartseq_cells.SM-GE92L_S166_E1-50,-6.658127,13.344854 +Smartseq_cells.SM-GE92L_S262_E1-50,-6.8944697,13.111243 +Smartseq_cells.SM-GE67N_S170_E1-50,-6.7013364,12.546995 +10X_cells.GTGCATACACATGACT-L8TX_180406_01_B01,0.028912708,8.270078 +10X_cells.TGACTTTGTCGAGATG-L8TX_180406_01_B01,-2.936788,11.847053 +10X_cells.TTTGTCATCTCGTTTA-L8TX_180406_01_E01,-1.4671994,10.026621 +10X_cells.TTGGCAAAGCAGCGTA-L8TX_180406_01_G01,-2.7747755,12.0337 +10X_cells.GTCCTCATCGGCGGTT-L8TX_180221_01_D10,8.6675625,16.623688 +10X_cells.ACTATCTAGTCGAGTG-L8TX_180221_01_D10,-5.840298,13.324511 +10X_cells.GGATTACGTTCGCGAC-L8TX_180221_01_D10,-3.9354234,10.01935 +10X_cells.CGGACGTAGTCACGCC-L8TX_180221_01_E10,-3.5237744,9.242383 +10X_cells.GCGCAGTCATTGGGCC-L8TX_180221_01_E10,-4.1911273,9.870122 +10X_cells.CGATGGCGTATAAACG-L8TX_180221_01_F10,-3.5645652,8.993604 +10X_cells.GACTGCGGTCATCCCT-L8TX_180221_01_H10,-6.2552524,13.747006 +10X_cells.ACACCCTTCACAGTAC-L8TX_180221_01_A11,-4.106329,9.77833 +10X_cells.CAGGTGCTCGAATGCT-L8TX_180221_01_A11,-4.0593553,9.665108 +10X_cells.TCAGGTAGTGGCTCCA-L8TX_190312_01_B02,-4.832335,9.739281 +10X_cells.CTGGTCTAGCTCCCAG-L8TX_190312_01_G02,-4.1893053,9.9554825 +10X_cells.TACTTGTGTTTGTGTG-L8TX_180907_01_B11,-4.4538507,11.198263 +10X_cells.GCGCAGTCAAGAGTCG-L8TX_180907_01_B11,-5.8594327,10.192255 +10X_cells.GGCTGGTCAGTCTTCC-L8TX_180907_01_B11,-3.8898184,8.816272 +10X_cells.TGACTAGCAATGGAAT-L8TX_180926_01_C12,-4.794063,9.758825 +10X_cells.CCTACCAGTACATGTC-L8TX_180926_01_E12,-3.0156262,8.277262 +10X_cells.TAGAGCTCAACGATGG-L8TX_181012_01_C05,-4.874743,10.095792 +10X_cells.CGAATGTAGTGACATA-L8TX_180221_01_B11,-7.70034,11.0914345 +10X_cells.TGGACGCCATCGACGC-L8TX_180221_01_D11,-5.575852,9.440659 +10X_cells.TGGCTGGCATGGTCAT-L8TX_180221_01_D11,-6.7558475,11.51631 +10X_cells.TTGACTTGTTGTCGCG-L8TX_180221_01_D11,-3.527549,11.691839 +10X_cells.AAGCCGCGTAATTGGA-L8TX_180221_01_E11,-6.1710052,9.615749 +10X_cells.ACGAGCCTCTGCCCTA-L8TX_180221_01_G11,-6.650936,11.524366 +10X_cells.GTCATTTTCTGCGACG-L8TX_180907_01_H11,-4.1902695,9.301163 +10X_cells.GGAATAACACCAGGCT-L8TX_180907_01_A12,-4.167233,8.874563 +10X_cells.CCTTACGTCATAGCAC-L8TX_180907_01_B12,-3.7187624,8.55997 +Smartseq_cells.SM-GE5US_S027_E1-50,-7.6123257,11.949951 +Smartseq_cells.SM-GE5US_S033_E1-50,-6.4505773,12.021784 +10X_cells.ACACTGAGTGTAACGG-L8TX_180926_01_B01,-4.128044,9.859202 +10X_cells.CAGCTAACATCACGTA-L8TX_180926_01_B01,-6.478992,12.528538 +10X_cells.TAGGCATTCTGCGGCA-L8TX_180926_01_B01,-4.202347,10.804763 +10X_cells.TTCTACACATTACGAC-L8TX_180926_01_B01,-5.488918,11.752385 +10X_cells.CTCACACGTTACGTCA-L8TX_180926_01_D01,-4.921275,11.007998 +10X_cells.GATCGATAGACAGACC-L8TX_180926_01_E01,-3.5036678,8.503977 +10X_cells.GGCTGGTAGTGGGCTA-L8TX_180926_01_E01,-4.895872,11.041447 +10X_cells.TACACGACACGACGAA-L8TX_180926_01_E01,-6.3527145,11.841171 +10X_cells.TACTTACAGTGGCACA-L8TX_180926_01_E01,-3.7661881,8.837842 +10X_cells.TTGGCAAAGCATCATC-L8TX_180926_01_E01,-5.7410088,13.708652 +10X_cells.ATAAGAGCAGCCAGAA-L8TX_180926_01_F01,-5.936321,12.347882 +10X_cells.CGTCCATGTACCTACA-L8TX_181011_01_A03,-4.007961,8.722517 +10X_cells.GGAATAAAGAAAGTGG-L8TX_181011_01_A03,-3.0297983,9.361498 +10X_cells.GGGAATGGTAGCGATG-L8TX_181011_01_A03,-3.8915894,8.953941 +10X_cells.TACGGTACATGCGCAC-L8TX_181011_01_A03,-5.2386193,11.119903 +10X_cells.TCTCATAAGAGTTGGC-L8TX_181011_01_A03,-3.7975056,8.889032 +10X_cells.CGATCGGTCATGCTCC-L8TX_181011_01_C03,-4.033953,9.291075 +10X_cells.TCAATCTAGGCCCTTG-L8TX_181011_01_C03,-6.9940133,13.317094 +10X_cells.CCCAATCTCCGCGCAA-L8TX_181011_01_H03,-3.5581057,11.615749 +10X_cells.TCTCTAAGTAAACGCG-L8TX_181011_01_H03,-3.5024261,8.884275 +10X_cells.TTTATGCCATATGAGA-L8TX_181011_01_H03,-5.393425,10.873406 +10X_cells.CAGAGAGGTTCAGCGC-L8TX_180712_01_E05,-5.947789,11.402109 +10X_cells.AGTGAGGCACACATGT-L8TX_180712_01_F05,0.4199296,7.5476036 +10X_cells.AGATTGCCATCTACGA-L8TX_180712_01_H05,-4.1073184,10.348816 +10X_cells.GGGAATGAGCTAAGAT-L8TX_180712_01_H05,-4.513691,10.617353 +10X_cells.AAGGTTCAGCAAATCA-L8TX_180712_01_A06,-3.2195294,10.672122 +10X_cells.ACACCGGTCTCGTATT-L8TX_180712_01_A06,-4.2511587,10.384922 +10X_cells.CTGATAGAGGCTCAGA-L8TX_180712_01_A06,-4.3746953,10.592058 +10X_cells.AAAGCAAAGTCGATAA-L8TX_180504_01_E01,-4.006699,9.196546 +10X_cells.AGTGTCAGTGTTCGAT-L8TX_180221_01_A12,-1.3486072,6.998753 +10X_cells.CGGGTCACAAACCTAC-L8TX_180221_01_A12,-1.9270467,7.280936 +10X_cells.GGACATTCATCACCCT-L8TX_180221_01_A12,-3.3895633,8.475848 +10X_cells.CTAGCCTTCGTAGGTT-L8TX_180221_01_C12,-2.4328744,7.402789 +10X_cells.CGTCAGGCATCGGAAG-L8TX_200611_02_A05,-5.6261683,11.289075 +10X_cells.GGGCATCAGCGTGAGT-L8TX_180115_01_C09,-6.999358,10.270904 +10X_cells.CGAACATGTCTAGCGC-L8TX_180115_01_B11,-5.8497295,11.095584 +10X_cells.GATGCTATCCTTCAAT-L8TX_180115_01_H10,-4.4960275,9.477862 +10X_cells.CTGCGGATCAGGTTCA-L8TX_180115_01_F11,-5.087423,11.439931 +10X_cells.CGGGTCACAAGCCATT-L8TX_180115_01_D11,-7.0761185,12.309069 +10X_cells.ACAGCCGAGATGTGTA-L8TX_180115_01_F09,-3.786673,7.804972 +10X_cells.GATGAAATCGTGGTCG-L8TX_180115_01_H10,-7.0823374,10.43109 +10X_cells.CTACACCTCCGAAGAG-L8TX_180115_01_C10,-3.8747232,8.021527 +10X_cells.GATTCAGGTATATCCG-L8TX_180115_01_E09,-6.264694,10.519155 +10X_cells.CATATTCGTGGCGAAT-L8TX_180115_01_C10,-3.8554509,8.603974 +10X_cells.GGGTCTGAGTATCTCG-L8TX_180115_01_F10,-5.8888245,9.4264345 +10X_cells.CGATCGGTCACAATGC-L8TX_180115_01_A11,-3.4452415,8.215352 +10X_cells.GCGCAGTGTCTCTTAT-L8TX_180115_01_F10,-6.840744,11.907238 +10X_cells.TCTCTAAGTCGAAAGC-L8TX_180115_01_G10,-2.572646,7.605045 +10X_cells.TCTGGAAAGCGATAGC-L8TX_180115_01_B10,-4.062291,8.2381935 +10X_cells.TCACGAAGTGGACGAT-L8TX_180115_01_F09,-6.0629883,10.952202 +10X_cells.TTCTCAATCGACAGCC-L8TX_180115_01_F10,-5.4958725,10.166456 +10X_cells.CGTCACTGTAGGGTAC-L8TX_180115_01_D11,-4.6073823,10.287445 +10X_cells.ATGCGATAGAGGTAGA-L8TX_180115_01_C09,-2.8419232,8.017844 +10X_cells.CCCAGTTGTCCGAACC-L8TX_180115_01_D10,-2.2807786,7.5408983 +10X_cells.TATCTCAGTGTTCGAT-L8TX_180115_01_H11,-3.3782938,9.8172655 +10X_cells.TGGCTGGTCTGGCGTG-L8TX_180115_01_F09,-4.5061827,9.392285 +10X_cells.CCTCTGATCTCGTATT-L8TX_180115_01_H11,-5.16326,12.102823 +10X_cells.TTTGTCACAAATCCGT-L8TX_180115_01_F11,-6.815634,12.163098 +10X_cells.ATCTACTCATTAGCCA-L8TX_180115_01_D11,-5.155804,11.840844 +10X_cells.AACCATGAGCTGCAAG-L8TX_180115_01_B09,-7.2356296,10.482398 +10X_cells.GTCACAATCCAAAGTC-L8TX_180115_01_E09,-4.985943,10.028281 +10X_cells.CATTCGCCATTAGGCT-L8TX_180115_01_A11,-6.4338365,12.237172 +10X_cells.GAGGTGAAGCGGCTTC-L8TX_180115_01_E11,-5.902057,11.958749 +10X_cells.TGACAACGTGCACTTA-L8TX_180115_01_C09,-6.4343853,12.049028 +10X_cells.GTAGGCCGTGAGGGTT-L8TX_180115_01_F10,-4.304806,8.571187 +10X_cells.GATCAGTCACATCCGG-L8TX_180115_01_A10,-3.8794842,8.346028 +10X_cells.CGAGAAGGTTTCCACC-L8TX_180115_01_B09,-5.8322644,11.872115 +10X_cells.GGTGAAGAGGATTCGG-L8TX_180115_01_G09,-4.3714366,8.4963665 +10X_cells.TAAGTGCCATGGTCTA-L8TX_180115_01_G11,-4.768081,11.016202 +10X_cells.CTGTTTAAGGAGCGTT-L8TX_180115_01_F10,-4.7359557,9.400425 +10X_cells.ATTTCTGTCTTGCAAG-L8TX_180115_01_D11,-6.4203,10.667406 +10X_cells.GCGAGAAGTAGGGTAC-L8TX_180115_01_F11,-3.797685,8.680563 +10X_cells.GATCTAGGTCTGGAGA-L8TX_180115_01_D11,-4.393231,11.875385 +10X_cells.GAGCAGACACTTAACG-L8TX_180115_01_C10,-5.907763,9.39193 +10X_cells.CATATTCAGAAAGTGG-L8TX_180115_01_B11,-7.343637,11.314388 +10X_cells.CTCACACTCGCCTGAG-L8TX_171120_01_G07,-3.8761764,10.40471 +10X_cells.GCGCCAAGTAGTACCT-L8TX_171120_01_G07,-5.24703,8.69244 +10X_cells.CGTGTAAAGCGCTCCA-L8TX_171120_01_H07,-5.238959,9.217472 +10X_cells.GTGGGTCAGGCCCTTG-L8TX_171120_01_H07,-4.2617283,9.765237 +10X_cells.TGCGCAGAGCTATGCT-L8TX_171120_01_H07,-5.860348,11.5644245 +10X_cells.TGGTTCCAGACTACAA-L8TX_171120_01_H07,-4.854444,10.830479 +10X_cells.ACGAGGACATGCCTTC-L8TX_180115_01_G08,-6.946852,13.043844 +10X_cells.GATGAAAAGCTAAGAT-L8TX_180115_01_G08,-4.4939656,10.478955 +10X_cells.TTTATGCGTACAGTTC-L8TX_180115_01_G08,-5.501127,11.761095 +10X_cells.ACACCCTCATTTCAGG-L8TX_171120_01_C07,-4.248245,11.792025 +10X_cells.ACTTTCACACATCCGG-L8TX_171120_01_D07,-4.5979147,10.89401 +10X_cells.GGTATTGTCGGAATCT-L8TX_171120_01_D07,-3.4475374,11.693455 +10X_cells.GTGCTTCAGGATGGTC-L8TX_171120_01_D07,-4.19483,9.942078 +10X_cells.TAGAGCTCAGATCGGA-L8TX_171120_01_D07,-6.9994435,10.678585 +10X_cells.TGGACGCCAAACCTAC-L8TX_171120_01_D07,-5.718903,12.008185 +10X_cells.TGGCTGGAGAATTCCC-L8TX_171120_01_D07,-6.5664988,12.639109 +10X_cells.TGTGGTAAGCTAGCCC-L8TX_171120_01_D07,-4.803613,11.048129 +10X_cells.AGAGCGAAGGTGTTAA-L8TX_171120_01_E07,-6.34077,9.823723 +10X_cells.CACACTCTCAGTACGT-L8TX_171120_01_E07,-4.6996217,10.795926 +10X_cells.CCTTCCCTCGAATCCA-L8TX_171120_01_E07,-3.9559953,11.397204 +10X_cells.CTCGGAGCACCAGATT-L8TX_171120_01_E07,-7.70225,11.1539955 +10X_cells.GGAATAAGTCATGCAT-L8TX_171120_01_E07,-6.253297,11.119945 +10X_cells.GTATTCTTCTGAGTGT-L8TX_171120_01_E07,-5.6605926,10.889611 +10X_cells.ATCGAGTTCAACGGGA-L8TX_171120_01_F07,-3.2208345,11.151253 +10X_cells.CCAGCGAGTTCTGAAC-L8TX_171120_01_F07,-7.2905774,10.879518 +10X_cells.CCTACACGTCTAGTCA-L8TX_171120_01_F07,-5.493194,11.817176 +10X_cells.CGACCTTAGGTGCTTT-L8TX_171120_01_F07,-3.7368026,11.838447 +10X_cells.GAACGGAGTATAGGTA-L8TX_171120_01_F07,-3.1979728,9.114295 +10X_cells.TGTCCCATCAGAAATG-L8TX_171120_01_F07,-5.2100773,9.467122 +10X_cells.TTTACTGCAGCTATTG-L8TX_171120_01_F07,-3.7737565,11.526966 +10X_cells.CAGTCCTAGTACATGA-L8TX_180115_01_F08,-7.3490486,12.943813 +10X_cells.CGGACGTCATCTCCCA-L8TX_180115_01_F08,-7.118246,12.723805 +10X_cells.CGTCTACAGGGCACTA-L8TX_180115_01_F08,-7.400506,12.792174 +10X_cells.CTTAGGATCTTAACCT-L8TX_180115_01_F08,-7.2721972,12.797565 +10X_cells.GGATTACTCGGGAGTA-L8TX_180115_01_C08,-5.392744,10.074675 +10X_cells.GGGTTGCAGTTTCCTT-L8TX_180115_01_C08,-5.4970045,11.161585 +10X_cells.AACCGCGTCTCTAAGG-L8TX_180115_01_E08,-6.178535,11.929093 +10X_cells.ACATACGTCATCGCTC-L8TX_180115_01_E08,-7.314169,12.995564 +10X_cells.CGGACACCAAGCTGGA-L8TX_180115_01_E08,-4.4110627,11.141221 +10X_cells.CTCGGAGAGCGTAATA-L8TX_180115_01_E08,-6.164349,12.013266 +10X_cells.TGAAAGAGTCACTTCC-L8TX_180115_01_E08,-6.7594504,13.101963 +Smartseq_cells.LS-14690_S70_E1-50,-6.9152274,11.437402 +Smartseq_cells.LS-15001_S36_E1-50,-6.712216,12.997253 +Smartseq_cells.LS-15001_S82_E1-50,-7.394401,12.239539 +Smartseq_cells.LS-15062_S57_E1-50,-6.910381,13.131508 +Smartseq_cells.LS-15305_S96_E1-50,-7.278053,12.192535 +Smartseq_cells.LS-15307_S83_E1-50,-6.819472,13.170918 +Smartseq_cells.LS-15356_S65_E3-50,-6.9177375,12.53136 +Smartseq_cells.LS-15356_S68_E3-50,-7.146332,12.505539 +10X_cells.ACTGTCCAGCCAGGAT-L8TX_180221_01_B10,-6.2385674,10.220096 +10X_cells.TCGTAGAAGAGTACCG-L8TX_180221_01_F09,-1.6295046,8.984651 +10X_cells.TTCCCAGCACAAGACG-L8TX_180221_01_F09,-2.6507769,8.744742 +10X_cells.CACAAACGTGTGACGA-L8TX_180221_01_G09,-4.3843765,10.755551 +10X_cells.TGGTTAGAGTAACCCT-L8TX_180221_01_G09,-3.1738644,11.629205 +10X_cells.ACGCAGCTCGTACGGC-L8TX_180221_01_A10,-3.557956,9.483796 +10X_cells.ATTATCCTCTGTCTAT-L8TX_180221_01_A10,-1.9211004,9.690567 +10X_cells.CAAGATCAGAATAGGG-L8TX_180221_01_A10,-0.87144506,13.301754 +10X_cells.CTGTTTAGTCTTTCAT-L8TX_180221_01_A10,-2.332752,11.881055 +10X_cells.AAGGTTCTCACCGGGT-L8TX_180221_01_B10,-2.2493339,9.601604 +10X_cells.CAGCAGCGTCATATCG-L8TX_180221_01_B10,-2.5469706,12.3763895 +10X_cells.CTAATGGTCAGCGATT-L8TX_180221_01_B10,-4.744238,8.923051 +10X_cells.GAATAAGTCCACGAAT-L8TX_180221_01_B10,-3.1912863,10.039775 +10X_cells.GACCTGGGTCAACTGT-L8TX_180221_01_B10,-2.5323396,8.032127 +10X_cells.TCCACACCAAGAGTCG-L8TX_180221_01_B10,-2.0638723,11.481045 +10X_cells.TCTTTCCCAACGATGG-L8TX_180221_01_B10,0.23657484,11.14592 +10X_cells.TGTGTTTTCGTGACAT-L8TX_180221_01_B10,-1.6152784,10.022428 +10X_cells.CACACAACAGCTCGCA-L8TX_180221_01_C10,-4.492299,9.573977 +10X_cells.CCGTGGAAGTGTTTGC-L8TX_180221_01_C10,-2.9944594,11.160616 +10X_cells.CGATCGGAGAAACCGC-L8TX_180221_01_C10,-3.1458158,11.143068 +10X_cells.GGCTCGAGTCAATGTC-L8TX_180221_01_C10,-1.4121097,9.4273 +10X_cells.GGGTCTGCAGGGTACA-L8TX_180221_01_C10,-6.040288,10.953352 +10X_cells.TATTACCCAGTGGGAT-L8TX_180221_01_C10,-2.6922789,10.764034 +10X_cells.TCTCTAAAGCCCGAAA-L8TX_180221_01_C10,-2.1810083,12.193832 +10X_cells.AGCCTAAAGGAACTGC-L8TX_180406_01_F02,-0.8261762,11.390124 +10X_cells.AGCTCCTCACCGAAAG-L8TX_180406_01_F02,-0.37865552,9.196544 +10X_cells.ATGGGAGAGCCACCTG-L8TX_180406_01_F02,-2.1490366,9.089768 +10X_cells.CCTTCCCCAGACGCAA-L8TX_180406_01_F02,-1.1370547,9.796395 +10X_cells.CGGTTAACATCACAAC-L8TX_180406_01_F02,-1.3653725,8.524436 +10X_cells.TACAGTGGTTGATTCG-L8TX_180406_01_F02,-2.4191816,9.241293 +10X_cells.TGGTTAGCAGTATCTG-L8TX_180406_01_F02,-2.735748,8.960585 +10X_cells.ACGAGGAGTTCGGGCT-L8TX_180406_01_C06,-0.94381595,8.399563 +10X_cells.CGATGGCAGCTGGAAC-L8TX_180406_01_C06,-1.3439194,7.6133847 +10X_cells.TAGTTGGGTCCGCTGA-L8TX_180406_01_C06,-4.330984,9.036845 +Smartseq_cells.SM-DD45T_S026_E1-50,-3.1988015,13.024095 +Smartseq_cells.SM-DD45T_S117_E1-50,-3.2360144,12.712432 +Smartseq_cells.SM-GE67T_S358_E1-50,-4.472082,13.652586 +Smartseq_cells.SM-GE67T_S360_E1-50,-4.3990774,12.617055 +10X_cells.CGTCTACCATCGACGC-L8TX_180712_01_G05,-1.3606572,8.266883 +10X_cells.CATTCGCAGCGCTTAT-L8TX_180607_01_C05,-0.40053645,9.386085 +10X_cells.TACGGGCAGGGTATCG-L8TX_180607_01_C05,-4.192314,8.499772 +10X_cells.ACTGCTCAGCAATCTC-L8TX_180712_01_C06,-3.9719467,8.441319 +10X_cells.AGAGCGAAGATCGATA-L8TX_180221_01_D09,-0.7459382,7.196921 +10X_cells.ATTATCCTCAATACCG-L8TX_180221_01_E09,-3.6040893,9.836981 +10X_cells.TGCGTGGCACCGCTAG-L8TX_180221_01_D09,-4.9770503,12.517474 +10X_cells.TACCTATCATGCCCGA-L8TX_180712_01_B06,-5.086948,10.622463 +10X_cells.CTACATTTCAGCTGGC-L8TX_180221_01_E09,-1.7071563,8.243624 +10X_cells.AGATTGCTCCAGAGGA-L8TX_180221_01_H12,-2.8077376,9.687488 +10X_cells.TCGCGAGAGAGGTTGC-L8TX_180712_01_B06,1.1094214,7.5112004 +10X_cells.CATCGAATCGACCAGC-L8TX_180221_01_E09,-1.047423,10.511352 +10X_cells.GTCTTCGGTCTAACGT-L8TX_180712_01_G05,-3.1605964,9.295472 +10X_cells.CGGAGTCAGCAGACTG-L8TX_180221_01_D09,-1.9735234,12.172818 +10X_cells.TATTACCAGGCCATAG-L8TX_180712_01_B06,-4.096225,10.608342 +10X_cells.CTACACCTCGTTGACA-L8TX_180712_01_C06,-2.7649674,9.403825 +10X_cells.TTGACTTCAACACGCC-L8TX_180221_01_H12,-2.8985767,8.580935 +10X_cells.GGCGACTTCTCAACTT-L8TX_180712_01_G05,-2.9907446,9.533687 +10X_cells.GTACTTTCAGTTCCCT-L8TX_180221_01_E09,-2.8180547,10.295986 +10X_cells.GATCGATTCTCTAAGG-L8TX_180221_01_E09,-3.544834,9.337681 +10X_cells.GGTGTTAAGCCTTGAT-L8TX_180712_01_C06,-2.9323514,8.86816 +10X_cells.CGAGCCATCGTACCGG-L8TX_180712_01_C06,-2.9902816,8.405456 +10X_cells.GCTCTGTCACCTCGTT-L8TX_180221_01_D09,-0.5591084,8.951277 +10X_cells.GCTGCAGCAGATCCAT-L8TX_180712_01_B06,-2.9391968,9.137168 +10X_cells.GAACATCTCATTCACT-L8TX_180221_01_C09,-2.4800541,8.505045 +10X_cells.AACTCAGCATCTGGTA-L8TX_180607_01_C05,-2.848117,8.534006 +10X_cells.CACCTTGTCAGGCGAA-L8TX_180221_01_E09,-2.9193296,11.125868 +10X_cells.GTACTTTGTAAGCACG-L8TX_180712_01_B06,-3.5702982,9.256892 +10X_cells.TACTTACGTACTTCTT-L8TX_180221_01_E09,-3.7842739,9.453044 +10X_cells.CAAGTTGAGGGTGTGT-L8TX_180712_01_B06,-1.7906826,7.4486885 +10X_cells.GAATGAATCGGTTCGG-L8TX_180712_01_G05,0.5358337,11.380561 +10X_cells.ACTTTCATCTCTGTCG-L8TX_180607_01_C05,-2.8665524,10.534206 +10X_cells.TATCAGGAGCCACTAT-L8TX_180221_01_D09,-3.2875373,8.301682 +10X_cells.TACTTGTCACAGGAGT-L8TX_180221_01_E09,-5.430367,11.4369135 +10X_cells.AGTGAGGCAATCACAC-L8TX_180607_01_C05,-2.9018044,9.464739 +10X_cells.TACGGGCTCTCCAACC-L8TX_180712_01_G05,-4.1696434,10.541226 +10X_cells.CAAGAAAAGCTTCGCG-L8TX_180221_01_E09,-4.351585,9.856044 +10X_cells.CCAATCCCAGTCGATT-L8TX_180712_01_B06,-1.4993365,8.347424 +10X_cells.AGGGAGTAGAAACCGC-L8TX_180221_01_E09,-5.7124104,10.106056 +10X_cells.TTTGGTTCAATGCCAT-L8TX_180221_01_C09,-0.22093856,8.990224 +10X_cells.GCGCAACTCATGTAGC-L8TX_180712_01_G05,-2.0412364,10.142195 +10X_cells.TTCTCCTCAGGAACGT-L8TX_180712_01_G05,-2.1249928,7.8074594 +10X_cells.TCTGAGAAGTCCTCCT-L8TX_180712_01_B06,-3.6337101,9.85395 +Smartseq_cells.SM-GE67M_S341_E1-50,-5.0702577,12.946139 +Smartseq_cells.SM-GE679_S002_E1-50,-3.6446912,12.212805 +Smartseq_cells.LS-15023_S44_E1-50,-6.8706574,12.595705 +Smartseq_cells.LS-15023_S47_E1-50,-6.077275,12.542346 +Smartseq_cells.LS-15047_S13_E1-50,-6.2235117,12.888107 +Smartseq_cells.LS-15047_S61_E1-50,-5.011253,13.293746 +Smartseq_cells.LS-15047_S84_E1-50,-5.479375,12.801455 +Smartseq_cells.LS-15087_S74_E1-50,-5.8333817,12.641598 +Smartseq_cells.LS-15087_S82_E1-50,-6.9506946,12.706235 +Smartseq_cells.LS-15305_S45_E1-50,-4.1707077,13.594998 +Smartseq_cells.LS-15305_S78_E1-50,-3.5099597,14.176819 +Smartseq_cells.LS-15310_S61_E2-50,-3.9876032,14.335395 +Smartseq_cells.LS-15312_S40_E2-50,-5.5539265,13.230099 +Smartseq_cells.LS-15322_S42_E2-50,-5.663409,12.310768 +Smartseq_cells.LS-15338_S49_E1-50,-4.7010036,12.850169 +Smartseq_cells.LS-15339_S23_E1-50,-4.800505,13.975291 +Smartseq_cells.LS-15339_S25_E1-50,-4.4381456,14.248846 +Smartseq_cells.LS-15344_S31_E1-50,-5.441824,13.017256 +Smartseq_cells.LS-15345_S85_E1-50,-4.811655,14.000239 +Smartseq_cells.SM-D9EPG_S36_E1-50,-4.4766383,13.648873 +Smartseq_cells.SM-D9EPH_S43_E1-50,-4.959948,13.234772 +Smartseq_cells.SM-D9EPH_S50_E1-50,-4.1970854,13.748198 +Smartseq_cells.SM-D9EPH_S93_E1-50,-6.3818746,12.672042 +Smartseq_cells.SM-D9D13_S59_E1-50,-4.4261093,13.027648 +Smartseq_cells.SM-D9D13_S90_E1-50,-3.7454937,14.470166 +Smartseq_cells.SM-D9D14_S77_E1-50,-3.562016,11.553311 +Smartseq_cells.SM-D9D14_S81_E1-50,-4.325624,13.723811 +Smartseq_cells.SM-D9D7N_S37_E1-50,-5.268227,12.811178 +Smartseq_cells.SM-D9D7N_S38_E1-50,-4.065744,14.692349 +Smartseq_cells.SM-D9D7O_S20_E1-50,-5.2789683,12.881999 +Smartseq_cells.SM-D9D7P_S36_E1-50,-5.2263865,11.209271 +Smartseq_cells.SM-D9D7P_S46_E1-50,-6.3967066,12.641947 +Smartseq_cells.SM-GE65A_S061_E1-50,-3.3853388,13.310855 +Smartseq_cells.SM-GE65A_S064_E1-50,-4.5086827,13.049431 +Smartseq_cells.SM-GE65A_S145_E1-50,-5.4738846,12.926191 +Smartseq_cells.SM-GE65Z_S186_E1-50,-4.313639,12.582061 +10X_cells.CACCAGGAGCTATGCT-L8TX_180829_01_D09,-3.4252942,9.193274 +10X_cells.CGAACATGTGACTACT-L8TX_180829_01_D09,-1.0733565,9.195379 +10X_cells.GGCCGATTCCGAACGC-L8TX_180829_01_D09,-4.0808344,9.001795 +10X_cells.GTCCTCACATCCGCGA-L8TX_180829_01_D09,-3.9666364,9.5894375 +10X_cells.CTAATGGTCGACAGCC-L8TX_180829_01_D10,-3.4376755,9.576807 +10X_cells.GACGCGTCATTCTTAC-L8TX_180829_01_D10,-2.9444761,7.5566964 +10X_cells.TTGCGTCTCTGCTGCT-L8TX_180829_01_E10,-4.782927,10.743617 +10X_cells.ACACCGGCAAGTAATG-L8TX_180907_01_F10,-2.4995952,10.710442 +10X_cells.CCACCTATCGTACCGG-L8TX_180907_01_F10,-3.711782,10.150473 +10X_cells.CGAGCACCAAAGGCGT-L8TX_180907_01_F10,-4.7905746,10.807755 +10X_cells.GCGCAACAGCCCAACC-L8TX_180907_01_F10,-3.9196007,9.265932 +10X_cells.TAAGCGTCATTTCACT-L8TX_180907_01_G10,-3.2691042,10.171937 +10X_cells.TGGCTGGGTACATCCA-L8TX_180907_01_G10,-1.8233732,9.43185 +10X_cells.AGCAGCCAGAATTCCC-L8TX_181011_01_G02,-3.2105641,10.341722 +10X_cells.CGTAGCGTCTAACTGG-L8TX_181011_01_G02,-1.800721,9.577986 +10X_cells.CTAGAGTTCCTGTAGA-L8TX_181011_01_G02,-3.311575,10.427025 +10X_cells.GTTCGGGGTGTGAATA-L8TX_181011_01_G02,-2.5885475,12.691777 +10X_cells.TCTGAGAGTGATGTCT-L8TX_181011_01_G02,0.4722607,8.526276 +10X_cells.TGCCCATCATGACGGA-L8TX_181011_01_G02,-2.1667166,8.197025 +10X_cells.CAGTAACGTATCAGTC-L8TX_181011_01_C04,-2.048954,8.417867 +10X_cells.CCTCAGTCACGAAGCA-L8TX_181011_01_C04,-3.0394766,8.049579 +10X_cells.CTCACACGTCACTTCC-L8TX_181011_01_C04,-2.657522,11.736515 +10X_cells.GTCATTTCATTCCTCG-L8TX_181011_01_C04,-2.5647829,7.7432947 +10X_cells.ACGAGCCGTCTGCCAG-L8TX_181012_01_G04,-2.3314178,7.5917177 +10X_cells.AGCGTCGCAGTCAGCC-L8TX_181012_01_G04,-3.2761636,7.8518715 +10X_cells.CTGCTGTTCAGCTGGC-L8TX_181012_01_G04,-3.5104322,8.58711 +10X_cells.GCATGATAGTACGCCC-L8TX_181012_01_G04,-5.606813,11.159635 +10X_cells.GCTGCGACAGCATGAG-L8TX_181012_01_G04,-4.1177883,9.373686 +10X_cells.GTGCTTCGTTATTCTC-L8TX_181012_01_G04,-2.0912971,8.134142 +10X_cells.TCGGTAAAGCCAGTAG-L8TX_181012_01_G04,-2.8397863,8.69234 +10X_cells.CTACACCAGTCGTTTG-L8TX_181012_01_H04,-2.636751,9.051524 +10X_cells.GATCAGTCATTAGGCT-L8TX_181012_01_H04,-2.0799944,8.395686 +10X_cells.TGACGGCTCCTTTCTC-L8TX_181012_01_H04,-2.955876,11.209246 +10X_cells.TCCACACCATCTCGCT-L8TX_181012_01_E05,-3.708418,10.147346 +10X_cells.TCTATTGGTCAACATC-L8TX_181012_01_E05,-1.7049187,8.758253 +Smartseq_cells.SM-GE5VH_S283_E1-50,-4.7515864,12.4312 +Smartseq_cells.SM-GE5VC_S014_E1-50,-5.793714,12.966951 +10X_cells.CGCTTCAAGGCAGTCA-L8TX_180406_01_H01,-0.2377326,8.09348 +10X_cells.GCATGATCACATAACC-L8TX_180406_01_H01,-1.6797831,8.530807 +10X_cells.CTGATAGCATGGGAAC-L8TX_180406_01_G02,-0.07066232,7.816872 +10X_cells.GTCCTCACATGGTAGG-L8TX_180406_01_G02,-0.9171131,9.081893 +10X_cells.CAAGGCCGTTCTCATT-L8TX_180406_01_H02,-1.1517166,9.119934 +10X_cells.CGTCACTCACCAGATT-L8TX_180406_01_H02,-0.22574316,8.849422 +10X_cells.GGGAGATAGCCGGTAA-L8TX_180406_01_H02,-1.0818516,8.741207 +10X_cells.TGGCCAGGTATATCCG-L8TX_180406_01_B06,1.400011,8.242819 +10X_cells.AGCCTAAAGGGATACC-L8TX_180406_01_E06,0.7857567,7.6850767 +10X_cells.CAACTAGTCCCTAACC-L8TX_180406_01_E06,-0.6849286,8.955122 +10X_cells.ACGGGTCTCAGCAACT-L8TX_180406_01_E07,-3.4078748,7.4100018 +10X_cells.GGGCATCTCCGTAGTA-L8TX_180406_01_E07,-0.36793074,8.018749 +Smartseq_cells.SM-GE5VD_S079_E1-50,-6.194289,12.780155 +10X_cells.ACATCAGTCGCCTGTT-L8TX_171026_01_F05,-0.18381067,9.941847 +10X_cells.GGGCATCGTACCGAGA-L8TX_171026_01_B04,-2.2311394,9.135238 +10X_cells.CTTCTCTAGTGCCATT-L8TX_171026_01_H03,-4.2566957,12.255894 +10X_cells.ACATCAGGTTCCACAA-L8TX_171026_01_A05,-2.1357856,11.432204 +10X_cells.CGTGAGCGTGTTCTTT-L8TX_171026_01_A05,-3.3484101,13.370013 +10X_cells.CGCTTCAAGTGTGAAT-L8TX_171026_01_H05,-4.0826354,10.919155 +10X_cells.CAGAATCTCGCAAACT-L8TX_171026_01_F04,-3.107,9.245034 +10X_cells.TCAGCTCAGACGCAAC-L8TX_171026_01_D05,-5.162035,11.553996 +10X_cells.ATAGACCGTCACACGC-L8TX_171026_01_G04,-5.280149,10.578028 +10X_cells.CCTTACGAGGCACATG-L8TX_171026_01_F04,-0.19991654,10.719131 +10X_cells.AAAGTAGGTCTAGAGG-L8TX_171026_01_D05,-2.5627856,8.769035 +10X_cells.GATGAAATCTGACCTC-L8TX_171026_01_D05,-2.4434228,10.621437 +10X_cells.TCGAGGCAGGAACTGC-L8TX_171026_01_H03,-2.9314601,9.054955 +10X_cells.AAAGATGGTTTAGGAA-L8TX_171026_01_H05,-3.0944743,8.789012 +10X_cells.CGCTGGAAGTGGACGT-L8TX_171026_01_B05,-5.0493774,10.954377 +10X_cells.GGAGCAAGTTATTCTC-L8TX_171026_01_E05,-5.7840867,12.859989 +10X_cells.ATGCGATCAGCAGTTT-L8TX_171026_01_H04,-5.132281,8.425538 +10X_cells.TTTCCTCCACATGGGA-L8TX_171026_01_F04,-2.9407775,11.051776 +10X_cells.TCGAGGCAGCAGCGTA-L8TX_171026_01_F04,-2.5499454,10.526631 +10X_cells.TACTTACAGTGAACGC-L8TX_171026_01_H03,-2.8668537,9.173185 +10X_cells.ACTGATGCAGTCTTCC-L8TX_171026_01_G04,-3.8492324,11.535814 +10X_cells.AGCGTATGTTTGACTG-L8TX_171026_01_G03,-3.8943787,10.119652 +10X_cells.GGCCGATTCCCTCTTT-L8TX_171026_01_B04,-2.292416,12.990759 +10X_cells.TCTTTCCCACCTATCC-L8TX_171026_01_A05,-3.9784884,10.572328 +10X_cells.TACTCGCTCGTACGGC-L8TX_171026_01_A05,-2.8266916,11.2065 +10X_cells.TTTATGCTCACTTACT-L8TX_171026_01_G03,-1.8454378,10.835616 +10X_cells.CAAGATCTCACTTCAT-L8TX_171026_01_G05,-3.2593331,12.057493 +10X_cells.GGACATTGTACTTGAC-L8TX_171026_01_A04,-2.584284,10.529519 +10X_cells.AAGGCAGAGATACACA-L8TX_171026_01_F04,-2.4381878,10.633166 +10X_cells.ATTGGACAGTCGCCGT-L8TX_171026_01_G03,-3.7696023,10.02934 +10X_cells.TGACTAGGTGGTACAG-L8TX_171026_01_A04,-0.33499685,8.369002 +10X_cells.CATTCGCAGTGGTCCC-L8TX_171026_01_F04,-1.3846686,12.270791 +10X_cells.TTGAACGCACCTTGTC-L8TX_171026_01_H03,-1.9797094,9.840641 +10X_cells.TTCTCCTAGGCATGTG-L8TX_171026_01_F03,-2.1641715,10.074847 +10X_cells.CCATTCGCACGAGGTA-L8TX_171026_01_E05,-4.318426,10.470158 +10X_cells.AACCATGCAAGACGTG-L8TX_171026_01_B04,-3.6072617,10.22757 +10X_cells.CTCGAGGCAAAGTCAA-L8TX_171026_01_E05,-2.9952624,10.463709 +10X_cells.AAATGCCAGAGACTAT-L8TX_171026_01_B04,-2.5831988,10.9094515 +10X_cells.CCTTCGATCACAACGT-L8TX_171026_01_F04,-6.3597293,11.225847 +10X_cells.TGACTTTTCTACCTGC-L8TX_171026_01_B05,-3.3325303,11.801371 +10X_cells.GTTACAGCAAGCTGTT-L8TX_171026_01_H03,-2.8364835,9.434984 +10X_cells.GATCGATCACGTCTCT-L8TX_171026_01_H05,-3.5607448,10.960398 +10X_cells.CGATGGCGTTTAAGCC-L8TX_171026_01_H03,-5.916582,10.155356 +10X_cells.GTCAAGTCAATGGACG-L8TX_171026_01_F04,-1.9265652,12.754762 +10X_cells.TCGTACCAGCTAGTTC-L8TX_171026_01_B04,-2.3737328,11.359365 +10X_cells.CGGACACCATGAACCT-L8TX_171026_01_C05,-4.377008,11.095791 +10X_cells.CCAGCGACACAGGCCT-L8TX_171026_01_C05,-2.605853,9.462756 +10X_cells.TCTGGAACAAAGGTGC-L8TX_171026_01_C05,-2.1585796,7.7814674 +10X_cells.CATCAAGAGTGGACGT-L8TX_171026_01_G04,-4.1459503,10.647294 +10X_cells.TATCTCATCCATGCTC-L8TX_171026_01_H04,-3.516265,12.359498 +10X_cells.GTAGGCCCACGTAAGG-L8TX_171026_01_G03,-3.7816403,12.215539 +10X_cells.TCTCATACACAACGCC-L8TX_171026_01_H03,-2.2126412,8.5804205 +10X_cells.GCATGTATCTGCGGCA-L8TX_171026_01_G05,-3.545924,9.7448 +10X_cells.GCGCAGTCAACTTGAC-L8TX_171026_01_G04,-5.3331084,12.153719 +10X_cells.CTCAGAAAGCCCAACC-L8TX_171026_01_F03,-4.17485,10.7107935 +10X_cells.ACCGTAACATCGACGC-L8TX_171026_01_F04,-4.201698,11.297633 +10X_cells.GCTCCTAGTGTAAGTA-L8TX_171026_01_B05,-3.4771762,10.865036 +10X_cells.ATGTGTGAGGCAATTA-L8TX_171026_01_A05,-4.0353537,9.382151 +10X_cells.CCCAGTTGTGTGAATA-L8TX_171026_01_B05,-2.9066076,9.17915 +10X_cells.ACCGTAATCGTGGTCG-L8TX_171026_01_F05,-2.2618592,9.169082 +10X_cells.TCTATTGTCAGGTTCA-L8TX_171026_01_F04,-5.4568663,11.361472 +10X_cells.GATCGATCAGGAATCG-L8TX_171026_01_G03,-3.0280783,10.592702 +10X_cells.CAGCTAATCGAGCCCA-L8TX_171026_01_A04,-3.5487013,12.173855 +10X_cells.CACAAACCATGCCACG-L8TX_171026_01_F05,-2.7695045,8.905845 +Smartseq_cells.SM-GE67S_S025_E1-50,-5.7935786,11.920064 +Smartseq_cells.SM-GE67S_S031_E1-50,-6.2970343,12.702419 +Smartseq_cells.SM-GE67S_S037_E1-50,-3.50327,13.794362 +Smartseq_cells.SM-GE67S_S047_E1-50,-4.616025,13.809765 +Smartseq_cells.SM-GE67S_S058_E1-50,-3.2484827,13.657463 +Smartseq_cells.SM-GE92H_S051_E1-50,-5.5628867,11.83385 +Smartseq_cells.SM-GE92H_S103_E1-50,-6.440863,11.747841 +Smartseq_cells.SM-GE92I_S265_E1-50,-6.0564313,12.35906 +Smartseq_cells.SM-GE92I_S340_E1-50,-4.936214,12.04707 +Smartseq_cells.SM-GE92I_S349_E1-50,-5.944382,12.855003 +Smartseq_cells.SM-GE92I_S358_E1-50,-5.238634,11.301528 +Smartseq_cells.SM-GE92I_S361_E1-50,-6.8743706,12.505829 +Smartseq_cells.SM-GE92L_S044_E1-50,-5.5959325,12.114378 +Smartseq_cells.SM-GE92L_S144_E1-50,-3.392939,13.82784 +Smartseq_cells.SM-GE92L_S272_E1-50,-5.424509,12.943294 +Smartseq_cells.SM-GE92L_S275_E1-50,-5.3711853,13.108957 +10X_cells.CGTGTCTCAGATAATG-L8TX_181206_01_H11,-2.2156832,9.4938135 +10X_cells.TTGGAACTCGTACGGC-L8TX_181206_01_H11,-3.8801188,11.320572 +10X_cells.TTGTAGGTCTCTAAGG-L8TX_181206_01_H11,-4.0992217,9.360488 +10X_cells.CACAGTACAGTCGATT-L8TX_181206_01_A12,-2.0476534,10.668275 +10X_cells.CGACTTCTCCTGCTTG-L8TX_181206_01_A12,-0.6945849,10.657582 +10X_cells.TCCCGATAGAGGTACC-L8TX_181206_01_A12,-1.5456501,9.347152 +10X_cells.CTCGAGGTCCACGCAG-L8TX_181206_01_B12,-3.0134501,8.924015 +10X_cells.GGGAGATAGAAACGCC-L8TX_181206_01_D12,-3.0611322,9.219588 +10X_cells.CTAAGACAGTTTAGGA-L8TX_180406_01_C01,0.81745,8.307221 +10X_cells.TGTTCCGTCGGTCCGA-L8TX_180406_01_C01,-1.0220579,9.194329 +10X_cells.TAAGAGACAGGCAGTA-L8TX_180406_01_F01,-0.7707117,9.201484 +10X_cells.CGAGAAGTCTGGAGCC-L8TX_180406_01_G01,0.47783354,8.263439 +10X_cells.ATAAGAGGTGTCCTCT-L8TX_180406_01_B02,-0.40772018,8.553531 +Smartseq_cells.SM-GE66Z_S288_E1-50,-3.742263,12.46171 +Smartseq_cells.SM-GE671_S252_E1-50,-2.6378205,13.989643 +10X_cells.CAGCTGGTCTCAACTT-L8TX_180221_01_D10,-3.5831897,10.880912 +10X_cells.ACGGCCAGTGCCTGCA-L8TX_180221_01_D10,-4.041797,9.357355 +10X_cells.CGCCAAGCAAACCTAC-L8TX_180221_01_D10,-3.469789,11.139546 +10X_cells.CTAGCCTAGTGAAGTT-L8TX_180221_01_D10,-2.407395,10.036569 +10X_cells.AAACCTGGTATGAAAC-L8TX_180221_01_E10,-1.189677,9.141672 +10X_cells.ATCCGAATCCGCAGTG-L8TX_180221_01_E10,-2.5892808,11.464266 +10X_cells.CAGCATAGTACCCAAT-L8TX_180221_01_E10,-3.328702,10.120659 +10X_cells.CCCAATCTCCACGACG-L8TX_180221_01_E10,-2.2924051,9.827876 +10X_cells.CCGTTCACAGGTCGTC-L8TX_180221_01_E10,-0.569348,11.5329275 +10X_cells.CGTAGCGGTAGGGACT-L8TX_180221_01_E10,0.6721319,11.412205 +10X_cells.GTCGGGTAGCGTAGTG-L8TX_180221_01_E10,-2.963383,8.57019 +10X_cells.GTTCTCGGTCAAAGCG-L8TX_180221_01_E10,-4.9081106,10.835657 +10X_cells.TTTGCGCCATACTCTT-L8TX_180221_01_E10,-3.4095454,12.340997 +10X_cells.ACTGCTCGTTGCGCAC-L8TX_180221_01_F10,-2.388567,9.154265 +10X_cells.AGTGGGAAGCAGCGTA-L8TX_180221_01_F10,-2.4689043,11.303402 +10X_cells.CATTCGCAGAATTGTG-L8TX_180221_01_F10,-4.853735,10.925393 +10X_cells.GTCACGGAGTGCGTGA-L8TX_180221_01_F10,-0.088988185,10.780032 +10X_cells.TAAGCGTCAATGGACG-L8TX_180221_01_F10,0.005960514,7.884258 +10X_cells.TACTTACGTGACTCAT-L8TX_180221_01_F10,-2.9634295,8.3953 +10X_cells.TGAGCATGTAAGTAGT-L8TX_180221_01_F10,-1.2836522,8.641273 +10X_cells.AGACGTTGTCAAAGAT-L8TX_180221_01_G10,-2.2017004,9.052307 +10X_cells.AAAGATGCATCATCCC-L8TX_180221_01_H10,-0.6730346,8.806173 +10X_cells.ACTGAACAGACTCGGA-L8TX_180221_01_A11,-2.9967911,9.344507 +10X_cells.ATAACGCGTCACCTAA-L8TX_180221_01_A11,-0.5560004,9.9177685 +10X_cells.CCGGGATGTGGCGAAT-L8TX_180221_01_A11,-3.993861,10.618598 +10X_cells.GGACGTCGTCAGGACA-L8TX_180221_01_A11,-2.8113601,9.787961 +10X_cells.ACAGCCGTCGACGGAA-L8TX_190312_01_B02,-4.3034163,9.09335 +10X_cells.ACGGAGACACCAGCAC-L8TX_190312_01_B02,-1.9466995,9.235998 +10X_cells.AGACGTTGTTTAAGCC-L8TX_190312_01_B02,-3.9576645,9.883472 +10X_cells.GTGCGGTTCACGAAGG-L8TX_190312_01_B02,-3.236815,8.464867 +10X_cells.TCAACGAAGTGTACTC-L8TX_190312_01_B02,-3.1161737,7.8855715 +10X_cells.ACTTACTCACTGAAGG-L8TX_190312_01_C02,-0.36674374,8.710589 +10X_cells.GGTGAAGAGTAGATGT-L8TX_190312_01_C02,-1.9919689,10.09875 +10X_cells.TTCTTAGTCCACGAAT-L8TX_190312_01_C02,-2.012134,9.210453 +10X_cells.AGCTTGAGTCCCGACA-L8TX_190312_01_D02,-3.1721158,8.5287695 +10X_cells.CACCAGGTCAGCCTAA-L8TX_190312_01_D02,-3.0544672,11.202892 +10X_cells.CTTGGCTGTGCAGTAG-L8TX_190312_01_D02,-2.960926,9.6846075 +10X_cells.GTTTCTACAAAGTGCG-L8TX_190312_01_G02,-1.1239524,7.5112805 +10X_cells.AGTAGTCGTAAGGGCT-L8TX_180907_01_B11,-2.7863913,8.853337 +10X_cells.AGTTGGTTCGGATGTT-L8TX_180907_01_B11,-2.678611,7.6118264 +10X_cells.TCAACGAAGTCATGCT-L8TX_180907_01_B11,-4.0777903,9.67376 +10X_cells.AAATGCCTCCCATTTA-L8TX_180926_01_C12,-4.0687447,10.706918 +10X_cells.ACTGTCCAGTAGGCCA-L8TX_180926_01_C12,-2.0186024,9.466123 +10X_cells.GTGCAGCTCTGCGTAA-L8TX_180926_01_C12,-2.1632771,12.931856 +10X_cells.AGGTCATTCTTTAGGG-L8TX_180926_01_E12,-1.8323606,8.909678 +10X_cells.GCGCAACGTCTTGTCC-L8TX_180926_01_E12,-2.222193,10.545774 +10X_cells.TAAGAGAGTACTCGCG-L8TX_180926_01_E12,-5.2780786,10.699617 +10X_cells.AGTGAGGCAGGAATGC-L8TX_181012_01_B05,-3.9970763,9.321685 +10X_cells.GATCGTATCAGTCCCT-L8TX_181012_01_B05,-3.0512106,9.430073 +10X_cells.GCATGTACACCTGGTG-L8TX_181012_01_B05,-2.5740523,8.505309 +Smartseq_cells.SM-GE8XM_S103_E1-50,-6.791857,12.546993 +10X_cells.GGAAAGCCAGCCTTTC-L8TX_180221_01_B11,-1.3750849,6.9864535 +10X_cells.ACGATGTGTTCGTTGA-L8TX_180221_01_C11,-5.501028,10.544171 +10X_cells.CTGGTCTTCTCTGCTG-L8TX_180221_01_C11,-2.7313404,9.485472 +10X_cells.GACTGCGCAAGGTTTC-L8TX_180221_01_C11,-1.8199587,11.749755 +10X_cells.TGTCCCATCGCGTTTC-L8TX_180221_01_C11,-0.3559215,8.275356 +10X_cells.CAGCCGATCACCGGGT-L8TX_180221_01_D11,-0.953443,9.263578 +10X_cells.CCTACACTCATGCATG-L8TX_180221_01_D11,-3.0074768,10.899927 +10X_cells.CTCGTACAGGACAGAA-L8TX_180221_01_D11,-3.9160836,8.479827 +10X_cells.ATGAGGGGTAGCTAAA-L8TX_180221_01_E11,-2.1582334,7.3034515 +10X_cells.GTCACAACAGTAAGCG-L8TX_180221_01_E11,-3.544532,8.330098 +10X_cells.TACTTGTGTCCAAGTT-L8TX_180221_01_E11,-0.24892153,8.559588 +10X_cells.CTCGTACAGTGGTCCC-L8TX_180221_01_F11,-0.19139946,9.411584 +Smartseq_cells.SM-GE67O_S281_E1-50,-4.88421,13.385629 +Smartseq_cells.SM-GE67Q_S147_E1-50,-3.1969848,13.543226 +Smartseq_cells.SM-GE67Q_S234_E1-50,-4.643122,13.582614 +10X_cells.ACGCCAGGTAGAAAGG-L8TX_180907_01_G11,-2.29335,8.822994 +10X_cells.TGCTACCTCTGACCTC-L8TX_180907_01_H11,-4.3659186,13.81424 +Smartseq_cells.SM-DD443_S21_E1-50,-5.3944144,12.938183 +Smartseq_cells.SM-GE5US_S022_E1-50,-5.9910593,12.230148 +Smartseq_cells.SM-GE5US_S338_E1-50,-4.24457,13.859833 +Smartseq_cells.SM-GE5UT_S113_E1-50,-2.8652885,13.76864 +Smartseq_cells.SM-GE5UT_S152_E1-50,-5.9198394,12.370383 +Smartseq_cells.SM-GE5UT_S301_E1-50,-5.599496,13.534182 +10X_cells.GGAACTTAGCCGTCGT-L8TX_180926_01_B01,-1.5405784,8.602515 +10X_cells.TCAACGATCATGTAGC-L8TX_180926_01_B01,-1.5854703,8.336656 +10X_cells.TGTGGTATCGTTTGCC-L8TX_180926_01_B01,-4.9413304,11.126175 +10X_cells.ACGATACCATAGAAAC-L8TX_180926_01_D01,-3.2058625,9.547881 +10X_cells.ACGCCGATCCCGGATG-L8TX_180926_01_D01,-1.2026399,8.392326 +10X_cells.CTCATTAAGTGTGAAT-L8TX_180926_01_D01,-2.1086977,8.412006 +10X_cells.TAAGCGTGTTCCGTCT-L8TX_180926_01_D01,-1.5454491,8.43457 +10X_cells.TCTTCGGGTCTAGAGG-L8TX_180926_01_D01,-3.3343801,8.867679 +10X_cells.TGGCCAGAGTCCCACG-L8TX_180926_01_D01,-4.122278,11.405727 +10X_cells.CTTCTCTCAGCTTAAC-L8TX_180926_01_E01,-1.7928296,9.461807 +10X_cells.GCATACAAGATGTTAG-L8TX_180926_01_E01,-2.4020624,8.232203 +10X_cells.GGTGTTAGTTGGTTTG-L8TX_180926_01_E01,-3.0503104,10.433452 +10X_cells.TCAGGTAGTCGCTTCT-L8TX_180926_01_E01,-0.8852756,11.058568 +10X_cells.TCATTACGTTACGACT-L8TX_180926_01_E01,-2.082094,9.440486 +10X_cells.AACTTTCAGGCGACAT-L8TX_180926_01_F01,-2.870236,9.315134 +10X_cells.ATTACTCCAATCGAAA-L8TX_180926_01_F01,-4.1995783,10.416695 +10X_cells.CACACCTTCTAACTGG-L8TX_180926_01_F01,-0.005120157,8.301048 +10X_cells.CACAGGCCATGGTAGG-L8TX_180926_01_F01,-2.1124454,9.726432 +10X_cells.CAGCAGCAGATCCGAG-L8TX_180926_01_F01,-2.1775331,8.796715 +10X_cells.CGGGTCACAATCTGCA-L8TX_180926_01_F01,-1.4794589,8.833593 +10X_cells.GCATGATCAATCCAAC-L8TX_180926_01_F01,0.13099027,8.341676 +10X_cells.GGGCACTAGCTGAAAT-L8TX_180926_01_F01,-3.8347616,9.393343 +10X_cells.CTGCCTAAGAGTTGGC-L8TX_181011_01_A03,-1.2456843,9.947168 +10X_cells.TTTCCTCCAGGTCCAC-L8TX_181011_01_A03,-2.4028902,8.846011 +10X_cells.CAAGTTGTCGGCGCTA-L8TX_181011_01_B03,-1.9708394,9.524726 +10X_cells.CTACATTCACAGCCCA-L8TX_181011_01_B03,-0.7251,10.28749 +10X_cells.TAAGCGTTCTACTTAC-L8TX_181011_01_B03,-2.37664,9.389415 +10X_cells.TCACGAAAGACATAAC-L8TX_181011_01_B03,-3.5265694,12.513716 +10X_cells.TCCACACTCGCCTGAG-L8TX_181011_01_B03,-1.3293341,9.293727 +10X_cells.ACCTTTAAGCGTGAAC-L8TX_181011_01_C03,-1.894237,8.280906 +10X_cells.AGAGTGGTCGTTGACA-L8TX_181011_01_C03,-1.8674134,8.376608 +10X_cells.CGTCAGGAGCTGCCCA-L8TX_181011_01_C03,-0.15911849,9.405427 +10X_cells.GACTAACCACACAGAG-L8TX_181011_01_C03,-4.0951676,10.729832 +10X_cells.GGATTACCAATAAGCA-L8TX_181011_01_C03,-2.3453746,11.116754 +10X_cells.GTCATTTAGGCCCTTG-L8TX_181011_01_C03,-2.9091883,8.935387 +10X_cells.TCTTTCCAGGGTGTGT-L8TX_181011_01_C03,-3.3308551,11.336617 +10X_cells.AAGGAGCCATCCAACA-L8TX_181011_01_H03,-2.0517666,8.762986 +10X_cells.AGCTTGAGTGTTTGGT-L8TX_181011_01_H03,-3.0234632,9.421575 +10X_cells.ATTTCTGTCTGGAGCC-L8TX_181011_01_H03,-3.2662687,9.939397 +10X_cells.TACTCATCACCAACCG-L8TX_181011_01_H03,-0.0881131,7.855908 +10X_cells.CTAGAGTGTTCCAACA-L8TX_180221_01_A12,-0.52025914,7.4079 +10X_cells.CACATAGTCGTTTAGG-L8TX_200611_02_A05,-1.5759668,8.987034 +10X_cells.ACTTACTGTACTTCTT-L8TX_180712_01_E05,0.76757395,8.208399 +10X_cells.TTGCCGTTCACGATGT-L8TX_180221_01_B12,-0.356067,7.6463475 +10X_cells.ATAAGAGTCGATAGAA-L8TX_180504_01_E01,-0.2325574,8.185544 +10X_cells.TGGTTCCGTCTCCACT-L8TX_180712_01_E05,0.6993256,7.895709 +10X_cells.AGTGTCAAGAACTGTA-L8TX_180221_01_H11,-0.8112666,6.890343 +10X_cells.GACGCGTAGCGTGAAC-L8TX_180712_01_A06,-3.2976549,10.0504675 +10X_cells.AAACCTGTCGCCGTGA-L8TX_180221_01_A12,-0.79197735,6.81943 +10X_cells.ACGCAGCGTTCGCGAC-L8TX_180712_01_F05,-3.1818986,9.192442 +10X_cells.TGGTTCCGTAAGCACG-L8TX_180712_01_E05,-0.6446083,8.012759 +10X_cells.CATCAAGGTGTTTGTG-L8TX_180712_01_A06,-1.2035636,8.937438 +10X_cells.CGAGAAGTCTAACTGG-L8TX_180712_01_H05,-2.134259,8.8690605 +10X_cells.ACTGCTCTCTTCAACT-L8TX_180712_01_F05,1.0921901,7.9749026 +10X_cells.CATGCCTAGGGTGTTG-L8TX_180504_01_E01,-0.46725774,8.365511 +10X_cells.CCACGGAAGGCGACAT-L8TX_180221_01_B12,-3.9010286,8.57072 +10X_cells.GACTAACTCCCTCAGT-L8TX_180712_01_A06,-2.4674506,9.01465 +10X_cells.ATTGGTGAGGAGTTGC-L8TX_180712_01_H05,-5.0160713,10.607851 +10X_cells.TTTATGCTCATGCTCC-L8TX_180221_01_H11,-1.2574154,7.04492 +10X_cells.AGCTCCTGTGGTCCGT-L8TX_180221_01_C12,-1.833062,7.4240007 +10X_cells.CTGTGCTGTAATTGGA-L8TX_180712_01_F05,-2.948044,9.196797 +10X_cells.AAAGTAGTCATTATCC-L8TX_180221_01_A12,-0.37236443,7.319677 +10X_cells.AGGCCACTCTGCGGCA-L8TX_180221_01_B12,-1.5976536,7.8329763 +10X_cells.TCAGATGCACGAGAGT-L8TX_180221_01_C12,0.33702043,8.1183195 +10X_cells.AGTCTTTAGAAGATTC-L8TX_180712_01_F05,-3.7342694,10.545548 +10X_cells.CAGAATCTCCAATGGT-L8TX_180221_01_C12,-1.3304793,8.693154 +10X_cells.TGGTTCCTCATAGCAC-L8TX_180221_01_B12,-3.1046731,8.644389 +10X_cells.AACGTTGTCACGCATA-L8TX_180712_01_H05,-0.88701016,8.007441 +10X_cells.CGATGGCTCGCGCCAA-L8TX_180712_01_H05,-2.9393604,9.523368 +10X_cells.CATTATCGTAGAAAGG-L8TX_200611_02_A05,-1.6882477,8.269598 +10X_cells.CTCGTCAAGCTAGTGG-L8TX_180221_01_H11,-0.99148107,6.6413817 +10X_cells.AGCATACTCGTGGACC-L8TX_180221_01_H11,-0.51950926,6.9062176 +10X_cells.CTAACTTTCAACGCTA-L8TX_180712_01_A06,-1.7367058,10.332594 +10X_cells.GGGAGATAGTGTTAGA-L8TX_180504_01_E01,0.6358323,7.632686 +10X_cells.GCTTGAAGTAAGGGCT-L8TX_200611_02_A05,-2.5700219,9.147797 +10X_cells.TGAGAGGCACGAAGCA-L8TX_180712_01_E05,-1.6344253,7.9970083 +10X_cells.ACACTGAAGCGAAGGG-L8TX_180221_01_B12,-1.8021605,7.457674 +10X_cells.GCCAAATAGATCACGG-L8TX_180712_01_E05,-2.311646,8.560266 +10X_cells.TGAAAGAGTAGCGCTC-L8TX_180504_01_E01,-1.6014895,8.584786 +10X_cells.CTACATTAGCTTTGGT-L8TX_200611_02_A05,-2.3029702,9.577575 +10X_cells.GGGACCTGTTTGGCGC-L8TX_180712_01_H05,-2.987742,10.895978 +10X_cells.TGGCTGGTCGGTGTCG-L8TX_180712_01_A06,-2.1955595,9.5743885 +10X_cells.CACCACTCATCTATGG-L8TX_180712_01_A06,-3.5663903,11.404722 +10X_cells.ACATCAGAGAGCAATT-L8TX_180221_01_C12,0.33526593,7.5680494 +10X_cells.TGGTTAGCAGTGGAGT-L8TX_180221_01_H11,-0.9308274,7.070171 +10X_cells.CGAGAAGAGATGTGGC-L8TX_180712_01_E05,-2.4469929,9.561441 +10X_cells.CATGACATCCCATTAT-L8TX_200611_02_A05,-2.242678,9.851741 +10X_cells.AAGACCTGTTGAGTTC-L8TX_180221_01_A12,-2.7225876,11.319409 +10X_cells.GTTCGGGGTTGATTGC-L8TX_180504_01_E01,-1.7914232,8.989666 +10X_cells.AAACGGGTCAGTGTTG-L8TX_180221_01_A12,-1.354369,7.0766478 +10X_cells.ATCATCTTCGTTTAGG-L8TX_180712_01_E05,0.22730373,7.772038 +10X_cells.CCACTACGTCCCTTGT-L8TX_180712_01_H05,-2.899402,9.764628 +10X_cells.GGTATTGCACAGATTC-L8TX_180712_01_A06,0.2268061,11.122926 +10X_cells.GTATCTTGTTTGTTGG-L8TX_180504_01_E01,0.3683367,8.990543 +10X_cells.GATCGCGCAGTTCATG-L8TX_180221_01_A12,-1.330061,7.10621 +10X_cells.GCGCAGTTCCCTAACC-L8TX_180221_01_C12,-0.9972876,7.669068 +10X_cells.ACGCCGAAGGCTAGAC-L8TX_200611_02_A05,-2.799604,10.141605 +10X_cells.TCAGCAAAGAAACCGC-L8TX_200611_02_A05,-0.76465946,8.950245 +10X_cells.AGCTTGACATGCCTTC-L8TX_200611_02_A05,-3.2288837,10.690455 +10X_cells.CTCGAGGGTCTAAACC-L8TX_200611_02_A05,-2.1198444,9.682975 +10X_cells.AGTGGGATCTCTGAGA-L8TX_200611_02_A05,-0.9319166,8.574371 +Smartseq_cells.SM-GE679_S365_E1-50,-4.9501905,13.061193 +10X_cells.GCTGCGATCCCAAGTA-L8TX_180115_01_F11,-3.1146107,9.089323 +10X_cells.GGGAATGTCGAGAACG-L8TX_180115_01_D09,-3.325031,8.586979 +10X_cells.CTTAACTCAGATGGCA-L8TX_180115_01_D11,-0.69317204,11.761424 +10X_cells.TGCTGCTCACATTTCT-L8TX_180115_01_B10,-3.780327,8.8125925 +10X_cells.TTAACTCAGGCTAGCA-L8TX_180115_01_F09,-2.7035747,10.355742 +10X_cells.ACGCCGAGTCTAGGTT-L8TX_180115_01_E10,-3.8311534,8.631697 +10X_cells.GTCGGGTAGTATCGAA-L8TX_180115_01_C11,-3.4273608,8.679931 +10X_cells.GCGCGATAGTTCGATC-L8TX_180115_01_E11,-4.626018,11.789117 +10X_cells.TCGTAGACAGTTAACC-L8TX_180115_01_H10,-1.5957347,7.6570697 +10X_cells.ACAGCTAGTCCGAACC-L8TX_180115_01_D11,-3.2915123,11.137957 +10X_cells.TCACGAAAGGAGTTTA-L8TX_180115_01_G11,-2.8686476,11.952404 +10X_cells.TTTCCTCAGGCCCTCA-L8TX_180115_01_E11,-2.0737424,12.2293825 +10X_cells.TACGGGCTCACGACTA-L8TX_180115_01_D09,-4.1660156,8.587007 +10X_cells.GCATGATGTTCGCGAC-L8TX_180115_01_F09,-3.5151634,9.892294 +10X_cells.ATCGAGTTCTCTTATG-L8TX_180115_01_G10,-2.8356223,8.271404 +10X_cells.ATGAGGGCAATCTGCA-L8TX_180115_01_F09,-1.9291914,9.010294 +10X_cells.GTAGGCCAGCCGGTAA-L8TX_180115_01_G10,-1.5891924,7.4662576 +10X_cells.TTGAACGAGACACGAC-L8TX_180115_01_G11,-3.4666777,10.284477 +10X_cells.CTTACCGTCACGCGGT-L8TX_180115_01_A10,-2.73146,7.7094607 +10X_cells.AGTTGGTGTTGATTCG-L8TX_180115_01_F11,-3.2086616,10.4199705 +10X_cells.TAAGAGACAAGCCTAT-L8TX_180115_01_E09,-4.2347584,10.503006 +10X_cells.CATATTCAGCGTCTAT-L8TX_180115_01_E09,-3.7907114,9.671547 +10X_cells.TATCTCAGTTCCTCCA-L8TX_180115_01_H09,-4.1892977,10.264898 +10X_cells.GCGACCAGTCGTGGCT-L8TX_180115_01_C09,-1.4991106,9.919337 +10X_cells.GAGCAGAAGGCATTGG-L8TX_180115_01_E10,-5.8244553,11.060951 +10X_cells.ACGGCCAAGCCAGTTT-L8TX_180115_01_A10,-0.84669554,9.733264 +10X_cells.CGGACACTCCTAGGGC-L8TX_180115_01_H11,-2.3947086,11.121759 +10X_cells.CTCGAGGTCACGCGGT-L8TX_180115_01_D09,-5.2660546,10.300348 +10X_cells.CATATGGCATTCCTCG-L8TX_180115_01_H10,-1.8002009,10.497154 +10X_cells.AGTCTTTCACTTACGA-L8TX_180115_01_F11,-2.5351894,11.042473 +10X_cells.CTCGGAGGTCGCGTGT-L8TX_180115_01_G11,-2.7736237,9.753154 +10X_cells.CTAGAGTTCAGGCGAA-L8TX_180115_01_E11,-2.439713,9.898472 +10X_cells.GACGTGCTCCTCAATT-L8TX_180115_01_A10,-4.4159303,9.0769005 +10X_cells.CGAGAAGTCGTCACGG-L8TX_180115_01_D11,-2.222119,10.01153 +10X_cells.CACTCCAGTTATTCTC-L8TX_180115_01_G09,-2.4872296,7.510932 +10X_cells.GGACGTCTCCCAAGTA-L8TX_180115_01_G11,-0.2024136,9.503112 +10X_cells.GTGCTTCTCGAACTGT-L8TX_180115_01_C09,-2.5114424,9.91797 +10X_cells.GATGAGGCACCCAGTG-L8TX_180115_01_H11,-2.8684049,8.929217 +10X_cells.CATTCGCGTAGCTGCC-L8TX_180115_01_A11,-4.0431457,9.7196045 +10X_cells.GCGCCAAGTTTGGCGC-L8TX_180115_01_G10,-2.0757093,7.4414287 +10X_cells.CCGTACTAGAGCCTAG-L8TX_180115_01_F10,-4.0511513,9.983766 +10X_cells.GAACCTACATCGTCGG-L8TX_180115_01_E11,-2.8386025,10.627097 +10X_cells.TGACGGCAGGAGTACC-L8TX_180115_01_D11,-4.33071,10.963462 +10X_cells.TAAGCGTCAGCTGCTG-L8TX_180115_01_G10,-2.9798737,7.538464 +10X_cells.AACGTTGTCTGGGCCA-L8TX_180115_01_B09,-3.6851163,9.512802 +10X_cells.CTAGCCTGTTCCGTCT-L8TX_180115_01_C11,0.73978627,8.569776 +10X_cells.GATCGATCAAGTTAAG-L8TX_180115_01_C09,-3.6302094,8.413448 +10X_cells.ATGGGAGGTCAATGTC-L8TX_180115_01_A09,-1.1980535,10.119938 +10X_cells.TCCCGATCAGGTCTCG-L8TX_180115_01_F10,0.2938854,8.63272 +10X_cells.CACATAGCAGTTCCCT-L8TX_180115_01_G10,-2.8422928,8.619826 +10X_cells.CTACGTCCATTCTTAC-L8TX_171120_01_G07,-3.659857,10.590594 +10X_cells.CTCTACGGTGGCCCTA-L8TX_171120_01_G07,-3.169043,10.422625 +10X_cells.GGGTTGCTCTGTGCAA-L8TX_171120_01_G07,-2.6964297,7.6609836 +10X_cells.TTTACTGGTGAGTATA-L8TX_171120_01_G07,-2.2032545,10.664287 +10X_cells.CGGTTAAAGGACTGGT-L8TX_171120_01_H07,-3.6876564,9.3729105 +10X_cells.GTCTTCGTCTAAGCCA-L8TX_171120_01_H07,-2.2603917,11.127286 +10X_cells.CCGGTAGGTGGCTCCA-L8TX_180115_01_G08,-2.8120165,10.612487 +10X_cells.CGACTTCTCCAAGCCG-L8TX_180115_01_G08,-4.7139564,11.152959 +10X_cells.CGGACACTCCCTAACC-L8TX_180115_01_G08,-4.0073442,11.206899 +10X_cells.GCGCAACGTTGATTCG-L8TX_180115_01_G08,-4.302836,11.349706 +10X_cells.GTTTCTACACTGCCAG-L8TX_180115_01_G08,-2.797608,10.506156 +10X_cells.TTGCGTCCAGCGTCCA-L8TX_180115_01_G08,-3.3224769,11.548792 +10X_cells.AGGCCACGTCAGAGGT-L8TX_171120_01_C07,-3.7535067,10.285129 +10X_cells.ACGGCCAGTACGCTGC-L8TX_171120_01_C07,-2.0144994,12.031621 +10X_cells.AGCGTCGGTTCAGGCC-L8TX_171120_01_D07,-3.40519,7.634211 +10X_cells.CGGTTAAAGTACTTGC-L8TX_171120_01_D07,-0.29956076,10.6508665 +10X_cells.CGTTCTGGTTCAGCGC-L8TX_171120_01_D07,-0.36104354,9.288546 +10X_cells.TCTATTGTCCTTTCTC-L8TX_171120_01_D07,-3.2212648,8.89768 +10X_cells.AGCTCTCCAAGCTGGA-L8TX_171120_01_E07,-2.4194984,10.838518 +10X_cells.GGCGACTTCACTATTC-L8TX_171120_01_E07,-3.0405233,10.211754 +10X_cells.TGGGCGTGTTACTGAC-L8TX_171120_01_E07,-3.4952028,11.022614 +10X_cells.AGGCCGTTCTCTTGAT-L8TX_171120_01_F07,-2.51223,11.267358 +10X_cells.CGGAGTCAGGTGCACA-L8TX_171120_01_F07,-4.6177254,10.120245 +10X_cells.TGAGAGGGTACGACCC-L8TX_171120_01_F07,-0.44176584,8.991293 +10X_cells.TTAGTTCTCATCGCTC-L8TX_171120_01_F07,-1.9740672,10.8785515 +10X_cells.CAGAGAGAGTTGTAGA-L8TX_180115_01_F08,-0.91888136,12.514112 +10X_cells.GTCACGGTCCCAAGTA-L8TX_180115_01_F08,-1.9748603,11.457053 +10X_cells.TAGGCATTCTAACTGG-L8TX_180115_01_F08,-4.823489,11.857539 +10X_cells.ATGCGATTCGCGGATC-L8TX_180115_01_C08,-1.6619234,9.619174 +10X_cells.CCTCAGTCATCGGGTC-L8TX_180115_01_E08,-2.9930284,10.969451 +10X_cells.TGTGGTATCATACGGT-L8TX_180115_01_E08,-2.131513,11.056418 +Smartseq_cells.LS-15033_S79_E1-50,-2.9706533,13.921881 +Smartseq_cells.LS-15061_S53_E1-50,-3.236756,14.839863 +Smartseq_cells.LS-15061_S68_E1-50,-3.346378,14.05183 +Smartseq_cells.LS-15061_S71_E1-50,-2.3452177,14.760078 +Smartseq_cells.LS-15062_S71_E1-50,-5.973021,12.838902 +Smartseq_cells.LS-15097_S06_E1-50,-2.7389407,14.535088 +Smartseq_cells.LS-15307_S88_E1-50,-4.3238,14.31787 +Smartseq_cells.LS-15338_S95_E1-50,-3.5658865,13.769584 +Smartseq_cells.LS-15352_S62_E1-50,-3.5948534,14.926721 +Smartseq_cells.LS-15352_S70_E1-50,-3.790292,14.000985 +Smartseq_cells.LS-15356_S94_E3-50,-4.035062,13.56056 +Smartseq_cells.LS-15510_S93_E1-50,-5.310611,12.87394 +Smartseq_cells.LS-15542_S83_E1-50,-2.3055208,13.932526 +Smartseq_cells.LS-15544_S39_E1-50,-6.2976294,11.176083 +Smartseq_cells.LS-15545_S59_E1-50,-4.819841,13.8752165 +Smartseq_cells.LS-15545_S81_E1-50,-4.4129305,13.4991455 +Smartseq_cells.SM-D9E4J_S28_E1-50,-3.417166,13.023603 +Smartseq_cells.SM-GE63I_S096_E1-50,-2.6647375,14.122635 +Smartseq_cells.SM-GE67T_S015_E1-50,-4.904812,13.429417 +Smartseq_cells.SM-GE67T_S205_E1-50,-4.1152635,14.428002 +Smartseq_cells.SM-GE8X6_S006_E1-50,-4.120205,14.700419 +10X_cells.ATCACGATCATGTCTT-L8TX_180221_01_G09,-3.2076898,14.157211 +10X_cells.CCATTCGCACACTGCG-L8TX_180221_01_G09,-0.9227576,11.251712 +10X_cells.GACGTGCTCATGCATG-L8TX_180221_01_G09,-2.3225856,14.168123 +10X_cells.GAGGTGACAGACGCTC-L8TX_180406_01_F02,-2.1966846,14.519224 +10X_cells.TCAGGATTCTGTACGA-L8TX_180406_01_F02,-1.7306191,10.340255 +10X_cells.ACCGTAAGTGTGTGCC-L8TX_180406_01_C06,-1.8237288,14.03003 +10X_cells.GTCATTTAGTACGTAA-L8TX_180406_01_C06,0.7085767,15.015377 +10X_cells.CTCGGGAAGCGGATCA-L8TX_180712_01_G05,-1.4393972,15.443613 +10X_cells.TGCACCTTCTCGAGTA-L8TX_180221_01_H12,-3.3030503,10.922533 +10X_cells.CGTCCATCACAAGTAA-L8TX_180221_01_E09,-2.5559602,14.882674 +Smartseq_cells.LS-15087_S87_E1-50,-2.8087738,14.992624 +Smartseq_cells.LS-15338_S39_E1-50,-0.6177553,15.921197 +10X_cells.CTCATTACACGGCCAT-L8TX_180829_01_D09,-2.803043,10.814875 +10X_cells.GACTAACTCGGCGGTT-L8TX_180829_01_E10,-0.2584925,12.901696 +10X_cells.TCGAGGCGTCGTTGTA-L8TX_180829_01_E10,-0.106605604,13.84032 +10X_cells.GTCGGGTGTCTAACGT-L8TX_181011_01_G02,-3.3819065,10.745288 +10X_cells.TAGTGGTGTTTCCACC-L8TX_181011_01_G02,-1.2416523,10.017038 +10X_cells.AACTCCCGTGCCTGCA-L8TX_181012_01_H04,-2.5757627,10.96108 +10X_cells.GTCGTAAGTCGGCACT-L8TX_180406_01_G02,-0.26322594,14.176929 +10X_cells.CGCTATCAGTCACGCC-L8TX_180406_01_H01,-1.6661549,10.717926 +10X_cells.GCTCTGTCAGGTTTCA-L8TX_180406_01_E02,-2.989206,11.167943 +10X_cells.AGAGCTTTCTTGTATC-L8TX_180406_01_G02,2.5480764,11.530323 +10X_cells.GACCAATGTCTGCCAG-L8TX_180406_01_B06,-0.45759684,9.636144 +10X_cells.CGGCTAGTCGCCTGAG-L8TX_180406_01_E06,-1.5477766,10.451815 +10X_cells.TTGACTTTCCTGTAGA-L8TX_180406_01_C08,0.080104336,7.7816057 +Smartseq_cells.SM-GE5V6_S059_E1-50,-2.9310377,14.831177 +10X_cells.CTACGTCAGGCCCTCA-L8TX_171026_01_E05,-4.5695314,11.946621 +10X_cells.GATTCAGCATCGGACC-L8TX_171026_01_G03,-2.2835162,13.44028 +10X_cells.CTGTGCTCAGCCTATA-L8TX_171026_01_F03,-0.8021319,11.992573 +10X_cells.GGCTCGATCGCTTGTC-L8TX_171026_01_F03,-0.8030897,16.046593 +10X_cells.GTCTCGTTCCTCCTAG-L8TX_171026_01_F03,-0.95893383,12.475917 +10X_cells.AGATTGCAGTTACCCA-L8TX_171026_01_G03,0.004009777,14.566895 +10X_cells.CACAGTACACGTAAGG-L8TX_171026_01_G03,-2.8383965,13.634673 +10X_cells.GACGTTAAGCGACGTA-L8TX_171026_01_G03,-2.7481813,14.09814 +10X_cells.GCTGCTTGTAGGAGTC-L8TX_171026_01_G03,-0.32525915,15.774863 +10X_cells.TTATGCTAGCTGTTCA-L8TX_171026_01_G03,-0.004918726,15.409674 +10X_cells.GTGTTAGGTATATGAG-L8TX_171026_01_B04,-2.7729223,14.609011 +10X_cells.TACCTTAAGGATATAC-L8TX_171026_01_B04,0.16071166,15.741966 +10X_cells.GCCAAATCAGCTCGCA-L8TX_171026_01_F04,-0.38321564,15.942539 +10X_cells.GTCTCGTAGCTACCGC-L8TX_171026_01_F04,-2.549874,14.305642 +10X_cells.GACACGCGTTCGAATC-L8TX_171026_01_G04,-0.8423154,16.210623 +10X_cells.TCTGGAACATCGGGTC-L8TX_171026_01_G04,-5.7176695,13.496409 +10X_cells.GCCAAATTCCACGACG-L8TX_171026_01_H04,-4.8303084,13.800211 +10X_cells.GGGAGATGTTCCACTC-L8TX_171026_01_H04,-1.7476785,14.81159 +10X_cells.CCTACCAAGCGCCTTG-L8TX_171026_01_A05,-0.37590984,16.0473 +10X_cells.CTAGTGAGTCTACCTC-L8TX_171026_01_A05,-0.43554413,15.4023 +10X_cells.GATCGATTCTCGCATC-L8TX_171026_01_A05,-2.4626062,14.10582 +10X_cells.TGCGGGTCAACACCTA-L8TX_171026_01_H03,-2.8619947,14.05209 +10X_cells.ATTATCCAGATATACG-L8TX_171026_01_A04,0.21183977,15.770012 +10X_cells.CTGCCTATCGTAGGTT-L8TX_171026_01_C05,-0.74334586,9.791334 +10X_cells.GCATGATTCTCTGAGA-L8TX_171026_01_C05,-1.1858674,15.879974 +10X_cells.GTATTCTAGCATGGCA-L8TX_171026_01_C05,-3.1640077,13.316539 +10X_cells.TAAGCGTTCAAACGGG-L8TX_171026_01_D05,-0.0199117,15.419529 +10X_cells.ACTATCTTCGTCACGG-L8TX_171026_01_E05,-6.772271,13.127374 +10X_cells.AGCATACCAACGATGG-L8TX_171026_01_E05,0.040388025,15.628477 +10X_cells.CTTACCGTCGTGGTCG-L8TX_171026_01_E05,-0.7647328,16.222837 +10X_cells.TAGTTGGCAAGAAAGG-L8TX_171026_01_E05,-5.31898,12.000679 +10X_cells.ACTGTCCCACATGGGA-L8TX_171026_01_F05,-1.6740173,15.770242 +10X_cells.GGCAATTAGTCCAGGA-L8TX_171026_01_G05,-2.687719,12.491892 +10X_cells.CGGGTCACAGGTGGAT-L8TX_171026_01_H05,-3.7100544,11.057745 +10X_cells.CGTGTAACAATCGGTT-L8TX_171026_01_H05,-2.8088255,11.762836 +10X_cells.GTCACAAAGAATGTGT-L8TX_180406_01_E01,-2.5679507,12.801798 +10X_cells.GCGAGAAAGTTGTCGT-L8TX_180406_01_F01,0.5259998,8.015857 +10X_cells.CCTATTACAAGGTGTG-L8TX_180406_01_G01,-0.67708796,9.0522 +10X_cells.CTCGTCACAAGGTGTG-L8TX_180406_01_G01,0.6914577,14.325759 +10X_cells.TTAGGACGTTTAGCTG-L8TX_180406_01_B02,0.010139459,8.638707 +10X_cells.ATTATCCTCACGCGGT-L8TX_190312_01_B02,-1.0407808,13.572242 +10X_cells.GTGGGTCCAGCGTTCG-L8TX_180221_01_E10,-2.6174045,14.986489 +10X_cells.ACGCAGCGTACTTAGC-L8TX_180221_01_D10,-1.8320041,13.461628 +10X_cells.CCGGGATTCGTAGGTT-L8TX_180221_01_E10,-1.1967264,9.641568 +10X_cells.GACTACACACTTAAGC-L8TX_180221_01_E10,1.4403839,14.619586 +10X_cells.GGCGTGTAGACTTTCG-L8TX_180221_01_F10,-3.8850384,10.404572 +10X_cells.CAGATCACATGAAGTA-L8TX_180221_01_G10,1.4504269,14.499466 +10X_cells.AACCATGGTTCAACCA-L8TX_180221_01_H10,0.52774465,13.065139 +10X_cells.ATTACTCCACCGAAAG-L8TX_180221_01_A11,-0.6679822,15.7543745 +10X_cells.GACAGAGGTCTGCCAG-L8TX_180221_01_A11,-1.0801634,9.257466 +10X_cells.CATTCGCCAAGAAGAG-L8TX_190312_01_B02,-1.1286788,10.307057 +10X_cells.GAATGAATCATGGTCA-L8TX_180926_01_C12,-1.0259601,16.05676 +10X_cells.ATTGGACTCCAACCAA-L8TX_181012_01_B05,-3.9141455,12.522811 +10X_cells.CAGAATCCATATGGTC-L8TX_181012_01_B05,-4.566204,12.084414 +10X_cells.TCTGAGACAAGTAATG-L8TX_181012_01_B05,-2.6675858,14.276368 +10X_cells.CTTGGCTAGCCACGCT-L8TX_181012_01_C05,-3.7719893,13.17586 +10X_cells.GGGTTGCGTAATAGCA-L8TX_181012_01_C05,-0.98547065,11.564079 +Smartseq_cells.SM-GE67Q_S170_E1-50,-3.7684908,14.907903 +10X_cells.AATCGGTTCATAACCG-L8TX_180907_01_H11,0.24083087,11.331436 +10X_cells.AGCTTGACAGTAGAGC-L8TX_180907_01_B12,-2.116261,10.957585 +10X_cells.TGAGCATAGCGTAGTG-L8TX_180907_01_B12,-0.86457264,13.40289 +10X_cells.CCTCAGTAGTCGAGTG-L8TX_181011_01_B03,-1.7156392,15.775224 +10X_cells.CGATCGGGTACAAGTA-L8TX_180926_01_B01,1.2890482,13.500926 +10X_cells.TCAGGTATCGACAGCC-L8TX_181011_01_A03,-3.4667938,12.046596 +10X_cells.CTAGCCTTCGAACGGA-L8TX_181011_01_B03,-3.2124403,11.869518 +10X_cells.CATCAAGCACGGTAGA-L8TX_181011_01_C03,-1.0670686,8.983322 +10X_cells.GTTCTCGTCCCTTGTG-L8TX_181011_01_H03,-4.0991125,13.490627 +10X_cells.ACATGGTGTCATGCAT-L8TX_180221_01_C12,1.1853634,13.915436 +10X_cells.TGCCAAAGTTCGTGAT-L8TX_180712_01_E05,-1.0983403,10.696546 +10X_cells.GTTACAGTCTCTTGAT-L8TX_180712_01_H05,-0.823363,13.030484 +10X_cells.CTAACTTGTGTGCCTG-L8TX_180221_01_A12,-0.39180738,8.499302 +10X_cells.GAAATGAGTTTACTCT-L8TX_180221_01_B12,0.62183535,10.191937 +10X_cells.TTGAACGAGTGGAGAA-L8TX_180221_01_B12,-3.9981024,11.218041 +10X_cells.ATAAGAGCATCCAACA-L8TX_180221_01_C12,-3.9554713,12.441131 +10X_cells.GACTACACACGAAATA-L8TX_180221_01_C12,-0.44553715,13.558756 +10X_cells.GTAGTCATCGTAGATC-L8TX_180221_01_C12,-0.9243976,13.1006365 +10X_cells.TCGGTAACACAGTCGC-L8TX_200611_02_A05,-1.6539736,13.880195 +10X_cells.GTCGGGTTCTTACCGC-L8TX_180115_01_F11,-2.9378095,12.371804 +10X_cells.ACACTGAAGATCGATA-L8TX_180115_01_G11,-5.1596193,12.548968 +10X_cells.CGAGCACGTCATATCG-L8TX_180115_01_A10,-2.850709,11.918881 +10X_cells.CACAGTAGTTTAGCTG-L8TX_180115_01_F10,-0.27645534,10.03499 +10X_cells.GTGCTTCGTCCAACTA-L8TX_180115_01_D11,-1.735119,14.821048 +10X_cells.TCATTACGTAGCGATG-L8TX_180115_01_F11,-1.6197912,11.885215 +10X_cells.ACTGTCCCAATAGCAA-L8TX_180115_01_H11,-1.9129977,14.37358 +10X_cells.ACGAGCCCATACGCCG-L8TX_180115_01_B11,0.12054738,14.342794 +10X_cells.ACCAGTAAGTCTTGCA-L8TX_180115_01_H10,-5.560396,11.967549 +10X_cells.CATGGCGCACTCAGGC-L8TX_180115_01_F11,-2.789204,13.368272 +10X_cells.CAGCCGATCAATCACG-L8TX_180115_01_E11,0.596715,14.08034 +10X_cells.GTCACGGGTCTCTTAT-L8TX_180115_01_G09,-0.5921117,10.03861 +10X_cells.TCTATTGTCTGGCGTG-L8TX_180115_01_F11,0.35341683,13.927671 +10X_cells.CTCGAGGAGAGCCCAA-L8TX_180115_01_G11,-2.6940854,13.965169 +10X_cells.AAACGGGAGGCTAGCA-L8TX_180115_01_E11,-4.6930666,12.15477 +10X_cells.CCTACCACAGCGTCCA-L8TX_180115_01_D11,-0.31342164,15.532614 +10X_cells.GCGCCAACAAGCGTAG-L8TX_180115_01_H11,0.7792212,10.8254595 +10X_cells.TCCCGATCAAAGTGCG-L8TX_180115_01_G10,-0.17755762,12.217602 +10X_cells.ACGAGCCGTCGTCTTC-L8TX_180115_01_H10,-3.2963736,14.35641 +10X_cells.GTACTCCAGCCACCTG-L8TX_180115_01_G10,-2.2113903,12.517579 +10X_cells.CTGCGGAGTAGCGATG-L8TX_180115_01_G11,-1.0373707,14.308155 +10X_cells.GTACTTTGTCACCTAA-L8TX_180115_01_E09,-2.041612,11.876825 +10X_cells.ATGTGTGCACCCATTC-L8TX_180115_01_E09,-3.1260347,10.868918 +10X_cells.AAGCCGCCATGCTGGC-L8TX_180115_01_C09,-5.8840957,11.412138 +10X_cells.GTACTCCCATTCCTCG-L8TX_180115_01_D11,-0.27827743,11.022841 +10X_cells.GTCTTCGAGAGGACGG-L8TX_180115_01_G10,-3.528108,8.082954 +10X_cells.TGATTTCCAAGTTAAG-L8TX_180115_01_H09,-3.5602458,11.131907 +10X_cells.CCTATTATCCATGAGT-L8TX_180115_01_A11,0.77554256,14.717967 +10X_cells.GTCTCGTGTACTCAAC-L8TX_180115_01_D11,-0.9980631,9.813485 +10X_cells.GTAACTGTCGATAGAA-L8TX_180115_01_A10,-3.408714,11.358 +10X_cells.AACCATGTCAAAGTAG-L8TX_180115_01_B11,-1.4644804,10.160234 +10X_cells.CGTAGCGAGACCCACC-L8TX_180115_01_G10,-0.9390898,10.687878 +10X_cells.TGTCCCAAGGCCCTTG-L8TX_180115_01_E10,-0.26738465,10.986134 +10X_cells.GATCGTAGTCTCCCTA-L8TX_180115_01_F11,-1.2979802,15.410415 +10X_cells.CGAGCACGTCACACGC-L8TX_180115_01_D11,-2.7339613,11.109319 +10X_cells.AATCCAGCACTACAGT-L8TX_180115_01_D09,-3.4463549,8.478291 +10X_cells.CTCGAGGAGACGCTTT-L8TX_180115_01_B11,-0.32476747,16.076311 +10X_cells.GATCGATAGTCCGGTC-L8TX_180115_01_G11,-2.5583155,14.086798 +10X_cells.GCGCAGTTCAGGCCCA-L8TX_180115_01_H11,-2.5961828,13.876856 +10X_cells.TCATTACAGAAGGTGA-L8TX_180115_01_F11,0.71414226,14.692032 +10X_cells.TCAGCAACATGTCGAT-L8TX_180115_01_G10,-3.1177478,10.973051 +10X_cells.GCTGCGATCCGCGGTA-L8TX_180115_01_E10,-2.4683952,11.535621 +10X_cells.ATTACTCTCCTCCTAG-L8TX_180115_01_F11,-3.270648,14.75507 +10X_cells.GGGAATGAGATATGCA-L8TX_180115_01_B09,-2.541515,14.495156 +10X_cells.TTTATGCGTGTTCGAT-L8TX_180115_01_F11,0.26469496,9.230456 +10X_cells.TGTTCCGGTCTAGCGC-L8TX_180115_01_H11,-2.5896,8.634669 +10X_cells.TGGTTCCGTCCCTTGT-L8TX_180115_01_B11,-3.60078,9.232138 +10X_cells.CATTCGCCATGCCTTC-L8TX_180115_01_H11,-4.3131704,13.383524 +10X_cells.GCGCAGTCACGGTTTA-L8TX_180115_01_D10,-3.1588168,11.843516 +10X_cells.TTGCCGTGTCCGTCAG-L8TX_180115_01_E11,-3.7051594,11.50079 +10X_cells.AGACGTTTCACCTTAT-L8TX_180115_01_E11,-2.3886456,12.99297 +10X_cells.AAATGCCGTTACTGAC-L8TX_180115_01_G11,-2.7263768,13.808238 +10X_cells.AAGACCTTCTCGCTTG-L8TX_180115_01_C09,-3.9031208,11.032093 +10X_cells.GAGCAGATCGAATCCA-L8TX_180115_01_D11,-2.847499,14.005617 +10X_cells.GCCTCTACACTATCTT-L8TX_180115_01_A11,-2.513078,13.254318 +10X_cells.CGTTAGACACTACAGT-L8TX_171120_01_G07,-1.843291,15.482884 +10X_cells.AGATCTGTCAGCAACT-L8TX_180115_01_G08,-5.212207,14.305231 +10X_cells.GATGAGGTCATCTGCC-L8TX_180115_01_G08,-1.8592292,15.88766 +10X_cells.GAAGCAGAGTTGCAGG-L8TX_171120_01_C07,-2.2968862,15.353612 +10X_cells.ATTATCCTCATTGCCC-L8TX_171120_01_D07,-3.5660737,13.385756 +10X_cells.CCATGTCTCGCGTTTC-L8TX_180115_01_C08,-0.24183387,10.200601 +10X_cells.CAGCATACAAGCGAGT-L8TX_180115_01_E08,-3.4312365,14.846387 +10X_cells.TAAGCGTTCGACCAGC-L8TX_180115_01_E08,-2.6898851,13.360834 +Smartseq_cells.LS-15061_S79_E1-50,-3.6929224,14.930997 +Smartseq_cells.LS-15338_S73_E1-50,-1.6837296,15.699428 +Smartseq_cells.LS-15338_S77_E1-50,-3.2025921,15.174449 +Smartseq_cells.LS-15366_S44_E1-50,-3.5990174,14.878417 +Smartseq_cells.LS-15546_S13_E1-50,-0.14432861,15.59734 +Smartseq_cells.SM-D9D8K_S91_E1-50,-2.2406971,14.871609 +Smartseq_cells.SM-GE67T_S012_E1-50,-0.51229364,15.073764 +Smartseq_cells.SM-GE67T_S028_E1-50,-2.732351,14.844667 +Smartseq_cells.SM-GE94L_S044_E1-50,-3.8944018,14.837559 +10X_cells.AACCGCGTCAGGCGAA-L8TX_180406_01_H01,-1.0695715,9.569655 +10X_cells.GACGGCTCAAAGGTGC-L8TX_180406_01_H01,-0.8336194,8.901893 +10X_cells.GCCTCTATCAGTTCGA-L8TX_180406_01_H01,-1.5158038,10.641117 +10X_cells.TGACGGCCATTTGCTT-L8TX_180406_01_H01,-0.5539946,8.85554 +10X_cells.TTTCCTCAGCCCAGCT-L8TX_180406_01_H01,-2.3981924,13.008124 +10X_cells.AGCGTCGTCCGTCAAA-L8TX_180406_01_E02,0.18091388,8.0841255 +10X_cells.CAGCTGGCATCTATGG-L8TX_180406_01_E02,-1.4021444,10.093097 +10X_cells.CCACGGATCTCTGTCG-L8TX_180406_01_E02,-1.6498398,10.38129 +10X_cells.CCTAGCTAGAGGTTGC-L8TX_180406_01_E02,0.8052342,8.165291 +10X_cells.GAAACTCGTACCAGTT-L8TX_180406_01_E02,0.37009665,8.386535 +10X_cells.GGAGCAATCAGTACGT-L8TX_180406_01_E02,-0.23135439,8.661803 +10X_cells.TATCTCAAGAACAACT-L8TX_180406_01_E02,-1.0066952,9.935341 +10X_cells.TCGAGGCTCTGCAAGT-L8TX_180406_01_E02,-2.1630092,11.522452 +10X_cells.CGACTTCCATGTAAGA-L8TX_180406_01_G02,-0.34196094,8.921083 +10X_cells.GTCGTAATCACGACTA-L8TX_180406_01_G02,0.1272777,8.679094 +10X_cells.TGGGAAGTCTTTACGT-L8TX_180406_01_G02,-1.1197348,9.694181 +10X_cells.TTAACTCCAGGTCGTC-L8TX_180406_01_G02,-0.816197,9.083718 +10X_cells.TTGCGTCCATCTCCCA-L8TX_180406_01_G02,-0.79041874,9.124506 +10X_cells.CCTATTAAGTGTTAGA-L8TX_180406_01_H02,-1.5255973,10.090156 +10X_cells.CTGAAACGTACGAAAT-L8TX_180406_01_H02,-2.38363,11.857516 +10X_cells.CTGCTGTAGCTAGGCA-L8TX_180406_01_H02,-0.29956746,10.264198 +10X_cells.ACACCCTAGGAATCGC-L8TX_180406_01_B06,0.49817422,7.8782277 +10X_cells.CCGTACTTCCCATTAT-L8TX_180406_01_E06,0.31277263,8.509485 +10X_cells.TCTTTCCAGATACACA-L8TX_180406_01_E06,-1.1492366,10.006907 +10X_cells.TGCTACCCAGACGCCT-L8TX_180406_01_C08,-1.7472194,10.798087 +10X_cells.CGGACTGAGCTACCTA-L8TX_180406_01_E07,1.0185455,7.307279 +10X_cells.GGAATAACACAGGTTT-L8TX_180406_01_E07,1.3248234,7.25004 +Smartseq_cells.SM-GE91J_S049_E1-50,-3.2690551,14.437894 +10X_cells.CGCTATCTCTACTTAC-L8TX_180406_01_F01,-1.1372111,9.613137 +10X_cells.ACGCAGCGTCAGTGGA-L8TX_180406_01_B01,-0.6056476,8.831634 +10X_cells.ACGGGCTAGGCACATG-L8TX_180406_01_B01,-0.5047454,8.540725 +10X_cells.TACAGTGGTTTGGGCC-L8TX_180406_01_B01,0.6132562,8.049877 +10X_cells.TATCTCAGTCGCATAT-L8TX_180406_01_B01,-1.0529343,9.637977 +10X_cells.ATGAGGGAGACTAAGT-L8TX_180406_01_C01,-0.10502319,8.773008 +10X_cells.CTCGAAATCGCATGGC-L8TX_180406_01_C01,-1.9040389,14.222284 +10X_cells.CTCGTACAGATACACA-L8TX_180406_01_C01,-0.9249727,9.997641 +10X_cells.TCATTTGCAAAGCAAT-L8TX_180406_01_C01,-1.3005835,9.810373 +10X_cells.GCTGCGACACACATGT-L8TX_180406_01_E01,-0.30336845,8.607505 +10X_cells.AGCGGTCCACCATGTA-L8TX_180406_01_F01,-1.7510085,10.976393 +10X_cells.CCACCTAAGTCCGGTC-L8TX_180406_01_F01,-2.4836006,11.53239 +10X_cells.GGCTCGACATATACGC-L8TX_180406_01_G01,-0.7561802,9.15883 +10X_cells.TCCCGATCACCAGTTA-L8TX_180406_01_B02,-2.976545,7.627903 +10X_cells.TGAGAGGGTCGTTGTA-L8TX_180406_01_B02,0.017844267,8.541597 +10X_cells.ACGGGTCCAGGAATGC-L8TX_180406_01_C02,-1.347198,10.4183235 +10X_cells.AGCTCCTTCTCCGGTT-L8TX_180406_01_C02,-2.107605,11.452904 +10X_cells.GACAGAGTCAGCACAT-L8TX_180406_01_C02,1.1419778,7.8941526 +10X_cells.CCGGGATCAGGATCGA-L8TX_180406_01_D02,0.556145,7.9605064 +10X_cells.GCGACCATCGGCTTGG-L8TX_180406_01_D02,-0.42420784,9.063615 +10X_cells.GTTCATTAGTGAAGTT-L8TX_180406_01_D02,-1.4607176,10.225253 +10X_cells.TACACGACAATGGTCT-L8TX_180406_01_D02,0.53694063,8.163304 +Smartseq_cells.SM-GE91B_S151_E1-50,-1.5978056,14.637426 +10X_cells.TCTGGAATCTCCAGGG-L8TX_180221_01_G09,-1.4755939,13.295315 +10X_cells.CGTTCTGGTCCAGTAT-L8TX_180221_01_H09,0.69186544,8.9384 +10X_cells.TGGCGCAAGGGCATGT-L8TX_180221_01_B10,-1.5749296,13.01343 +10X_cells.CCAATCCAGTTCCACA-L8TX_180406_01_F02,0.5814805,10.839161 +10X_cells.CAGAATCCAGGTTTCA-L8TX_180221_01_E09,1.8053267,8.626668 +10X_cells.ACGGAGATCCGAATGT-L8TX_180221_01_C09,-1.500082,7.3739963 +10X_cells.CGTAGGCAGAATGTTG-L8TX_180221_01_C09,-0.73358566,9.945047 +10X_cells.GCTTGAAAGTGACTCT-L8TX_180221_01_C09,-0.3304662,10.267303 +10X_cells.TCTCATACATTCTCAT-L8TX_180221_01_C09,-0.70760816,12.459043 +10X_cells.AGGGAGTAGGCAAAGA-L8TX_180221_01_D09,0.70335305,7.2054267 +10X_cells.TGATTTCGTTGGGACA-L8TX_180221_01_D09,0.052718293,9.293291 +10X_cells.GAGGTGAGTATGAATG-L8TX_180712_01_C06,0.2647298,11.737845 +Smartseq_cells.SM-GE67M_S046_E1-50,-0.14733714,11.926752 +Smartseq_cells.LS-15087_S37_E1-50,-1.9962058,14.463521 +Smartseq_cells.LS-15305_S82_E1-50,-1.4991276,14.025949 +Smartseq_cells.LS-15315_S90_E1-50,-0.70537037,12.964034 +Smartseq_cells.LS-15333_S02_E1-50,-1.7531701,14.224312 +Smartseq_cells.LS-15339_S28_E1-50,-1.8208255,14.100959 +Smartseq_cells.LS-15345_S68_E1-50,-1.9206223,13.648989 +Smartseq_cells.SM-D9EPG_S48_E1-50,-0.68451256,13.547863 +Smartseq_cells.SM-D9EPG_S93_E1-50,-1.9228112,13.927963 +Smartseq_cells.SM-D9EPH_S46_E1-50,-1.37547,14.461442 +Smartseq_cells.SM-D9EPH_S63_E1-50,-1.729049,14.313211 +Smartseq_cells.SM-D9EPH_S72_E1-50,-1.846759,14.211843 +Smartseq_cells.SM-D9D13_S83_E1-50,-0.2599256,12.955869 +Smartseq_cells.SM-D9D7N_S43_E1-50,-1.9323634,14.262292 +10X_cells.CTCCTAGGTGTGCCTG-L8TX_180829_01_D09,-0.36207905,12.108096 +10X_cells.CCTAGCTCAGATCTGT-L8TX_180829_01_E10,-0.10135574,11.925003 +10X_cells.GGATGTTAGGCCCTCA-L8TX_181012_01_G04,0.6074909,8.583559 +10X_cells.AGTAGTCGTTCCACTC-L8TX_181012_01_E05,0.6457741,10.866813 +10X_cells.CAAGATCAGCCGGTAA-L8TX_180406_01_H01,1.3258017,9.21986 +10X_cells.CTCGGAGAGTACGTTC-L8TX_180406_01_H01,-0.8719756,9.235204 +10X_cells.GTCTCGTAGATGGCGT-L8TX_180406_01_H01,0.5762124,9.996929 +10X_cells.GTGGGTCAGCGCCTTG-L8TX_180406_01_H01,1.9952437,8.996505 +10X_cells.TAGAGCTCACAGCGTC-L8TX_180406_01_H01,-0.43827686,9.117361 +10X_cells.TTGAACGCACACCGCA-L8TX_180406_01_H01,-0.32551035,9.04642 +10X_cells.ACACCCTCAGGACCCT-L8TX_180406_01_E02,0.04244917,11.844753 +10X_cells.TTTACTGGTCCGAACC-L8TX_180406_01_E02,1.0703434,9.8281975 +10X_cells.ACTGATGCATATACCG-L8TX_180406_01_G02,-0.40203568,8.125142 +10X_cells.AGAGTGGAGGGAACGG-L8TX_180406_01_G02,0.41887227,9.50407 +10X_cells.CACACTCGTACAGTTC-L8TX_180406_01_G02,1.9373779,8.5919 +10X_cells.GACGCGTCAAGCCGTC-L8TX_180406_01_G02,1.6311076,7.8256154 +10X_cells.GTTTCTAAGAAGCCCA-L8TX_180406_01_G02,0.80362916,10.137971 +10X_cells.AAAGTAGCAATCCAAC-L8TX_180406_01_H02,1.5862001,9.024549 +10X_cells.GCTGCTTTCGGAAATA-L8TX_180406_01_H02,1.3756955,8.357907 +10X_cells.GTACTCCCAGACGCCT-L8TX_180406_01_H02,0.7241639,10.706037 +10X_cells.ACTGATGTCTTGAGAC-L8TX_180406_01_B06,1.3322107,7.653179 +10X_cells.CAGATCATCGTTACGA-L8TX_180406_01_B06,0.06887732,10.476356 +10X_cells.GCGCCAAAGGGATCTG-L8TX_180406_01_E06,1.0612817,8.4382925 +10X_cells.GGAGCAAGTTCCAACA-L8TX_180406_01_E06,1.4196556,9.2775135 +10X_cells.ACACCAATCATGCTCC-L8TX_180406_01_C08,0.7059703,9.375493 +10X_cells.ATCTACTGTCGGCACT-L8TX_180406_01_C08,-1.2078493,8.474442 +10X_cells.CTCGAAAGTACCAGTT-L8TX_180406_01_C08,1.3233634,7.9260263 +10X_cells.GAGGTGAAGCGACGTA-L8TX_180406_01_C08,0.7396051,7.4866257 +10X_cells.GAGTCCGAGGATTCGG-L8TX_180406_01_C08,1.3747522,8.819238 +10X_cells.GATGAAACAGCTGTAT-L8TX_180406_01_C08,0.8205024,8.724503 +10X_cells.TGCGTGGCATGAACCT-L8TX_180406_01_C08,-0.975305,8.63804 +10X_cells.GCTCTGTCATACAGCT-L8TX_180406_01_E07,-0.3324977,9.200486 +Smartseq_cells.SM-GE91L_S275_E1-50,0.007488108,12.116302 +Smartseq_cells.SM-GE91C_S078_E1-50,0.3282744,12.613265 +10X_cells.GTCTCGTCAAAGTCAA-L8TX_200625_02_E11,0.15205732,12.139486 +10X_cells.TCGAGGCTCTCCAACC-L8TX_200625_02_G11,-0.49867663,11.760286 +10X_cells.CCTATTATCAGGTAAA-L8TX_171026_01_G03,-0.25218529,12.388084 +10X_cells.CGTTAGAAGCTGTCTA-L8TX_171026_01_B04,-0.20115316,11.148308 +10X_cells.TCTATTGAGCGGATCA-L8TX_171026_01_F04,-0.1038043,11.874463 +10X_cells.TTTGTCATCTGAGTGT-L8TX_171026_01_A05,-0.8177428,12.245167 +10X_cells.CATTCGCGTTTAGGAA-L8TX_171026_01_H03,-1.2520082,12.900849 +10X_cells.ACGGGTCAGATGTTAG-L8TX_171026_01_C05,-0.79906386,11.133388 +10X_cells.AACCATGCAGTCCTTC-L8TX_171026_01_D05,0.30715734,10.146838 +10X_cells.GTTACAGAGCGTGAGT-L8TX_171026_01_E05,-2.7375684,13.094903 +10X_cells.GCATGTAGTCACACGC-L8TX_171026_01_G05,-0.6867434,11.33591 +Smartseq_cells.SM-GE92L_S338_E1-50,-1.3299013,14.885988 +10X_cells.TCAGCAAAGATATGCA-L8TX_180406_01_D01,1.3461123,7.602371 +10X_cells.CGCTATCTCAACGAAA-L8TX_180406_01_B01,-0.03019058,10.518496 +10X_cells.TTAGGCATCCTATTCA-L8TX_180406_01_B01,1.4252352,9.514365 +10X_cells.CAGAGAGAGGATGGAA-L8TX_180406_01_D01,1.2725108,8.020793 +10X_cells.CCGTTCAGTCATGCAT-L8TX_180406_01_D01,1.3114816,8.259484 +10X_cells.GTTTCTATCATAAAGG-L8TX_180406_01_D01,-0.002306299,8.884017 +10X_cells.CCGTACTGTGGCCCTA-L8TX_180406_01_E01,1.2160734,8.874878 +10X_cells.GTGTTAGCAATCAGAA-L8TX_180406_01_E01,-0.07358432,10.315128 +10X_cells.GTCGGGTTCTAACTCT-L8TX_180406_01_C02,1.3618909,7.480631 +10X_cells.AGTGGGACAGCTCGAC-L8TX_180406_01_D02,-0.41934493,10.466111 +10X_cells.CAACCTCTCCTTGACC-L8TX_180406_01_D02,1.1174823,10.251827 +10X_cells.GTACGTAGTACCCAAT-L8TX_180406_01_D02,0.66174614,8.886463 +10X_cells.CTTTGCGCAAGAAGAG-L8TX_180221_01_D10,-0.74053955,10.463847 +10X_cells.TGGGAAGCATGCCACG-L8TX_180221_01_D10,-0.3206641,9.624924 +10X_cells.AGAGTGGTCACCATAG-L8TX_180221_01_E10,-0.11178778,11.972816 +10X_cells.ATCATCTGTACTTCTT-L8TX_180221_01_E10,0.20382147,11.685066 +10X_cells.CATGACAAGATAGTCA-L8TX_180221_01_E10,0.1654297,11.448841 +10X_cells.GATCGATTCTAAGCCA-L8TX_180221_01_E10,-0.19791609,10.715535 +10X_cells.TGCCAAATCGCATGAT-L8TX_180221_01_E10,-0.55524945,12.614625 +10X_cells.AACACGTGTTAGATGA-L8TX_180221_01_F10,1.2857089,9.587471 +10X_cells.ACCCACTGTAGCTTGT-L8TX_180221_01_F10,-0.27149367,10.995557 +10X_cells.CCGTGGACACTATCTT-L8TX_180221_01_F10,0.7257486,9.980088 +10X_cells.TAAACCGCAAACTGCT-L8TX_180221_01_F10,0.34965295,11.358459 +10X_cells.AACTGGTGTCAACATC-L8TX_180221_01_G10,0.72388136,8.706824 +10X_cells.GTGCATAGTATCAGTC-L8TX_180221_01_H10,-0.97009987,13.276041 +10X_cells.GCTTGAATCGGTTAAC-L8TX_180221_01_A11,0.042262215,8.40325 +10X_cells.TTTATGCTCGCCGTGA-L8TX_190312_01_G02,0.70799845,10.31528 +Smartseq_cells.SM-GE8XN_S002_E1-50,-1.2889227,13.464117 +10X_cells.GAATGAACATTTCACT-L8TX_180221_01_D11,-1.4942874,13.500646 +10X_cells.CGTCACTGTAATCGTC-L8TX_180221_01_F11,-0.21303831,9.732772 +10X_cells.TTGGCAAGTGATAAGT-L8TX_180221_01_F11,-0.1275427,9.158398 +10X_cells.CTTAGGACACGGTTTA-L8TX_180907_01_B12,-0.6280855,11.262834 +Smartseq_cells.SM-GE5US_S227_E1-50,-0.9111492,12.792163 +10X_cells.TGTATTCTCCCGACTT-L8TX_180926_01_D01,0.97763115,8.904892 +10X_cells.TTGGCAATCCTCCTAG-L8TX_180926_01_D01,-1.4581871,12.105241 +10X_cells.ATGAGGGTCCTACAGA-L8TX_180926_01_E01,-0.6994431,11.399741 +10X_cells.GGTGCGTCAAGTTAAG-L8TX_180926_01_F01,1.238919,8.941522 +10X_cells.ACATACGGTGCTAGCC-L8TX_181011_01_A03,-0.25044414,10.24247 +10X_cells.AGTGAGGCACCATCCT-L8TX_181011_01_A03,1.5682583,8.34188 +10X_cells.ATCACGACAATGGAGC-L8TX_181011_01_A03,0.055890948,11.682971 +10X_cells.CTGCCTAAGTCGCCGT-L8TX_181011_01_C03,1.4513341,9.268091 +Smartseq_cells.SM-GE91J_S374_E1-50,-1.2663794,14.829919 +10X_cells.CAGTCCTGTACTCAAC-L8TX_180712_01_E05,1.3596476,7.581041 +10X_cells.CGCTTCAAGTGCCAGA-L8TX_180712_01_E05,0.2801073,8.600899 +10X_cells.CTAGAGTGTAGGAGTC-L8TX_180712_01_E05,1.3461038,9.873543 +10X_cells.GTGCATATCCTGTACC-L8TX_180712_01_F05,1.2382898,7.8089705 +10X_cells.TGACAACGTCTCTTAT-L8TX_180712_01_F05,0.7377583,10.293258 +10X_cells.TTCTCAATCATATCGG-L8TX_180712_01_F05,1.1489117,10.464642 +10X_cells.CGGAGCTTCAGTCCCT-L8TX_180712_01_H05,1.6118237,9.652283 +10X_cells.AAGGTTCGTGGTAACG-L8TX_180712_01_A06,1.6847122,8.6095295 +10X_cells.ACACCGGAGGTGCACA-L8TX_180712_01_A06,1.4256685,9.363589 +10X_cells.CAGATCAAGACAGGCT-L8TX_180712_01_A06,-0.3507328,12.162732 +10X_cells.CATCGGGGTTCTCATT-L8TX_180712_01_A06,0.13018318,11.460881 +10X_cells.CGAACATGTTTAGGAA-L8TX_180712_01_A06,-3.1023042,6.8937097 +10X_cells.CGGGTCAAGTCATGCT-L8TX_180712_01_A06,0.23215036,10.693275 +10X_cells.CCGGTAGTCAGGTTCA-L8TX_180504_01_E01,1.6675446,9.672503 +10X_cells.GCGCAACAGAAGGTGA-L8TX_180504_01_E01,1.3366764,9.474046 +10X_cells.GCTGCGAAGTATGACA-L8TX_180504_01_E01,1.6939553,8.266051 +10X_cells.TTATGCTGTACAGTGG-L8TX_180504_01_E01,1.3099366,9.129773 +10X_cells.CAGGTGCTCGTAGATC-L8TX_180221_01_A12,-0.15749295,8.080454 +10X_cells.GGGAATGAGTTCGATC-L8TX_180221_01_A12,-0.57514644,6.8464127 +10X_cells.TCAGCAACAAAGGTGC-L8TX_180221_01_A12,-0.18536252,11.9095545 +10X_cells.CGGACACCAAGAAGAG-L8TX_180221_01_C12,-0.07002689,7.7688437 +10X_cells.GACCAATCAACCGCCA-L8TX_180221_01_C12,0.6679322,8.707458 +10X_cells.GTCCTCACAATGGTCT-L8TX_180221_01_C12,1.3303356,8.207446 +10X_cells.CGGACGTCAACACCTA-L8TX_180221_01_H11,-0.4348687,7.2476544 +10X_cells.TATGCCCCATGAGCGA-L8TX_180221_01_H11,-0.27148697,7.974705 +10X_cells.CACAGTAGTATATCCG-L8TX_200611_02_A05,0.33064017,11.412088 +10X_cells.CGTCCATAGACTGTAA-L8TX_200611_02_A05,-0.8793672,12.746804 +10X_cells.CGTTCTGCACATCCAA-L8TX_200611_02_A05,1.2977425,9.925064 +10X_cells.GACCAATTCGGCTACG-L8TX_200611_02_A05,-0.3802842,11.650047 +10X_cells.GTACGTATCTGGAGCC-L8TX_200611_02_A05,0.18724471,11.6608 +Smartseq_cells.SM-GE679_S058_E1-50,-0.8580575,13.994471 +10X_cells.TAAGAGATCTGTCCGT-L8TX_180115_01_A09,-0.9210191,12.594918 +10X_cells.CGATTGAGTGACAAAT-L8TX_180115_01_B09,-0.5848086,9.3356085 +10X_cells.ACACCCTTCGTTTAGG-L8TX_180115_01_D09,1.2275733,8.676935 +10X_cells.CTGATCCTCCATGCTC-L8TX_180115_01_D09,-2.1190972,14.200328 +10X_cells.CTGCTGTCACTTCGAA-L8TX_180115_01_D10,-0.938343,7.197107 +10X_cells.GGGACCTTCGGTTCGG-L8TX_180115_01_D10,-1.3908354,7.43325 +10X_cells.CAGCCGACATTGCGGC-L8TX_180115_01_A11,-0.817038,12.119373 +10X_cells.ACTGTCCCATGCTAGT-L8TX_180115_01_H10,0.1476942,10.700082 +10X_cells.GTATCTTCAGAGCCAA-L8TX_180115_01_H10,-0.8084727,11.21106 +10X_cells.CAGAATCCAAACCCAT-L8TX_180115_01_B11,-2.4800768,11.18641 +10X_cells.CGTGAGCGTGCACTTA-L8TX_180115_01_B11,0.3171936,10.491555 +10X_cells.AATCCAGTCCTCAACC-L8TX_180115_01_D11,-0.59173477,10.221683 +10X_cells.CGCTATCAGCCCGAAA-L8TX_180115_01_D11,0.48690918,10.821769 +10X_cells.GGGAGATGTTAAGGGC-L8TX_180115_01_D11,-0.68473494,11.954704 +10X_cells.GGGATGACATCTGGTA-L8TX_180115_01_E10,-1.2162732,10.368509 +10X_cells.AATCGGTTCTATCGCC-L8TX_180115_01_F10,-1.0685441,9.552058 +10X_cells.ACTTACTGTGAAAGAG-L8TX_180115_01_F10,-0.9178308,10.386912 +10X_cells.TTCGAAGGTCGATTGT-L8TX_180115_01_F10,-0.3759131,12.0021515 +10X_cells.TTGTAGGAGTGTGAAT-L8TX_180115_01_F10,-0.42827526,9.795174 +10X_cells.CGCTTCAGTGCCTTGG-L8TX_180115_01_G10,0.12764756,9.032816 +10X_cells.GGACAAGTCTTGAGAC-L8TX_180115_01_G10,-1.0351095,7.641929 +10X_cells.GTGTTAGGTTGCGTTA-L8TX_180115_01_G10,-1.2126348,11.685581 +10X_cells.GGAATAAGTATGCTTG-L8TX_180115_01_E11,-0.89926994,11.222654 +10X_cells.GGCGACTAGGAGCGAG-L8TX_180115_01_E11,-1.3808497,9.946446 +10X_cells.AGAGTGGCAGCTATTG-L8TX_180115_01_F11,-0.63614744,11.762977 +10X_cells.AGATCTGCAGTATCTG-L8TX_180115_01_F11,0.5455347,8.677739 +10X_cells.CTGGTCTCAAGTCTAC-L8TX_180115_01_F11,-2.208723,13.367242 +10X_cells.GATCGCGTCACAACGT-L8TX_180115_01_F11,-1.57166,12.683115 +10X_cells.GCGCAGTAGATAGCAT-L8TX_180115_01_G11,0.5473186,8.787818 +10X_cells.ATGCGATCATCACGAT-L8TX_180115_01_F09,0.24129559,9.935233 +10X_cells.ATTTCTGAGTGTACTC-L8TX_180115_01_F09,-1.1419498,10.948907 +10X_cells.CTCGAAAGTCATGCCG-L8TX_171120_01_G07,3.187938,9.847251 +10X_cells.GGTGTTAAGCCGGTAA-L8TX_171120_01_H07,1.532834,8.6591 +10X_cells.ATAGACCAGTGGGTTG-L8TX_180115_01_D08,-1.1504834,13.733241 +10X_cells.ACGGCCATCACCATAG-L8TX_171120_01_C07,-0.13221836,10.70653 +10X_cells.GGCCGATGTCCATGAT-L8TX_171120_01_C07,-0.0367146,11.728474 +10X_cells.GTGAAGGCATTGAGCT-L8TX_171120_01_C07,-1.857078,13.587051 +10X_cells.AAGCCGCAGGATCGCA-L8TX_171120_01_D07,1.5100502,8.8117 +10X_cells.ACCGTAAGTTAGGGTG-L8TX_171120_01_F07,-0.9558214,12.084027 +10X_cells.TCAGGTAAGCAGCCTC-L8TX_180115_01_E08,-0.60235506,11.827379 +Smartseq_cells.LS-15006_S48_E1-50,-0.9287983,12.7508955 +Smartseq_cells.LS-15066_S34_E1-50,-1.6845728,14.262515 +Smartseq_cells.LS-15068_S80_E1-50,-0.60368466,13.455406 +Smartseq_cells.LS-15075_S27_E1-50,-0.9029805,13.680515 +Smartseq_cells.LS-15097_S17_E1-50,-1.1156802,14.008928 +Smartseq_cells.LS-15366_S47_E1-50,-1.6017257,14.275895 +Smartseq_cells.LS-15545_S68_E1-50,-1.9385715,14.453032 +Smartseq_cells.LS-15546_S11_E1-50,-1.821909,13.758601 +Smartseq_cells.SM-D9E63_S39_E1-50,0.11958508,13.278878 +Smartseq_cells.SM-DD45I_S006_E1-50,-1.2920977,13.880834 +Smartseq_cells.SM-GE635_S045_E1-50,-2.5010026,13.634577 +10X_cells.TGGCGCAAGGACACCA-L8TX_180406_01_C06,1.3272073,13.410168 +10X_cells.GTTAAGCGTTTGACAC-L8TX_180221_01_F09,1.3129189,12.256799 +10X_cells.ATAAGAGCATGAAGTA-L8TX_180221_01_H09,1.14227,12.115167 +10X_cells.GTACTTTTCTTGTACT-L8TX_180221_01_H09,0.432881,10.600093 +10X_cells.TGTTCCGAGTCCATAC-L8TX_180221_01_H09,0.15049864,12.096163 +10X_cells.CTTTGCGGTGCATCTA-L8TX_180221_01_A10,0.16518684,11.204072 +10X_cells.AAGACCTGTGCGCTTG-L8TX_180221_01_B10,5.8875346,5.4437423 +10X_cells.ATAACGCTCGCAAACT-L8TX_180221_01_B10,4.006805,3.560618 +10X_cells.AACACGTCAGCGATCC-L8TX_180221_01_C10,3.9495823,5.288297 +10X_cells.CATCGGGTCTAACGGT-L8TX_180221_01_C10,0.62164474,11.707931 +10X_cells.GATGAGGGTATATGGA-L8TX_180221_01_C10,4.6825814,3.1174448 +10X_cells.GCAGTTATCGTTTAGG-L8TX_180221_01_C10,0.7330735,10.10249 +10X_cells.GTAACTGAGGCTCTTA-L8TX_180221_01_C10,0.6598381,13.386842 +10X_cells.TGTGTTTAGTGCAAGC-L8TX_180221_01_C10,1.6666775,11.331394 +10X_cells.CTGCGGAAGTACGTAA-L8TX_180406_01_C06,-0.058115423,14.992666 +10X_cells.TAGTTGGCAAGTTCTG-L8TX_180406_01_C06,0.8963717,10.866363 +Smartseq_cells.SM-GE63W_S025_E1-50,1.0034956,13.397818 +10X_cells.ACGTCAACACCCAGTG-L8TX_180607_01_C05,0.77539295,13.024864 +10X_cells.AGCCTAAAGGTGCTTT-L8TX_180221_01_H12,1.1756591,11.710358 +10X_cells.CACATTTAGCTCAACT-L8TX_180221_01_H12,1.6720586,13.0137005 +10X_cells.CGGGTCAAGTACATGA-L8TX_180221_01_H12,0.7856433,11.422029 +10X_cells.GATGAAATCTCTGAGA-L8TX_180221_01_H12,2.2731192,4.715479 +10X_cells.GCGCGATAGCTAACTC-L8TX_180221_01_H12,0.31858703,10.251754 +10X_cells.ACGATGTTCCGAATGT-L8TX_180221_01_E09,0.83049417,11.036514 +10X_cells.CAGATCACACACCGCA-L8TX_180221_01_E09,0.31072047,11.986101 +10X_cells.GCCAAATAGACCTAGG-L8TX_180221_01_E09,1.3727425,12.7572565 +10X_cells.CACATAGAGGTGACCA-L8TX_180221_01_C09,-1.0226789,8.796072 +10X_cells.GGAACTTGTTTAGCTG-L8TX_180221_01_C09,4.668552,2.5798886 +10X_cells.GTTCATTAGTCGCCGT-L8TX_180221_01_C09,-0.5343169,13.768087 +10X_cells.TGAGGGAGTGTAACGG-L8TX_180221_01_C09,1.0648509,9.766721 +10X_cells.ACGGAGACAACTGCGC-L8TX_180221_01_D09,-0.5007321,9.685312 +10X_cells.ATTGGTGTCACCTCGT-L8TX_180221_01_D09,4.8321385,2.721272 +10X_cells.CTGTTTAAGCCAGAAC-L8TX_180221_01_D09,0.6018997,9.807589 +10X_cells.GCTTGAATCGAGAGCA-L8TX_180221_01_D09,4.7985373,2.434999 +10X_cells.CATATGGCACAGCGTC-L8TX_180607_01_C05,1.9920958,11.621373 +10X_cells.TGTGTTTCATAAAGGT-L8TX_180607_01_C05,1.253342,10.466417 +10X_cells.AGCTTGAAGGGAAACA-L8TX_180712_01_G05,0.7201554,11.893232 +10X_cells.CACATTTCACTCAGGC-L8TX_180712_01_G05,-2.2676272,13.0869665 +10X_cells.GTTCGGGCACAACTGT-L8TX_180712_01_G05,-0.95621514,14.342907 +10X_cells.TTGCCGTCATGTCCTC-L8TX_180712_01_G05,1.1170057,12.25845 +10X_cells.AAGACCTTCTTCTGGC-L8TX_180712_01_B06,1.4318959,10.232472 +10X_cells.AGTGGGAGTTGATTGC-L8TX_180712_01_B06,1.1384608,11.582105 +10X_cells.CAACTAGTCCCAAGAT-L8TX_180712_01_B06,0.26714742,11.541825 +10X_cells.CAAGGCCGTCCAGTGC-L8TX_180712_01_B06,1.7045108,11.207895 +10X_cells.CTGCGGATCAGTTCGA-L8TX_180712_01_B06,1.7538127,11.492659 +10X_cells.GGACAAGTCCACTGGG-L8TX_180712_01_B06,0.87834704,10.017009 +10X_cells.ACGGGCTCATCCAACA-L8TX_180712_01_C06,1.1533574,13.948555 +10X_cells.ATCATCTTCTGAGGGA-L8TX_180712_01_C06,2.7950642,11.723848 +Smartseq_cells.LS-15087_S43_E1-50,0.67578286,13.833107 +Smartseq_cells.LS-15315_S75_E1-50,0.85837066,13.758047 +Smartseq_cells.LS-15361_S12_E1-50,1.6691741,12.53286 +Smartseq_cells.SM-D9EPG_S53_E1-50,-1.4983809,14.514633 +Smartseq_cells.SM-D9EPG_S65_E1-50,0.75765693,14.001434 +Smartseq_cells.SM-D9D13_S95_E1-50,1.0068023,13.274902 +Smartseq_cells.SM-D9D7P_S41_E1-50,0.1669758,15.028841 +Smartseq_cells.SM-D9D9E_S66_E1-50,2.043459,11.653967 +10X_cells.ATCTACTAGCCGTCGT-L8TX_180829_01_D09,2.1032746,9.200741 +10X_cells.AGCGTATGTGATGATA-L8TX_180829_01_E10,-1.146705,10.939102 +10X_cells.GCGCGATAGACTCGGA-L8TX_180907_01_G10,0.6404895,9.854059 +10X_cells.GTAACTGAGCGATTCT-L8TX_181011_01_H02,0.60030186,10.092861 +10X_cells.TACGGTAAGCTGCGAA-L8TX_181011_01_C04,0.6028372,11.456785 +10X_cells.AACACGTAGATGTAAC-L8TX_181012_01_G04,0.71125233,11.1755295 +10X_cells.CCGTACTCACTTAAGC-L8TX_181012_01_G04,-1.7373077,12.88894 +10X_cells.CGTGTCTAGCACAGGT-L8TX_181012_01_G04,0.15336592,9.9368725 +10X_cells.ACACCCTAGAGTCGGT-L8TX_180406_01_H01,1.4943619,7.0223417 +10X_cells.CACATAGAGGTGTTAA-L8TX_180406_01_H01,1.967461,9.554828 +10X_cells.GGACGTCGTATTCTCT-L8TX_180406_01_H01,0.99088156,7.754304 +10X_cells.TAGAGCTGTCTCACCT-L8TX_180406_01_H01,2.6608877,10.932471 +10X_cells.AATCGGTAGACCTAGG-L8TX_180406_01_E02,1.4343942,7.7788763 +10X_cells.GAACGGACAGACGCAA-L8TX_180406_01_E02,1.3578063,8.700712 +10X_cells.GTCTCGTAGAATGTTG-L8TX_180406_01_E02,1.7230338,8.987224 +10X_cells.TGAGAGGTCTATCCTA-L8TX_180406_01_E02,1.0227659,9.832141 +10X_cells.ACGGGTCCACTATCTT-L8TX_180406_01_G02,1.4951693,7.765393 +10X_cells.CTGTTTAAGCCACGTC-L8TX_180406_01_G02,1.4436417,7.737489 +10X_cells.GGCGACTTCTTGCCGT-L8TX_180406_01_G02,1.239853,10.476439 +10X_cells.CATATTCGTCTAGCCG-L8TX_180406_01_B06,0.23395295,9.660929 +10X_cells.CACAGTAGTCAAAGAT-L8TX_180406_01_C08,1.6576651,7.018954 +10X_cells.GTACGTAGTATTACCG-L8TX_180406_01_C08,1.6726258,8.731758 +10X_cells.ACTGAGTGTCGAATCT-L8TX_180406_01_C07,0.59373873,7.833993 +10X_cells.CCTCTGACACCTTGTC-L8TX_180406_01_C07,0.027152387,8.069737 +Smartseq_cells.SM-GE5V5_S152_E1-50,4.17022,3.9982126 +Smartseq_cells.SM-GE5V6_S157_E1-50,0.82882375,13.089935 +10X_cells.GCATACAGTGAGTATA-L8TX_180221_01_F12,1.8071707,9.054556 +10X_cells.AAACCTGAGCGATTCT-L8TX_200625_02_F11,0.87589645,12.273182 +10X_cells.TACTCATAGGTGATTA-L8TX_171026_01_A05,0.14872539,15.741414 +10X_cells.CACCTTGTCAGGCCCA-L8TX_171026_01_F03,-0.32851413,15.400412 +10X_cells.CCTACACAGCAGACTG-L8TX_171026_01_F03,-0.14866823,15.161017 +10X_cells.GCCTCTAGTGCACTTA-L8TX_171026_01_F03,-0.0909332,14.335457 +10X_cells.GCGGGTTGTCAAAGAT-L8TX_171026_01_G03,1.1850736,13.402964 +10X_cells.GTGTTAGTCGCATGGC-L8TX_171026_01_G03,-1.7730631,13.628519 +10X_cells.GTTAAGCGTGAAGGCT-L8TX_171026_01_G03,-0.5125821,13.617424 +10X_cells.CCCAGTTGTGCGGTAA-L8TX_171026_01_B04,-0.6404175,12.747072 +10X_cells.CTACCCACATTTGCTT-L8TX_171026_01_F04,1.5738868,13.063643 +10X_cells.CTCACACGTAGCAAAT-L8TX_171026_01_F04,-0.6017946,14.361512 +10X_cells.TTAGTTCCACAAGTAA-L8TX_171026_01_G04,0.481537,11.635906 +10X_cells.CACCTTGGTATCAGTC-L8TX_171026_01_H04,-0.92060876,14.895004 +10X_cells.ATCCGAAGTCGGCTCA-L8TX_171026_01_A05,0.14977022,12.882574 +10X_cells.CAACTAGGTGTGTGCC-L8TX_171026_01_H03,-3.0193303,13.889797 +10X_cells.ATGGGAGTCCTGCTTG-L8TX_171026_01_A04,1.8321322,12.4473295 +10X_cells.CTGTGCTGTAGAAAGG-L8TX_171026_01_A04,0.56363827,11.719257 +10X_cells.GTGAAGGGTTCGTTGA-L8TX_171026_01_A04,-0.433254,12.32496 +10X_cells.CTGATAGTCCACGTGG-L8TX_171026_01_C05,0.2973989,10.702295 +10X_cells.GCGAGAAGTACAGACG-L8TX_171026_01_D05,1.719205,12.403073 +10X_cells.TCCCGATTCCAGAAGG-L8TX_171026_01_D05,0.32120636,11.983627 +10X_cells.CTGAAACGTTGTTTGG-L8TX_171026_01_E05,0.5091751,10.3682785 +10X_cells.GAGCAGATCGACCAGC-L8TX_171026_01_E05,-1.0058033,14.156229 +10X_cells.GTCGTAACACGGTAGA-L8TX_171026_01_E05,-0.739657,13.567198 +10X_cells.TGAGGGAGTATTAGCC-L8TX_171026_01_E05,1.7851026,12.236381 +10X_cells.GACGGCTAGACGCACA-L8TX_171026_01_F05,-0.18625787,12.91218 +10X_cells.GCTTCCAAGATGCCAG-L8TX_171026_01_G05,-1.0905625,11.738451 +10X_cells.GGATTACTCTATCGCC-L8TX_171026_01_G05,0.9887641,11.937674 +10X_cells.CAACTAGTCGCTAGCG-L8TX_171026_01_H05,0.09469947,10.527724 +Smartseq_cells.SM-GE67S_S041_E1-50,-0.19974025,13.561309 +Smartseq_cells.SM-GE67S_S085_E1-50,-1.1845512,14.834768 +Smartseq_cells.SM-GE67S_S096_E1-50,-2.0077605,14.173148 +Smartseq_cells.SM-GE92L_S154_E1-50,-2.0534472,14.137003 +Smartseq_cells.SM-GE92L_S165_E1-50,-0.24850792,14.745381 +Smartseq_cells.SM-GE8ZH_S363_E1-50,0.23099196,13.148595 +10X_cells.CGAGCCAGTTTGCATG-L8TX_180406_01_B01,1.6986955,9.081582 +10X_cells.CTCCTAGAGTGGGTTG-L8TX_180406_01_D01,1.594369,8.365427 +10X_cells.AAGGCAGTCTGATACG-L8TX_180406_01_E01,0.8939124,9.904133 +10X_cells.CGGACACGTATAAACG-L8TX_180406_01_F01,0.748431,9.049915 +10X_cells.GGGAGATCAGTTCCCT-L8TX_180406_01_B02,1.5010008,7.6813335 +10X_cells.ACGATGTGTCTTCAAG-L8TX_180406_01_C02,2.6635628,10.850473 +10X_cells.CACACCTTCCTAGAAC-L8TX_180406_01_C02,1.7417336,9.9858465 +10X_cells.CAAGAAATCCGAACGC-L8TX_180406_01_D02,0.68110085,8.909171 +Smartseq_cells.SM-GE66Z_S092_E1-50,0.47470248,13.633816 +Smartseq_cells.SM-GE671_S169_E1-50,2.070017,11.461508 +Smartseq_cells.SM-GE8Z7_S001_E1-50,3.8631172,10.927093 +10X_cells.ATAAGAGTCACATGCA-L8TX_180221_01_F10,1.443509,13.456939 +10X_cells.ACGTCAATCTAACCGA-L8TX_180221_01_F10,1.4211303,13.636172 +10X_cells.TGTTCCGGTATCTGCA-L8TX_180221_01_D10,0.86487794,11.304389 +10X_cells.ATGTGTGAGGACCACA-L8TX_180221_01_E10,1.5855497,13.524916 +10X_cells.CAGCCGAGTCAGGACA-L8TX_180221_01_E10,1.6640722,8.990428 +10X_cells.CCTACCATCACAGTAC-L8TX_180221_01_E10,0.72785836,8.867804 +10X_cells.GAACATCCAGGTCGTC-L8TX_180221_01_E10,0.113639824,11.242655 +10X_cells.GGAGCAAAGCTAGGCA-L8TX_180221_01_E10,1.1352705,11.717731 +10X_cells.GGGCATCAGAGACTTA-L8TX_180221_01_E10,1.2209249,12.783484 +10X_cells.CACAGGCCATGTAAGA-L8TX_180221_01_F10,-0.23972067,13.19473 +10X_cells.GTGTTAGTCATCTGTT-L8TX_180221_01_F10,3.3930988,2.0682683 +10X_cells.CCCATACCAAAGTCAA-L8TX_180221_01_G10,1.1855893,12.5126295 +10X_cells.CGGAGTCAGATGTGTA-L8TX_180221_01_G10,0.06610533,14.850911 +10X_cells.GAGCAGACAAGCGCTC-L8TX_180221_01_G10,1.7329053,8.923978 +10X_cells.GCACATAGTTACGGAG-L8TX_180221_01_G10,0.33231664,12.432249 +10X_cells.ACACTGATCCAGATCA-L8TX_180221_01_H10,-1.652786,14.470421 +10X_cells.AGCTCCTGTCGGCTCA-L8TX_180221_01_H10,1.7423173,11.760238 +10X_cells.GATCTAGCATGCCCGA-L8TX_180221_01_A11,1.706157,9.024177 +10X_cells.ACGGGTCTCATCTGCC-L8TX_190312_01_B02,4.506398,2.5351381 +10X_cells.CACCACTAGATAGTCA-L8TX_190312_01_B02,4.4513693,3.469889 +10X_cells.CTCCTAGAGGCTAGGT-L8TX_190312_01_B02,4.2385287,3.8398926 +10X_cells.GAAATGAGTTCCACTC-L8TX_190312_01_B02,1.6710515,11.159431 +10X_cells.GTCTCGTCAATGGACG-L8TX_190312_01_B02,3.6419578,9.022099 +10X_cells.TGTCCCACAATGGACG-L8TX_190312_01_B02,2.0694792,11.810103 +10X_cells.GAGCAGACAAGCTGAG-L8TX_190312_01_C02,3.62884,2.3591032 +10X_cells.CCCATACAGTGAACAT-L8TX_190312_01_D02,1.0286527,12.3700075 +10X_cells.CATGCCTCATCTCGCT-L8TX_190312_01_G02,1.4031398,11.073899 +10X_cells.ATCATCTTCTAAGCCA-L8TX_180907_01_B11,0.45613688,11.595944 +10X_cells.CACACAATCCAGTATG-L8TX_180907_01_B11,-1.1335627,11.624192 +10X_cells.ATCCGAATCAACTCTT-L8TX_180221_01_C11,0.59655195,10.167042 +10X_cells.CAGGTGCGTCCAGTGC-L8TX_180221_01_C11,-0.5697283,10.52581 +10X_cells.ACATGGTCAGATAATG-L8TX_190312_01_A03,1.185448,12.679961 +Smartseq_cells.SM-GE67O_S059_E1-50,1.0693673,12.612714 +10X_cells.ATAACGCCAAGAAGAG-L8TX_180907_01_E11,4.6784344,2.8305318 +Smartseq_cells.SM-DD44A_S80_E1-50,-1.3872812,15.0216055 +Smartseq_cells.SM-GE5UT_S293_E1-50,1.8091846,12.120232 +10X_cells.GAGGTGAAGCTACCTA-L8TX_180926_01_B01,1.9323105,13.097229 +10X_cells.CAAGATCAGTGGTAGC-L8TX_180926_01_B01,1.228137,10.5009575 +10X_cells.ACGTCAAAGACGCTTT-L8TX_180926_01_D01,4.190536,2.21049 +10X_cells.GATCTAGCATCTATGG-L8TX_180926_01_D01,0.35730022,9.923662 +10X_cells.ATCGAGTAGCAGACTG-L8TX_180926_01_E01,0.62906903,10.188514 +10X_cells.CAACTAGCATCAGTAC-L8TX_180926_01_E01,1.8617808,11.954303 +10X_cells.CTGCGGAGTACCGCTG-L8TX_180926_01_E01,0.79707676,10.234332 +10X_cells.TTTGGTTGTGATGCCC-L8TX_180926_01_E01,1.6675354,12.779678 +10X_cells.CACATAGCACCTCGTT-L8TX_180926_01_F01,1.8363783,9.621744 +10X_cells.GGGAATGAGCGTCTAT-L8TX_180926_01_F01,1.229903,12.25344 +10X_cells.CAACTAGCACGTGAGA-L8TX_181011_01_B03,1.3803389,11.24504 +10X_cells.AAGCCGCTCGAATGCT-L8TX_181011_01_H03,0.7499955,11.907214 +10X_cells.CCTCTGACAAACTGTC-L8TX_181011_01_H03,1.0882065,8.81786 +10X_cells.GGCGTGTGTGTGAATA-L8TX_181011_01_H03,-1.9803915,9.852667 +10X_cells.TGAGGGACACATTCGA-L8TX_180221_01_D12,1.7284896,12.813662 +10X_cells.CAACCAACACATCCAA-L8TX_180712_01_E05,1.2489085,7.436243 +10X_cells.GATCGATGTCGCATAT-L8TX_180712_01_E05,1.5729173,8.828691 +10X_cells.TCAATCTTCGCTTAGA-L8TX_180712_01_E05,0.49076527,8.436352 +10X_cells.CGCGGTAGTCTGCAAT-L8TX_180712_01_H05,1.1610477,11.758584 +10X_cells.TCAGCAATCGCCAAAT-L8TX_180712_01_H05,0.65753174,10.417182 +10X_cells.TGAAAGACAAGTTCTG-L8TX_180712_01_H05,1.5193808,8.721297 +10X_cells.AAGGAGCTCTAACTGG-L8TX_180712_01_A06,-0.38870382,10.018493 +10X_cells.ATCACGAGTAAGGATT-L8TX_180712_01_A06,0.9080644,11.55776 +10X_cells.ATGGGAGTCCCGGATG-L8TX_180712_01_A06,2.2099936,11.450845 +10X_cells.CATCAAGGTTAGATGA-L8TX_180712_01_A06,1.0760047,11.764977 +10X_cells.CGCCAAGTCTACTATC-L8TX_180712_01_A06,1.4177932,9.525605 +10X_cells.AAGGCAGTCAGTGCAT-L8TX_180504_01_E01,1.6456859,8.671603 +10X_cells.ACTGAACTCAGTACGT-L8TX_180504_01_E01,0.3487918,9.043709 +10X_cells.TGCCCTAGTTAAGGGC-L8TX_180504_01_E01,3.413741,2.618643 +10X_cells.AACTCAGAGTGGCACA-L8TX_180221_01_A12,0.48848805,9.288112 +10X_cells.ACAGCTAGTTTCCACC-L8TX_180221_01_A12,0.5726859,9.386641 +10X_cells.GGAATAATCTTTCCTC-L8TX_180221_01_B12,0.6483317,10.486238 +10X_cells.GTTTCTAAGGCCCGTT-L8TX_180221_01_C12,1.732788,8.982206 +10X_cells.AAACCTGTCACGGTTA-L8TX_180221_01_H11,0.71475655,10.453452 +10X_cells.ACCCACTAGTGAATTG-L8TX_180221_01_H11,0.5325906,9.284379 +10X_cells.GGAAAGCCACTAGTAC-L8TX_180221_01_H11,0.641362,10.896656 +10X_cells.TGTGTTTTCCGTCATC-L8TX_180221_01_H11,0.6602097,10.580983 +10X_cells.AACGTTGTCCGTCAAA-L8TX_200611_02_A05,0.5827895,10.282149 +10X_cells.CACCTTGGTACCTACA-L8TX_200611_02_A05,0.5213371,10.953635 +10X_cells.CATATTCGTCTAGTCA-L8TX_200611_02_A05,1.4001749,10.040153 +10X_cells.TAGGCATCACTTAAGC-L8TX_200611_02_A05,0.8854586,11.221404 +10X_cells.TCGGGACGTCACTTCC-L8TX_200611_02_A05,0.51918036,9.639728 +Smartseq_cells.SM-GE679_S142_E1-50,1.1368159,12.599781 +Smartseq_cells.SM-GE91C_S142_E1-50,-1.084127,12.978272 +10X_cells.CCTTCGATCCGTCATC-L8TX_180115_01_C09,-0.6260956,11.196114 +10X_cells.CGCCAAGAGGAGTACC-L8TX_180115_01_C09,0.25519904,9.473871 +10X_cells.TCCCGATAGCCCAACC-L8TX_180115_01_H10,1.028198,11.582144 +10X_cells.GGATGTTCACTCGACG-L8TX_180115_01_B10,1.655171,11.127873 +10X_cells.ATTTCTGAGGATATAC-L8TX_180115_01_B11,2.8565474,13.284261 +10X_cells.CTACGTCAGACTGTAA-L8TX_180115_01_C10,1.2931325,10.825075 +10X_cells.AAAGATGAGAAGAAGC-L8TX_180115_01_C11,0.5991757,9.949995 +10X_cells.ATTCTACCACAGCCCA-L8TX_180115_01_C11,-1.6031477,9.303526 +10X_cells.ACTTTCATCATCGGAT-L8TX_180115_01_D11,0.73115945,11.564839 +10X_cells.GAAATGAAGACAAGCC-L8TX_180115_01_D11,-0.013642284,12.16954 +10X_cells.GCTCCTAGTTGTCTTT-L8TX_180115_01_D11,0.4086578,11.603941 +10X_cells.TACCTATGTCATACTG-L8TX_180115_01_D11,-4.03641,6.87563 +10X_cells.TGAGAGGAGCCCTAAT-L8TX_180115_01_D11,0.3831468,12.84813 +10X_cells.ATTTCTGGTTCCCGAG-L8TX_180115_01_F10,0.7037867,9.87885 +10X_cells.CAGATCAGTAACGTTC-L8TX_180115_01_E11,-0.33202296,8.1767435 +10X_cells.CCTTCGATCCTCAATT-L8TX_180115_01_E11,1.1488545,12.040903 +10X_cells.GCAAACTTCGCACTCT-L8TX_180115_01_E11,0.53247017,12.777829 +10X_cells.CGAGCCAGTATTCGTG-L8TX_180115_01_F11,3.56101,2.4530997 +10X_cells.GTAACGTCAACACCCG-L8TX_180115_01_H09,0.8807426,9.707727 +10X_cells.GGAACTTGTGTTAAGA-L8TX_180115_01_A10,1.4402928,9.989825 +10X_cells.ACTGCTCCACGCATCG-L8TX_180115_01_E09,2.2878118,9.572934 +10X_cells.ACGGGCTCACAGCGTC-L8TX_180115_01_F09,0.7518326,12.384068 +10X_cells.GTTCGGGAGACTCGGA-L8TX_171120_01_H07,0.71649677,11.050607 +10X_cells.CGAATGTTCTTCGAGA-L8TX_180115_01_G08,0.07890071,11.237062 +10X_cells.GACCAATCAAGCTGTT-L8TX_171120_01_C07,-0.19232196,11.928647 +10X_cells.TTCGGTCAGCCACCTG-L8TX_171120_01_C07,1.0406005,12.362309 +Smartseq_cells.LS-15060_S72_E1-50,-0.66685325,13.785938 +Smartseq_cells.LS-15074_S34_E1-50,0.38527375,13.650327 +Smartseq_cells.LS-15074_S64_E1-50,1.5666356,12.372336 +Smartseq_cells.LS-15352_S71_E1-50,-2.413574,14.673837 +Smartseq_cells.LS-15515_S12_E1-50,-1.18346,14.542133 +Smartseq_cells.LS-15545_S65_E1-50,0.076767094,13.851291 +Smartseq_cells.SM-D9E4K_S05_E1-50,-1.146698,14.401961 +Smartseq_cells.SM-D9E63_S40_E1-50,0.93440896,12.766848 +Smartseq_cells.SM-GE64U_S033_E1-50,0.07347437,15.078425 +Smartseq_cells.SM-GE67S_S021_E1-50,-2.280953,14.187898 +Smartseq_cells.SM-GE67T_S003_E1-50,-0.6167185,15.096603 +Smartseq_cells.SM-GE67T_S026_E1-50,1.588221,13.609075 +Smartseq_cells.SM-GE91G_S347_E1-50,5.90282,3.734032 +Smartseq_cells.SM-GE91J_S028_E1-50,4.967916,5.018558 +Smartseq_cells.SM-GE93M_S175_E1-50,6.1886754,4.0245366 +10X_cells.CCGTGGAAGGCTCATT-L8TX_180221_01_C09,1.5907595,6.9398193 +10X_cells.ACATGGTTCTCACATT-L8TX_181012_01_H04,1.3921932,7.2363048 +10X_cells.GCGCAGTGTGTTAAGA-L8TX_180406_01_B06,1.485331,6.988332 +10X_cells.ATTATCCAGCGTGAGT-L8TX_180406_01_C07,1.7971652,7.068902 +10X_cells.TGCCCTAAGGCAATTA-L8TX_180406_01_H02,0.13243373,7.667052 +10X_cells.CTTAACTTCGAACGGA-L8TX_180406_01_H01,1.1475452,7.591439 +10X_cells.GGCTGGTGTTGCGTTA-L8TX_180406_01_C07,-0.38516334,8.197134 +10X_cells.ACCTTTACATGGTTGT-L8TX_180406_01_C07,1.5652965,7.396499 +10X_cells.CTGCCTAGTCCATCCT-L8TX_180406_01_B06,1.30038,7.6706777 +10X_cells.CCTATTAGTCATATGC-L8TX_180406_01_H01,0.3350583,7.3418536 +10X_cells.TGACAACTCTCCCTGA-L8TX_180406_01_C07,1.6279279,6.982693 +10X_cells.TGCACCTCATTGGGCC-L8TX_180406_01_H01,1.3882157,7.5233383 +10X_cells.TGAGGGATCCGCGGTA-L8TX_180406_01_E02,-0.24895404,8.086415 +10X_cells.TTTGCGCAGGACCACA-L8TX_180406_01_E02,1.4853635,7.4930344 +10X_cells.CCCAATCGTCATCCCT-L8TX_180406_01_H02,-2.022239,7.1137576 +10X_cells.ATTACTCGTACCGGCT-L8TX_180406_01_H01,-0.57187563,8.5735235 +10X_cells.GCTGCAGCAATGTTGC-L8TX_180406_01_C07,-1.501147,8.823389 +10X_cells.TACAGTGCACTTAACG-L8TX_180406_01_H02,1.3825107,6.5842166 +10X_cells.CGAGCCAAGTTTAGGA-L8TX_180406_01_E06,0.7144525,7.475485 +10X_cells.GTGTTAGCACGTAAGG-L8TX_180406_01_C07,1.0033437,7.504681 +10X_cells.CGTTAGATCTTAACCT-L8TX_180406_01_C07,-0.93766016,8.066579 +10X_cells.TACTCATTCCAACCAA-L8TX_180406_01_B06,-1.0150163,8.0162325 +10X_cells.GCAGTTAAGTTAGGTA-L8TX_180406_01_H02,0.14722858,7.600688 +10X_cells.ACTATCTAGGGCTCTC-L8TX_180406_01_C08,1.537134,7.1200123 +10X_cells.CGTCAGGGTCTAGTCA-L8TX_180406_01_G02,1.1728586,7.2867694 +10X_cells.GGACGTCAGACAGACC-L8TX_180406_01_E02,1.1459408,7.412003 +10X_cells.ACATGGTCAGGACCCT-L8TX_180406_01_E06,1.272169,7.4684772 +10X_cells.TGGCGCACATGCCCGA-L8TX_180406_01_E02,-0.952678,7.7765923 +10X_cells.CGAGAAGTCACTGGGC-L8TX_180406_01_B06,-0.23355515,7.9455767 +10X_cells.GATCAGTAGTTCCACA-L8TX_180406_01_H01,0.5803301,6.770511 +10X_cells.CCTCTGATCACGAAGG-L8TX_180406_01_C07,0.37435603,7.3935757 +10X_cells.CACAGGCAGTAGTGCG-L8TX_180406_01_C08,1.6686766,7.025097 +10X_cells.CTTTGCGGTGGCGAAT-L8TX_180406_01_E06,1.4638344,7.367056 +10X_cells.ATTACTCCATCGTCGG-L8TX_180406_01_B06,1.5015846,7.093488 +10X_cells.GCAGTTAAGGATTCGG-L8TX_180406_01_G02,2.0945144,6.6450577 +10X_cells.GATCTAGGTTAAAGAC-L8TX_180406_01_E07,1.6719586,7.057364 +10X_cells.CTTAACTGTCGCGTGT-L8TX_180406_01_E06,1.4755166,7.0683804 +10X_cells.GATCAGTCAGGGTTAG-L8TX_180406_01_C07,0.8456777,8.262957 +10X_cells.CCCTCCTGTCTGATCA-L8TX_180406_01_H02,-0.7217809,7.5518813 +10X_cells.CAGAGAGAGGCAATTA-L8TX_180406_01_H01,-1.1926945,7.165 +10X_cells.CACATTTGTGCAGACA-L8TX_180406_01_E07,0.06714444,7.641491 +10X_cells.GAATAAGGTGTTTGGT-L8TX_180406_01_C07,-0.6244817,8.576833 +10X_cells.TTGCGTCTCCATTCTA-L8TX_180406_01_C07,0.33186775,7.765389 +10X_cells.TCGAGGCGTTAGATGA-L8TX_180406_01_E07,0.1235041,7.471608 +10X_cells.GATCGCGAGTAAGTAC-L8TX_180406_01_B06,1.8574227,6.8284826 +10X_cells.CGCGGTACAGCGAACA-L8TX_180406_01_C07,1.0649174,7.300353 +10X_cells.CTCACACGTACCGCTG-L8TX_180406_01_E06,0.05970154,8.203278 +10X_cells.GTAGGCCCACAACGTT-L8TX_180406_01_E02,1.0527259,7.061931 +10X_cells.GAATAAGGTGACTACT-L8TX_180406_01_H02,1.2240027,6.979956 +10X_cells.ACCAGTAAGGGTCGAT-L8TX_180406_01_B06,0.055306174,7.5789213 +10X_cells.GGAAAGCCACGCTTTC-L8TX_180406_01_H01,-0.63684094,8.285282 +10X_cells.ACTTTCATCACGCGGT-L8TX_180406_01_C07,1.1246163,7.5636573 +10X_cells.CAGCAGCGTATTACCG-L8TX_180406_01_B06,1.2952325,7.392415 +10X_cells.CTCGGAGTCTCGAGTA-L8TX_180406_01_B06,0.07662045,7.092734 +10X_cells.GCCTCTATCCACGTTC-L8TX_180406_01_C07,1.2555844,7.6873646 +Smartseq_cells.SM-GE91G_S283_E1-50,-5.767872,7.726196 +Smartseq_cells.SM-GE91L_S155_E1-50,0.09253241,12.392438 +Smartseq_cells.SM-GE91C_S186_E1-50,-2.8674507,12.760227 +Smartseq_cells.SM-GE91C_S281_E1-50,-3.3474402,7.191216 +Smartseq_cells.SM-GE91H_S255_E1-50,-6.345629,9.665623 +Smartseq_cells.SM-GE91J_S168_E1-50,-1.7357061,13.742931 +10X_cells.GACGGCTAGTACGACG-L8TX_180406_01_C01,-1.5065325,9.100598 +10X_cells.CTCGTACTCCTTTACA-L8TX_180406_01_G01,1.1968566,7.7639856 +10X_cells.ACCCACTAGTACATGA-L8TX_180406_01_B02,1.6161666,7.703701 +10X_cells.ATGAGGGAGGACAGCT-L8TX_180406_01_B02,-0.68223923,9.13606 +10X_cells.CTAAGACGTTCCATGA-L8TX_180221_01_D10,0.656035,6.797309 +10X_cells.GCTGCAGTCTTGACGA-L8TX_180221_01_F10,0.17191039,7.433875 +10X_cells.GGCTGGTTCAGATAAG-L8TX_180221_01_G10,0.52312744,7.873541 +10X_cells.CTCACACTCATTGCGA-L8TX_180221_01_A11,0.26901013,6.8706737 +10X_cells.TGAGCATTCCACGACG-L8TX_180221_01_A11,1.0669636,7.00772 +10X_cells.TCAGGTACATACCATG-L8TX_190312_01_B02,1.65919,7.118403 +10X_cells.ACGAGCCGTTCAGTAC-L8TX_180926_01_E01,1.0987588,8.358849 +10X_cells.AGTAGTCTCAATACCG-L8TX_180712_01_H05,0.97984165,6.7609787 +10X_cells.AACTCCCAGAACTCGG-L8TX_180712_01_E05,1.0037692,6.9802127 +10X_cells.TTCGGTCCAAGAGGCT-L8TX_180712_01_F05,1.5568045,6.8925023 +10X_cells.TTTCCTCAGCGTAATA-L8TX_180712_01_H05,-2.181404,9.591276 +10X_cells.ACGATACTCCTTGCCA-L8TX_180712_01_A06,0.22348663,6.193532 +10X_cells.GCTTGAAAGCACAGGT-L8TX_180712_01_A06,-0.44568664,7.355291 +10X_cells.ATCACGAGTAAGAGAG-L8TX_180221_01_A12,-0.061216585,6.6771045 +10X_cells.CCAGCGAGTTACTGAC-L8TX_180221_01_A12,-0.2310198,6.6030536 +10X_cells.GGGTTGCTCCGGGTGT-L8TX_180221_01_B12,1.09468,7.607433 +10X_cells.CACACAACAATCTGCA-L8TX_180221_01_C12,1.722571,6.99636 +10X_cells.AACTGGTGTGCAGTAG-L8TX_180221_01_H11,0.052717727,6.709473 +10X_cells.CTCATTAGTCTCATCC-L8TX_180221_01_H11,-0.6062951,6.8777094 +10X_cells.CTGAAGTGTTGAGTTC-L8TX_180221_01_H11,0.9770335,6.846714 +Smartseq_cells.SM-GE679_S257_E1-50,-4.546336,6.977344 +10X_cells.CGTTCTGGTTCATGGT-L8TX_200625_02_F11,4.813447,18.049908 +10X_cells.GTAACTGTCCAAGTAC-L8TX_200625_02_F11,5.1780696,17.867395 +10X_cells.ACGGCCATCAGTCAGT-L8TX_200625_02_G11,5.680801,16.617622 +10X_cells.ATTGGTGAGACTAAGT-L8TX_200625_02_E11,5.075857,17.889183 +10X_cells.CATATTCGTGACTCAT-L8TX_200625_02_E11,4.746492,18.354095 +10X_cells.CCAGCGAGTTTGTGTG-L8TX_200625_02_E11,4.957704,17.951101 +Smartseq_cells.SM-GE65S_S086_E1-50,4.8698726,18.052687 +Smartseq_cells.SM-GE8ZR_S083_E1-50,5.031401,17.898844 +Smartseq_cells.SM-GE8ZR_S255_E1-50,4.996619,18.089417 +Smartseq_cells.SM-GE8ZR_S263_E1-50,5.181991,18.181957 +10X_cells.CCTACACGTGGAAAGA-L8TX_180406_01_G01,-0.6990756,8.341076 +10X_cells.GACTGCGGTAGGGACT-L8TX_180221_01_F09,7.100193,18.325846 +10X_cells.GAACATCTCCTATGTT-L8TX_180221_01_G09,6.5534716,17.440056 +10X_cells.TGCACCTTCTACCTGC-L8TX_180221_01_B10,8.046789,16.08847 +10X_cells.CAAGATCCAAGTCATC-L8TX_180406_01_F02,5.9641094,18.908382 +Smartseq_cells.SM-GE67T_S258_E1-50,5.8007555,18.705753 +Smartseq_cells.SM-GE67T_S268_E1-50,6.0612683,17.990501 +10X_cells.ATTTCTGAGTGAACAT-L8TX_180221_01_D09,7.4366274,15.995665 +10X_cells.TGGACGCCACAGTCGC-L8TX_180221_01_D09,6.6477747,16.077847 +10X_cells.GTAGGCCAGCGTGTCC-L8TX_180712_01_G05,7.2428417,17.862047 +10X_cells.CAGCATACACGGCTAC-L8TX_180221_01_H12,7.886557,16.998436 +10X_cells.AAATGCCTCTGAAAGA-L8TX_180221_01_E09,5.291094,18.531515 +10X_cells.GCGACCATCAGTGTTG-L8TX_180221_01_E09,6.47017,16.589283 +10X_cells.TAGCCGGAGGCCCTCA-L8TX_180221_01_E09,5.9433727,18.741936 +10X_cells.ACGATGTGTTAAGTAG-L8TX_180221_01_C09,6.6680536,16.043848 +10X_cells.GAACGGATCAACCATG-L8TX_180221_01_C09,7.2441373,15.608911 +10X_cells.CACACCTTCGAGCCCA-L8TX_180221_01_D09,5.984124,18.291323 +10X_cells.CCGTACTAGCTGTTCA-L8TX_180221_01_D09,6.289209,16.907946 +10X_cells.TATCTCAAGTGGCACA-L8TX_180221_01_D09,6.2788258,16.939257 +10X_cells.TGAGCATGTATAGGGC-L8TX_180221_01_D09,6.166176,16.681515 +10X_cells.AAGGCAGTCGCGCCAA-L8TX_180712_01_G05,7.614532,16.854548 +10X_cells.ACGAGCCTCCTTCAAT-L8TX_180712_01_G05,6.7041907,17.98668 +10X_cells.GGCCGATAGAAGCCCA-L8TX_180712_01_G05,7.492441,16.507372 +10X_cells.ACGCCAGAGGAATGGA-L8TX_180712_01_B06,7.721784,15.995164 +10X_cells.CTCAGAAAGGACATTA-L8TX_180712_01_B06,7.796904,17.186283 +10X_cells.TCGTAGACATGCCTTC-L8TX_180712_01_B06,8.095754,17.374672 +10X_cells.AGCTCTCGTAAGCACG-L8TX_180712_01_C06,7.3902144,17.177586 +10X_cells.ATAGACCCAATCAGAA-L8TX_180712_01_C06,7.667104,15.561354 +10X_cells.GAATGAAAGAGGTACC-L8TX_180712_01_C06,6.012518,18.529175 +Smartseq_cells.SM-GE67M_S281_E1-50,6.269804,18.666626 +Smartseq_cells.LS-15308_S34_E1-50,5.7861657,18.914398 +Smartseq_cells.LS-15309_S71_E1-50,5.8608165,18.933079 +Smartseq_cells.LS-15326_S86_E1-50,5.8321238,18.780136 +Smartseq_cells.LS-15327_S51_E1-50,5.776557,18.969051 +Smartseq_cells.LS-15338_S19_E1-50,5.9580216,19.115702 +Smartseq_cells.LS-15368_S68_E1-50,5.855977,18.572208 +Smartseq_cells.SM-D9D13_S46_E1-50,5.956797,18.962173 +Smartseq_cells.SM-D9D9E_S20_E1-50,5.887048,18.818155 +10X_cells.TCGTAGAGTGCACGAA-L8TX_181012_01_E05,7.4777684,15.525477 +10X_cells.GGATGTTCATTAGCCA-L8TX_180829_01_D09,6.4484687,18.669123 +10X_cells.ACGCCGATCAACACGT-L8TX_180907_01_G10,6.735228,17.534342 +10X_cells.CGTTGGGTCAGTGCAT-L8TX_180907_01_G10,7.9408975,16.568457 +10X_cells.CAGCGACTCAATACCG-L8TX_180406_01_H02,7.0151315,17.76391 +10X_cells.CCCAATCAGAACAACT-L8TX_180406_01_C07,7.621332,17.103247 +10X_cells.TTAGTTCTCTCGTTTA-L8TX_180406_01_C08,7.534565,15.240806 +10X_cells.TTGAACGCACGTTGGC-L8TX_180406_01_B06,7.5197625,16.332222 +10X_cells.GGACATTGTGTTAAGA-L8TX_180406_01_E06,7.556752,15.335473 +10X_cells.TCTGAGAGTCGGCATC-L8TX_180406_01_G02,7.5446844,15.508835 +10X_cells.AAACGGGGTCATATGC-L8TX_180406_01_H01,8.04132,16.18785 +10X_cells.CTGTTTACACATTCGA-L8TX_180406_01_H01,8.520656,16.414852 +10X_cells.TACCTTATCCGCATAA-L8TX_180406_01_H01,7.641257,17.490372 +10X_cells.GCTGGGTAGCAGGCTA-L8TX_180406_01_G02,8.280003,17.093334 +10X_cells.CCGTTCACATTCACTT-L8TX_180406_01_H02,6.3843403,18.971811 +10X_cells.GATGAAAAGGAACTGC-L8TX_180406_01_H02,8.139685,16.975273 +10X_cells.GGAGCAAAGGCTATCT-L8TX_180406_01_B06,7.7545676,15.87028 +10X_cells.CCGTACTTCGCCAAAT-L8TX_180406_01_E06,7.803354,16.987087 +10X_cells.CACCAGGGTCCTCTTG-L8TX_180406_01_C08,7.421029,17.76607 +10X_cells.ACATACGAGGCTAGGT-L8TX_180406_01_C07,7.904709,15.708736 +10X_cells.GGGAGATAGACTAGGC-L8TX_180406_01_C07,7.5389023,15.114337 +10X_cells.CAGCAGCAGAACTCGG-L8TX_180406_01_E07,7.6633315,15.646246 +Smartseq_cells.SM-GE914_S194_E1-50,5.861546,18.127232 +Smartseq_cells.SM-GE915_S002_E1-50,5.7288337,18.334478 +Smartseq_cells.SM-GE91L_S070_E1-50,6.3689623,17.95411 +Smartseq_cells.SM-GE91L_S163_E1-50,6.3922043,18.073296 +Smartseq_cells.SM-GE91L_S174_E1-50,6.737155,17.52642 +10X_cells.GGGTCTGTCCAGAGGA-L8TX_180221_01_E12,7.4661465,16.199818 +10X_cells.AATCCAGAGCTAGTTC-L8TX_200625_02_G11,6.0753355,15.622776 +10X_cells.CATGGCGAGCCGATTT-L8TX_200625_02_G11,6.057489,15.633325 +10X_cells.GCTGCTTAGTGTTGAA-L8TX_200625_02_G11,5.955926,15.856447 +10X_cells.AGCGTATCACTGTGTA-L8TX_200625_02_E11,6.0741596,17.554548 +10X_cells.ATGTGTGAGCGCCTTG-L8TX_171026_01_B04,7.5390406,17.722555 +10X_cells.CGACCTTGTGCAGACA-L8TX_171026_01_B05,5.0980606,19.000984 +10X_cells.CACAGTAAGAATTGTG-L8TX_171026_01_A05,6.4671626,18.409143 +10X_cells.TTGGAACAGTGGAGTC-L8TX_171026_01_A04,6.5268817,18.55379 +10X_cells.CGAGCACAGTTCGCAT-L8TX_171026_01_C05,5.3903737,19.272894 +10X_cells.TTAGGACGTACAGTGG-L8TX_171026_01_B04,6.935656,18.004313 +10X_cells.AGCGTCGGTTCGCGAC-L8TX_171026_01_D05,7.82523,16.406248 +10X_cells.AGCTCCTAGATGCGAC-L8TX_171026_01_E05,7.438934,17.454254 +10X_cells.TCGGGACTCCGCTGTT-L8TX_171026_01_G03,7.3321166,17.71785 +10X_cells.CCATTCGGTCTTGTCC-L8TX_171026_01_B04,6.8795004,18.850372 +10X_cells.ACATCAGCATTTGCCC-L8TX_171026_01_F04,6.057309,18.124886 +10X_cells.CTGATAGTCCATTCTA-L8TX_171026_01_F04,6.4509096,17.63075 +10X_cells.GCTCTGTTCACCTCGT-L8TX_171026_01_F04,7.3432093,16.980318 +10X_cells.TGTGTTTTCAACACAC-L8TX_171026_01_G04,5.333329,19.275482 +10X_cells.CGGACGTCACTTAAGC-L8TX_171026_01_A05,8.412361,17.064095 +10X_cells.TCGCGTTTCGCGATCG-L8TX_171026_01_A05,5.8837132,19.411253 +10X_cells.TGGGCGTAGGCATTGG-L8TX_171026_01_H03,7.80372,17.097704 +10X_cells.ATCACGACACTATCTT-L8TX_171026_01_A04,6.4645724,19.168552 +10X_cells.GATCGTATCCCTAATT-L8TX_171026_01_A04,6.977654,18.416948 +10X_cells.GTTAAGCTCCCTAATT-L8TX_171026_01_A04,7.314743,18.262793 +10X_cells.TCGGGACCATCGGAAG-L8TX_171026_01_A04,5.39933,19.306694 +10X_cells.TGACAACTCAATACCG-L8TX_171026_01_C05,5.956186,17.66929 +10X_cells.ACACCAAAGAGGTACC-L8TX_171026_01_E05,7.5384007,17.421486 +10X_cells.ACACCCTCAGATTGCT-L8TX_171026_01_F05,7.178182,18.37026 +10X_cells.GTCATTTTCCTTTACA-L8TX_171026_01_F05,7.208687,17.819777 +10X_cells.CGTCACTTCAGCGATT-L8TX_171026_01_G05,6.6504755,18.675243 +10X_cells.TAGTGGTGTCTTCTCG-L8TX_171026_01_G05,6.8993163,18.331482 +10X_cells.TAGCCGGAGGACAGCT-L8TX_171026_01_H05,7.3739395,17.148396 +Smartseq_cells.SM-DD44N_S44_E1-50,6.2174907,18.960302 +Smartseq_cells.SM-GE91J_S237_E1-50,6.041226,17.897242 +10X_cells.TTCTCCTGTCGCATCG-L8TX_180406_01_B02,7.7980223,17.180527 +10X_cells.ATGGGAGTCAACTCTT-L8TX_180406_01_C01,7.6945324,17.296595 +10X_cells.CCAGCGAGTCGCATCG-L8TX_180406_01_B02,6.5060573,18.213247 +10X_cells.CGAGCCATCCGAACGC-L8TX_180406_01_D01,7.1675625,17.693792 +10X_cells.CTAGAGTTCGGAAATA-L8TX_180406_01_E01,7.533456,15.190133 +10X_cells.GGACATTCATACTCTT-L8TX_180406_01_E01,8.06051,17.660952 +10X_cells.AGTCTTTAGCTCCTCT-L8TX_180406_01_F01,6.6468496,17.347406 +10X_cells.ATCATCTCAATCCAAC-L8TX_180406_01_D02,8.187465,15.551196 +10X_cells.GTAGTCAGTCACCTAA-L8TX_180221_01_G10,7.0895295,18.111668 +10X_cells.AGCCTAAGTCCGTGAC-L8TX_180221_01_D10,7.4724393,17.995283 +10X_cells.TACTTGTTCTGTTGAG-L8TX_180221_01_D10,8.561211,17.05626 +10X_cells.ACAGCTAAGGCCATAG-L8TX_180221_01_E10,7.7297225,17.95511 +10X_cells.ATCGAGTTCAGTGCAT-L8TX_180221_01_E10,7.169854,18.259415 +10X_cells.CGTAGCGGTATTCTCT-L8TX_180221_01_E10,8.284923,15.893496 +10X_cells.CTTCTCTCACGAGAGT-L8TX_180221_01_F10,8.31507,17.315138 +10X_cells.GCGAGAACAATTGCTG-L8TX_180221_01_F10,8.036453,15.390508 +10X_cells.TGGTTCCTCATAACCG-L8TX_180221_01_F10,7.9917,16.989172 +10X_cells.CTTTGCGGTGTAAGTA-L8TX_180221_01_A11,6.824035,17.165138 +10X_cells.CTGTGCTAGTTTGCGT-L8TX_190312_01_B02,6.122503,18.354733 +10X_cells.GCGCAGTTCATATCGG-L8TX_190312_01_C02,6.697042,17.903215 +10X_cells.AGACGTTTCCCAGGTG-L8TX_190312_01_D02,6.885423,15.844536 +10X_cells.CTAGCCTGTCAGAATA-L8TX_190312_01_D02,6.4069133,17.933098 +10X_cells.TTAGGCAAGCGTGAAC-L8TX_190312_01_G02,6.4675975,16.65608 +10X_cells.CGCGTTTTCGGTGTTA-L8TX_180926_01_C12,6.3331485,18.176289 +10X_cells.ATTATCCGTAGCGTCC-L8TX_181012_01_B05,7.493671,17.26313 +10X_cells.ATTGGACAGATACACA-L8TX_180221_01_C11,6.5030212,16.277325 +10X_cells.TGTTCCGAGCCTTGAT-L8TX_180221_01_F11,7.2853785,15.975594 +Smartseq_cells.SM-GE67Q_S238_E1-50,6.148153,18.384277 +10X_cells.CGGAGCTAGTCAATAG-L8TX_180907_01_H11,7.0290647,17.894548 +10X_cells.GGAATAACACGAAACG-L8TX_180907_01_B12,7.9673276,15.456967 +10X_cells.CAGATCACAGCCTGTG-L8TX_180926_01_E01,7.420812,17.501183 +10X_cells.CTTCTCTTCACGATGT-L8TX_181011_01_B03,6.84097,18.410498 +10X_cells.TAAGTGCGTTCCACTC-L8TX_181011_01_H03,6.6241407,18.722616 +Smartseq_cells.SM-GE91B_S081_E1-50,5.6078053,18.539091 +10X_cells.TCGCGTTAGGATATAC-L8TX_180221_01_D12,7.6724124,16.262646 +10X_cells.ATCCACCAGTAATCCC-L8TX_180504_01_E01,7.2351766,15.455033 +10X_cells.CCGTTCATCTCAAACG-L8TX_200611_02_A05,8.399949,17.251888 +10X_cells.CGTTCTGAGTGGGATC-L8TX_200611_02_A05,6.85736,18.119835 +10X_cells.CACAGTACACGGCTAC-L8TX_180712_01_A06,7.98243,17.682951 +10X_cells.GATCAGTAGCTAGTCT-L8TX_180712_01_H05,6.2784467,18.804914 +10X_cells.CACAGGCCATGTTGAC-L8TX_180712_01_F05,8.2529335,17.343786 +10X_cells.CTACACCTCATCTGCC-L8TX_180712_01_F05,8.040539,16.371931 +10X_cells.CTCGAGGTCTGATACG-L8TX_180712_01_F05,7.004936,16.387827 +10X_cells.GTGGGTCAGTACCGGA-L8TX_180712_01_F05,6.9547706,17.603033 +10X_cells.GATGAAAGTCAATACC-L8TX_180712_01_H05,7.387684,17.935814 +10X_cells.AGGCCACGTGATGATA-L8TX_180712_01_A06,7.9675264,17.041687 +10X_cells.ATAAGAGCATGAACCT-L8TX_180712_01_A06,6.9194484,17.971302 +10X_cells.GGACAGATCTCCGGTT-L8TX_180712_01_A06,6.174246,18.39276 +10X_cells.CGATGTATCCCTGACT-L8TX_180504_01_E01,8.043265,16.228558 +10X_cells.TCCCGATGTGACTCAT-L8TX_180504_01_E01,8.243306,16.650537 +10X_cells.CGAATGTTCATCGATG-L8TX_180221_01_A12,5.93143,16.064156 +10X_cells.TGGTTCCAGCTGAAAT-L8TX_180221_01_A12,6.078697,16.012917 +10X_cells.AAGCCGCTCTAACTTC-L8TX_180221_01_B12,7.6540694,15.2708845 +10X_cells.CTACCCACAAGGTTTC-L8TX_180221_01_B12,8.095189,16.28529 +10X_cells.GACCTGGGTACATGTC-L8TX_180221_01_B12,7.801434,15.474425 +10X_cells.TGACGGCAGTGAACAT-L8TX_180221_01_B12,7.106169,15.492605 +10X_cells.ATCATGGGTGAGTGAC-L8TX_180221_01_C12,6.9837346,16.045376 +10X_cells.AGCTCTCTCAAGAAGT-L8TX_180221_01_D12,8.234592,15.776358 +10X_cells.GCAGTTATCTGATTCT-L8TX_180221_01_D12,8.536248,16.643772 +10X_cells.GGGCATCGTTTAAGCC-L8TX_200611_02_A05,6.9389687,17.605007 +10X_cells.TACTTGTAGGTGATAT-L8TX_200611_02_A05,7.790322,17.713923 +Smartseq_cells.SM-GE91L_S193_E1-50,6.4824567,18.097956 +10X_cells.AAAGTAGCAGTTCATG-L8TX_180115_01_D09,6.652301,17.603453 +10X_cells.CTAGTGAAGCCGTCGT-L8TX_180115_01_G11,7.241389,17.723953 +10X_cells.CAGAGAGTCAACTCTT-L8TX_180115_01_G11,7.3277073,18.03696 +10X_cells.ATTGGTGTCAGTGCAT-L8TX_180115_01_A09,6.2694306,16.473795 +10X_cells.GCATACAAGAAACGAG-L8TX_180115_01_A11,6.669679,16.383091 +10X_cells.ATCCGAACAAAGTCAA-L8TX_180115_01_E09,6.6688685,16.972258 +10X_cells.CCACGGACATGGGAAC-L8TX_180115_01_A09,6.0641947,17.55832 +10X_cells.TTAGGACGTGGCGAAT-L8TX_180115_01_A09,6.7776794,16.184044 +10X_cells.CAGAGAGGTACGAAAT-L8TX_180115_01_C09,6.028225,16.593075 +10X_cells.TGCCAAAGTCAACTGT-L8TX_180115_01_C09,6.2714195,16.596846 +10X_cells.GTATCTTAGCCTTGAT-L8TX_180115_01_D09,6.230203,16.553364 +10X_cells.GTCACAAGTCCAGTTA-L8TX_180115_01_A11,7.0268664,17.52341 +10X_cells.TTCTCAATCTGGTATG-L8TX_180115_01_A11,7.5567493,17.576077 +10X_cells.CTAGCCTAGGGATACC-L8TX_180115_01_H10,6.0687833,17.746609 +10X_cells.GGCTGGTGTCAAAGAT-L8TX_180115_01_H10,7.622671,15.80828 +10X_cells.CGTCTACAGAGCTGGT-L8TX_180115_01_B11,6.887229,15.72027 +10X_cells.CCACGGAGTCCGAATT-L8TX_180115_01_C11,7.8624673,16.34277 +10X_cells.CTGAAACGTCGAAAGC-L8TX_180115_01_C11,7.6294694,15.454646 +10X_cells.CATGGCGCAGATGGCA-L8TX_180115_01_F10,6.642336,16.987507 +10X_cells.CTAACTTCATCTCGCT-L8TX_180115_01_F10,7.772907,16.056492 +10X_cells.CGGACACTCGTTTATC-L8TX_180115_01_G11,6.435663,18.873915 +10X_cells.AGTGGGAGTAAGTGTA-L8TX_180115_01_H11,8.23149,15.813617 +10X_cells.ATCGAGTGTCACCCAG-L8TX_180115_01_H11,6.44391,18.724342 +10X_cells.AGTGAGGGTAAATGTG-L8TX_180115_01_F09,6.3535,16.093866 +10X_cells.TGATTTCGTTCGAATC-L8TX_180115_01_G08,7.0641828,18.439226 +10X_cells.GCCTCTAGTATGAATG-L8TX_180115_01_H08,7.999129,17.681452 +10X_cells.GCTGCAGTCCTCAACC-L8TX_171120_01_F07,7.911772,16.529316 +10X_cells.GGACAGACACCATGTA-L8TX_171120_01_F07,6.403986,17.04286 +10X_cells.GACCTGGCACTGCCAG-L8TX_180115_01_E08,6.224677,19.404236 +10X_cells.TTTACTGCAGGTGGAT-L8TX_180115_01_E08,6.909204,18.883427 +Smartseq_cells.LS-15085_S42_E1-50,6.217381,18.540398 +Smartseq_cells.LS-15096_S73_E1-50,6.140382,18.92286 +Smartseq_cells.LS-15552_S27_E1-50,6.1040382,18.855713 +Smartseq_cells.SM-D9E5W_S54_E1-50,5.9535246,18.569845 +Smartseq_cells.SM-D9E5X_S57_E1-50,6.0708637,18.39097 +10X_cells.ACATACGTCTCAACTT-L8TX_180221_01_E09,12.969954,15.526943 +10X_cells.GTCTTCGCATATACGC-L8TX_180221_01_E09,13.07107,15.573541 +10X_cells.AACTTTCCAGTCCTTC-L8TX_180221_01_C09,13.245058,15.081624 +Smartseq_cells.LS-15084_S51_E1-50,16.146948,14.42237 +10X_cells.CCATGTCGTAGCGTAG-L8TX_180406_01_G02,13.342043,15.686979 +10X_cells.TTGAACGTCGCTTGTC-L8TX_200625_02_F11,13.909376,15.174665 +10X_cells.AGAGCTTTCTAACTGG-L8TX_171026_01_H05,12.578231,15.456213 +10X_cells.ATGAGGGGTGTTAAGA-L8TX_180221_01_D10,13.651842,15.454756 +10X_cells.CCGGGATTCGATGAGG-L8TX_180221_01_G10,13.433586,15.701195 +10X_cells.CCCAATCTCTGCTGCT-L8TX_180221_01_A11,13.866885,15.483445 +10X_cells.TCGGGACAGTGTACTC-L8TX_200611_02_A05,13.796929,15.353524 +10X_cells.GTGTGCGCATTGCGGC-L8TX_180221_01_G09,15.595058,14.200505 +10X_cells.CGATCGGGTTTACTCT-L8TX_180221_01_F09,14.2547245,13.638385 +10X_cells.ATAACGCCAAAGCAAT-L8TX_180221_01_F09,13.801822,15.993548 +10X_cells.GGAGCAATCTTATCTG-L8TX_180221_01_F09,15.894849,15.055759 +10X_cells.AGCATACGTGGCTCCA-L8TX_180221_01_H09,12.645883,15.529754 +10X_cells.TCGGTAAGTCTGCAAT-L8TX_180221_01_H09,15.562912,15.279377 +10X_cells.TCTTTCCGTGTGCGTC-L8TX_180221_01_A10,16.332432,14.16803 +10X_cells.CCCAGTTTCGGAAACG-L8TX_180406_01_F02,14.360205,14.256941 +Smartseq_cells.SM-GE63J_S356_E1-50,16.468445,13.815999 +Smartseq_cells.SM-GE63L_S314_E1-50,14.021812,11.793252 +10X_cells.GGATTACTCTCAAGTG-L8TX_180712_01_B06,12.787627,15.722296 +10X_cells.TGCGTGGGTCGCGAAA-L8TX_180221_01_D09,13.598389,14.267545 +10X_cells.CCACCTAGTACGAAAT-L8TX_180221_01_D09,14.574873,14.6630745 +10X_cells.ATTGGTGCATCCGTGG-L8TX_180712_01_B06,13.862369,15.6691675 +10X_cells.GCGCCAAGTAGCGCAA-L8TX_180712_01_C06,14.688173,15.528647 +10X_cells.GTCTCGTTCATTCACT-L8TX_180712_01_C06,13.977294,15.762002 +10X_cells.GACGTGCAGACCACGA-L8TX_180221_01_H12,14.389424,13.903023 +10X_cells.AACTGGTCAAGCCATT-L8TX_180221_01_C09,13.5828285,14.124174 +10X_cells.TATCTCACAACGATCT-L8TX_180221_01_C09,14.443901,15.318149 +10X_cells.TCATTTGGTTCCACTC-L8TX_180221_01_C09,12.888987,14.391737 +10X_cells.CGTCTACGTAGCCTAT-L8TX_180607_01_C05,15.595767,14.711926 +10X_cells.CAACCAAAGTATGACA-L8TX_180712_01_G05,15.2974,14.533156 +10X_cells.CACCAGGCATCCTTGC-L8TX_180712_01_B06,12.4642,15.49031 +10X_cells.CTCATTACACGAAACG-L8TX_180712_01_B06,14.246599,15.412803 +Smartseq_cells.SM-GE67M_S349_E1-50,16.139803,13.378763 +Smartseq_cells.LS-15019_S37_E1-50,16.77065,14.036528 +Smartseq_cells.LS-15084_S66_E1-50,16.282936,14.060654 +Smartseq_cells.LS-15327_S37_E1-50,16.729593,13.398337 +Smartseq_cells.LS-15355_S46_E1-50,16.121597,13.44606 +Smartseq_cells.LS-15576_S94_E1-50,15.053007,13.109783 +Smartseq_cells.LS-15577_S81_E1-50,16.78518,13.63876 +Smartseq_cells.LS-15577_S95_E1-50,16.787235,13.542423 +Smartseq_cells.LS-15581_S34_E1-50,16.66167,13.329433 +Smartseq_cells.SM-D9CYP_S92_E1-50,15.900458,13.870552 +Smartseq_cells.SM-GE8ZK_S003_E1-50,16.661945,13.351857 +Smartseq_cells.SM-GE8ZK_S024_E1-50,16.244497,13.64968 +10X_cells.TCGCGTTTCTGTTTGT-L8TX_181012_01_G04,14.941499,15.4091425 +10X_cells.CACATTTGTGCTAGCC-L8TX_181011_01_C04,13.327446,13.985661 +10X_cells.CATATGGTCACCGTAA-L8TX_180907_01_G10,14.231537,16.017567 +10X_cells.CAAGAAATCCTACAGA-L8TX_180829_01_E10,16.679968,13.769989 +10X_cells.ATGAGGGCACACTGCG-L8TX_180829_01_D09,13.818667,14.423855 +10X_cells.CGTGTCTGTGTAATGA-L8TX_180829_01_D10,12.648367,15.141695 +10X_cells.TGCCCATTCTAGCACA-L8TX_180829_01_D10,14.699938,14.818455 +10X_cells.AGACGTTCAATACGCT-L8TX_180829_01_E10,15.109274,14.424969 +10X_cells.TTAACTCTCTTGCCGT-L8TX_181011_01_H02,15.611271,15.048903 +10X_cells.AGCCTAAGTCACAAGG-L8TX_181011_01_C04,15.0772505,14.396656 +10X_cells.CGTGTAAGTGGTCTCG-L8TX_181011_01_C04,13.458144,14.396313 +10X_cells.CACCAGGTCTACCTGC-L8TX_181012_01_G04,13.704908,15.423908 +10X_cells.GGCTCGACATAGGATA-L8TX_181012_01_G04,14.091028,15.388212 +10X_cells.TAGTTGGGTAGCTGCC-L8TX_181012_01_H04,13.466198,15.375711 +10X_cells.ATCATCTCAAGTCTGT-L8TX_181012_01_E05,14.160653,14.85373 +10X_cells.TCATTACTCCCGGATG-L8TX_180406_01_E07,13.616438,14.578098 +10X_cells.GCGCCAACAGCGTAAG-L8TX_180406_01_H01,14.590215,14.567647 +10X_cells.CTCGAGGGTCCATCCT-L8TX_180406_01_G02,14.1744995,14.452149 +10X_cells.GACAGAGGTTCCCTTG-L8TX_180406_01_H02,14.205102,13.580971 +10X_cells.ACGCAGCGTCTCGTTC-L8TX_180406_01_C07,13.611397,14.596604 +10X_cells.AGTGAGGTCGCGTTTC-L8TX_180406_01_C07,14.6484585,14.495817 +10X_cells.ATTGGTGTCAGTCAGT-L8TX_180406_01_E07,13.835853,14.331593 +10X_cells.TCGCGTTTCACGATGT-L8TX_180406_01_E07,12.700632,14.939333 +Smartseq_cells.SM-GE5VA_S265_E1-50,16.745005,13.432842 +10X_cells.GATGAAAGTCTGCCAG-L8TX_171026_01_B04,16.947216,13.871631 +10X_cells.CCGTTCAGTGGTACAG-L8TX_171026_01_E05,14.147482,12.426182 +10X_cells.CAACCTCGTTTGACAC-L8TX_171026_01_F03,13.671941,13.956648 +10X_cells.CATCAAGAGGCCGAAT-L8TX_171026_01_B04,14.924584,14.208313 +10X_cells.CGTTGGGTCCAGAAGG-L8TX_171026_01_B04,15.85161,14.010213 +10X_cells.CTCGGGAAGAAGGGTA-L8TX_171026_01_F04,14.342304,14.879496 +10X_cells.GTCAAGTCATAACCTG-L8TX_171026_01_F04,15.452105,14.668139 +10X_cells.TGTCCCACACGCATCG-L8TX_171026_01_F04,14.511096,14.669899 +10X_cells.CCTACACAGAAGGGTA-L8TX_171026_01_G04,16.191336,15.004967 +10X_cells.CTCGAAATCAAACAAG-L8TX_171026_01_G04,15.340182,14.200185 +10X_cells.GAATGAAAGTTAACGA-L8TX_171026_01_H04,15.912191,14.052629 +10X_cells.TGCTGCTGTGTTAAGA-L8TX_171026_01_H04,16.11649,14.269718 +10X_cells.CATGCCTTCAGCATGT-L8TX_171026_01_A05,15.794829,14.443618 +10X_cells.GACTACACAGTATCTG-L8TX_171026_01_A05,15.885772,14.819424 +10X_cells.CATCGAAAGTTATCGC-L8TX_171026_01_H03,13.6354,15.43525 +10X_cells.AGAGCGAAGCCTATGT-L8TX_171026_01_C05,14.764459,14.92581 +10X_cells.GAATGAATCTTGGGTA-L8TX_171026_01_C05,16.273962,13.161842 +10X_cells.AGTGTCAGTAAGGATT-L8TX_171026_01_D05,16.03537,14.34368 +10X_cells.CGTCTACAGAATGTTG-L8TX_171026_01_E05,14.167492,15.826004 +10X_cells.AACACGTAGTTAACGA-L8TX_171026_01_F05,14.846549,15.457668 +10X_cells.AGTAGTCTCTCGTTTA-L8TX_171026_01_F05,14.703112,15.027372 +10X_cells.TTGGCAACAGCTTAAC-L8TX_171026_01_F05,15.134399,15.295049 +10X_cells.CGATGTATCATAAAGG-L8TX_171026_01_G05,13.59838,15.244246 +10X_cells.CACCAGGCACTGTGTA-L8TX_171026_01_H05,14.033076,15.397442 +10X_cells.CTAGTGACACGTCTCT-L8TX_171026_01_H05,16.679558,13.38039 +10X_cells.GGGATGACATGCAACT-L8TX_171026_01_H05,12.633708,15.607025 +Smartseq_cells.SM-DD442_S33_E1-50,16.499805,13.804599 +Smartseq_cells.SM-DD44A_S17_E1-50,16.33739,13.825357 +Smartseq_cells.SM-GE92I_S302_E1-50,16.47424,13.368755 +10X_cells.CGGACGTTCTGCGGCA-L8TX_181206_01_H11,14.2333555,14.960217 +10X_cells.GAGGTGAGTTAAGATG-L8TX_181206_01_A12,14.018152,14.415695 +10X_cells.TTTACTGGTGGTAACG-L8TX_181206_01_A12,15.635935,14.225503 +10X_cells.TTAACTCCAAAGGCGT-L8TX_181206_01_B12,14.174098,14.99986 +10X_cells.CACCAGGTCTGAGTGT-L8TX_181206_01_E12,14.99461,14.636392 +10X_cells.CGAATGTTCCACTCCA-L8TX_180406_01_G01,14.716382,14.589711 +Smartseq_cells.SM-GE8Z7_S024_E1-50,15.980033,13.337512 +10X_cells.TAGACCAAGTAATCCC-L8TX_180221_01_F10,15.596575,15.183634 +10X_cells.GGACATTAGGTACTCT-L8TX_190312_01_D02,15.866277,13.887961 +10X_cells.GGGCACTAGTCAAGGC-L8TX_180221_01_A11,14.165534,14.560819 +10X_cells.ACTTTCACACCATGTA-L8TX_190312_01_G02,13.702926,14.3094635 +10X_cells.TAAACCGAGTCATGCT-L8TX_180221_01_E10,15.449992,15.013359 +10X_cells.TTAGTTCGTTATCACG-L8TX_180221_01_E10,16.126938,15.038728 +10X_cells.CGTAGCGCATCCGCGA-L8TX_180221_01_D10,15.809182,15.038864 +10X_cells.GAACCTACATGAAGTA-L8TX_180221_01_D10,14.425107,15.84392 +10X_cells.TTTGGTTCAAGTCTAC-L8TX_180221_01_D10,15.161552,15.047041 +10X_cells.GGATGTTAGGAGCGTT-L8TX_180221_01_E10,15.445241,14.916153 +10X_cells.CCCAGTTCAATCCGAT-L8TX_180221_01_F10,15.516194,14.483696 +10X_cells.TCCACACTCGTCCAGG-L8TX_180221_01_F10,14.702414,15.758722 +10X_cells.ACGCCAGAGTAGGCCA-L8TX_180221_01_G10,12.730724,15.780405 +10X_cells.TAGTGGTGTTAGTGGG-L8TX_180221_01_G10,13.986509,14.528887 +10X_cells.TCATTACCAGCCAATT-L8TX_180221_01_G10,16.818419,14.284878 +10X_cells.ATTGGTGAGCTCAACT-L8TX_180221_01_H10,15.312406,14.731987 +10X_cells.GAACCTATCAATACCG-L8TX_180221_01_A11,15.170748,15.465628 +10X_cells.TGAGCCGGTCCAACTA-L8TX_181012_01_B05,14.640173,15.507342 +10X_cells.CGGAGTCAGTTGAGTA-L8TX_180221_01_G11,15.119351,13.262289 +10X_cells.CATCCACGTAATTGGA-L8TX_190312_01_H02,16.04381,14.120293 +10X_cells.TTGCGTCCAATCAGAA-L8TX_190312_01_D01,15.681566,14.729145 +10X_cells.CTGAAGTAGCCACGCT-L8TX_190312_01_F01,15.414531,14.463094 +10X_cells.ACTTACTGTCCTCTTG-L8TX_180907_01_E11,15.686511,14.770307 +10X_cells.CACCACTTCGAACGGA-L8TX_180907_01_G11,15.1696615,14.508675 +10X_cells.CATCGGGTCAATAAGG-L8TX_180907_01_A12,12.998664,14.917226 +10X_cells.TGAGCCGTCTAGCACA-L8TX_180907_01_B12,14.624157,15.048699 +10X_cells.CAAGATCGTCGTCTTC-L8TX_180907_01_F11,15.468114,14.255812 +10X_cells.CCCATACTCTGCGACG-L8TX_180907_01_F11,13.177489,14.927669 +10X_cells.GTTACAGGTGACCAAG-L8TX_180907_01_F11,14.450726,15.504528 +10X_cells.TACTTACTCAATCACG-L8TX_190312_01_C01,17.024868,13.98132 +10X_cells.CTAGAGTGTCTGGTCG-L8TX_190312_01_F01,13.879789,14.441658 +10X_cells.CTCCTAGTCTTTACAC-L8TX_190312_01_F01,13.049446,15.444197 +10X_cells.CGTAGCGGTAAACGCG-L8TX_190312_01_G01,16.758247,13.413808 +10X_cells.TTGGCAATCTAACTGG-L8TX_190312_01_A02,14.364861,15.320324 +Smartseq_cells.SM-DD444_S44_E1-50,16.741257,13.646277 +10X_cells.TCGGTAAGTCCAGTTA-L8TX_180926_01_B01,14.173008,15.365048 +10X_cells.CAGAATCGTTCACGGC-L8TX_180926_01_D01,13.029846,15.1696005 +10X_cells.CTAGCCTGTGGTCCGT-L8TX_180926_01_D01,13.061553,15.831653 +10X_cells.GTGAAGGCAAAGCAAT-L8TX_181011_01_C03,14.942673,14.991169 +10X_cells.TTGGAACGTTTGCATG-L8TX_180712_01_E05,12.673937,14.592374 +10X_cells.AATCGGTAGTGTACCT-L8TX_180712_01_H05,14.290107,15.029685 +10X_cells.GTCTTCGGTCTCCACT-L8TX_180712_01_E05,14.5494795,15.849679 +10X_cells.CACCTTGGTAGCTTGT-L8TX_180221_01_B12,13.545281,14.881262 +10X_cells.CGTCAGGGTCGCATAT-L8TX_180712_01_H05,15.821292,13.337709 +10X_cells.CTCGAGGAGTGGTAGC-L8TX_180221_01_C12,13.690796,14.338714 +10X_cells.GTTCATTGTCTGGAGA-L8TX_180712_01_E05,12.986608,15.534774 +10X_cells.CACAGGCAGGCGTACA-L8TX_180712_01_F05,13.048379,15.029604 +10X_cells.CCGTTCACACAAGACG-L8TX_180712_01_F05,14.182371,14.933044 +10X_cells.TACTCATTCCGAGCCA-L8TX_180712_01_F05,14.688486,15.266812 +10X_cells.TGCGTGGCATCTATGG-L8TX_180504_01_E01,14.870064,15.104212 +10X_cells.GAATAAGCAAGTAGTA-L8TX_180221_01_A12,13.03867,14.108686 +10X_cells.GCCAAATTCTTGTTTG-L8TX_180221_01_A12,13.527158,14.201931 +10X_cells.GCGCGATCACACAGAG-L8TX_180221_01_A12,12.707213,14.275471 +10X_cells.GATGAGGTCGGCGCTA-L8TX_180221_01_B12,12.732518,14.927009 +10X_cells.AGCCTAACAGCCTTTC-L8TX_180221_01_C12,13.520228,15.066798 +10X_cells.CACATAGTCGGAGCAA-L8TX_200611_02_A05,15.516802,14.439938 +10X_cells.CGAGCACAGATCGATA-L8TX_200611_02_A05,14.892744,13.635588 +10X_cells.CGGAGTCCACTATCTT-L8TX_200611_02_A05,16.296053,14.100145 +Smartseq_cells.SM-GE91C_S294_E1-50,14.244182,12.658286 +10X_cells.GCGGGTTGTTTAGCTG-L8TX_180115_01_H09,13.524956,14.875972 +10X_cells.TACACGATCACGCGGT-L8TX_180115_01_E11,16.409931,14.19294 +10X_cells.GAACATCCACAACTGT-L8TX_180115_01_E10,15.0610695,14.475248 +10X_cells.TAAGCGTGTCTTGTCC-L8TX_180115_01_F09,13.464509,14.759987 +10X_cells.GCATACAGTAACGTTC-L8TX_180115_01_G11,16.733719,13.9409485 +10X_cells.ACTGATGTCGGTTAAC-L8TX_180115_01_B11,12.383962,14.892999 +10X_cells.CCGGTAGGTGTGTGCC-L8TX_180115_01_B09,14.5977,13.720786 +10X_cells.CACAAACCAGCTCGCA-L8TX_180115_01_A11,15.622302,14.088614 +10X_cells.CCGTACTTCGCGTTTC-L8TX_180115_01_A11,13.935518,14.579587 +10X_cells.CGAGAAGAGACTGGGT-L8TX_180115_01_H10,14.188528,14.113974 +10X_cells.CATCAAGCACGCATCG-L8TX_180115_01_F10,13.848403,14.345522 +10X_cells.GGGCACTTCCAGTATG-L8TX_180115_01_F10,12.798841,15.284126 +10X_cells.CATCGAATCGAATGCT-L8TX_180115_01_G10,12.9696665,14.920226 +10X_cells.CGAGCCAAGCCTATGT-L8TX_180115_01_G11,14.24224,15.810927 +10X_cells.CGGTTAATCTTTACGT-L8TX_180115_01_H09,12.963202,15.239442 +10X_cells.GAAGCAGCAGTTTACG-L8TX_180115_01_H09,13.719471,14.183724 +10X_cells.CGCTTCAAGAATCTCC-L8TX_180115_01_E09,15.498061,13.933991 +10X_cells.TGACTAGTCGGCGCTA-L8TX_171120_01_H07,15.357994,13.905783 +10X_cells.GCGACCACATTGTGCA-L8TX_171120_01_G07,15.495828,14.71973 +10X_cells.CACACCTTCAGGCGAA-L8TX_171120_01_G07,12.740018,15.6806345 +10X_cells.GCGCCAACACGAAACG-L8TX_171120_01_C07,14.294918,12.575853 +10X_cells.TGATTTCTCGAATCCA-L8TX_171120_01_D07,16.906305,13.536509 +10X_cells.AACACGTAGCATGGCA-L8TX_180115_01_E08,16.611477,13.6967125 +Smartseq_cells.LS-15008_S05_E1-50,16.541367,13.252416 +Smartseq_cells.LS-15300_S52_E1-50,16.53329,13.582212 +Smartseq_cells.LS-15353_S93_E1-50,16.738287,13.752415 +Smartseq_cells.LS-15507_S44_E2-50,16.839113,13.669745 +Smartseq_cells.LS-15507_S83_E2-50,16.20578,13.760592 +Smartseq_cells.LS-15507_S90_E2-50,16.757198,13.62787 +Smartseq_cells.LS-15507_S91_E2-50,14.882895,13.061542 +Smartseq_cells.LS-15589_S01_E1-50,16.661926,13.684561 +Smartseq_cells.SM-D9EQS_S24_E1-50,16.861946,13.500777 +10X_cells.CAGTCCTTCCACTGGG-L8TX_180712_01_B06,15.10003,14.95135 +10X_cells.GGTATTGAGTGTCCAT-L8TX_180221_01_D09,14.674515,14.425094 +Smartseq_cells.LS-15345_S49_E1-50,16.755096,14.064065 +Smartseq_cells.LS-15579_S87_E1-50,16.332146,14.002105 +10X_cells.ACGCCAGAGGCGATAC-L8TX_181011_01_H02,14.434673,15.557613 +10X_cells.CGGTTAATCAAAGTAG-L8TX_180406_01_B06,13.492395,15.059839 +10X_cells.GATCAGTTCACAAACC-L8TX_171026_01_F03,14.311344,15.679607 +10X_cells.CCACGGAAGACAGGCT-L8TX_171026_01_A04,16.615911,13.428652 +10X_cells.GGGTCTGAGGACAGCT-L8TX_181206_01_A12,14.592131,14.671352 +10X_cells.TGAGCATCAACGATGG-L8TX_181206_01_E12,13.8151655,15.523562 +10X_cells.CAACCAAAGCTAGCCC-L8TX_180221_01_G10,16.131172,15.040808 +10X_cells.AAGACCTTCCTGCAGG-L8TX_180926_01_E12,13.098324,15.8472595 +10X_cells.CACACTCTCTTAGCCC-L8TX_180926_01_E12,15.138857,15.486712 +10X_cells.AGGGAGTGTCGCGAAA-L8TX_180907_01_E11,13.11897,15.708933 +10X_cells.CTGAAGTGTCGATTGT-L8TX_190312_01_F01,16.383932,14.630714 +10X_cells.TCTGGAAAGCAATATG-L8TX_180926_01_E01,12.734821,15.553116 +10X_cells.ATCTGCCAGCAGCGTA-L8TX_180926_01_F01,13.26191,15.837288 +10X_cells.CAGAATCGTAAATGTG-L8TX_181011_01_A03,13.611151,15.163975 +10X_cells.CTGTTTATCATGTCTT-L8TX_180221_01_B12,13.175711,15.72182 +10X_cells.GATGAAAGTACAGCAG-L8TX_180115_01_F11,14.037577,15.508448 +10X_cells.GCTGGGTCAGACGCTC-L8TX_180115_01_F09,12.850616,14.676652 +10X_cells.CAACCAAGTTTACTCT-L8TX_180115_01_F08,14.598158,15.645349 +10X_cells.CACATAGAGCAACGGT-L8TX_180221_01_F09,14.1452055,-3.3132925 +10X_cells.CTCTGGTAGGGAACGG-L8TX_180221_01_F09,13.926228,-4.5152698 +10X_cells.ATTATCCTCTCCGGTT-L8TX_180221_01_B10,13.833548,-4.0067925 +10X_cells.GTGCAGCAGCTCCTTC-L8TX_180221_01_B10,15.018466,-2.9405284 +10X_cells.GTAGTCATCTTGTACT-L8TX_180221_01_C10,14.533458,-0.93183124 +10X_cells.TAGCCGGCAGACGCCT-L8TX_180221_01_C10,14.561834,-3.7967834 +10X_cells.AGTAGTCGTGGTCTCG-L8TX_180221_01_C09,14.614007,-0.8421952 +10X_cells.AGTAGTCTCTAACTGG-L8TX_180221_01_H12,13.875911,-2.895047 +10X_cells.CGAGCACGTTCCAACA-L8TX_180221_01_H12,14.919823,-3.351596 +10X_cells.TGCGTGGGTGTTGAGG-L8TX_180221_01_H12,14.285878,-3.0145974 +10X_cells.ACTTACTAGGCGATAC-L8TX_180221_01_E09,14.238682,-2.540743 +10X_cells.GCATACATCTGTCCGT-L8TX_180221_01_E09,14.296174,-2.7473078 +10X_cells.CAACCAATCTGTCTAT-L8TX_180221_01_C09,14.63342,-1.9299873 +10X_cells.CTTTGCGAGAGCTGCA-L8TX_180221_01_C09,14.228293,-2.7236147 +10X_cells.ATCTGCCTCGGCTTGG-L8TX_180607_01_C05,13.917567,-4.422695 +10X_cells.CTGATCCAGCAGCGTA-L8TX_180607_01_C05,13.4405775,-4.1969543 +10X_cells.GCATGCGGTAGCGTGA-L8TX_180607_01_C05,14.001963,-4.231373 +10X_cells.CAGGTGCGTACAGCAG-L8TX_180712_01_G05,14.074472,-4.322594 +10X_cells.TTCTACAGTGTCGCTG-L8TX_180712_01_B06,13.937186,-2.1376684 +Smartseq_cells.LS-15316_S88_E2-50,14.855997,-4.041847 +10X_cells.CAGCGACAGGCTACGA-L8TX_180829_01_D10,14.454309,-2.4478536 +10X_cells.CGTAGGCAGGATATAC-L8TX_180829_01_D10,13.58666,-4.5524416 +10X_cells.GCATACACAAATACAG-L8TX_180829_01_D10,14.363817,-1.843185 +10X_cells.GTCAAGTTCTAGCACA-L8TX_180829_01_D10,14.444239,-1.6076808 +10X_cells.TTAACTCGTGTGCCTG-L8TX_180829_01_D10,14.295411,-1.3143445 +10X_cells.TTGCGTCAGAACAACT-L8TX_180829_01_D10,13.99422,-1.7622215 +10X_cells.GACCTGGTCAGTTTGG-L8TX_180907_01_F10,15.4346,-1.2624496 +10X_cells.TACCTTACACAACGTT-L8TX_180907_01_F10,14.13009,-2.389273 +10X_cells.GCAGTTAGTAGCTGCC-L8TX_181011_01_G02,14.942975,-0.618474 +10X_cells.ACGGAGATCCGATATG-L8TX_181012_01_H04,12.478863,-4.180455 +10X_cells.GCACATAAGAAGCCCA-L8TX_181012_01_E05,13.676407,-3.0197215 +Smartseq_cells.SM-GE5VC_S215_E1-50,13.7658615,-4.5696387 +10X_cells.CACATAGGTGTGAAAT-L8TX_171026_01_G03,14.269976,-1.8230562 +10X_cells.CTAGTGACAGCTTAAC-L8TX_171026_01_B04,12.925871,-4.334257 +10X_cells.ATCATGGAGCGCTCCA-L8TX_171026_01_F03,12.256514,-4.761395 +10X_cells.ATCTGCCAGAGGTACC-L8TX_171026_01_F03,14.530394,-1.9070332 +10X_cells.CATCAAGTCCTTTCGG-L8TX_171026_01_F03,14.621361,-3.921476 +10X_cells.CATGCCTGTTTGACAC-L8TX_171026_01_F03,14.079773,-2.2895038 +10X_cells.GCGGGTTAGTCGAGTG-L8TX_171026_01_F03,13.353002,-4.1286707 +10X_cells.ATGAGGGCAATAAGCA-L8TX_171026_01_G03,14.555027,-2.8340547 +10X_cells.CGAGCCATCAACCATG-L8TX_171026_01_G03,12.175015,-4.8002877 +10X_cells.CATATGGTCCGCGTTT-L8TX_171026_01_F04,13.624131,-3.6390965 +10X_cells.GAATAAGAGTGGACGT-L8TX_171026_01_F04,14.43259,-2.316879 +10X_cells.GTGGGTCAGTAACCCT-L8TX_171026_01_F04,14.097137,-3.646388 +10X_cells.AGTGGGAAGCCACGCT-L8TX_171026_01_G04,15.654924,-3.197237 +10X_cells.CGATCGGCACATGGGA-L8TX_171026_01_G04,13.338822,-4.3384542 +10X_cells.GCGGGTTGTAGGAGTC-L8TX_171026_01_H04,14.943634,-2.6980202 +10X_cells.TAGCCGGAGGGTTTCT-L8TX_171026_01_H04,14.416262,-3.508301 +10X_cells.GTTAAGCCAAACAACA-L8TX_171026_01_A05,11.99444,-4.7398524 +10X_cells.CTCGAAAAGTACACCT-L8TX_171026_01_H03,14.909167,-2.708905 +10X_cells.GTCATTTGTAGGGTAC-L8TX_171026_01_H03,14.269944,-3.4734704 +10X_cells.GTGGGTCGTCTAAAGA-L8TX_171026_01_A04,13.362997,-4.3612084 +10X_cells.TCCCGATCACTTCGAA-L8TX_171026_01_A04,12.723003,-4.7865963 +10X_cells.CCACCTAAGAAACCTA-L8TX_171026_01_C05,14.471531,-3.2065723 +10X_cells.GAACATCGTCCATGAT-L8TX_171026_01_C05,15.008113,-2.2936175 +10X_cells.GTCAAGTTCACAATGC-L8TX_171026_01_C05,14.027658,-2.162336 +10X_cells.GCTTCCAGTGACGGTA-L8TX_171026_01_D05,14.431975,-3.598791 +10X_cells.TCCCGATTCAGCTGGC-L8TX_171026_01_E05,14.272591,-3.7658727 +10X_cells.ACGGGTCTCGGACAAG-L8TX_171026_01_F05,14.4625845,-4.0400033 +10X_cells.GTCGTAAAGCCAGTAG-L8TX_171026_01_F05,14.566084,-2.642679 +10X_cells.CCTACACAGTCCGTAT-L8TX_171026_01_G05,14.325852,-1.2123849 +Smartseq_cells.SM-GE92I_S138_E1-50,13.408099,-4.4744096 +10X_cells.ACGATGTAGCCAGAAC-L8TX_181206_01_H11,13.754167,-1.2734228 +10X_cells.CCACCTACACGGTAAG-L8TX_181206_01_H11,13.985716,-4.0285964 +10X_cells.CTCGTACCAATAGCAA-L8TX_181206_01_H11,14.493056,-2.9940007 +10X_cells.TAGTTGGAGAGCAATT-L8TX_181206_01_A12,13.252639,-3.8950047 +10X_cells.TCAGCAAGTCAAAGCG-L8TX_181206_01_B12,13.001879,-4.1340213 +10X_cells.CTAGTGACATATACCG-L8TX_181206_01_C12,14.611314,-2.5845633 +10X_cells.TGAGAGGGTAGTAGTA-L8TX_181206_01_C12,14.006722,-3.0021052 +10X_cells.ATGCGATAGATTACCC-L8TX_181206_01_F12,13.529971,-1.2979599 +Smartseq_cells.SM-GE67N_S273_E1-50,14.962564,-3.9749246 +10X_cells.CTCGGAGGTCTGATCA-L8TX_190312_01_G02,14.194219,-1.6192677 +10X_cells.AGATTGCCAGCGTAAG-L8TX_180221_01_D10,14.922548,-2.4722378 +10X_cells.CAGATCAAGTGACATA-L8TX_180221_01_E10,13.907417,-4.668885 +10X_cells.CATATGGAGGCTCTTA-L8TX_180221_01_E10,14.848246,-3.6340683 +10X_cells.TGGCTGGTCCAGGGCT-L8TX_180221_01_E10,12.238767,-4.547563 +10X_cells.CCATTCGCAGGCTCAC-L8TX_180221_01_F10,14.575494,-3.8489504 +10X_cells.CTCGTCATCCGCATCT-L8TX_190312_01_C02,14.020048,-4.169821 +10X_cells.TTGGCAATCGGTTAAC-L8TX_190312_01_C02,12.095397,-4.427525 +10X_cells.ACACCCTGTTGGAGGT-L8TX_180907_01_B11,14.570057,-4.154827 +10X_cells.ACGGGCTAGGCCCTCA-L8TX_180907_01_B11,14.163607,-1.3871317 +10X_cells.GGCTGGTGTCGGATCC-L8TX_180907_01_B11,14.611728,-2.0563884 +10X_cells.TTAGGACTCGACGGAA-L8TX_180221_01_C11,13.909334,-2.6507854 +10X_cells.CGGACACCAGGAATCG-L8TX_180221_01_F11,13.585951,-1.3179657 +10X_cells.CCACTACCAAGCTGTT-L8TX_190312_01_E02,11.964336,-4.430685 +10X_cells.CGTAGCGAGCTGTCTA-L8TX_180907_01_B12,13.4672165,-3.1117742 +10X_cells.TAAGTGCCAGCTCGAC-L8TX_180907_01_H11,12.907409,-4.3330164 +10X_cells.TAAGTGCTCAGCACAT-L8TX_180907_01_H11,13.763965,-3.3802278 +10X_cells.TGCCCTAGTGTCAATC-L8TX_180907_01_H11,14.272277,-4.3677373 +10X_cells.AAAGATGAGTCTTGCA-L8TX_180907_01_B12,14.586057,-3.310287 +10X_cells.GACCTGGTCGCGATCG-L8TX_190312_01_B01,14.341134,-3.0520413 +10X_cells.AGCGGTCCAGTCAGAG-L8TX_190312_01_H01,14.772099,-2.8455472 +10X_cells.TCGCGTTCACGAGGTA-L8TX_190312_01_H01,13.979274,-3.8010714 +10X_cells.AACTTTCTCAGCAACT-L8TX_180926_01_B01,14.808713,-3.1632516 +10X_cells.CTAAGACGTTGGTGGA-L8TX_181011_01_A03,13.710376,-3.631855 +10X_cells.GAACCTAGTCTAAAGA-L8TX_180712_01_H05,15.123259,-2.0032206 +10X_cells.CTCTAATGTCTTCTCG-L8TX_180115_01_A11,15.1466255,-3.4247754 +10X_cells.TTGACTTCACAGATTC-L8TX_180115_01_B10,14.6653385,-1.1139596 +10X_cells.TGGTTCCAGCTAACAA-L8TX_180115_01_E10,13.803267,-0.06172865 +10X_cells.AGCGTATAGCCACGCT-L8TX_180115_01_B09,13.603436,-1.8994489 +10X_cells.CATGCCTAGAGACTTA-L8TX_180115_01_B09,14.215217,-3.1666696 +10X_cells.GACTGCGAGCTCCTCT-L8TX_180115_01_B09,13.617882,-2.9839842 +10X_cells.GGTGAAGGTGACGCCT-L8TX_180115_01_B09,13.617285,-1.9489871 +10X_cells.TACGGGCGTCATCGGC-L8TX_180115_01_D09,13.902028,-1.4269011 +10X_cells.CCACTACTCTCGCTTG-L8TX_180115_01_A11,13.857909,-2.811987 +10X_cells.GGGCACTCATCCTTGC-L8TX_180115_01_A11,14.290304,-2.4612696 +10X_cells.CGGTTAAGTGAGGGAG-L8TX_180115_01_H10,13.796657,-0.8009048 +10X_cells.ACCCACTGTTCACGGC-L8TX_180115_01_B11,13.840269,-0.5125884 +10X_cells.GTGCAGCGTCGCTTTC-L8TX_180115_01_C11,13.889079,-1.0003506 +10X_cells.CTGTGCTGTTGGACCC-L8TX_180115_01_F10,14.344988,-1.6679899 +10X_cells.CAGCATAAGGCATTGG-L8TX_180115_01_G10,13.744394,-1.3214953 +10X_cells.TGTGGTACATTCACTT-L8TX_180115_01_G10,14.425404,-2.3107119 +10X_cells.TTAGGACCATGTCGAT-L8TX_180115_01_G10,13.695118,-1.4296287 +10X_cells.GTGTGCGCAAACCTAC-L8TX_180115_01_G11,14.259254,-3.0649424 +10X_cells.AGCTCCTTCGGAAATA-L8TX_180115_01_H09,14.350315,-1.9469742 +10X_cells.GCGGGTTAGTGCGTGA-L8TX_180115_01_E09,14.236204,-0.78016895 +10X_cells.ACGGGCTGTACGACCC-L8TX_180115_01_F09,14.523404,-2.6556883 +10X_cells.CGTGTCTTCAATAAGG-L8TX_171120_01_G07,14.117357,-3.9847536 +10X_cells.AAGGAGCAGAAGCCCA-L8TX_171120_01_H07,14.474242,-2.7925181 +10X_cells.ATTACTCGTCCAAGTT-L8TX_180115_01_D08,14.531804,-2.3347678 +10X_cells.AAAGATGCACCTCGGA-L8TX_171120_01_D07,13.186282,-4.3175673 +10X_cells.GTTCTCGGTAAGGGAA-L8TX_171120_01_E07,13.190825,-3.2178774 +10X_cells.AGGTCATGTGACAAAT-L8TX_171120_01_E07,14.355478,-2.4427717 +10X_cells.CAACTAGAGTGGTAAT-L8TX_171120_01_F07,14.423297,-1.5854706 +10X_cells.CGGAGCTCAGCCTTTC-L8TX_171120_01_F07,14.50654,-3.1436055 +10X_cells.GTCACGGAGTGCCATT-L8TX_171120_01_F07,14.580088,-3.488564 +10X_cells.CTACATTCATGACGGA-L8TX_180115_01_F08,12.2209015,-4.7834463 +10X_cells.GACGCGTCAAGCCGTC-L8TX_180115_01_F08,14.322089,-4.2502494 +Smartseq_cells.LS-15347_S93_E1-50,14.569541,-4.348471 +Smartseq_cells.SM-D9D7O_S75_E1-50,13.934582,-4.517782 +Smartseq_cells.SM-GE631_S183_E1-50,14.207193,-4.382788 +10X_cells.GCAGTTACATGTCTCC-L8TX_180221_01_C10,12.506742,-4.1611395 +10X_cells.CTGCCTACAAGGTTCT-L8TX_180221_01_G09,10.390955,-4.296465 +10X_cells.TGCTGCTAGGCAGGTT-L8TX_180221_01_F09,11.311263,-3.5118768 +10X_cells.CTCCTAGGTCGACTGC-L8TX_180221_01_G09,11.258046,-3.7282917 +10X_cells.GTGCGGTGTGAAATCA-L8TX_180221_01_H09,11.519005,-4.192783 +10X_cells.GTACTCCGTGGAAAGA-L8TX_180221_01_A10,10.36761,-4.303181 +10X_cells.GTACTTTTCCCAGGTG-L8TX_180221_01_A10,14.13399,-1.5251563 +10X_cells.TCAGATGGTCCCTACT-L8TX_180221_01_A10,13.616561,-1.9397093 +10X_cells.ACGCAGCCAGGCGATA-L8TX_180406_01_C06,13.950931,-2.9312663 +10X_cells.ACTGATGAGGGTTCCC-L8TX_180712_01_C06,10.225921,-4.343879 +10X_cells.TTGCCGTCAATTGCTG-L8TX_180221_01_H12,10.9406805,-4.1454253 +10X_cells.TTTGCGCGTTCTGAAC-L8TX_180221_01_H12,13.413119,-0.19110087 +10X_cells.TGAGAGGGTAAATACG-L8TX_180221_01_E09,10.291584,-4.2146015 +10X_cells.ACCGTAAGTAAGGGAA-L8TX_180221_01_C09,10.659514,-3.9556832 +10X_cells.GACGCGTTCGACCAGC-L8TX_180221_01_C09,12.116489,-2.7788615 +10X_cells.TCAACGAGTGCACCAC-L8TX_180221_01_C09,11.508574,-3.5886152 +10X_cells.CACACCTGTTACGTCA-L8TX_180221_01_D09,9.377462,-3.6520612 +10X_cells.CAGCATACACGGACAA-L8TX_180221_01_D09,10.15905,-3.9561038 +10X_cells.TTTACTGTCATCTGCC-L8TX_180712_01_G05,10.566084,-4.275432 +10X_cells.AACCATGAGATGTCGG-L8TX_180712_01_B06,14.386681,-2.7866924 +10X_cells.AGGTCATAGGAATCGC-L8TX_180712_01_B06,10.324726,-4.233121 +10X_cells.CTGTTTAAGTACGCGA-L8TX_180712_01_B06,11.86994,-3.7558277 +10X_cells.GCTCCTACAGTATGCT-L8TX_180712_01_B06,9.764575,-4.092719 +10X_cells.GTCTTCGCAGCTGTTA-L8TX_180712_01_B06,13.34882,-3.0759127 +Smartseq_cells.LS-15019_S23_E1-50,11.5607605,-4.446149 +Smartseq_cells.LS-15319_S81_E2-50,11.055058,-4.420833 +Smartseq_cells.LS-15320_S71_E2-50,10.9526205,-4.420511 +Smartseq_cells.LS-15320_S72_E2-50,12.306348,-4.4772525 +Smartseq_cells.LS-15324_S54_E2-50,8.118261,-3.3759172 +Smartseq_cells.LS-15499_S41_E1-50,11.877256,-4.6261034 +Smartseq_cells.SM-D9D9E_S16_E1-50,10.298417,-3.3122592 +10X_cells.GTAACTGGTAAACACA-L8TX_180829_01_D10,12.015016,-3.5266633 +10X_cells.ATTCTACCATAGACTC-L8TX_180829_01_D09,13.525654,-3.041004 +10X_cells.CACTCCATCGGAAACG-L8TX_180829_01_D10,11.906896,-2.3312864 +10X_cells.CACCTTGCAAGTAATG-L8TX_181011_01_G02,10.613481,-3.7746725 +10X_cells.TTAGTTCTCAACTCTT-L8TX_181012_01_E05,13.725922,-3.5152774 +10X_cells.TTCTACAGTGCAGACA-L8TX_181012_01_E05,13.532887,-3.0398667 +10X_cells.CTAGAGTGTATTACCG-L8TX_180406_01_E02,10.936184,-3.0140197 +Smartseq_cells.SM-GE91L_S050_E1-50,10.340109,-2.9093487 +Smartseq_cells.SM-GE91C_S361_E1-50,6.5765586,-1.1853306 +10X_cells.ACGCCAGGTTATCGGT-L8TX_171026_01_F05,11.623729,-3.089328 +10X_cells.AGAGTGGCATGGGAAC-L8TX_171026_01_B05,10.853536,-3.9179742 +10X_cells.GAGGTGATCAGTCCCT-L8TX_171026_01_A04,11.266629,-4.056302 +10X_cells.CAAGAAACATGGAATA-L8TX_171026_01_F03,9.340491,-3.908044 +10X_cells.ACTTACTTCATAGCAC-L8TX_171026_01_B04,13.357047,-3.7243252 +10X_cells.ATTGGACCACAGACAG-L8TX_171026_01_B04,13.118912,-4.1461706 +10X_cells.GCTCTGTGTCGCGAAA-L8TX_171026_01_B04,13.595277,-2.0156074 +10X_cells.CGAACATGTGAAAGAG-L8TX_171026_01_G04,11.610483,-4.389752 +10X_cells.CGTCAGGAGATGTCGG-L8TX_171026_01_H04,8.836167,-3.4441156 +10X_cells.GAACGGATCTTTACAC-L8TX_171026_01_H04,11.590218,-4.497107 +10X_cells.TTTGCGCTCTCAAACG-L8TX_171026_01_H04,12.05404,-4.4753947 +10X_cells.CATGACACAGTTTACG-L8TX_171026_01_A05,10.414645,-4.3393903 +10X_cells.GCAGCCATCCTCTAGC-L8TX_171026_01_A05,9.79232,-4.0864635 +10X_cells.GCACTCTCATGTCCTC-L8TX_171026_01_H03,12.4533615,-2.7974946 +10X_cells.TGAGCATCAGCGAACA-L8TX_171026_01_H03,11.704991,-3.5810297 +10X_cells.AGATTGCTCCATGAAC-L8TX_171026_01_C05,11.629805,-3.6604595 +10X_cells.GGCGACTGTTTCCACC-L8TX_171026_01_C05,14.433096,-2.2909107 +10X_cells.CATCGGGAGCGATCCC-L8TX_171026_01_D05,12.802992,-2.8335052 +10X_cells.ATTCTACGTGTAAGTA-L8TX_171026_01_G05,12.841473,-3.459018 +Smartseq_cells.SM-DD44N_S15_E1-50,10.3304825,-4.2093163 +Smartseq_cells.SM-GE92H_S005_E1-50,10.087925,-2.912684 +10X_cells.TAGACCAAGCAATCTC-L8TX_181206_01_H11,14.125706,-3.6635063 +10X_cells.CAGTCCTGTGGCAAAC-L8TX_181206_01_B12,13.054277,-3.7038524 +10X_cells.CTGCGGAGTAAACCTC-L8TX_181206_01_B12,12.147994,-3.5458694 +10X_cells.GGTGCGTTCTTGCCGT-L8TX_181206_01_B12,11.229577,-3.1823812 +10X_cells.GTGGGTCAGCCGGTAA-L8TX_181206_01_B12,9.752262,-4.0086994 +10X_cells.ATAAGAGGTCAACTGT-L8TX_181206_01_C12,11.731603,-2.4650848 +10X_cells.TCAGGTACAATGAATG-L8TX_181206_01_C12,11.66995,-3.778689 +10X_cells.CATCGAAAGAAGGCCT-L8TX_181206_01_D12,8.893122,-3.7315204 +10X_cells.TTCTACAAGCGTAATA-L8TX_181206_01_D12,9.953256,-3.5429103 +10X_cells.CCCAATCAGGGCACTA-L8TX_181206_01_F12,13.617677,-2.0056474 +10X_cells.GGATTACTCGCATGAT-L8TX_181206_01_E12,13.0064945,-3.437949 +10X_cells.CCCAGTTGTCTCTTAT-L8TX_180221_01_F10,13.249538,-2.987651 +10X_cells.GATCGCGTCCTCATTA-L8TX_180221_01_F10,10.286225,-4.1224504 +10X_cells.TTGCGTCCAGATCGGA-L8TX_180221_01_A11,11.467282,-3.687103 +10X_cells.CCACTACCACGGATAG-L8TX_180926_01_E12,14.254021,-3.43137 +10X_cells.TTTATGCAGTTCGCGC-L8TX_190312_01_E02,12.893754,-2.9454794 +10X_cells.CCAGCGAGTGTATGGG-L8TX_180221_01_B11,13.287212,-0.9607541 +10X_cells.GACGTTAGTCCAGTGC-L8TX_180221_01_C11,12.547186,-1.7630574 +10X_cells.GATGAGGGTCAGAGGT-L8TX_180221_01_C11,13.64626,-1.6529443 +10X_cells.CGGACACGTGCACCAC-L8TX_180221_01_D11,12.413612,-1.8053811 +10X_cells.GCGCCAAGTGTTTGGT-L8TX_180221_01_E11,13.537036,-0.6297023 +10X_cells.GTCTCGTTCAATACCG-L8TX_180907_01_A12,9.8197975,-3.5107248 +10X_cells.CTCGAGGCAAATCCGT-L8TX_180907_01_E11,13.134609,-2.7129955 +10X_cells.GGCGACTAGCCCAATT-L8TX_180926_01_B01,11.467928,-3.268736 +10X_cells.TGCACCTAGATCGATA-L8TX_181011_01_H03,10.174681,-3.3510835 +Smartseq_cells.SM-GE91G_S383_E1-50,10.85925,-4.1614146 +10X_cells.ACGCAGCAGTCCGTAT-L8TX_180712_01_F05,10.90377,-2.9464076 +10X_cells.ACCTTTACAACGATCT-L8TX_180221_01_C12,14.254486,-1.6799623 +10X_cells.CTGAAGTGTCCGACGT-L8TX_180115_01_B09,14.030868,-2.3198504 +10X_cells.TGACTTTGTGTAACGG-L8TX_180115_01_D10,13.752564,-0.78378755 +10X_cells.ACTTACTTCGCATGGC-L8TX_180115_01_A11,12.27566,-3.9034946 +10X_cells.TAAGAGATCGGCCGAT-L8TX_180115_01_H10,13.36454,-1.7175231 +10X_cells.GGTGTTAAGTCTCAAC-L8TX_180115_01_B11,9.909269,-2.7755315 +10X_cells.CCGTACTAGCAATATG-L8TX_180115_01_C11,13.07677,-1.8539096 +10X_cells.TTCGAAGAGGATTCGG-L8TX_180115_01_C11,12.441923,-1.829061 +10X_cells.AACCATGAGTGTACCT-L8TX_180115_01_F10,13.762537,-1.2164718 +10X_cells.AGCGTCGTCGTTGCCT-L8TX_171120_01_G07,10.348026,-3.2361314 +10X_cells.CTGAAGTCACATCCAA-L8TX_171120_01_G07,11.892989,-3.356563 +10X_cells.CATTATCTCAGTACGT-L8TX_180115_01_D08,10.722819,-4.3190103 +10X_cells.AAACCTGGTCCATGAT-L8TX_171120_01_D07,11.125988,-4.1785274 +10X_cells.CGACTTCTCTGCTTGC-L8TX_171120_01_D07,12.700649,-3.2947955 +10X_cells.CGGACGTAGGGTCTCC-L8TX_171120_01_E07,11.480329,-3.4633586 +Smartseq_cells.SM-GE94L_S263_E1-50,11.796722,-4.437177 +10X_cells.CTCACACGTAGCGTAG-L8TX_180221_01_A10,12.64968,-3.2835188 +10X_cells.CACAAACCATATGCTG-L8TX_180221_01_B10,11.946385,-4.1322737 +10X_cells.CTTCTCTGTCATATGC-L8TX_180221_01_B10,12.04072,-3.1187124 +10X_cells.GGACGTCGTTGGACCC-L8TX_180221_01_B10,12.140012,-3.064439 +10X_cells.TACTTACTCGGCGGTT-L8TX_180221_01_B10,13.084635,-4.4244404 +10X_cells.TGGGCGTCAGCCTTTC-L8TX_180221_01_H12,15.185713,-2.2358851 +10X_cells.CATCGGGCACCAACCG-L8TX_180221_01_E09,15.985692,-2.3227599 +10X_cells.CCACCTATCGGATGTT-L8TX_180221_01_C09,12.920942,-3.521591 +10X_cells.CATATGGAGGACAGAA-L8TX_180607_01_C05,13.510381,-1.1935613 +10X_cells.ACGATACTCTCTGTCG-L8TX_180712_01_G05,12.490831,-4.426902 +10X_cells.TGAGCATAGCACAGGT-L8TX_180712_01_G05,16.005056,-2.1967108 +10X_cells.TCATTTGTCTGGCGTG-L8TX_180712_01_B06,11.998068,-4.2958746 +10X_cells.TGATTTCCAAGAGGCT-L8TX_180712_01_C06,13.499506,-3.780356 +Smartseq_cells.SM-GE67M_S358_E1-50,12.953608,-4.2632203 +Smartseq_cells.LS-15084_S59_E1-50,12.771795,-4.2276163 +10X_cells.GACTGCGGTGGTGTAG-L8TX_180829_01_D09,15.543628,-0.27137592 +10X_cells.GTTCATTTCCTTGGTC-L8TX_180829_01_D09,12.429778,0.015367501 +10X_cells.CAACCTCCATTGGTAC-L8TX_180907_01_F10,13.479766,-0.18048503 +10X_cells.CTGGTCTTCACCCGAG-L8TX_180907_01_F10,13.937936,-3.4784403 +10X_cells.TCGGGACCACGGACAA-L8TX_181011_01_G02,12.973605,-3.9368281 +10X_cells.CTTACCGTCTTCCTTC-L8TX_181012_01_G04,13.728649,-2.930957 +Smartseq_cells.SM-GE5V6_S154_E1-50,12.688965,-3.947428 +Smartseq_cells.SM-GE65S_S257_E1-50,11.616052,-3.997575 +10X_cells.GAACCTATCCAAACTG-L8TX_171026_01_G04,12.0501995,-3.8783827 +10X_cells.GAACGGATCTGCAAGT-L8TX_171026_01_F03,15.872766,-1.8017123 +10X_cells.CAAGAAAGTTATGCGT-L8TX_171026_01_A05,14.423986,-1.7115923 +10X_cells.CCACCTATCAGGTTCA-L8TX_171026_01_H03,15.809702,-1.5575585 +10X_cells.CTGTGCTAGGTCGGAT-L8TX_171026_01_H03,15.353354,-1.1524351 +10X_cells.GTTCATTGTAAATGTG-L8TX_171026_01_E05,13.587443,-4.0300817 +10X_cells.CTCTACGAGGATGCGT-L8TX_171026_01_F05,12.139276,-3.1812115 +10X_cells.GATTCAGTCTTAGAGC-L8TX_171026_01_G05,12.261077,-1.3487498 +10X_cells.GGGAGATGTACTCTCC-L8TX_181206_01_H11,12.870728,-1.3593608 +10X_cells.TCGCGTTAGAACAACT-L8TX_190312_01_D02,14.018048,-2.6618564 +10X_cells.TCACAAGGTTACGCGC-L8TX_180221_01_D10,13.343749,-3.8856764 +10X_cells.ACTTACTTCCATGCTC-L8TX_180221_01_E10,13.946081,-4.306358 +10X_cells.CGTGTCTTCCGTTGCT-L8TX_180221_01_G10,16.102133,5.2749066 +10X_cells.GACGCGTTCTAGCACA-L8TX_180221_01_G10,11.228259,-3.6353517 +10X_cells.CCGGTAGCAATGCCAT-L8TX_190312_01_G02,13.726326,0.09684235 +10X_cells.ACTTTCAGTTGAGGTG-L8TX_181012_01_C05,14.623375,-3.4771621 +10X_cells.GTCAAGTGTTTGACTG-L8TX_180221_01_D11,12.85002,-2.265383 +10X_cells.CCCTCCTGTAGTACCT-L8TX_180221_01_B11,14.000347,-1.907341 +10X_cells.CTTACCGAGGACACCA-L8TX_180221_01_B11,13.594213,-1.5309769 +10X_cells.GTAACTGTCAGCAACT-L8TX_180221_01_B11,13.023757,-1.9644239 +10X_cells.CCCTCCTCAACACCTA-L8TX_180221_01_C11,13.755821,-2.512783 +10X_cells.CTAGTGACAGTCTTCC-L8TX_180221_01_C11,12.631545,-2.7043526 +10X_cells.TTCTACACATGCCCGA-L8TX_180221_01_C11,12.702299,-2.245492 +10X_cells.TATCAGGCAGCTCGCA-L8TX_180221_01_D11,13.491837,-1.0271286 +Smartseq_cells.SM-GE67Q_S172_E1-50,12.722321,-3.7280507 +Smartseq_cells.SM-GE67Q_S223_E1-50,13.579727,-4.074158 +Smartseq_cells.SM-GE67Q_S373_E1-50,14.690025,-3.669357 +10X_cells.TCGAGGCGTGGCAAAC-L8TX_180907_01_E11,13.028668,-4.4423957 +10X_cells.CATCGAACATGGATGG-L8TX_180926_01_B01,13.633919,-3.3389971 +10X_cells.ACTGAGTAGTTCGCAT-L8TX_181011_01_A03,13.155213,-3.7444122 +10X_cells.TGAGCCGCACCAGGCT-L8TX_180712_01_H05,16.663107,-1.8889982 +10X_cells.ATAGACCTCTGAGTGT-L8TX_180712_01_F05,11.534681,-3.6707447 +10X_cells.TGCTGCTGTTACGGAG-L8TX_180712_01_E05,12.737705,-2.241732 +10X_cells.ATCTGCCTCTGGCGAC-L8TX_180712_01_F05,16.43622,0.043186266 +10X_cells.GTCTCGTGTCTTCTCG-L8TX_180712_01_A06,11.605005,-3.5725274 +10X_cells.ATAACGCCAATCGAAA-L8TX_180221_01_A12,14.000308,0.29101354 +10X_cells.GAATGAATCGGCGCAT-L8TX_180221_01_A12,13.847644,-0.39814845 +10X_cells.GATGAAATCTACTCAT-L8TX_180221_01_C12,15.4105835,-0.12647846 +10X_cells.GCAGTTATCCTCAACC-L8TX_180221_01_C12,12.192652,-2.9295962 +10X_cells.TTATGCTCACGAAGCA-L8TX_180221_01_H11,6.3938017,1.953345 +10X_cells.CACATAGAGCTGGAAC-L8TX_180115_01_H10,15.185707,-1.9967753 +10X_cells.GGAAAGCAGGATTCGG-L8TX_180115_01_H11,16.837254,-0.65832 +10X_cells.GTCGGGTCATCGGGTC-L8TX_180115_01_A09,13.650602,-2.8114135 +10X_cells.GTCCTCATCAACTCTT-L8TX_180115_01_C09,15.471236,-1.887615 +10X_cells.TCAGGATTCTTGTATC-L8TX_180115_01_C09,14.989434,-2.6933174 +10X_cells.TGTCCCAAGTACGACG-L8TX_180115_01_D09,13.435832,-1.2245456 +10X_cells.GTACTTTAGAGCTATA-L8TX_180115_01_A11,14.015797,-1.5104923 +10X_cells.CACAGGCCAATAGCGG-L8TX_180115_01_H10,15.249272,-2.0769417 +10X_cells.CACCAGGGTGCAACTT-L8TX_180115_01_B11,13.911896,-2.0985827 +10X_cells.CTCGTCAGTACCTACA-L8TX_180115_01_C10,16.034035,0.12968051 +10X_cells.AGATCTGCAAGGCTCC-L8TX_180115_01_D11,14.436078,-1.4025083 +10X_cells.CCGGGATTCGTAGGAG-L8TX_180115_01_D11,14.581533,-1.5506909 +10X_cells.ATTGGACTCATGGTCA-L8TX_180115_01_G10,14.27043,-3.6982684 +10X_cells.CCTACCACACAGGTTT-L8TX_180115_01_G10,13.7064085,-1.5092125 +10X_cells.ACACCGGGTAGGGACT-L8TX_180115_01_E11,13.035042,-3.1217396 +10X_cells.TATTACCGTTTGGCGC-L8TX_180115_01_E11,13.262624,-3.9373302 +10X_cells.ATGCGATAGAATTCCC-L8TX_180115_01_F11,13.364287,-3.813128 +10X_cells.AGATCTGGTCACACGC-L8TX_180115_01_G11,13.109399,-3.7037132 +10X_cells.GACTGCGGTATTCGTG-L8TX_180115_01_G11,15.078269,-3.014859 +10X_cells.TAGTTGGTCATTGCCC-L8TX_180115_01_G11,13.433791,-4.0649924 +10X_cells.GCGCCAAAGGCATGGT-L8TX_180115_01_H11,13.004332,-4.004821 +10X_cells.TGGGCGTAGAGTAAGG-L8TX_180115_01_H11,13.225626,-3.7178516 +10X_cells.CTCCTAGTCCTTCAAT-L8TX_180115_01_A10,14.358371,-1.7541566 +10X_cells.TGACAACAGAAACGCC-L8TX_180115_01_A10,12.669733,-0.8277348 +10X_cells.CTAAGACCACTGAAGG-L8TX_180115_01_E09,14.782283,-1.0887388 +10X_cells.GAATAAGAGATGTGGC-L8TX_180115_01_E09,13.536798,-1.3609929 +10X_cells.TAAGTGCAGTATTGGA-L8TX_180115_01_F09,13.320952,-1.2294025 +10X_cells.CTGCTGTTCATAAAGG-L8TX_171120_01_G07,14.24369,-3.9188123 +10X_cells.TGGTTAGAGTTTGCGT-L8TX_180115_01_G08,13.047195,-4.200412 +10X_cells.TGGCTGGGTCCTGCTT-L8TX_180115_01_H08,12.149636,-4.1762524 +10X_cells.ATAGACCCAGGAATCG-L8TX_180115_01_D08,11.614397,-4.3415914 +10X_cells.CGAATGTCACATAACC-L8TX_180115_01_D08,14.253871,-2.7347867 +10X_cells.CGATGTACACATGGGA-L8TX_171120_01_D07,12.742701,-3.4050515 +10X_cells.AATCCAGAGATGAGAG-L8TX_171120_01_F07,16.271793,-1.2834597 +10X_cells.CGACCTTGTTACCGAT-L8TX_180115_01_E08,13.433995,-3.949559 +10X_cells.TCTGGAACAACGATGG-L8TX_180115_01_E08,12.223127,-4.4664173 +Smartseq_cells.LS-15007_S80_E1-50,13.118291,-4.0876083 +Smartseq_cells.LS-15033_S73_E1-50,13.139803,-4.273052 +Smartseq_cells.LS-15033_S78_E1-50,14.772776,-3.6369374 +Smartseq_cells.LS-15347_S85_E1-50,13.79619,-4.1789513 +Smartseq_cells.LS-15576_S74_E1-50,12.266959,-3.6086555 +Smartseq_cells.SM-DD43V_S65_E1-50,14.137611,-4.184274 +Smartseq_cells.SM-DD45L_S095_E1-50,14.778574,-3.1975644 +Smartseq_cells.SM-GE631_S088_E1-50,14.390585,-4.161963 +Smartseq_cells.SM-GE631_S147_E1-50,13.436736,-3.4476073 +Smartseq_cells.SM-GE64U_S068_E1-50,14.234945,-4.283828 +Smartseq_cells.SM-GE64C_S053_E1-50,12.09222,-3.8183002 +Smartseq_cells.SM-GE94L_S244_E1-50,13.996113,-3.5119317 +10X_cells.TAAGAGAGTATAGGGC-L8TX_180221_01_A10,14.619846,5.521344 +10X_cells.GCGGGTTGTCTAAACC-L8TX_180221_01_F09,15.990678,4.4432793 +10X_cells.AGAGTGGAGTGGAGTC-L8TX_180221_01_A10,15.202864,3.7658014 +10X_cells.CTCGGAGGTGTCAATC-L8TX_180221_01_A10,15.309753,4.1841335 +10X_cells.CCACCTATCCTTGCCA-L8TX_180221_01_B10,16.19516,4.4602046 +10X_cells.CATTCGCCATCCTAGA-L8TX_180221_01_C10,15.213802,4.213361 +10X_cells.GTGCGGTTCCACGAAT-L8TX_180221_01_C10,13.207535,3.3300056 +10X_cells.ACTGAACTCTCGTATT-L8TX_180406_01_F02,14.479187,4.344537 +10X_cells.AGTGGGAGTACTCAAC-L8TX_180406_01_C06,14.340436,2.5018542 +10X_cells.TTCTCCTCATCAGTAC-L8TX_180406_01_C06,13.889521,3.6161928 +10X_cells.CATTATCCAGCCTTTC-L8TX_180221_01_E09,15.697713,4.0109973 +10X_cells.AACCGCGAGTAGTGCG-L8TX_180221_01_E09,14.87136,2.5026093 +10X_cells.CTAGAGTCAGTCGTGC-L8TX_180221_01_E09,13.305779,1.9226434 +10X_cells.GATGAGGGTTATGTGC-L8TX_180221_01_E09,15.392801,2.7815325 +10X_cells.GTCCTCAGTATTCTCT-L8TX_180221_01_E09,15.694505,3.7415178 +10X_cells.TGAGAGGAGAATTGTG-L8TX_180221_01_E09,13.634278,2.3518317 +10X_cells.AGATTGCTCAGAAATG-L8TX_180221_01_C09,13.4662285,2.139555 +10X_cells.AGCTCTCCAATGGAGC-L8TX_180221_01_C09,15.186123,3.2179072 +10X_cells.ATTGGACGTAGGCTGA-L8TX_180221_01_C09,13.477762,2.0855393 +10X_cells.AGAATAGAGGCTAGCA-L8TX_180221_01_D09,14.364554,2.4929414 +10X_cells.CCAGCGATCGACAGCC-L8TX_180221_01_D09,14.092375,2.2125127 +10X_cells.CCGTGGAAGTAACCCT-L8TX_180221_01_D09,13.257031,1.8516932 +10X_cells.CGATGGCAGTAGCCGA-L8TX_180221_01_D09,13.289266,1.7870432 +10X_cells.GACTGCGGTATGCTTG-L8TX_180221_01_D09,14.697627,2.4595292 +10X_cells.GTCAAGTAGGAGCGTT-L8TX_180221_01_D09,13.259075,1.6731358 +10X_cells.GTGCTTCAGCACCGCT-L8TX_180221_01_D09,13.85905,2.189187 +10X_cells.TAAACCGAGAGTACAT-L8TX_180221_01_D09,13.771853,3.3695612 +10X_cells.CCTAAAGTCTGAAAGA-L8TX_180607_01_C05,14.09347,4.3330107 +10X_cells.CCCAATCGTGGTTTCA-L8TX_180712_01_G05,13.764869,3.0189204 +10X_cells.ATTGGTGCACCATGTA-L8TX_180712_01_B06,13.805809,3.0662003 +10X_cells.GAATGAATCATACGGT-L8TX_180712_01_C06,14.708536,4.1045427 +Smartseq_cells.LS-15313_S42_E2-50,15.8576145,4.84705 +Smartseq_cells.LS-15376_S80_E1-50,17.505072,3.1377738 +10X_cells.CGATCGGTCTGGTTCC-L8TX_180829_01_D09,13.556584,3.0845585 +10X_cells.CGTCCATTCAACGGGA-L8TX_180829_01_D09,13.578874,2.8510883 +10X_cells.TGACGGCAGGTGTTAA-L8TX_180829_01_E10,14.460607,3.769789 +10X_cells.AAAGATGTCGCAAGCC-L8TX_181011_01_C04,14.001176,2.0268037 +10X_cells.CAGGTGCTCGGTGTTA-L8TX_181012_01_G04,13.516361,2.4501314 +10X_cells.CGTGAGCGTGAGGGTT-L8TX_181012_01_G04,14.031422,3.8847153 +10X_cells.CTCTGGTCATGGTCTA-L8TX_181012_01_E05,14.87092,3.7551937 +10X_cells.AACTCAGCACCATGTA-L8TX_171026_01_A05,15.427305,3.5450127 +10X_cells.CATATTCTCAGCACAT-L8TX_171026_01_F03,14.438743,3.9653397 +10X_cells.GCATGTACACTAGTAC-L8TX_171026_01_G03,15.028215,3.1832845 +10X_cells.AACTCCCGTGTGCGTC-L8TX_171026_01_B04,14.917232,3.62822 +10X_cells.ACCTTTATCACCGTAA-L8TX_171026_01_B04,13.92226,3.9628382 +10X_cells.CCGGGATCACTGAAGG-L8TX_171026_01_B04,13.865475,3.9630694 +10X_cells.TTTGCGCCAATAAGCA-L8TX_171026_01_B04,15.8175955,4.5319395 +10X_cells.CGCTATCGTTAAGTAG-L8TX_171026_01_G04,15.260626,4.1259837 +10X_cells.CTCGTCAAGCCCGAAA-L8TX_171026_01_B05,14.334939,4.12723 +10X_cells.TCAGGTATCCCGACTT-L8TX_171026_01_H04,16.301058,4.4335227 +10X_cells.ACTGTCCTCTTAGCCC-L8TX_171026_01_A05,14.841446,3.8184254 +10X_cells.AGCTCCTCACCCATGG-L8TX_171026_01_A05,15.365943,3.7234805 +10X_cells.CGCTTCACAATGTAAG-L8TX_171026_01_A04,14.850138,4.3142195 +10X_cells.TTGACTTCAGCCTGTG-L8TX_171026_01_A04,15.559451,3.941829 +10X_cells.CAGATCATCAGGTAAA-L8TX_171026_01_E05,14.980805,3.4003007 +10X_cells.CTAGTGACAGATGGGT-L8TX_171026_01_F05,14.010325,2.8566763 +10X_cells.TAAGAGACAACGATCT-L8TX_171026_01_F05,15.414616,3.8221257 +10X_cells.CGCGTTTAGCGATAGC-L8TX_171026_01_G05,13.04482,2.7383687 +10X_cells.CTGTTTAAGAGTTGGC-L8TX_171026_01_G05,14.158406,2.866864 +10X_cells.GGTATTGTCAGTCAGT-L8TX_171026_01_G05,15.506996,2.6352885 +Smartseq_cells.SM-D9D85_S52_E1-50,15.634297,5.215567 +Smartseq_cells.SM-DD449_S67_E1-50,16.900692,3.046394 +10X_cells.TCGAGGCAGATGTCGG-L8TX_181206_01_E12,13.328782,2.9322293 +10X_cells.TACTTGTGTTCGAATC-L8TX_180406_01_G01,14.050356,6.2229733 +10X_cells.CATATTCGTACTTAGC-L8TX_180406_01_G01,14.255954,5.44175 +10X_cells.GACTGCGTCCGAAGAG-L8TX_180406_01_D02,13.762754,5.7882876 +10X_cells.CATCGAACAAGTTGTC-L8TX_190312_01_D02,14.520643,5.6355114 +10X_cells.AGGCCGTAGCGTAGTG-L8TX_180221_01_D10,14.646798,4.1586776 +10X_cells.CGCGTTTAGGTAGCCA-L8TX_180221_01_D10,14.379926,4.097123 +10X_cells.AAAGATGGTTAGAACA-L8TX_180221_01_E10,14.213042,3.983835 +10X_cells.GATGAGGAGCAATCTC-L8TX_180221_01_E10,14.150867,3.9348798 +10X_cells.TAGTTGGCAGACGCAA-L8TX_180221_01_E10,15.465911,3.1410544 +10X_cells.ACGAGGAAGCAGCGTA-L8TX_180221_01_F10,14.86255,4.1115823 +10X_cells.CGTAGGCCATTCGACA-L8TX_180221_01_F10,15.339305,4.044633 +10X_cells.CTCTACGAGATGCCTT-L8TX_180221_01_F10,15.167951,3.9140062 +10X_cells.CTGGTCTCAAGGGTCA-L8TX_180221_01_F10,13.557257,3.7214425 +10X_cells.GAAACTCCAGATGGGT-L8TX_180221_01_F10,12.931591,2.577393 +10X_cells.GCTGCTTAGGATATAC-L8TX_180221_01_F10,14.263903,3.9210331 +10X_cells.ACGCCGAAGGGCTCTC-L8TX_180221_01_G10,15.238042,3.9584625 +10X_cells.TACACGACACTTACGA-L8TX_180221_01_G10,14.0744505,4.148598 +10X_cells.AGGCCACGTTCAACCA-L8TX_180221_01_A11,12.899171,2.5415916 +10X_cells.AGTGAGGTCCGGCACA-L8TX_180221_01_A11,14.3770485,3.655706 +10X_cells.ATAAGAGTCCTACAGA-L8TX_180221_01_A11,14.351499,3.4252157 +10X_cells.CTGATAGTCTCTAGGA-L8TX_180221_01_A11,14.801726,3.6536682 +10X_cells.TAAACCGTCCTGTACC-L8TX_180221_01_A11,14.297539,4.489456 +10X_cells.TGTCCCATCCTAAGTG-L8TX_180221_01_A11,14.493082,4.374327 +10X_cells.GTCTTCGGTCAGAGGT-L8TX_190312_01_B02,15.554035,3.987583 +10X_cells.TTAGGACAGACGCACA-L8TX_190312_01_D02,14.929715,4.1676526 +10X_cells.CGTAGGCCATATACGC-L8TX_180221_01_B11,14.212525,2.114979 +10X_cells.TCCACACAGTGTCCCG-L8TX_180221_01_B11,13.258111,1.6566008 +10X_cells.CTAGCCTGTACGCTGC-L8TX_180221_01_D11,15.1652565,2.7953987 +10X_cells.AGCTCTCTCTCACATT-L8TX_180221_01_F11,16.271374,4.6938443 +10X_cells.CTAATGGAGTGTACCT-L8TX_180907_01_A12,15.60558,4.6859508 +10X_cells.CACTCCATCTACCAGA-L8TX_180907_01_B12,14.500174,4.248551 +10X_cells.TCTGAGAAGGGAAACA-L8TX_180907_01_E11,13.521595,3.0671797 +10X_cells.ACGGCCAAGAGCTGGT-L8TX_180926_01_D01,13.9094925,3.8191278 +10X_cells.CTCAGAAAGACTAGAT-L8TX_180926_01_D01,13.182322,3.7409232 +10X_cells.GGTGTTAAGGATGGTC-L8TX_180926_01_D01,14.955514,4.068969 +10X_cells.ATTTCTGAGCGCTCCA-L8TX_181011_01_A03,15.589427,3.517346 +10X_cells.AATCCAGAGCCACTAT-L8TX_180712_01_H05,14.797243,4.1640825 +10X_cells.TAGGCATTCGGCCGAT-L8TX_180712_01_F05,13.3751335,3.5611665 +10X_cells.CTCTAATTCTTGCCGT-L8TX_180712_01_H05,14.633731,3.973217 +10X_cells.CGGTTAATCACAACGT-L8TX_180712_01_A06,14.781376,4.4372983 +10X_cells.ACCTTTATCCGTAGTA-L8TX_180504_01_E01,14.189178,4.190603 +10X_cells.CACACTCCACGAGAGT-L8TX_180504_01_E01,15.683033,4.2058845 +10X_cells.CATTATCTCGCCAAAT-L8TX_180504_01_E01,14.000398,3.4803696 +10X_cells.GGGCACTCATGGATGG-L8TX_180504_01_E01,14.2153635,4.152274 +10X_cells.AGGCCACAGGCATGGT-L8TX_180221_01_A12,13.796943,1.6918911 +10X_cells.ACGCAGCGTTCGGGCT-L8TX_180221_01_B12,13.452457,3.0679007 +10X_cells.CACATTTTCTTGCAAG-L8TX_180221_01_B12,14.005048,4.0707307 +10X_cells.CTCGAGGAGAATTGTG-L8TX_180221_01_C12,13.360658,2.1906018 +10X_cells.TACGGATAGTCATCCA-L8TX_180221_01_C12,14.05518,4.34353 +10X_cells.TTTATGCTCGAGAACG-L8TX_180221_01_D12,13.406024,3.496713 +10X_cells.TACCTTAAGGTGCAAC-L8TX_180115_01_G10,13.33833,1.9939817 +10X_cells.AGGTCCGCAAACGTGG-L8TX_180115_01_A09,14.851404,4.18502 +10X_cells.GGACATTGTTAAAGTG-L8TX_180115_01_A09,14.914348,4.3047185 +10X_cells.TACTCATAGTCACGCC-L8TX_180115_01_A09,14.479495,3.460796 +10X_cells.AGTGAGGTCGCCATAA-L8TX_180115_01_A11,15.159947,2.9328659 +10X_cells.GCGAGAAAGTACATGA-L8TX_180115_01_A11,14.132121,1.934906 +10X_cells.GGCAATTCATAGAAAC-L8TX_180115_01_B10,14.035617,1.8800776 +10X_cells.GTTCATTGTCTCATCC-L8TX_180115_01_B11,15.222981,2.754819 +10X_cells.CATCAAGGTGCCTGTG-L8TX_180115_01_C11,13.609365,2.265159 +10X_cells.ATAACGCCAGATCGGA-L8TX_180115_01_D11,14.06524,3.8796864 +10X_cells.AGCGTCGCATTAGGCT-L8TX_180115_01_E10,13.438297,1.9184871 +10X_cells.CTACGTCTCGCCAGCA-L8TX_180115_01_E10,14.996436,2.6729705 +10X_cells.TTATGCTCAGGTGCCT-L8TX_180115_01_E10,15.403536,3.4292412 +10X_cells.AGCAGCCCATCGATGT-L8TX_180115_01_F10,14.996485,2.744093 +10X_cells.CAACCTCCATTCCTGC-L8TX_180115_01_F10,14.593296,1.6845607 +10X_cells.GAAATGAAGAGTCGGT-L8TX_180115_01_F10,13.92439,1.8216803 +10X_cells.CAGCTAAAGATTACCC-L8TX_180115_01_E11,14.775848,4.089065 +10X_cells.CTCACACTCTCTTGAT-L8TX_180115_01_E11,14.99129,4.070511 +10X_cells.GACCAATGTTCTCATT-L8TX_180115_01_E11,14.233197,3.957837 +10X_cells.ACATCAGGTACTTGAC-L8TX_180115_01_F11,15.563531,4.2313643 +10X_cells.AGTCTTTCAGTTCCCT-L8TX_180115_01_F11,15.684896,4.447797 +10X_cells.GGTATTGAGTATCTCG-L8TX_180115_01_F11,13.097039,3.1556911 +10X_cells.TGGACGCAGACATAAC-L8TX_180115_01_G11,15.732308,3.6369188 +10X_cells.TTGACTTCAAGTTCTG-L8TX_180115_01_G11,15.827416,3.7904513 +10X_cells.AAGCCGCAGAGACGAA-L8TX_180115_01_H11,13.023633,2.9079719 +10X_cells.CGCTTCATCAAAGACA-L8TX_180115_01_H11,15.293105,3.883743 +10X_cells.TCTTCGGTCAACGGCC-L8TX_180115_01_H11,13.63974,3.8559022 +10X_cells.TGGCCAGCAAGGTTTC-L8TX_180115_01_H11,15.542507,4.2546325 +10X_cells.CATCCACGTCCGAATT-L8TX_180115_01_E09,13.327108,2.030457 +10X_cells.CCCATACAGAGTACAT-L8TX_180115_01_E09,15.691032,3.553831 +10X_cells.TTAGGACGTCTCCCTA-L8TX_180115_01_E09,13.399894,1.9577061 +10X_cells.AAATGCCTCGAGCCCA-L8TX_171120_01_H07,15.75688,3.9617631 +10X_cells.ATTGGTGCATTGTGCA-L8TX_171120_01_H07,15.361993,3.8115137 +10X_cells.CACATTTCACAAGCCC-L8TX_180115_01_G08,16.334366,4.4628096 +10X_cells.GCGCAACGTCTAGTGT-L8TX_171120_01_C07,14.054911,3.7155745 +10X_cells.CATCGGGTCTCAAGTG-L8TX_180115_01_D08,14.241031,4.3323627 +10X_cells.CGAACATGTGATGATA-L8TX_171120_01_D07,13.698592,3.6972013 +10X_cells.TGATTTCCACGAAACG-L8TX_171120_01_F07,14.708726,3.7088196 +10X_cells.GGGACCTAGTGGAGAA-L8TX_180115_01_E08,15.851285,4.033632 +10X_cells.TCATTACAGTGGTCCC-L8TX_180115_01_E08,16.640602,4.092319 +Smartseq_cells.LS-15032_S25_E1-50,15.510219,5.046557 +Smartseq_cells.SM-DD45I_S026_E1-50,15.427102,5.0354495 +Smartseq_cells.SM-DD45I_S124_E1-50,15.881299,4.325508 +Smartseq_cells.SM-GE8ZW_S141_E1-50,16.325306,4.78914 +Smartseq_cells.SM-GE94L_S188_E1-50,15.610474,4.795569 +10X_cells.TCTCATAAGACTGGGT-L8TX_180221_01_F09,4.970968,-2.226126 +10X_cells.CATATTCTCGCTAGCG-L8TX_180406_01_C06,13.735319,1.6626437 +10X_cells.CTTACCGAGCTACCGC-L8TX_180221_01_F09,14.616975,3.7499907 +10X_cells.CACAGTATCCGCGTTT-L8TX_180406_01_F02,16.975624,3.421386 +10X_cells.GGCAATTGTTCTCATT-L8TX_180221_01_B10,17.510899,4.3493214 +10X_cells.CTCACACCATTCCTGC-L8TX_180406_01_F02,16.790825,4.1242514 +10X_cells.CGTGAGCCATCCTTGC-L8TX_180221_01_A10,15.122746,-0.48901826 +10X_cells.GTCACAAGTCCGTGAC-L8TX_180221_01_F09,17.519316,4.1914825 +10X_cells.CGGGTCAGTATCAGTC-L8TX_180221_01_A10,14.080268,2.8299797 +10X_cells.CCACTACCATTCTTAC-L8TX_180221_01_B10,16.853893,-1.1139542 +10X_cells.GTTAAGCAGTCAAGGC-L8TX_180221_01_G09,16.768835,0.8397099 +10X_cells.TTTATGCAGCTTCGCG-L8TX_180406_01_F02,17.287933,3.0329204 +10X_cells.AAGGTTCTCCCAAGTA-L8TX_180406_01_F02,15.444352,1.0211257 +10X_cells.CTAATGGCATAAGACA-L8TX_180221_01_F09,18.053902,1.9280806 +10X_cells.TCAGATGTCTTAACCT-L8TX_180221_01_B10,16.87116,1.3418258 +10X_cells.TACGGGCCATGAGCGA-L8TX_180406_01_F02,13.242134,4.344018 +10X_cells.CCTACCAGTGTGACCC-L8TX_180406_01_C06,14.0461035,1.8979697 +10X_cells.AACCATGCAGCTTCGG-L8TX_180221_01_F09,16.671724,4.1290054 +10X_cells.CGGTTAATCCGCAGTG-L8TX_180221_01_F09,17.05578,5.1650753 +10X_cells.CTGATAGCAATAGCGG-L8TX_180406_01_F02,15.322139,2.2224302 +10X_cells.GACTACACAGGCGATA-L8TX_180406_01_C06,15.639903,2.0170355 +10X_cells.ACTTGTTCAGGTCTCG-L8TX_180221_01_H09,17.576326,-0.73793566 +10X_cells.CTTAGGATCCTCCTAG-L8TX_180221_01_H09,16.554745,-1.3545164 +10X_cells.AATCCAGAGCTAGGCA-L8TX_180221_01_C10,14.829276,1.8323115 +10X_cells.CCACGGAAGCTGGAAC-L8TX_180221_01_C10,17.668724,3.3131695 +10X_cells.TTATGCTCAGCTTCGG-L8TX_180221_01_G09,15.808193,3.920272 +10X_cells.GGAATAAGTAGCGCTC-L8TX_180221_01_C10,16.95147,1.7344576 +10X_cells.AAGACCTTCGGTGTTA-L8TX_180221_01_C10,14.511659,-4.0849853 +10X_cells.TGCTACCCATTCCTGC-L8TX_180221_01_G09,15.760173,3.8741527 +10X_cells.GCGCGATGTCCGAGTC-L8TX_180406_01_F02,16.539,2.4726431 +10X_cells.CGGACACTCAGCAACT-L8TX_180221_01_C10,16.309889,-2.5291939 +10X_cells.CAGCGACCATCACCCT-L8TX_180221_01_A10,16.024347,3.6273398 +10X_cells.CGTCTACTCGCCTGTT-L8TX_180406_01_F02,14.6063,2.4910364 +10X_cells.ATTGGTGGTAAGGATT-L8TX_180221_01_F09,17.872967,2.9837632 +10X_cells.CTGAAGTGTAGGGACT-L8TX_180221_01_G09,14.132946,2.7336435 +10X_cells.TTGGAACGTCTCAACA-L8TX_180406_01_C06,17.178442,0.58010674 +10X_cells.GGATGTTTCTGTCAAG-L8TX_180221_01_C10,14.703025,-1.3941975 +10X_cells.GCAATCATCTTCAACT-L8TX_180406_01_C06,15.537415,2.7815812 +10X_cells.TCAGGATGTTGATTGC-L8TX_180221_01_C10,17.15058,3.0776465 +10X_cells.GTTCATTCAGGACCCT-L8TX_180221_01_F09,18.231373,1.6369944 +10X_cells.ATGTGTGAGCCGTCGT-L8TX_180221_01_A10,17.181871,-1.005205 +10X_cells.TACTCGCAGTTCGCAT-L8TX_180406_01_F02,18.186678,3.4175406 +10X_cells.AAGGTTCGTAGCGTCC-L8TX_180221_01_C10,13.415914,-3.6653783 +10X_cells.CGCTTCAGTTCCATGA-L8TX_180406_01_C06,14.614261,1.8009307 +10X_cells.GCATGATGTCATCCCT-L8TX_180221_01_B10,16.914871,1.6054711 +Smartseq_cells.SM-DD45D_S121_E1-50,18.008938,3.859527 +10X_cells.CAAGGCCGTACAAGTA-L8TX_180712_01_B06,17.50666,-0.018752195 +10X_cells.ATCATGGAGTGTTTGC-L8TX_180712_01_B06,14.80686,3.1245034 +10X_cells.ACATCAGAGAGTAAGG-L8TX_180712_01_G05,16.250477,-2.4097817 +10X_cells.TACCTATCATTATCTC-L8TX_180221_01_D09,15.740302,-1.4581187 +10X_cells.TGACAACGTACCAGTT-L8TX_180221_01_D09,14.545635,2.3597484 +10X_cells.CTGCCTAGTTTAGGAA-L8TX_180221_01_C09,14.7982235,1.5320066 +10X_cells.AGGGAGTTCCGCGGTA-L8TX_180712_01_B06,16.980995,3.5223706 +10X_cells.ATGAGGGGTGGTAACG-L8TX_180712_01_G05,15.35845,1.871491 +10X_cells.GGATTACAGAGGTTGC-L8TX_180221_01_D09,13.830335,2.2412853 +10X_cells.GTAACTGGTGACAAAT-L8TX_180712_01_B06,14.493199,0.7698006 +10X_cells.TCAGCAATCTTGTTTG-L8TX_180712_01_B06,14.559536,0.64580685 +10X_cells.TGTTCCGAGGGATCTG-L8TX_180712_01_C06,14.120752,3.1878786 +10X_cells.TGGGAAGTCCTGCAGG-L8TX_180221_01_E09,17.70629,3.8148897 +10X_cells.GCGCAACGTGGCTCCA-L8TX_180221_01_C09,15.065125,1.2802409 +10X_cells.TGCGTGGGTTAGTGGG-L8TX_180712_01_B06,14.356997,1.4528906 +10X_cells.ATCCACCGTCGCGTGT-L8TX_180221_01_E09,14.804282,0.40234026 +10X_cells.TCTGAGACACATTCGA-L8TX_180712_01_B06,14.364154,4.002929 +10X_cells.CGGAGTCTCAGCACAT-L8TX_180712_01_B06,16.045137,0.91891533 +10X_cells.AAGACCTAGAGGTAGA-L8TX_180221_01_C09,15.547176,0.82954055 +10X_cells.GCTCTGTTCATGGTCA-L8TX_180712_01_B06,15.284428,2.2986643 +10X_cells.AACGTTGCACCCATGG-L8TX_180712_01_C06,16.430468,-0.44655636 +10X_cells.CTCGAGGTCGAACGGA-L8TX_180712_01_B06,15.111813,1.9746325 +10X_cells.GGCGACTAGAGGTTGC-L8TX_180221_01_E09,17.025253,2.3897593 +10X_cells.GGAGCAAAGTACTTGC-L8TX_180607_01_C05,14.851124,-3.3681254 +10X_cells.AGAATAGCATTACGAC-L8TX_180221_01_D09,14.443232,1.7256638 +10X_cells.GCTGCTTGTTGGGACA-L8TX_180221_01_C09,13.226914,1.9870648 +10X_cells.AACCGCGCACCAGGCT-L8TX_180221_01_E09,14.483278,-0.8418337 +10X_cells.TTCGGTCCACATGACT-L8TX_180712_01_G05,16.382,2.1274302 +10X_cells.CGTCTACGTAAATGTG-L8TX_180712_01_B06,13.195656,5.351746 +10X_cells.GAACGGATCACTCTTA-L8TX_180712_01_G05,17.489979,4.3030634 +10X_cells.CAAGGCCCAGCATACT-L8TX_180221_01_E09,6.0606003,-3.3904464 +10X_cells.GATGAAAGTATAGTAG-L8TX_180712_01_G05,15.843725,3.7661498 +10X_cells.ATAACGCAGGCAATTA-L8TX_180221_01_E09,14.586968,2.2805362 +10X_cells.GGCGACTAGAATAGGG-L8TX_180221_01_H12,14.659164,-1.4602083 +10X_cells.AGCGTCGGTCGAAAGC-L8TX_180712_01_G05,15.480249,3.4670339 +10X_cells.TCAGCAACAGCTATTG-L8TX_180221_01_E09,15.7469635,1.9032314 +10X_cells.TCAGGTAGTTCGGCAC-L8TX_180712_01_G05,14.849857,3.0244696 +10X_cells.CTAGCCTAGGTAGCTG-L8TX_180221_01_C09,16.21042,-0.2975913 +10X_cells.GGATGTTCAGCATGAG-L8TX_180712_01_G05,15.655036,-2.3154628 +10X_cells.CGAGCACAGTAGATGT-L8TX_180221_01_H12,16.561813,1.8011742 +10X_cells.GAGTCCGGTACCTACA-L8TX_180712_01_B06,16.372555,2.1297545 +10X_cells.GACTGCGGTACCGGCT-L8TX_180607_01_C05,15.814614,-0.17825261 +10X_cells.TGCACCTCAAGCTGGA-L8TX_180221_01_E09,16.47176,1.5235616 +10X_cells.GCTCCTACATCACCCT-L8TX_180712_01_C06,14.773165,3.1369922 +10X_cells.CGTCACTCAGACTCGC-L8TX_180712_01_G05,17.949326,0.5470418 +10X_cells.GATCGATCACGCGAAA-L8TX_180221_01_C09,14.74617,2.4472446 +10X_cells.ACTTGTTGTGATAAAC-L8TX_180712_01_B06,16.138172,2.5716417 +10X_cells.TGAAAGACAATGGAAT-L8TX_180712_01_B06,15.477041,2.9552512 +10X_cells.ATCCACCTCATTATCC-L8TX_180712_01_B06,14.489635,2.328816 +10X_cells.ATCATCTAGTTAGCGG-L8TX_180221_01_D09,14.492579,1.2705607 +10X_cells.CCTCAGTTCGTCGTTC-L8TX_180712_01_C06,14.309916,2.410851 +10X_cells.CCTCAGTAGGACAGCT-L8TX_180221_01_E09,14.653126,-1.197486 +10X_cells.AGCAGCCTCTATGTGG-L8TX_180221_01_C09,14.606619,2.133987 +Smartseq_cells.SM-GE677_S078_E1-50,17.892107,0.61231613 +Smartseq_cells.LS-15012_S01_E1-50,17.687195,-0.49846786 +Smartseq_cells.LS-15013_S04_E1-50,17.75983,0.5342375 +Smartseq_cells.LS-15013_S05_E1-50,17.821901,0.831102 +Smartseq_cells.LS-15013_S06_E1-50,17.290834,0.5220932 +Smartseq_cells.LS-15014_S01_E1-50,17.925894,2.612718 +Smartseq_cells.LS-15014_S24_E1-50,17.094215,-1.0894693 +Smartseq_cells.LS-15023_S35_E1-50,18.429823,3.9492767 +Smartseq_cells.LS-15309_S50_E1-50,16.69909,-2.3756742 +Smartseq_cells.LS-15314_S17_E2-50,18.073503,0.06693047 +Smartseq_cells.LS-15315_S61_E1-50,18.112206,1.7156665 +Smartseq_cells.LS-15315_S80_E1-50,18.069456,0.8186287 +Smartseq_cells.LS-15320_S73_E2-50,17.866463,0.12638454 +Smartseq_cells.LS-15320_S91_E2-50,17.278175,-1.2104846 +Smartseq_cells.LS-15322_S15_E2-50,17.859898,2.7194586 +Smartseq_cells.LS-15325_S78_E2-50,18.196072,0.53581953 +Smartseq_cells.LS-15329_S27_E1-50,18.21408,1.2056813 +Smartseq_cells.LS-15331_S43_E1-50,18.352232,3.7401478 +Smartseq_cells.LS-15341_S03_E1-50,17.687536,-0.39214072 +Smartseq_cells.LS-15342_S58_E1-50,17.511442,-0.8984945 +Smartseq_cells.LS-15345_S15_E1-50,17.686455,-0.7824719 +Smartseq_cells.LS-15345_S74_E1-50,17.833809,0.4037291 +Smartseq_cells.LS-15358_S44_E1-50,18.0557,1.3689909 +Smartseq_cells.LS-15358_S62_E1-50,17.763626,0.55811524 +Smartseq_cells.LS-15376_S87_E1-50,18.05309,4.837002 +Smartseq_cells.LS-15395_S20_E1-50,17.428837,3.3139338 +Smartseq_cells.LS-15398_S55_E1-50,17.705328,-0.29581958 +Smartseq_cells.LS-15398_S69_E1-50,17.559887,-0.8664067 +Smartseq_cells.LS-15499_S61_E1-50,17.900908,3.7834258 +Smartseq_cells.LS-15499_S66_E1-50,17.883123,1.6044148 +Smartseq_cells.LS-15500_S35_E1-50,17.776688,2.6726198 +Smartseq_cells.LS-15500_S50_E1-50,17.971869,0.08192633 +Smartseq_cells.LS-15500_S53_E1-50,17.717451,3.6082218 +Smartseq_cells.SM-D9D9E_S82_E1-50,18.173058,0.61476964 +10X_cells.GAGCAGATCTAACCGA-L8TX_181012_01_G04,15.346153,2.0623887 +10X_cells.CACACAAGTTTACTCT-L8TX_180829_01_D09,17.015217,0.8359773 +10X_cells.CTACACCTCGATAGAA-L8TX_180829_01_D09,13.894305,0.18683812 +10X_cells.CTCGGAGCAGGGTATG-L8TX_180829_01_D09,15.268901,-3.6251943 +10X_cells.GAAGCAGGTGTTCTTT-L8TX_180829_01_D09,13.9564,1.8481579 +10X_cells.GTCGGGTTCTTGTATC-L8TX_180829_01_D09,14.973476,-1.7606199 +10X_cells.GTGCAGCGTGTCGCTG-L8TX_180829_01_D09,14.912362,2.0690577 +10X_cells.GTTACAGAGATACACA-L8TX_180829_01_D09,15.166194,0.9943029 +10X_cells.ACTTACTGTCCAACTA-L8TX_180829_01_D10,5.4334617,-1.973336 +10X_cells.ATTACTCAGACAGGCT-L8TX_180829_01_D10,14.939207,0.32285085 +10X_cells.GCCAAATAGATGGGTC-L8TX_180829_01_D10,14.892683,0.43621245 +10X_cells.GCGACCAAGAATGTGT-L8TX_180829_01_D10,15.466748,-2.136462 +10X_cells.TATGCCCGTCTCTTTA-L8TX_180829_01_D10,14.593959,1.1943667 +10X_cells.TCAGGATAGGCCCTCA-L8TX_180829_01_D10,15.370641,0.8543777 +10X_cells.TGCCCTATCTGGTGTA-L8TX_180829_01_D10,13.700748,3.131588 +10X_cells.GACACGCTCTGGGCCA-L8TX_180829_01_E10,13.939536,1.8655506 +10X_cells.GAGCAGAGTGCACGAA-L8TX_180829_01_E10,15.170974,-0.36358875 +10X_cells.TGTCCCAGTACAGCAG-L8TX_180829_01_E10,15.42874,0.8112462 +10X_cells.AGGTCCGTCAGTCCCT-L8TX_180907_01_F10,14.304925,2.0796683 +10X_cells.TGCTACCAGGGCATGT-L8TX_180907_01_F10,14.683928,2.877352 +10X_cells.AACCGCGCACCAGTTA-L8TX_180907_01_G10,17.47687,-0.4253201 +10X_cells.ATCACGATCCCAGGTG-L8TX_180907_01_G10,15.409257,-0.06162075 +10X_cells.CGATTGAAGGGATACC-L8TX_180907_01_G10,13.821391,1.6098944 +10X_cells.CTCGGAGGTCAGAAGC-L8TX_180907_01_G10,15.287355,1.3720667 +10X_cells.CTTGGCTAGATGTGGC-L8TX_180907_01_G10,14.983909,0.3532471 +10X_cells.AACTGGTTCGTCCAGG-L8TX_181011_01_G02,15.444156,-2.575015 +10X_cells.GAATGAAGTCTAGAGG-L8TX_181011_01_G02,15.633056,0.6987772 +10X_cells.CAGTCCTCAGTAGAGC-L8TX_181011_01_H02,14.8653755,1.2734367 +10X_cells.TAGTGGTCAACTTGAC-L8TX_181011_01_H02,16.736486,-0.122218035 +10X_cells.TGACTAGGTAAATGTG-L8TX_181011_01_H02,16.569647,2.1991005 +10X_cells.CGGAGCTAGAACTGTA-L8TX_181011_01_C04,15.576137,2.1706688 +10X_cells.GACGTGCTCTCGTATT-L8TX_181011_01_C04,15.999713,2.8777492 +10X_cells.AACTCTTCAAGTTAAG-L8TX_181012_01_G04,16.19209,0.14516342 +10X_cells.AGACGTTGTGGTCTCG-L8TX_181012_01_G04,15.096923,-2.2295547 +10X_cells.AGTGTCATCCAGGGCT-L8TX_181012_01_G04,15.273016,0.055790454 +10X_cells.CATCGGGAGTACGATA-L8TX_181012_01_G04,16.027235,2.1761808 +10X_cells.CTTTGCGCATTTGCCC-L8TX_181012_01_G04,16.450338,1.2738508 +10X_cells.GTGTTAGGTAATAGCA-L8TX_181012_01_G04,15.121457,-0.6237643 +10X_cells.TCTGAGAAGAGGTACC-L8TX_181012_01_G04,15.89468,-1.0938983 +10X_cells.TTAGGACTCATTGCCC-L8TX_181012_01_G04,16.189579,-0.18603058 +10X_cells.CAGCCGACAGTCAGAG-L8TX_181012_01_H04,15.696841,1.1227121 +10X_cells.CCTTACGGTAGCGTAG-L8TX_181012_01_H04,16.304565,3.4616563 +10X_cells.CGGTTAAAGTGCCATT-L8TX_181012_01_H04,15.511476,-0.16354844 +10X_cells.GGAACTTAGGCTCTTA-L8TX_181012_01_H04,15.593997,-0.841176 +10X_cells.CAGCTAAAGGGTGTTG-L8TX_181012_01_E05,14.207583,1.9367946 +10X_cells.GACGGCTTCGAATGCT-L8TX_181012_01_E05,17.371485,4.4847054 +10X_cells.GTCATTTCAATGGTCT-L8TX_181012_01_E05,16.517195,3.0146806 +10X_cells.GTGCGGTAGATGTTAG-L8TX_181012_01_E05,16.466013,1.8310238 +10X_cells.TTGACTTGTGACGGTA-L8TX_181012_01_E05,15.184156,-0.22558974 +Smartseq_cells.SM-GE5VH_S269_E1-50,17.44566,1.712993 +10X_cells.TAGAGCTCAAACTGTC-L8TX_180406_01_E02,14.87446,1.514028 +10X_cells.CCGTACTGTAGTGAAT-L8TX_171026_01_B05,16.588707,0.39384642 +10X_cells.CAGCAGCAGAAACCTA-L8TX_171026_01_H03,15.389283,-2.2527661 +10X_cells.TGTCCCAGTTCGCTAA-L8TX_171026_01_G04,17.022366,0.19660112 +10X_cells.ACTGCTCTCTCAAACG-L8TX_171026_01_E05,17.512865,2.0607944 +10X_cells.GGCAATTGTGCTAGCC-L8TX_171026_01_A04,16.640167,-0.72338265 +10X_cells.CACCAGGGTGAGTGAC-L8TX_171026_01_F05,15.555772,-1.2303437 +10X_cells.TAGAGCTGTGCGAAAC-L8TX_171026_01_E05,17.642344,0.55098253 +10X_cells.TTTGTCAGTTCAGTAC-L8TX_171026_01_E05,18.58583,3.7983801 +10X_cells.TACTCATTCGACAGCC-L8TX_171026_01_H03,16.243853,2.2243285 +10X_cells.CGAGCACTCTAACCGA-L8TX_171026_01_F04,16.329168,-0.20595236 +10X_cells.GTAACTGAGAACTCGG-L8TX_171026_01_B05,17.286278,-1.4247739 +10X_cells.AGTTGGTCACTTCTGC-L8TX_171026_01_F03,15.875714,0.7643674 +10X_cells.GACCTGGTCAACACGT-L8TX_171026_01_H04,15.800588,2.6581085 +10X_cells.TGGTTCCTCTAGAGTC-L8TX_171026_01_G04,18.162405,2.152829 +10X_cells.GATGAAATCTACTCAT-L8TX_171026_01_G05,16.76764,-0.6100494 +10X_cells.GTGTGCGAGACGCACA-L8TX_171026_01_B04,18.328093,4.199575 +10X_cells.AAAGTAGAGCGCTCCA-L8TX_171026_01_G03,15.363517,0.22955629 +10X_cells.TAGTGGTGTTACAGAA-L8TX_171026_01_G04,17.923504,2.3805332 +10X_cells.CTGATCCTCAGTCAGT-L8TX_171026_01_G03,16.024912,1.974715 +10X_cells.GTGGGTCAGTGTACCT-L8TX_171026_01_B04,14.843027,0.68734723 +10X_cells.GTGTGCGTCAACACTG-L8TX_171026_01_H03,15.401593,0.27826992 +10X_cells.TTCTTAGAGTGTACGG-L8TX_171026_01_D05,15.700065,1.9677281 +10X_cells.ACGATACGTCTAGTGT-L8TX_171026_01_G04,15.3621235,-0.55409193 +10X_cells.GATGAGGCAGATCGGA-L8TX_171026_01_B05,4.911164,-2.537196 +10X_cells.ATCATCTTCATGCTCC-L8TX_171026_01_H04,13.8385725,0.08952342 +10X_cells.AGGCCACGTGTGTGCC-L8TX_171026_01_E05,13.737619,3.5135407 +10X_cells.CATCGGGTCGGCATCG-L8TX_171026_01_A04,18.241041,3.045832 +10X_cells.ATAAGAGTCAGTGCAT-L8TX_171026_01_A05,15.854946,-0.9717925 +10X_cells.ACACTGATCCGCAGTG-L8TX_171026_01_E05,16.115198,2.0514522 +10X_cells.ATCGAGTTCGCGGATC-L8TX_171026_01_C05,15.244603,-0.6364329 +10X_cells.TGTCCCACATAGAAAC-L8TX_171026_01_A05,17.718437,2.3196285 +10X_cells.GCGCAACGTGTTCTTT-L8TX_171026_01_F03,16.34921,1.2601343 +10X_cells.ACCCACTTCCCAGGTG-L8TX_171026_01_D05,15.614909,2.7513478 +10X_cells.GCATGCGCAGGAACGT-L8TX_171026_01_H03,17.526825,4.442844 +10X_cells.TTAGTTCGTTCAGACT-L8TX_171026_01_F03,15.996134,-2.0615554 +10X_cells.TGGCGCAGTAGCTCCG-L8TX_171026_01_E05,15.340175,-2.1854832 +10X_cells.GAAATGACATTCCTGC-L8TX_171026_01_E05,17.120893,-1.6342385 +10X_cells.CGGCTAGCAACACCCG-L8TX_171026_01_F05,15.970504,0.7306476 +10X_cells.CTGAAACTCTTTACGT-L8TX_171026_01_G04,18.298536,4.574954 +10X_cells.CTCGAAAAGCCTCGTG-L8TX_171026_01_G03,16.661257,0.80783504 +10X_cells.CGGGTCACAACTGGCC-L8TX_171026_01_G04,17.980764,1.8361346 +10X_cells.TGCCAAAGTCTCTTTA-L8TX_171026_01_B05,16.393261,1.6700673 +10X_cells.CCTTCCCTCCGCTGTT-L8TX_171026_01_A04,15.803187,3.4015546 +10X_cells.CAGCCGATCACCACCT-L8TX_171026_01_H05,15.153676,2.9860837 +10X_cells.GTATTCTTCGGATGTT-L8TX_171026_01_A05,16.992216,3.6686502 +10X_cells.CAGAGAGGTAGATTAG-L8TX_171026_01_C05,14.944901,0.9395131 +10X_cells.CTCACACTCTCGTTTA-L8TX_171026_01_H04,15.462254,-3.327858 +10X_cells.AGCTCCTAGGCGCTCT-L8TX_171026_01_C05,17.040537,-0.3269637 +10X_cells.CCTAAAGGTGGTCTCG-L8TX_171026_01_B04,16.034124,3.800242 +10X_cells.GTCTTCGGTTGTGGCC-L8TX_171026_01_F03,17.25345,0.9257087 +10X_cells.GGCAATTGTGTGTGCC-L8TX_171026_01_F05,13.446289,2.3957074 +10X_cells.GTTTCTAGTCATCCCT-L8TX_171026_01_A05,16.70378,0.7382671 +10X_cells.CGTAGGCCATTACCTT-L8TX_171026_01_F03,15.31274,1.8834157 +10X_cells.CTACACCCATCGTCGG-L8TX_171026_01_H03,16.142809,3.0681098 +10X_cells.GATGAAATCACTCTTA-L8TX_171026_01_H05,16.117226,-0.5018633 +10X_cells.AATCGGTCATATACGC-L8TX_171026_01_H03,15.3475275,-2.2476413 +10X_cells.CCTAGCTGTTTCGCTC-L8TX_171026_01_A05,15.245467,-2.4433436 +10X_cells.CTCGGAGGTCTTCGTC-L8TX_171026_01_H03,15.623598,0.75309324 +10X_cells.CGGCTAGTCACATAGC-L8TX_171026_01_F03,15.529529,-2.8002367 +10X_cells.ATTGGACTCGCTAGCG-L8TX_171026_01_H05,16.32103,-2.3110838 +10X_cells.GGTGTTAAGATGTTAG-L8TX_171026_01_A05,14.741455,-3.8606875 +10X_cells.CGGTTAACACCAGGCT-L8TX_171026_01_H03,14.928902,-3.3299565 +10X_cells.CGTGTCTAGCTCCTCT-L8TX_171026_01_H04,14.828811,0.26984236 +Smartseq_cells.LS-15501_S81_E1-50,17.351206,-1.0467138 +Smartseq_cells.LS-15538_S52_E1-50,18.082352,0.319365 +Smartseq_cells.SM-D9EQF_S89_E1-50,18.49918,3.8530257 +Smartseq_cells.SM-DD43R_S09_E1-50,17.562265,3.636871 +Smartseq_cells.SM-DD44L_S19_E1-50,17.107273,-1.0809052 +Smartseq_cells.SM-GE935_S037_E1-50,17.27183,3.9916074 +Smartseq_cells.SM-GE935_S094_E1-50,17.598064,-0.013753073 +Smartseq_cells.SM-GE92H_S018_E1-50,17.634853,-0.19193381 +Smartseq_cells.SM-GE92H_S171_E1-50,16.922451,-1.818276 +Smartseq_cells.SM-GE92H_S230_E1-50,16.035349,-2.8351188 +Smartseq_cells.SM-GE92H_S247_E1-50,16.15456,-2.8101025 +Smartseq_cells.SM-GE92H_S384_E1-50,18.349257,3.7821717 +Smartseq_cells.SM-GE92I_S022_E1-50,15.167012,-4.0063415 +Smartseq_cells.SM-GE92I_S087_E1-50,18.362053,2.7705715 +Smartseq_cells.SM-GE92I_S104_E1-50,16.37627,-2.7076037 +Smartseq_cells.SM-GE92I_S125_E1-50,15.821088,-3.2366316 +Smartseq_cells.SM-GE92I_S132_E1-50,17.84064,0.105301835 +10X_cells.GAACATCAGCCAGAAC-L8TX_181206_01_H11,15.658504,-3.5243843 +10X_cells.GTTCGGGGTGCCTGTG-L8TX_181206_01_H11,15.001861,-2.2876053 +10X_cells.CCGTGGACAGCCACCA-L8TX_181206_01_H11,15.1180725,1.5561181 +10X_cells.GGGATGAGTAGCAAAT-L8TX_181206_01_H11,15.649483,-1.2064744 +10X_cells.GTATTCTGTTATGTGC-L8TX_181206_01_H11,15.539637,0.726692 +10X_cells.ACAGCTAGTCCTCCAT-L8TX_181206_01_A12,15.971812,-0.79359585 +10X_cells.CTCGTCAAGTGAAGTT-L8TX_181206_01_A12,15.155865,0.8576833 +10X_cells.GCGACCAGTCCCTTGT-L8TX_181206_01_A12,14.94483,0.6906872 +10X_cells.TTGTAGGTCCTAGGGC-L8TX_181206_01_A12,15.072678,-1.9181428 +10X_cells.ACGGAGATCAAACCGT-L8TX_181206_01_B12,14.453396,0.90690666 +10X_cells.CAAGTTGCACCACGTG-L8TX_181206_01_B12,15.71985,1.5065012 +10X_cells.CGATCGGAGCGTAGTG-L8TX_181206_01_B12,14.861243,0.07747264 +10X_cells.GATCTAGGTGTTGAGG-L8TX_181206_01_B12,15.359475,-0.3166169 +10X_cells.GTTAAGCCAATGAAAC-L8TX_181206_01_B12,15.0589905,-2.4510467 +10X_cells.TGAGAGGGTACCTACA-L8TX_181206_01_B12,15.20478,-0.30339226 +10X_cells.ACGGAGAGTGCCTTGG-L8TX_181206_01_C12,17.296309,1.2388486 +10X_cells.CAGCCGAAGTTTGCGT-L8TX_181206_01_C12,15.6329155,-0.5664428 +10X_cells.CGTTCTGAGACTGGGT-L8TX_181206_01_C12,15.873855,-0.48289213 +10X_cells.CTGATCCAGGGAAACA-L8TX_181206_01_C12,15.468131,1.4673151 +10X_cells.GTATTCTGTAGTAGTA-L8TX_181206_01_C12,17.642612,1.3363538 +10X_cells.TACCTATAGACTACAA-L8TX_181206_01_C12,16.110083,-0.8224196 +10X_cells.TGGCGCACATTTCACT-L8TX_181206_01_C12,15.552185,-1.0543808 +10X_cells.ACTGAACAGCACCGCT-L8TX_181206_01_D12,15.316625,-1.1387714 +10X_cells.ACTTGTTGTCAAGCGA-L8TX_181206_01_D12,14.83721,-2.8027062 +10X_cells.CAAGAAAAGTTGCAGG-L8TX_181206_01_D12,15.67937,-0.37917578 +10X_cells.CGCTATCTCGGAAACG-L8TX_181206_01_D12,14.936671,0.22918794 +10X_cells.TCTTCGGGTGTTAAGA-L8TX_181206_01_D12,14.785529,1.8548838 +10X_cells.ACAGCTAGTGTTTGGT-L8TX_181206_01_F12,14.57109,-0.5350069 +10X_cells.ACTGATGGTGCCTGTG-L8TX_181206_01_F12,14.4741535,-1.0818247 +10X_cells.ATTGGACGTTGGTAAA-L8TX_181206_01_F12,14.292172,1.2734427 +10X_cells.CAGTAACTCGAATCCA-L8TX_181206_01_F12,14.121066,1.1476088 +10X_cells.GATTCAGGTCGGATCC-L8TX_181206_01_F12,14.501668,-1.5453019 +10X_cells.GGACAAGCAGTTTACG-L8TX_181206_01_F12,15.315554,-0.80000734 +10X_cells.TCGCGAGAGACAATAC-L8TX_181206_01_F12,15.015687,-1.1044264 +10X_cells.TGAGAGGCATGACGGA-L8TX_181206_01_F12,13.855069,1.6473932 +10X_cells.TGGGCGTTCCTTTCGG-L8TX_181206_01_F12,14.88118,0.83559656 +10X_cells.CTCACACCACAAGCCC-L8TX_181206_01_E12,17.497776,-1.0189409 +10X_cells.TCTCTAAAGCACGCCT-L8TX_180406_01_B01,15.995826,2.0215755 +10X_cells.CGTGTCTGTTCCACTC-L8TX_180406_01_B02,14.828684,1.544286 +Smartseq_cells.SM-GE66Z_S366_E1-50,11.274821,-4.006039 +Smartseq_cells.SM-GE671_S253_E1-50,17.405712,1.7839266 +Smartseq_cells.SM-GE8Z8_S013_E1-50,17.893095,2.9035842 +10X_cells.GATTCAGAGCTAGTCT-L8TX_180221_01_F10,14.021548,2.8132257 +10X_cells.GTGCATAGTCCTGCTT-L8TX_180221_01_H10,16.352434,3.9248462 +10X_cells.GAAGCAGTCCTGTACC-L8TX_180221_01_F10,16.085688,3.7802594 +10X_cells.CGTCACTAGCCCGAAA-L8TX_190312_01_G02,17.383375,0.541548 +10X_cells.GTTCTCGCATAGACTC-L8TX_180221_01_A11,14.393504,3.608251 +10X_cells.GTGCGGTAGTGTTGAA-L8TX_180221_01_G10,15.4046955,1.0783985 +10X_cells.GGAACTTTCTGGTATG-L8TX_180221_01_E10,15.843023,2.1365213 +10X_cells.CAGTCCTGTTAAGAAC-L8TX_180221_01_F10,13.988631,2.5844567 +10X_cells.ACTTGTTTCCTCGCAT-L8TX_180221_01_E10,15.1031475,3.4021127 +10X_cells.AGTGAGGTCTCAAGTG-L8TX_180221_01_E10,13.368356,2.989195 +10X_cells.TCAGCTCCACGCTTTC-L8TX_180221_01_D10,15.199359,3.3397748 +10X_cells.CTGGTCTTCACGAAGG-L8TX_180221_01_D10,14.2431555,3.2628667 +10X_cells.CCGTACTCATGGTCAT-L8TX_180221_01_F10,15.900041,-0.6619636 +10X_cells.GTGGGTCGTACGCTGC-L8TX_180221_01_E10,15.252639,-2.5739539 +10X_cells.ATCTACTTCTCGCATC-L8TX_180221_01_F10,16.109482,3.9542253 +10X_cells.CGGGTCATCCACTGGG-L8TX_180221_01_F10,15.714385,4.5885305 +10X_cells.GCGCAGTCAGCATGAG-L8TX_190312_01_D02,14.849045,3.2680905 +10X_cells.GACCAATTCTCCTATA-L8TX_180221_01_H10,17.35384,2.8451896 +10X_cells.CTAGCCTAGCGCTTAT-L8TX_190312_01_G02,13.869698,1.9542407 +10X_cells.TTTGCGCGTGAGGGTT-L8TX_190312_01_C02,17.885326,0.45868626 +10X_cells.CACACAACAGAAGCAC-L8TX_190312_01_C02,17.293556,2.710266 +10X_cells.GTGTGCGAGTTAGGTA-L8TX_180221_01_E10,17.25738,1.3903776 +10X_cells.GGACAAGAGTTCCACA-L8TX_180221_01_D10,13.950378,2.3225002 +10X_cells.CAGCTGGCATCGGGTC-L8TX_180221_01_E10,15.698693,3.9052374 +10X_cells.TAGGCATAGTGTACGG-L8TX_180221_01_G10,15.065052,-0.5303621 +10X_cells.GGACAGAGTAAACACA-L8TX_180221_01_E10,14.662414,1.7374108 +10X_cells.TAGTTGGTCGCTTAGA-L8TX_180221_01_A11,14.703526,2.923131 +10X_cells.GTACTTTGTTGACGTT-L8TX_190312_01_D02,15.194929,3.7921312 +10X_cells.TACTCGCGTGCATCTA-L8TX_190312_01_B02,15.985213,3.749312 +10X_cells.TTTGGTTAGTGGGTTG-L8TX_190312_01_C02,15.398463,2.1686177 +10X_cells.CCTTCCCGTACGACCC-L8TX_180221_01_F10,17.275635,3.5665908 +10X_cells.ATGCGATGTACGCTGC-L8TX_180221_01_H10,14.128886,4.1232214 +10X_cells.CAGCAGCAGGAGTACC-L8TX_180221_01_F10,17.765467,-0.21072935 +10X_cells.TTGGCAAAGGTGGGTT-L8TX_190312_01_C02,17.126982,4.0522346 +10X_cells.GTGAAGGAGACGCAAC-L8TX_190312_01_B02,14.676185,2.1115608 +10X_cells.GTCGTAAAGAGCTTCT-L8TX_180221_01_E10,16.79187,3.3940415 +10X_cells.TCTGGAACAAGTTGTC-L8TX_180221_01_H10,16.952805,-0.27102235 +10X_cells.GCGCCAAAGACAGGCT-L8TX_180221_01_E10,16.07808,2.5651536 +10X_cells.ATCATCTTCACAGGCC-L8TX_180221_01_D10,15.7778425,1.7392682 +10X_cells.TGGGAAGCATCGATGT-L8TX_180221_01_D10,15.567288,3.8156064 +10X_cells.TGCGCAGCAACACGCC-L8TX_180221_01_E10,14.700802,3.5428026 +10X_cells.CAGCGACGTCGCCATG-L8TX_180221_01_G10,14.151184,2.439868 +10X_cells.AGCTCCTTCACAGTAC-L8TX_180221_01_D10,15.807748,3.8048165 +10X_cells.GCGACCACAGATGGGT-L8TX_190312_01_G02,15.385994,2.1810844 +10X_cells.TTTATGCCAGGCTGAA-L8TX_180221_01_G10,17.071077,0.65018034 +10X_cells.GATGCTACAAGGGTCA-L8TX_181012_01_B05,14.86743,-1.4705724 +10X_cells.ACTGAACAGAAGGTGA-L8TX_180907_01_B11,14.575738,1.4725363 +10X_cells.ATCACGAGTCAACATC-L8TX_180907_01_B11,14.874378,3.0104744 +10X_cells.CAAGATCTCACTTACT-L8TX_180907_01_B11,17.597439,2.6360278 +10X_cells.CTACATTTCATAACCG-L8TX_180907_01_B11,14.799014,-1.111827 +10X_cells.CTCTGGTCAGTTAACC-L8TX_180907_01_B11,15.305788,-2.9735894 +10X_cells.GCGAGAAAGGCTAGCA-L8TX_180907_01_B11,17.148018,2.3815985 +10X_cells.TACTCGCTCGTTACGA-L8TX_180907_01_B11,16.208517,0.15595885 +10X_cells.TTATGCTGTAGCCTCG-L8TX_180907_01_B11,16.668127,2.0219986 +10X_cells.ATCTGCCAGATGTGTA-L8TX_180926_01_E12,16.193367,0.99004775 +10X_cells.CACACAAAGGCCCTTG-L8TX_181012_01_B05,16.658682,0.0619301 +10X_cells.CGGGTCAGTACGAAAT-L8TX_181012_01_B05,15.805976,-0.8739299 +10X_cells.CTCAGAAAGATAGGAG-L8TX_181012_01_B05,14.396516,1.4160401 +10X_cells.GAATAAGGTTCCCGAG-L8TX_181012_01_B05,14.53249,-0.77225757 +10X_cells.GTAACGTCACCGCTAG-L8TX_181012_01_B05,14.804891,-0.37000242 +10X_cells.TGACAACAGCCCGAAA-L8TX_181012_01_B05,15.610816,1.1367091 +10X_cells.CAGATCATCATCGATG-L8TX_181012_01_C05,15.567738,0.5860148 +10X_cells.GGATGTTAGTTAGGTA-L8TX_181012_01_C05,15.388414,-1.1154026 +10X_cells.TGAGCATCACCTATCC-L8TX_181012_01_C05,15.639485,1.5438781 +Smartseq_cells.SM-GE95K_S111_E1-50,17.919506,3.3434463 +Smartseq_cells.SM-GE8XN_S289_E1-50,17.632626,1.6453323 +10X_cells.ACCTTTATCTTTCCTC-L8TX_180221_01_B11,14.257168,1.4953487 +10X_cells.CCTTCCCCAACACGCC-L8TX_180221_01_B11,13.997501,0.5473163 +10X_cells.CGATCGGTCCGCAGTG-L8TX_180221_01_B11,16.176403,2.1766715 +10X_cells.GACGTTATCGTCTGCT-L8TX_180221_01_B11,13.924481,1.2914703 +10X_cells.GCTTGAAAGCCCAACC-L8TX_180221_01_B11,13.930408,-1.5179244 +10X_cells.AAAGTAGAGGTGATAT-L8TX_180221_01_C11,17.160074,1.4579788 +10X_cells.CTTAGGAGTACTTCTT-L8TX_180221_01_C11,15.365407,-2.4656267 +10X_cells.TGGGCGTCATGACATC-L8TX_180221_01_C11,16.375998,0.29950768 +10X_cells.CACAAACCACATCCAA-L8TX_180221_01_D11,14.183254,-0.59381455 +10X_cells.CACACCTAGTTTGCGT-L8TX_180221_01_D11,15.7437525,1.9844276 +10X_cells.CACAGTATCTCATTCA-L8TX_180221_01_D11,15.186333,0.73339194 +10X_cells.CCGTACTGTGTGAATA-L8TX_180221_01_D11,14.101274,1.2552567 +10X_cells.CGTTAGATCACCGTAA-L8TX_180221_01_D11,14.709683,0.2139939 +10X_cells.CTTGGCTAGAGTACAT-L8TX_180221_01_D11,13.63241,-1.4575782 +10X_cells.GATGAAACACCAGGCT-L8TX_180221_01_D11,15.98906,-1.3426684 +10X_cells.GGTGCGTAGTCGTTTG-L8TX_180221_01_D11,13.568518,-0.5925134 +10X_cells.TAAGAGAGTAGGCATG-L8TX_180221_01_D11,14.408884,-0.5200887 +10X_cells.TTAGTTCGTAAGTAGT-L8TX_180221_01_D11,14.088014,0.77025557 +10X_cells.CGAACATTCCTTCAAT-L8TX_180221_01_E11,13.967431,1.738228 +10X_cells.CCTATTATCACATACG-L8TX_180221_01_F11,15.304649,-2.3659837 +10X_cells.TAGTTGGTCGTACGGC-L8TX_180221_01_F11,17.266417,2.6793928 +10X_cells.TGGTTAGAGCTGATAA-L8TX_180221_01_F11,14.08971,0.8286388 +10X_cells.CCACTACCAATGGAGC-L8TX_180221_01_G11,16.3778,3.036651 +10X_cells.CCTACCAAGTCCAGGA-L8TX_180221_01_G11,16.74796,1.4254282 +10X_cells.GCATACAGTAGCGCTC-L8TX_180221_01_G11,15.087809,2.396801 +10X_cells.GTGAAGGTCTAGCACA-L8TX_180221_01_G11,17.831446,4.301729 +10X_cells.GTTCGGGGTCAGGACA-L8TX_180221_01_G11,15.68214,0.80308485 +10X_cells.GGGCATCGTAAGCACG-L8TX_190312_01_E02,17.714998,0.70844024 +10X_cells.CACAGGCAGAAGGTGA-L8TX_190312_01_F02,17.771023,3.2013533 +10X_cells.CCACCTACATGCTAGT-L8TX_190312_01_H02,15.79281,3.7906764 +Smartseq_cells.SM-GE67O_S350_E1-50,17.155983,-1.6447911 +10X_cells.TGCCCATAGTTCGCGC-L8TX_180907_01_H11,15.45979,1.6053267 +10X_cells.TAGCCGGTCGTCCGTT-L8TX_180907_01_G11,16.82827,2.2859054 +10X_cells.AGGCCGTCATAGTAAG-L8TX_180907_01_H11,14.998431,-0.4350172 +10X_cells.GACCAATGTGCAACTT-L8TX_180907_01_H11,15.927381,0.7830146 +10X_cells.TGGGCGTAGCTTATCG-L8TX_180907_01_H11,14.812878,0.72963536 +10X_cells.AAACCTGGTAGCGCAA-L8TX_180907_01_A12,15.821022,-2.0162008 +10X_cells.TGCACCTGTTACCAGT-L8TX_180907_01_A12,15.7886915,0.85949314 +10X_cells.TTCTACAGTAGGGACT-L8TX_180907_01_A12,14.8525,-3.8851924 +10X_cells.ACTGATGGTTGGGACA-L8TX_180907_01_B12,15.589442,-1.68154 +10X_cells.AGTGGGAAGGCAAAGA-L8TX_180907_01_B12,15.0125675,-3.223557 +10X_cells.CATGCCTAGCTAACTC-L8TX_180907_01_B12,16.704342,1.9327772 +10X_cells.ACGGCCAGTTAAGACA-L8TX_180907_01_E11,16.277874,-2.9607387 +10X_cells.ATCACGATCACAACGT-L8TX_180907_01_E11,14.562518,0.8290251 +10X_cells.TACACGATCCTATTCA-L8TX_180907_01_E11,14.850729,-1.1523649 +10X_cells.TGCCAAAAGATCCGAG-L8TX_180907_01_E11,13.617119,-0.032983392 +10X_cells.TTGGCAATCTTCTGGC-L8TX_180907_01_E11,13.913546,0.002759395 +10X_cells.CTCAGAACAAACGTGG-L8TX_190312_01_D01,15.624115,0.73926896 +Smartseq_cells.LS-15501_S67_E1-50,17.423191,-1.061825 +Smartseq_cells.LS-15501_S69_E1-50,18.191385,2.0139406 +Smartseq_cells.SM-DD43Q_S20_E1-50,17.1112,3.9022288 +Smartseq_cells.SM-DD443_S26_E1-50,17.726826,0.000796407 +Smartseq_cells.SM-DD44A_S56_E1-50,17.912455,3.4314418 +Smartseq_cells.SM-GE5UR_S104_E1-50,18.099543,2.883512 +Smartseq_cells.SM-GE5UR_S307_E1-50,16.789938,-2.2418292 +Smartseq_cells.SM-GE5US_S302_E1-50,17.678015,1.8353863 +Smartseq_cells.SM-GE5UT_S247_E1-50,18.242393,3.7430222 +10X_cells.GTGTTAGTCAGTCCCT-L8TX_180926_01_F01,16.690998,4.2887692 +10X_cells.AAAGCAAGTTTACTCT-L8TX_180926_01_E01,16.474459,1.7269329 +10X_cells.AGGGATGTCCCAACGG-L8TX_180926_01_B01,14.881522,2.3213437 +10X_cells.CATTCGCCATCGATTG-L8TX_180926_01_B01,14.351998,3.0969381 +10X_cells.GCCAAATAGACTAGGC-L8TX_180926_01_B01,5.045251,-2.169351 +10X_cells.CCTACCAAGGGCATGT-L8TX_180926_01_D01,15.1844015,1.2813137 +10X_cells.GCTCCTAAGACGACGT-L8TX_180926_01_D01,13.545229,3.206052 +10X_cells.TACCTTAAGAAAGTGG-L8TX_180926_01_D01,15.016214,-2.8216264 +10X_cells.TTTACTGCATTGAGCT-L8TX_180926_01_D01,17.083021,3.1366978 +10X_cells.GCACTCTCATATGCTG-L8TX_180926_01_F01,17.25465,-0.106547035 +10X_cells.CACAGGCAGCAATCTC-L8TX_181011_01_B03,15.75096,3.8420963 +10X_cells.CCCAATCAGTGTCCCG-L8TX_181011_01_B03,13.014805,2.4176004 +10X_cells.GAATGAAAGTACGTAA-L8TX_181011_01_B03,13.902474,2.8576972 +10X_cells.GAGCAGACAATACGCT-L8TX_181011_01_C03,14.760913,2.1089785 +10X_cells.GCTTGAACACAGACAG-L8TX_181011_01_C03,16.545694,-0.18218051 +10X_cells.AGTTGGTTCACGAAGG-L8TX_181011_01_H03,15.032426,2.8842137 +10X_cells.CCACCTAGTAATTGGA-L8TX_181011_01_H03,15.853639,3.4370105 +Smartseq_cells.SM-GE914_S374_E1-50,18.07766,1.5973525 +10X_cells.ACTTGTTGTAACGCGA-L8TX_180221_01_C12,14.454896,2.511382 +10X_cells.AAGTCTGTCTTGAGGT-L8TX_180712_01_E05,14.7346325,2.7812755 +10X_cells.CCTTTCTGTTGAACTC-L8TX_180712_01_E05,14.437782,2.5550513 +10X_cells.GTGGGTCCATGCTGGC-L8TX_180712_01_E05,16.386482,1.4032319 +10X_cells.CATTCGCAGACGCACA-L8TX_180712_01_F05,16.670532,1.1094517 +10X_cells.TTAGGACAGCTAGCCC-L8TX_180712_01_F05,15.325816,0.26392308 +10X_cells.AAGCCGCCAGACAGGT-L8TX_180712_01_H05,16.115873,2.8787618 +10X_cells.ACATGGTGTCTGCGGT-L8TX_180712_01_H05,15.168544,2.4737613 +10X_cells.ATCATCTTCGGCGGTT-L8TX_180712_01_H05,16.405773,2.4160352 +10X_cells.GTAGGCCTCCTAAGTG-L8TX_180712_01_H05,16.435698,-1.3029482 +10X_cells.ACGCAGCGTGTATGGG-L8TX_180712_01_A06,16.324196,2.2716885 +10X_cells.AGCGGTCGTTGTACAC-L8TX_180712_01_A06,16.445574,2.1106923 +10X_cells.AGTGTCACACAGATTC-L8TX_180712_01_A06,16.568256,2.1808124 +10X_cells.CGAGCACCACGCGAAA-L8TX_180712_01_A06,16.182728,2.4243329 +10X_cells.CTCGGGAAGTCTCCTC-L8TX_180712_01_A06,16.262978,2.0707307 +10X_cells.GCGCAACGTGACAAAT-L8TX_180712_01_A06,14.726318,3.7761734 +10X_cells.GGCGACTGTCTAACGT-L8TX_180712_01_A06,16.670666,0.4513485 +10X_cells.GGGCACTTCGTGGTCG-L8TX_180712_01_A06,16.472914,1.7006121 +10X_cells.TGAGCCGCATAACCTG-L8TX_180712_01_A06,14.854531,2.9569776 +10X_cells.CAGTAACGTGTGCCTG-L8TX_180504_01_E01,15.011492,3.6981788 +10X_cells.CATCGGGCAGCAGTTT-L8TX_180504_01_E01,15.464987,3.1340017 +10X_cells.GACGCGTGTCTGCGGT-L8TX_180504_01_E01,13.784477,1.4453542 +10X_cells.GCCTCTATCGCAAACT-L8TX_180504_01_E01,17.212624,3.8234537 +10X_cells.GCGCAGTGTAGGGACT-L8TX_180504_01_E01,15.627291,3.0785904 +10X_cells.GGATGTTAGTCAAGCG-L8TX_180504_01_E01,15.929014,4.194859 +10X_cells.TGCCCATCACATGTGT-L8TX_180504_01_E01,16.042288,0.456429 +10X_cells.TGGACGCCATATACCG-L8TX_180504_01_E01,14.856662,3.5714068 +10X_cells.AGCTTGATCGTCACGG-L8TX_180221_01_A12,13.771699,2.574588 +10X_cells.GTTCATTAGGAGCGAG-L8TX_180221_01_A12,13.932695,1.9294761 +10X_cells.CGATGGCGTGGTAACG-L8TX_180221_01_B12,14.027158,1.7937752 +10X_cells.TGTCCCAAGATGGCGT-L8TX_180221_01_B12,15.017198,-1.5830886 +10X_cells.ACGGGCTTCTGATTCT-L8TX_180221_01_C12,14.045455,-0.2490808 +10X_cells.AGCTTGACACATCCGG-L8TX_180221_01_C12,16.693033,0.5303721 +10X_cells.AGGTCCGGTCACTTCC-L8TX_180221_01_C12,13.159696,2.4225833 +10X_cells.AGTGTCAGTTGGTGGA-L8TX_180221_01_C12,14.11775,2.1529608 +10X_cells.CGTTCTGTCAGTGCAT-L8TX_180221_01_C12,14.61537,2.5330954 +10X_cells.CTCGAGGTCGCCTGAG-L8TX_180221_01_C12,14.373024,2.53742 +10X_cells.TAAACCGGTGATGTCT-L8TX_180221_01_C12,15.549205,0.22277108 +10X_cells.ACATGGTGTTCAACCA-L8TX_180221_01_D12,13.423243,3.1681254 +10X_cells.CGTTAGATCAACGGCC-L8TX_180221_01_D12,14.27568,3.2056236 +10X_cells.GCGGGTTTCTACTCAT-L8TX_180221_01_D12,14.544257,-1.2130004 +10X_cells.TTCGGTCAGACCCACC-L8TX_180221_01_D12,14.819887,2.9214282 +10X_cells.TTGCCGTCAACTGCGC-L8TX_180221_01_D12,14.784439,1.9343791 +10X_cells.GTACTCCAGCAAATCA-L8TX_180221_01_H11,14.108796,0.5544204 +10X_cells.AGCTCCTTCCCTTGTG-L8TX_200611_02_A05,16.004955,4.3730235 +10X_cells.CCTTTCTAGGCGACAT-L8TX_200611_02_A05,14.469257,3.8885484 +10X_cells.GTGCATAGTCACCTAA-L8TX_200611_02_A05,16.002253,3.4664524 +10X_cells.CATCAAGCAAGCTGAG-L8TX_180115_01_B11,16.407574,2.677041 +10X_cells.AGCTTGAGTAGCGTCC-L8TX_180115_01_A09,15.459703,1.4424357 +10X_cells.GGTGTTAAGGAATCGC-L8TX_180115_01_E11,13.829114,1.6104063 +10X_cells.CTCATTAGTGCGCTTG-L8TX_180115_01_F09,14.608192,-0.5722553 +10X_cells.CTGAAACCAGCCAATT-L8TX_180115_01_E11,14.964082,1.038735 +10X_cells.GGTGTTATCGGATGTT-L8TX_180115_01_H11,16.375208,3.5755608 +10X_cells.CGCTGGAAGGATGGTC-L8TX_180115_01_G10,14.651521,1.0046624 +10X_cells.ACACCGGCACAGACAG-L8TX_180115_01_A11,16.091665,2.1705973 +10X_cells.CTTCTCTGTCCGCTGA-L8TX_180115_01_D11,17.18271,4.949007 +10X_cells.GGACATTCAGGTTTCA-L8TX_180115_01_G11,16.015978,1.679468 +10X_cells.GTTCTCGGTCCGAATT-L8TX_180115_01_A11,17.346613,1.7292476 +10X_cells.TGACTAGCATAAGACA-L8TX_180115_01_E11,16.498625,2.5064306 +10X_cells.AACTTTCCACATTCGA-L8TX_180115_01_C11,16.99199,2.1904807 +10X_cells.ATCGAGTCAGGGTATG-L8TX_180115_01_H11,16.773129,1.7220227 +10X_cells.AACTCTTCAACACGCC-L8TX_180115_01_A11,15.79121,-1.7532357 +10X_cells.GACGTGCGTAGTGAAT-L8TX_180115_01_B10,15.242228,0.79350704 +10X_cells.CGACCTTCACCATGTA-L8TX_180115_01_E10,15.562124,1.5150433 +10X_cells.ATTATCCCAAGTAGTA-L8TX_180115_01_B11,14.187133,-1.5724095 +10X_cells.CAAGAAACAGTCGATT-L8TX_180115_01_E10,15.092512,-0.3863394 +10X_cells.CATGACATCATGTCTT-L8TX_180115_01_H11,16.960209,1.9446268 +10X_cells.GACACGCGTTGTGGCC-L8TX_180115_01_A09,15.495159,2.2115917 +10X_cells.CGCTTCAAGATCTGAA-L8TX_180115_01_B11,14.464411,1.7867374 +10X_cells.GACAGAGTCACTGGGC-L8TX_180115_01_C11,16.235903,-0.96995836 +10X_cells.GCTTCCACACCTCGTT-L8TX_180115_01_D09,14.912055,1.2808524 +10X_cells.TTGCCGTGTGGGTATG-L8TX_180115_01_H10,14.43519,-1.3965999 +10X_cells.ATCTACTCACAGTCGC-L8TX_180115_01_A11,14.915988,-2.2794466 +10X_cells.AGGCCACCAGATGAGC-L8TX_180115_01_A09,16.235325,-0.70643854 +10X_cells.TACGGGCGTAGGGACT-L8TX_180115_01_H11,17.21805,-0.62174785 +10X_cells.AGTTGGTAGCTAACTC-L8TX_180115_01_E11,16.268204,-1.7301767 +10X_cells.GAGTCCGCATACTCTT-L8TX_180115_01_H10,14.853706,-0.4066474 +10X_cells.AAGGAGCCACTGTTAG-L8TX_180115_01_F09,15.173956,0.79812604 +10X_cells.CGATCGGAGACCCACC-L8TX_180115_01_C11,15.283131,-2.375794 +10X_cells.CGACTTCAGCCTCGTG-L8TX_180115_01_B10,14.757726,-0.26252818 +10X_cells.TATCAGGCACAACTGT-L8TX_180115_01_B11,16.128529,2.0526323 +10X_cells.GACCAATTCTAACCGA-L8TX_180115_01_C10,15.72204,1.5754526 +10X_cells.AGGGAGTCACGCGAAA-L8TX_180115_01_F10,16.44556,2.850449 +10X_cells.TCGGTAACAGGTCCAC-L8TX_180115_01_B11,16.08812,-0.36499533 +10X_cells.CGTCCATTCACCCGAG-L8TX_180115_01_E09,14.818459,0.47148246 +10X_cells.CGTCCATTCGCCTGAG-L8TX_180115_01_C11,17.45335,0.10001951 +10X_cells.TGGCGCACAGAGCCAA-L8TX_180115_01_B10,15.287477,-2.2827785 +Smartseq_cells.SM-GE5PB_S061_E1-50,17.481415,3.597193 +Smartseq_cells.SM-GE5PE_S229_E1-50,15.9918165,-3.1584547 +10X_cells.AAATGCCGTTACGCGC-L8TX_171120_01_G07,16.914072,4.101942 +10X_cells.AACTGGTGTCAGAAGC-L8TX_171120_01_G07,17.91618,3.1560311 +10X_cells.ACACCAAAGGACATTA-L8TX_171120_01_G07,17.748108,4.069897 +10X_cells.ACATACGAGAAGGGTA-L8TX_171120_01_G07,16.895897,1.9553758 +10X_cells.CCAATCCAGGGCACTA-L8TX_171120_01_G07,16.128063,-2.7482119 +10X_cells.CCGTGGATCTGATTCT-L8TX_171120_01_G07,17.567204,-0.7906745 +10X_cells.CGCTGGAGTTCCGGCA-L8TX_171120_01_G07,15.290594,1.5575094 +10X_cells.CTAAGACCACTCTGTC-L8TX_171120_01_G07,15.769455,-3.5808861 +10X_cells.GCTCCTAAGATAGGAG-L8TX_171120_01_G07,17.3229,3.1359022 +10X_cells.TCATTACGTTGGAGGT-L8TX_171120_01_G07,17.084192,-1.4134561 +10X_cells.TCTGAGATCGTCCGTT-L8TX_171120_01_G07,16.020449,-2.4710734 +10X_cells.AAAGATGAGGTCATCT-L8TX_171120_01_H07,15.139604,-2.3214345 +10X_cells.AGTTGGTAGTCCAGGA-L8TX_171120_01_H07,16.849989,-1.8048958 +10X_cells.CGTCCATGTGCCTTGG-L8TX_171120_01_H07,17.682451,1.5608221 +10X_cells.GTCGGGTTCTGTCAAG-L8TX_171120_01_H07,14.892195,2.505575 +10X_cells.CATCAGACAGGTCCAC-L8TX_180115_01_G08,17.290651,-0.96915495 +10X_cells.CCACTACAGGCGATAC-L8TX_180115_01_G08,16.979801,0.43052447 +10X_cells.GCCTCTAGTGCCTTGG-L8TX_180115_01_G08,14.676936,-1.5472718 +10X_cells.GGAACTTGTCGCTTTC-L8TX_180115_01_G08,18.222813,3.44938 +10X_cells.GTGGGTCCATTCGACA-L8TX_180115_01_G08,15.036177,-3.9797716 +10X_cells.TACTCGCTCATCGATG-L8TX_180115_01_G08,15.590023,-3.1470451 +10X_cells.CAGAATCAGTTCGCGC-L8TX_171120_01_C07,15.316439,0.3194821 +10X_cells.AACTCAGAGCACGCCT-L8TX_171120_01_D07,16.155495,3.46693 +10X_cells.ACCTTTATCACTTATC-L8TX_171120_01_C07,16.647068,3.4913745 +10X_cells.CGGACACCATCTATGG-L8TX_171120_01_C07,15.084642,-1.9527574 +10X_cells.CTGTTTAGTTCGGCAC-L8TX_171120_01_C07,15.232189,-0.84920037 +10X_cells.GTGCTTCTCTTGAGAC-L8TX_171120_01_C07,17.36717,-1.457505 +10X_cells.GACCAATAGCCCAGCT-L8TX_180115_01_H08,16.87852,-1.9948422 +10X_cells.GTACTCCAGGAGTTGC-L8TX_180115_01_H08,14.313151,-4.2078977 +10X_cells.GTGCTTCTCGCACTCT-L8TX_180115_01_H08,16.696672,1.2031697 +10X_cells.CATTCGCGTGCTAGCC-L8TX_180115_01_D08,18.095087,2.906496 +10X_cells.GACAGAGGTGGTGTAG-L8TX_180115_01_D08,17.597652,2.9077885 +10X_cells.GGACAAGTCGCCAGCA-L8TX_180115_01_D08,16.900436,-0.91625166 +10X_cells.CATATGGGTGCACCAC-L8TX_171120_01_D07,16.519361,3.7573757 +10X_cells.CATCCACTCTGCGGCA-L8TX_171120_01_D07,15.139814,-2.4494405 +10X_cells.TCATTTGTCACATGCA-L8TX_171120_01_D07,14.840111,-0.39416695 +10X_cells.TGAGCCGTCAGCTCTC-L8TX_171120_01_D07,16.576557,0.635664 +10X_cells.TGCTACCGTACTTGAC-L8TX_171120_01_D07,16.92343,-0.70256126 +10X_cells.TTGGCAACAGGACGTA-L8TX_171120_01_D07,15.646196,1.4156888 +10X_cells.CGACTTCAGCAATATG-L8TX_171120_01_E07,15.842983,4.29596 +10X_cells.CTTGGCTAGTACGCGA-L8TX_180115_01_E08,17.316217,-1.4180597 +10X_cells.GTGAAGGCATCAGTAC-L8TX_171120_01_E07,16.949017,-1.0067344 +10X_cells.AACTCAGGTCTTCGTC-L8TX_171120_01_E07,15.580504,-1.5658547 +10X_cells.ACCGTAAGTAATCGTC-L8TX_171120_01_E07,15.234848,1.3102943 +10X_cells.AGAGTGGCATCCTAGA-L8TX_171120_01_E07,15.913422,1.951878 +10X_cells.AGTCTTTCACTGTTAG-L8TX_171120_01_E07,16.452175,2.8371248 +10X_cells.ATAACGCGTGTTTGGT-L8TX_171120_01_E07,15.133168,-3.00254 +10X_cells.ATGGGAGGTGGACGAT-L8TX_171120_01_E07,16.780949,2.0828533 +10X_cells.CCGGTAGTCGGATGGA-L8TX_171120_01_E07,17.09023,2.6795564 +10X_cells.CTAGAGTAGACATAAC-L8TX_171120_01_E07,17.686193,3.2671008 +10X_cells.GGACAGACACATCCGG-L8TX_171120_01_E07,16.737154,-0.1910439 +10X_cells.GGAGCAACACAGACAG-L8TX_171120_01_E07,13.205585,2.580083 +10X_cells.CACACAATCATTGCCC-L8TX_171120_01_F07,17.30207,-0.0810897 +10X_cells.CGTAGGCCACGGATAG-L8TX_171120_01_F07,17.649416,-0.13838443 +10X_cells.CTTTGCGAGATACACA-L8TX_171120_01_F07,15.2044735,-1.8143384 +10X_cells.GAAGCAGAGCCAGTAG-L8TX_171120_01_F07,17.489183,2.1774354 +10X_cells.GTACTTTAGTTCGCGC-L8TX_171120_01_F07,14.657861,-0.56577826 +10X_cells.TTCGAAGAGCGTCAAG-L8TX_171120_01_F07,14.359136,-0.8281543 +10X_cells.TCAGGATCACCAGATT-L8TX_180115_01_F08,17.334097,1.2003925 +10X_cells.CATCCACCACGGTGTC-L8TX_180115_01_C08,15.986447,-1.9014987 +10X_cells.ACAGCTATCCACGCAG-L8TX_180115_01_E08,16.63663,-1.9867336 +10X_cells.CGGACGTGTCACTGGC-L8TX_180115_01_E08,15.746025,-2.8554604 +10X_cells.CTGAAGTGTCACTGGC-L8TX_180115_01_E08,16.172653,2.7298176 +10X_cells.TTTCCTCCAGCTCGAC-L8TX_180115_01_E08,16.448011,3.9071093 +Smartseq_cells.LS-15008_S43_E1-50,15.8525305,-3.6035528 +Smartseq_cells.LS-15049_S76_E1-50,16.062422,-3.2699308 +Smartseq_cells.LS-15068_S64_E1-50,18.135035,3.4838603 +Smartseq_cells.LS-15069_S83_E1-50,18.17298,1.3492494 +Smartseq_cells.LS-15074_S10_E1-50,18.017422,-0.040125966 +Smartseq_cells.LS-15075_S17_E1-50,16.6964,-2.0434263 +Smartseq_cells.LS-15076_S85_E1-50,18.355223,3.822763 +Smartseq_cells.LS-15077_S45_E1-50,17.652678,1.5240395 +Smartseq_cells.LS-15078_S27_E1-50,15.44551,-3.8865817 +Smartseq_cells.LS-15078_S30_E1-50,15.791176,-3.0268695 +Smartseq_cells.LS-15096_S16_E1-50,15.581349,-3.5545766 +Smartseq_cells.LS-15347_S94_E1-50,18.106148,0.37109828 +Smartseq_cells.LS-15347_S95_E1-50,16.362562,-3.101709 +Smartseq_cells.LS-15348_S85_E1-50,17.312963,-1.2267721 +Smartseq_cells.LS-15348_S87_E1-50,18.177872,0.43850583 +Smartseq_cells.LS-15348_S88_E1-50,15.8251505,-3.5832124 +Smartseq_cells.LS-15353_S37_E1-50,16.320097,-3.0281963 +Smartseq_cells.LS-15353_S81_E1-50,16.679514,-2.4424212 +Smartseq_cells.LS-15576_S86_E1-50,17.803968,4.789813 +Smartseq_cells.LS-15580_S07_E1-50,16.68564,-2.5200055 +Smartseq_cells.LS-15580_S24_E1-50,17.963068,1.8813213 +Smartseq_cells.SM-D9EP5_S89_E1-50,17.65814,3.3335893 +Smartseq_cells.SM-D9EP5_S94_E1-50,18.289959,1.7459985 +Smartseq_cells.SM-D9CXP_S44_E1-50,18.082926,2.1598582 +Smartseq_cells.SM-D9CXQ_S13_E1-50,17.336205,-1.585106 +Smartseq_cells.SM-D9CXY_S24_E1-50,16.045498,-3.1447315 +Smartseq_cells.SM-DD45I_S003_E1-50,17.58376,0.9019534 +Smartseq_cells.SM-DD45K_S118_E1-50,17.257954,-1.3451091 +Smartseq_cells.SM-DD45K_S121_E1-50,17.347431,-1.0087616 +Smartseq_cells.SM-DD45K_S174_E1-50,16.58717,-1.9457537 +Smartseq_cells.SM-DD45L_S074_E1-50,17.13798,-1.0537951 +Smartseq_cells.SM-GE635_S033_E1-50,17.36979,3.73897 +Smartseq_cells.SM-GE635_S084_E1-50,16.309013,-3.0767543 +Smartseq_cells.SM-GE635_S181_E1-50,18.223434,2.9571488 +Smartseq_cells.SM-GE631_S024_E1-50,18.280008,1.2898673 +Smartseq_cells.SM-GE676_S062_E1-50,15.391664,-3.8109422 +Smartseq_cells.SM-GE67T_S062_E1-50,17.758646,1.7621574 +Smartseq_cells.SM-GE8ZW_S253_E1-50,17.957016,0.06425884 +Smartseq_cells.SM-GE94L_S086_E1-50,18.281317,2.8102024 +Smartseq_cells.SM-GE94L_S175_E1-50,15.739501,-3.6419394 +Smartseq_cells.SM-GE94L_S262_E1-50,17.875101,3.6077619 +Smartseq_cells.SM-GE94L_S330_E1-50,14.865149,-4.001556 +Smartseq_cells.SM-GE94L_S336_E1-50,18.179762,2.6661675 +Smartseq_cells.SM-GE94L_S354_E1-50,14.782436,-4.257403 +10X_cells.CGATCGGGTCACACGC-L8TX_180221_01_C10,-0.14047447,-3.7314246 +10X_cells.CACACCTCAGCGAACA-L8TX_180221_01_F09,-0.6974592,-3.8793085 +10X_cells.TGTCCCACAGGCTCAC-L8TX_180221_01_G09,-1.5871185,-3.9465067 +10X_cells.AGCAGCCTCCTTCAAT-L8TX_180221_01_C10,-0.48854417,-2.9374897 +10X_cells.TACAGTGGTCATGCAT-L8TX_180221_01_C10,-1.4730175,-3.9268205 +10X_cells.AGGTCCGCACCAGGCT-L8TX_180406_01_F02,-0.9515746,-2.7049487 +10X_cells.GCACTCTAGTTAGCGG-L8TX_180406_01_C06,6.378435,-3.4362643 +Smartseq_cells.SM-GE63L_S164_E1-50,-0.14959623,-2.2811275 +10X_cells.CGTGTAAAGGACCACA-L8TX_180221_01_E09,10.09671,-4.0091367 +10X_cells.TCATTTGGTTACTGAC-L8TX_180221_01_C09,-0.45422298,-1.9378786 +10X_cells.AAAGATGCATTTCACT-L8TX_180221_01_D09,-1.0380528,-1.6178708 +10X_cells.ACGAGCCGTAGTAGTA-L8TX_180712_01_G05,-1.3594459,-4.13447 +10X_cells.GGACAGATCAACACTG-L8TX_180712_01_G05,6.881562,-2.5350192 +10X_cells.TGGCGCACAGCTCGAC-L8TX_180712_01_G05,1.3869947,-2.957614 +Smartseq_cells.LS-15313_S34_E2-50,-0.120097786,-4.052553 +Smartseq_cells.LS-15374_S93_E1-50,-1.8425752,-3.4015868 +Smartseq_cells.LS-15376_S96_E1-50,-0.9222075,-3.7854815 +Smartseq_cells.LS-15500_S42_E1-50,-0.09030729,-4.20285 +10X_cells.TACTTACGTGTCCTCT-L8TX_181012_01_E05,1.0397047,-3.437163 +10X_cells.GAATAAGAGTGGACGT-L8TX_181012_01_H04,1.0947859,-2.935389 +10X_cells.AGAATAGGTAACGTTC-L8TX_180829_01_D10,-0.12504396,-3.318198 +10X_cells.TAGTTGGCACTGTCGG-L8TX_180829_01_D10,1.6154717,-2.4250414 +10X_cells.AACCATGGTACTCGCG-L8TX_181011_01_H02,11.623633,-2.0839303 +10X_cells.CAGTAACCAGCTGCAC-L8TX_181011_01_H02,-0.091183715,-3.0637422 +10X_cells.CGATGTAGTATATGAG-L8TX_181011_01_H02,-1.0354711,-4.171758 +10X_cells.CAACTAGGTGCTGTAT-L8TX_181012_01_E05,0.19177045,-2.2490847 +10X_cells.CCATGTCTCTATCCTA-L8TX_181012_01_E05,-0.3902406,-2.2152715 +10X_cells.GAGGTGATCCTGCTTG-L8TX_180406_01_E02,-0.03220119,-1.3839499 +10X_cells.TGCACCTCATGCTAGT-L8TX_180406_01_E02,0.4775926,-1.8651533 +10X_cells.TGACTAGCAAGGTTTC-L8TX_180406_01_H02,-0.1167644,-1.8450826 +10X_cells.TACCTTAAGTGAATTG-L8TX_180406_01_B06,0.75919247,-0.36489215 +Smartseq_cells.SM-GE91G_S298_E1-50,0.18395953,-2.9637406 +10X_cells.TTTCCTCAGGACACCA-L8TX_171026_01_A05,0.54181516,-3.6843455 +10X_cells.CGTCTACAGATGGGTC-L8TX_171026_01_A05,-0.5040755,-3.9674006 +10X_cells.ATTACTCTCTAACTGG-L8TX_171026_01_B04,-1.6919024,-3.7401214 +10X_cells.GGATGTTAGTCGTTTG-L8TX_171026_01_E05,-0.8104206,-3.0705035 +10X_cells.TGTGGTACAGATCCAT-L8TX_171026_01_F03,-1.0179965,-3.470851 +10X_cells.CTTAACTGTCTAGTGT-L8TX_171026_01_G03,-1.3129454,-4.0488777 +10X_cells.TCTATTGAGTCAAGCG-L8TX_171026_01_F04,-0.702418,-3.065919 +10X_cells.CTCTACGAGATCGGGT-L8TX_171026_01_G04,-1.850954,-3.7239833 +10X_cells.TGAGGGAAGACACGAC-L8TX_171026_01_G04,-0.18197541,-4.2071447 +10X_cells.CCCAATCGTGTAACGG-L8TX_171026_01_H04,-1.3652112,-2.2932653 +10X_cells.TGAGCATGTGGGTCAA-L8TX_171026_01_A05,8.631118,-3.1767688 +10X_cells.TTGACTTCAGTAGAGC-L8TX_171026_01_H03,-0.913399,-2.901709 +10X_cells.GGGCACTGTGTAATGA-L8TX_171026_01_D05,9.782821,-3.3524597 +10X_cells.GGACAGATCTCTAAGG-L8TX_171026_01_E05,-1.0095588,-2.6816297 +10X_cells.TTAGGACCATAACCTG-L8TX_171026_01_E05,-1.0806952,-4.2861257 +10X_cells.GTGCGGTTCGCAAACT-L8TX_171026_01_H05,8.672071,-3.6860683 +10X_cells.AGCATACGTTACGTCA-L8TX_181206_01_D12,-0.17070137,-1.9077176 +10X_cells.GAGTCCGAGAACTGTA-L8TX_180406_01_C01,-0.12141256,-3.2676075 +10X_cells.AAAGATGTCATTCACT-L8TX_180221_01_F10,2.7864633,-0.6473533 +10X_cells.TAGTTGGAGCTAAGAT-L8TX_190312_01_B02,-0.48733097,-3.8164504 +10X_cells.CAGCATAGTTACGTCA-L8TX_180221_01_A11,-1.8860817,-3.3319912 +10X_cells.CGTCTACAGCCACGTC-L8TX_180221_01_G10,9.44339,-3.7707558 +10X_cells.GGTGAAGTCAAAGTAG-L8TX_180221_01_F10,1.0497978,-3.3096905 +10X_cells.CGGACTGGTACTCTCC-L8TX_180221_01_D10,0.6648204,-3.5420842 +10X_cells.TACCTATTCGTACCGG-L8TX_180221_01_D10,0.15966918,-3.1899583 +10X_cells.CCAATCCGTTGATTCG-L8TX_180221_01_E10,0.08935029,-1.9567577 +10X_cells.TAGTGGTAGCCCGAAA-L8TX_180221_01_E10,10.196091,-3.2478304 +10X_cells.GAATAAGTCTTGTATC-L8TX_180221_01_F10,-0.61323446,-3.782988 +10X_cells.TCAGATGCATTTCAGG-L8TX_180221_01_F10,10.172941,-3.7158139 +10X_cells.CGCGGTACAATAACGA-L8TX_180221_01_G10,0.04415688,-2.5336661 +10X_cells.ATTATCCAGCAAATCA-L8TX_190312_01_B02,-1.1156046,-2.2014427 +10X_cells.CAGCATAAGTTAAGTG-L8TX_190312_01_B02,-1.7205755,-2.9764047 +10X_cells.GCGGGTTAGTCCGTAT-L8TX_190312_01_B02,0.062469136,-3.5061896 +10X_cells.TGCTACCGTGTGGTTT-L8TX_190312_01_B02,-1.0572903,-2.9399014 +10X_cells.ATCCACCTCCCGACTT-L8TX_190312_01_G02,-1.2087896,-1.7148159 +10X_cells.CGGCTAGTCCTCAACC-L8TX_190312_01_G02,-0.77439946,-2.5132132 +10X_cells.AACCGCGAGCCACGCT-L8TX_181012_01_C05,0.15953065,-3.717496 +10X_cells.CCGGGATCAGACAGGT-L8TX_180926_01_E12,-0.58084434,-3.2057264 +10X_cells.GGGACCTCAATCCGAT-L8TX_180221_01_B11,-0.34251776,-3.4123697 +10X_cells.CGACCTTTCATCACCC-L8TX_190312_01_F02,-1.8549595,-3.756169 +10X_cells.TTTACTGTCCGCAAGC-L8TX_190312_01_F02,0.30079424,-4.010513 +10X_cells.TTTATGCAGCGTCTAT-L8TX_190312_01_A03,-0.8060189,-3.8680465 +10X_cells.GCATGTACACAGCCCA-L8TX_180221_01_C11,-0.5289004,-2.3643675 +10X_cells.CTGGTCTAGAACTGTA-L8TX_180221_01_D11,-0.7435745,-2.1661408 +10X_cells.GCTTGAAGTCGCTTTC-L8TX_180221_01_D11,-0.6334084,-2.5001228 +10X_cells.GTTTCTATCGTGGACC-L8TX_180221_01_D11,-0.5113976,-2.743535 +10X_cells.TCGCGAGAGGCCCTTG-L8TX_180221_01_D11,12.573418,-1.8740277 +10X_cells.TGCGGGTCAAGCCCAC-L8TX_180221_01_D11,-0.3689219,-2.0254798 +10X_cells.TGGGAAGGTACAGACG-L8TX_180221_01_D11,0.37487128,-3.3934114 +10X_cells.TCAGGTAAGGTAGCTG-L8TX_180221_01_F11,0.21738781,-2.86252 +10X_cells.TCCACACGTGTGACGA-L8TX_180221_01_F11,9.8234825,-3.1113796 +10X_cells.CTAGTGAGTCGTCTTC-L8TX_190312_01_H02,-1.7946976,-3.5825486 +10X_cells.AGGCCGTAGCTAGTCT-L8TX_190312_01_A03,-0.39238748,-4.2905326 +10X_cells.GTGAAGGGTACTCGCG-L8TX_180907_01_H11,-0.6351421,-4.16709 +10X_cells.TAGAGCTAGATACACA-L8TX_180907_01_E11,1.092824,-3.489295 +10X_cells.TCAATCTTCTGTACGA-L8TX_180907_01_E11,1.5859923,-2.3309488 +10X_cells.AAAGTAGTCTTGTACT-L8TX_180926_01_D01,0.66945636,-2.311613 +10X_cells.ATAGACCCAACACCCG-L8TX_180926_01_B01,0.09789104,-2.93863 +10X_cells.GGACAGAAGCCCAATT-L8TX_180926_01_B01,1.4505986,-2.4636781 +10X_cells.CCATTCGGTTGTGGCC-L8TX_180926_01_D01,1.035277,-2.3778062 +10X_cells.AAGGTTCGTATGGTTC-L8TX_181011_01_A03,0.18999426,-3.5150871 +10X_cells.CCGGGATGTCTAGCCG-L8TX_181011_01_H03,-0.71579504,-4.3037477 +10X_cells.ACTGCTCCAGCTCGCA-L8TX_180221_01_D12,0.20443588,-1.6609448 +10X_cells.TGACAACAGGTACTCT-L8TX_180221_01_D12,10.4720335,-2.8343759 +10X_cells.CTGATCCGTTGCGTTA-L8TX_180712_01_A06,1.2162746,-2.495906 +10X_cells.TCGAGGCCATTGCGGC-L8TX_180712_01_H05,-1.2826782,-2.0723042 +10X_cells.TTTGCGCGTGCACTTA-L8TX_180712_01_A06,-1.1820091,-3.3667872 +10X_cells.CATCCACCATGTTCCC-L8TX_180221_01_C12,10.493062,-3.6311183 +10X_cells.ATTCTACAGACTGTAA-L8TX_180115_01_D11,-1.4843436,-3.7765996 +10X_cells.GATGAAAAGACGCTTT-L8TX_180115_01_C11,-0.69395953,-3.8323143 +10X_cells.ACACCAAGTAATTGGA-L8TX_180115_01_A09,9.931347,-3.0868719 +10X_cells.TGGCGCAGTCACCTAA-L8TX_180115_01_B09,-0.2468799,-3.7924345 +10X_cells.ACAGCTATCTGCTTGC-L8TX_180115_01_C09,-0.43537143,-3.4202957 +10X_cells.GACACGCTCCAGATCA-L8TX_180115_01_C09,9.709205,-3.5327919 +10X_cells.CAAGGCCTCAGTACGT-L8TX_180115_01_A11,9.961357,-3.1414301 +10X_cells.GGACAAGTCGCATGAT-L8TX_180115_01_H10,0.5812982,-2.838149 +10X_cells.AAAGTAGAGAGGACGG-L8TX_180115_01_B11,0.53836524,-2.1522427 +10X_cells.CAACCTCAGCGTCAAG-L8TX_180115_01_B11,-0.07467535,-2.700718 +10X_cells.CGTCACTCATTCACTT-L8TX_180115_01_B11,-0.24910732,-3.8413105 +10X_cells.TAGACCAAGTGTACTC-L8TX_180115_01_B11,-0.5149291,-3.5810263 +10X_cells.ACTGAACGTGATGCCC-L8TX_180115_01_C11,0.23951799,-2.248633 +10X_cells.CGATGGCGTTCCGGCA-L8TX_180115_01_C11,-0.15768924,-3.7503903 +10X_cells.CCAGCGAAGAAGGTGA-L8TX_180115_01_D11,-1.83569,-3.7902155 +10X_cells.GTAGGCCCACCCAGTG-L8TX_180115_01_D11,-1.7307987,-2.0573475 +10X_cells.TCTATTGCACATCCAA-L8TX_180115_01_D11,0.42254594,-1.6782311 +10X_cells.CCTCAGTTCAGCTCTC-L8TX_180115_01_G10,10.530197,-3.0254445 +10X_cells.CATCGAACAGCTCCGA-L8TX_180115_01_G11,1.6550088,-2.341313 +10X_cells.CGAACATCATCGGTTA-L8TX_180115_01_G11,1.6196401,-2.3223953 +10X_cells.GGCGTGTCACTGTTAG-L8TX_180115_01_H09,0.22737277,-2.5176501 +10X_cells.ACTTGTTCACACGCTG-L8TX_180115_01_E09,-0.91854745,-3.5473313 +10X_cells.AAAGCAAGTTGCGCAC-L8TX_180115_01_G09,0.7150573,-2.1148462 +10X_cells.CGATCGGGTCGCGTGT-L8TX_171120_01_G07,10.229785,-3.3658633 +10X_cells.TGACGGCGTAGCCTCG-L8TX_171120_01_H07,-0.5843519,-3.050254 +10X_cells.CGTCTACCACATTAGC-L8TX_180115_01_G08,-2.1261473,-3.4235191 +10X_cells.TTGACTTAGCTCCTTC-L8TX_171120_01_C07,-0.42310724,-3.1696472 +10X_cells.GTCATTTAGGTAGCTG-L8TX_171120_01_D07,0.9218027,-3.563713 +10X_cells.CGGAGCTGTATAAACG-L8TX_180115_01_E08,0.029552752,-1.879135 +10X_cells.CAAGATCGTAGAAGGA-L8TX_180115_01_E08,-1.1846569,-4.1380596 +10X_cells.TAAGTGCAGACCCACC-L8TX_180115_01_E08,-0.7072124,-4.274955 +Smartseq_cells.LS-15007_S76_E1-50,0.040605813,-4.0251675 +Smartseq_cells.LS-15348_S58_E1-50,-0.40970206,-3.986724 +Smartseq_cells.SM-DAIFD_S49_E1-50,-1.3594669,-3.673623 +Smartseq_cells.SM-DD43W_S77_E1-50,-1.5165539,-1.9085938 +Smartseq_cells.SM-GE66C_S138_E1-50,-1.3517056,-3.8198955 +Smartseq_cells.SM-GE66C_S150_E1-50,-1.9054676,-3.3855479 +Smartseq_cells.SM-GE67T_S004_E1-50,-0.39471635,-4.225871 +Smartseq_cells.SM-GE67T_S102_E1-50,-1.9196876,-2.9842722 +Smartseq_cells.SM-GE67T_S218_E1-50,-0.0853015,-3.320129 +Smartseq_cells.SM-GE91B_S357_E1-50,0.28680992,-4.1897807 +Smartseq_cells.SM-GE67W_S066_E1-50,8.554495,-3.9461074 +10X_cells.GGAGCAAAGAGGGATA-L8TX_180221_01_F09,-2.2299895,1.2439811 +10X_cells.ACTTGTTCATGGGACA-L8TX_180221_01_F09,-2.714653,0.25270185 +10X_cells.GCCAAATTCTTGTATC-L8TX_180221_01_F09,-2.4933105,-0.25142637 +10X_cells.CACACTCGTGCGAAAC-L8TX_180221_01_G09,-0.6515951,1.2369243 +10X_cells.CGGCTAGGTCCATGAT-L8TX_180221_01_G09,-0.9546923,-1.4636441 +10X_cells.GGCGACTCAATGGAAT-L8TX_180221_01_G09,0.46847454,-0.05515965 +10X_cells.GCTTGAAAGGCTACGA-L8TX_180221_01_H09,-2.6532805,0.76346207 +10X_cells.TGCACCTAGAAAGTGG-L8TX_180221_01_A10,-1.626278,1.1776034 +10X_cells.TTCCCAGAGATAGCAT-L8TX_180221_01_B10,0.41437203,-0.43980026 +10X_cells.ATAAGAGCAGTATAAG-L8TX_180221_01_C10,-2.1553142,0.89251995 +10X_cells.CTTTGCGAGACAATAC-L8TX_180221_01_C10,-1.7459198,-2.1085272 +10X_cells.CACACAAAGTACGCGA-L8TX_180406_01_C06,-0.68058866,-0.17432413 +10X_cells.CAGCTGGAGTGGGTTG-L8TX_180406_01_C06,0.49995226,0.15451244 +10X_cells.CCACTACAGGAGCGAG-L8TX_180406_01_C06,-0.7766124,-0.60232216 +10X_cells.TTCTACACACAACGCC-L8TX_180406_01_C06,-2.6103847,-1.7025603 +10X_cells.ATCCACCAGCTGTCTA-L8TX_180221_01_H12,-2.1919427,-1.8794751 +10X_cells.CATGGCGAGATAGTCA-L8TX_180607_01_C05,-0.24535052,-1.9297273 +10X_cells.GTTCTCGTCGCCTGTT-L8TX_180712_01_B06,-2.7725887,-1.0818139 +10X_cells.ACGCCAGGTTTAGGAA-L8TX_180712_01_C06,-2.9190543,-0.13573569 +10X_cells.GGACAAGGTGAGGGAG-L8TX_180712_01_C06,-2.6536653,-0.81411576 +Smartseq_cells.SM-D9D9E_S28_E1-50,-2.8675303,-0.17450921 +10X_cells.TCAACGAGTGTGACGA-L8TX_180907_01_F10,-1.8969123,-1.3127552 +10X_cells.CCGTGGATCGAGCCCA-L8TX_180829_01_D09,-1.9667653,-1.3381454 +10X_cells.ACCTTTAGTAGAGCTG-L8TX_180829_01_D10,0.2898313,-0.23410776 +10X_cells.CAGTCCTGTCTAGAGG-L8TX_180829_01_D10,-1.5326768,0.7024655 +10X_cells.TAGTGGTGTCCGAATT-L8TX_180829_01_D10,-0.76109356,-2.1376297 +10X_cells.TCACGAAAGTGGACGT-L8TX_180829_01_D10,-1.7196462,-1.2188646 +10X_cells.CTACACCAGCCGTCGT-L8TX_180829_01_E10,-0.89077526,-2.460192 +10X_cells.ACTTTCATCAGTGCAT-L8TX_180907_01_F10,-2.7296042,-1.4536791 +10X_cells.ACGATGTAGCTATGCT-L8TX_181011_01_G02,1.4799882,-1.7809181 +10X_cells.AGTGTCATCGTCTGCT-L8TX_181011_01_H02,-2.9556825,-0.871132 +10X_cells.TCAGCTCTCGTCTGCT-L8TX_181011_01_H02,-2.643518,-1.2400749 +10X_cells.GGAATAAGTCTAGCGC-L8TX_181011_01_C04,-1.2308724,-1.5320357 +10X_cells.GGGCATCCAGGTGCCT-L8TX_181011_01_C04,1.6751642,-1.5996171 +10X_cells.TACACGAAGAAGGTGA-L8TX_181012_01_G04,-2.1759605,-0.35102984 +10X_cells.CACACTCAGCTCCTCT-L8TX_181012_01_H04,-1.5418794,0.299573 +10X_cells.CACCAGGAGCATCATC-L8TX_181012_01_H04,-1.3433595,-2.2872357 +10X_cells.AGAGCGAGTGGTTTCA-L8TX_180406_01_H02,2.5888615,11.028413 +10X_cells.ATGCGATTCCTTGACC-L8TX_180406_01_H01,-0.04013447,0.30229294 +10X_cells.CAAGAAATCTACTTAC-L8TX_180406_01_H01,-0.71141344,0.6880197 +10X_cells.GACTACACACGCCAGT-L8TX_180406_01_E06,-0.27006185,1.2947559 +10X_cells.TCATTACAGTCCAGGA-L8TX_180406_01_E06,-0.33959156,1.1355354 +10X_cells.AAAGTAGTCTAACTGG-L8TX_180406_01_C07,-0.05956371,0.99904186 +10X_cells.TACCTATAGATGCGAC-L8TX_180406_01_C07,2.730464,11.551668 +10X_cells.CGACTTCGTCGGGTCT-L8TX_180406_01_E07,2.8568196,10.623456 +10X_cells.CGCCAAGTCCCGGATG-L8TX_180406_01_E07,2.7249315,11.285701 +Smartseq_cells.SM-GE5VC_S269_E1-50,-3.02378,-1.0873809 +10X_cells.GTTTCTAAGACTTGAA-L8TX_171026_01_F03,-1.908029,-1.9265093 +10X_cells.GCTGGGTGTGCTAGCC-L8TX_171026_01_E05,-1.9438092,-1.9826211 +10X_cells.GCTGCGAAGATGCCAG-L8TX_171026_01_H04,2.5751657,-0.6662882 +10X_cells.ACACTGAAGAGGACGG-L8TX_171026_01_F03,-1.7013987,-1.430861 +10X_cells.CAACTAGGTTTGACTG-L8TX_171026_01_F03,-1.9693135,-0.4048236 +10X_cells.GACCAATTCACCCGAG-L8TX_171026_01_F03,-2.2031512,-3.2880616 +10X_cells.GCTTGAAGTATAGTAG-L8TX_171026_01_F03,-2.1882017,-1.7747295 +10X_cells.CCTTTCTAGAGCTATA-L8TX_171026_01_B04,-1.9286051,-3.359001 +10X_cells.ACCCACTTCGGTTCGG-L8TX_171026_01_F04,-1.4754109,-1.3478992 +10X_cells.CGTGTAACAGTAGAGC-L8TX_171026_01_F04,-0.78488845,0.045632605 +10X_cells.CTCAGAACAGATCTGT-L8TX_171026_01_F04,2.6703148,-0.82295436 +10X_cells.CTCGAAAAGGGCTCTC-L8TX_171026_01_F04,-0.62679434,0.948281 +10X_cells.ACACTGAAGGATGCGT-L8TX_171026_01_B05,-1.5235604,-1.6583585 +10X_cells.GCACTCTAGATCACGG-L8TX_171026_01_B05,-2.2758048,-2.8148506 +10X_cells.GGGTTGCCAGCTATTG-L8TX_171026_01_A05,-2.8516605,0.44431466 +10X_cells.CTGCTGTGTGGCCCTA-L8TX_171026_01_H03,-1.1351464,-0.8450628 +10X_cells.GTCGTAACATAACCTG-L8TX_171026_01_A04,-2.8014913,-2.2836204 +10X_cells.CGATCGGCAGGAATGC-L8TX_171026_01_E05,-0.79706335,-0.21263883 +10X_cells.CGGAGCTTCGTAGGAG-L8TX_171026_01_F05,-2.529077,-2.1904912 +Smartseq_cells.LS-15538_S91_E1-50,-2.520965,-1.463017 +Smartseq_cells.SM-GE92I_S106_E1-50,-2.1027894,-1.665843 +10X_cells.CTGAAGTTCGCGCCAA-L8TX_181206_01_F12,-0.56634104,-1.1655095 +10X_cells.TGTATTCTCGAATGCT-L8TX_181206_01_B12,-1.683187,-2.382008 +10X_cells.CCGGGATTCCACGTGG-L8TX_181206_01_C12,-1.6152531,-1.0378973 +10X_cells.TGACGGCCATTCCTCG-L8TX_181206_01_C12,-1.1232862,-1.6307974 +10X_cells.ACGCAGCAGCAGCCTC-L8TX_181206_01_D12,-1.6855761,-1.5728489 +10X_cells.CTCAGAATCTAACTTC-L8TX_181206_01_D12,-2.3956847,-1.727272 +Smartseq_cells.SM-GE915_S247_E1-50,-1.1840316,-2.5470557 +10X_cells.AGCGTCGCACACTGCG-L8TX_180406_01_B02,0.5490248,-1.7606846 +10X_cells.CTACGTCAGACAGAGA-L8TX_180406_01_C01,0.56764984,1.092233 +10X_cells.GATCAGTGTCAAACTC-L8TX_180406_01_E01,-1.1865869,1.5429425 +10X_cells.GGTGCGTAGCCCGAAA-L8TX_180406_01_C02,2.5893254,10.782799 +10X_cells.GGAGCAATCAACGGCC-L8TX_180221_01_A11,-0.025865005,-0.9509246 +10X_cells.TCGTACCCAGTCACTA-L8TX_180221_01_H10,1.0034524,0.7294697 +10X_cells.GGGAATGCAGCTGCTG-L8TX_190312_01_D02,-1.7557286,1.0499682 +10X_cells.TCCCGATAGGCTAGGT-L8TX_180221_01_D10,-0.980566,0.8423664 +10X_cells.TTAGGACTCGTTGACA-L8TX_180221_01_D10,-1.9210886,0.4064823 +10X_cells.CCTTACGCACGTTGGC-L8TX_180221_01_E10,0.5245861,-0.41773954 +10X_cells.AAGCCGCTCGCTGATA-L8TX_180221_01_F10,-2.8548625,-2.3608677 +10X_cells.ACTGCTCTCTGCTTGC-L8TX_180221_01_F10,-1.2719327,-0.72659415 +10X_cells.CACCAGGAGATGCGAC-L8TX_180221_01_F10,-1.4528946,-1.9224968 +10X_cells.GAGCAGACAATTGCTG-L8TX_180221_01_F10,-1.2648526,0.5173788 +10X_cells.TGACTTTGTCATCCCT-L8TX_180221_01_F10,-0.30075735,0.384009 +10X_cells.CATTATCGTGCAACTT-L8TX_180221_01_G10,-0.69713503,-1.523667 +10X_cells.GTTCTCGAGATGAGAG-L8TX_180221_01_G10,0.5608109,-0.33629695 +10X_cells.GGAACTTCATGGTCTA-L8TX_180221_01_H10,-1.8425624,0.19811246 +10X_cells.TGAAAGAAGCCGGTAA-L8TX_190312_01_B02,-0.67330366,-0.6015262 +10X_cells.GAACGGAAGAAGGCCT-L8TX_190312_01_C02,-0.26573032,-0.46366554 +10X_cells.TTGGAACTCTTGGGTA-L8TX_190312_01_C02,-1.1055706,-0.42642727 +10X_cells.TGGACGCCAATGAATG-L8TX_190312_01_D02,-2.277975,-0.47516853 +10X_cells.CCGTTCATCATCTGTT-L8TX_190312_01_G02,2.7417667,12.225941 +10X_cells.GAATAAGTCAACACAC-L8TX_180926_01_C12,-2.141741,-1.9059258 +10X_cells.AAGTCTGAGGAGTAGA-L8TX_180221_01_B11,-0.18524736,-2.593414 +10X_cells.ACACTGAAGCGTGAAC-L8TX_180221_01_B11,-0.29058966,-1.4478034 +10X_cells.TCAATCTCAGCATACT-L8TX_180221_01_C11,-1.3098116,0.6723055 +10X_cells.TGAGCCGAGGACTGGT-L8TX_180221_01_C11,-0.88601756,-0.08517548 +10X_cells.CAACCTCTCGTTTGCC-L8TX_180221_01_D11,-0.8985622,0.082216464 +10X_cells.CCATGTCCACGGCGTT-L8TX_180221_01_D11,-0.09110061,-1.1970689 +10X_cells.ATGCGATGTTCCCTTG-L8TX_180221_01_F11,0.23614144,-0.64572686 +10X_cells.TGTGTTTCAGGTCGTC-L8TX_180221_01_F11,-0.24901235,-2.5809755 +10X_cells.TACCTTATCGGTTAAC-L8TX_180221_01_G11,-0.30651346,-2.4403625 +10X_cells.GAACATCCAAGACACG-L8TX_190312_01_H02,-2.0058243,-3.3023298 +10X_cells.CATCAGACATTGTGCA-L8TX_180907_01_H11,-2.3230016,-3.0923069 +10X_cells.GGACATTCACCGATAT-L8TX_190312_01_A02,-1.945392,-3.6937847 +10X_cells.CGGACGTAGGGTGTGT-L8TX_180926_01_F01,0.06574911,-0.65711296 +10X_cells.ACACTGAGTATTCTCT-L8TX_180926_01_B01,-0.34135455,-0.7694189 +10X_cells.TCACGAAGTACTCGCG-L8TX_180926_01_B01,2.890969,-0.37260202 +10X_cells.TTAGGCAAGGTCATCT-L8TX_180926_01_D01,-1.3860828,0.5948621 +10X_cells.AAACCTGGTACTCTCC-L8TX_180926_01_E01,-2.5557764,-1.2572253 +10X_cells.GCCTCTAGTTACGACT-L8TX_181011_01_B03,-2.7827592,-0.42034104 +10X_cells.ACCAGTACACACCGAC-L8TX_181011_01_C03,-0.89690924,-1.9709029 +10X_cells.GCTTCCACAGTCGATT-L8TX_181011_01_C03,-3.017172,-1.7614943 +10X_cells.AGGCCGTAGAGTCTGG-L8TX_181011_01_H03,-2.5160937,-1.7943417 +10X_cells.AGGGATGAGGCCATAG-L8TX_180712_01_H05,-1.7503422,0.002316618 +10X_cells.CGCGGTAAGTATCTCG-L8TX_180712_01_E05,-0.18707088,-1.3362759 +10X_cells.CTAGAGTTCAACGAAA-L8TX_180221_01_H11,0.34995005,-1.0954839 +10X_cells.CAAGATCGTTCCATGA-L8TX_180712_01_F05,-0.13710961,-1.6130059 +10X_cells.CTAGCCTCAAAGTGCG-L8TX_180712_01_H05,-1.827142,0.24326082 +10X_cells.CGATCGGGTCCGTGAC-L8TX_180712_01_A06,-2.4879324,-0.3201315 +10X_cells.CGTAGCGTCAGTTGAC-L8TX_180221_01_A12,0.32285848,-1.18003 +10X_cells.ATCTACTCAGGCAGTA-L8TX_180221_01_B12,-0.18871431,-0.26585186 +10X_cells.GGGAATGGTAGCGCTC-L8TX_180221_01_B12,1.2251383,1.5038085 +10X_cells.CAACTAGAGCCATCGC-L8TX_180221_01_C12,-0.016866866,-0.9902074 +10X_cells.TACTCATAGATCCCGC-L8TX_180221_01_C12,-0.26032397,0.96620804 +10X_cells.CCTAAAGTCAACCATG-L8TX_200611_02_A05,-2.0500407,0.6908735 +10X_cells.GACTAACAGGAGTAGA-L8TX_200611_02_A05,1.6237655,-1.5772988 +10X_cells.GACTGCGTCTGTTGAG-L8TX_180115_01_B11,-0.6325124,-1.286768 +10X_cells.GACGTGCTCGCGTTTC-L8TX_180115_01_E10,0.31963164,-0.17677957 +10X_cells.AGCTTGAGTTTGGCGC-L8TX_180115_01_B11,-1.7584025,-1.5694116 +10X_cells.CCAGCGATCACATGCA-L8TX_180115_01_E10,-0.91717315,-2.8615203 +10X_cells.ACCGTAAGTCGCATAT-L8TX_180115_01_A09,-1.5178465,-2.051197 +10X_cells.CTCGGGACAAGAAGAG-L8TX_180115_01_A09,0.18401413,-0.7522129 +10X_cells.GTACTCCTCTAACTCT-L8TX_180115_01_B10,-1.1932132,-1.5937587 +10X_cells.GTGGGTCTCCGGCACA-L8TX_180115_01_D11,-2.1350598,-3.0308962 +10X_cells.ATCGAGTCAGTTCCCT-L8TX_180115_01_G10,0.24185038,-0.42922354 +10X_cells.GGCTCGAGTCAATACC-L8TX_180115_01_H11,-2.4643028,-3.0491602 +10X_cells.AACGTTGCACCGAATT-L8TX_180115_01_G08,-2.5500991,-3.1041503 +10X_cells.GGCGTGTAGGATGTAT-L8TX_180115_01_E08,-0.96586686,-2.9046211 +Smartseq_cells.LS-15074_S49_E1-50,-2.60493,-2.502986 +Smartseq_cells.SM-GE635_S083_E1-50,-2.0681763,-2.8738716 +Smartseq_cells.SM-GE66C_S154_E1-50,-1.117464,-2.6629353 +Smartseq_cells.SM-GE66C_S173_E1-50,-0.36565235,-2.2404559 +10X_cells.AAACGGGAGACTTTCG-L8TX_180221_01_F09,-0.6748642,-0.47846332 +10X_cells.CGTGAGCGTCAACATC-L8TX_180221_01_H09,-1.4981545,-0.26270252 +10X_cells.TTTGTCACATTCCTCG-L8TX_180607_01_C05,-1.6515546,0.8656078 +10X_cells.ATCATGGCAACGCACC-L8TX_180406_01_E07,2.790293,-0.2670705 +10X_cells.ATAAGAGAGTTCCACA-L8TX_180406_01_H01,1.202763,0.26376575 +10X_cells.ATCTGCCGTAAATGTG-L8TX_180406_01_H01,1.0264518,0.32494318 +10X_cells.CCATTCGCAAACCCAT-L8TX_180406_01_H01,1.5181154,-1.8915343 +10X_cells.CGATGTAAGATGAGAG-L8TX_180406_01_H01,0.92750597,0.71466655 +10X_cells.CTCATTAGTAAAGGAG-L8TX_180406_01_H01,1.0453378,-0.13446152 +10X_cells.GGTGTTAAGAGCTGCA-L8TX_180406_01_H01,-0.3834309,1.234367 +10X_cells.TCTGAGAGTGTGCGTC-L8TX_180406_01_H01,0.83441746,1.1611785 +10X_cells.AAACCTGGTCACCCAG-L8TX_180406_01_E02,-0.092433296,-0.28042758 +10X_cells.GAATAAGTCAACTCTT-L8TX_180406_01_E02,1.070161,1.199592 +10X_cells.TACGGGCCAAGCTGTT-L8TX_180406_01_E02,0.6465359,-0.6627403 +10X_cells.TCCACACCATTGTGCA-L8TX_180406_01_E02,0.7919831,-0.60968214 +10X_cells.CTTAGGATCCTGCAGG-L8TX_180406_01_G02,0.9974081,0.1886708 +10X_cells.TTCTTAGCACATCCAA-L8TX_180406_01_G02,0.17995504,0.67931485 +10X_cells.ATAACGCCAATCACAC-L8TX_180406_01_H02,1.8615072,-2.1514628 +10X_cells.CTGCTGTGTCTGCCAG-L8TX_180406_01_H02,0.008880653,1.419612 +10X_cells.TGTCCCATCCTGCCAT-L8TX_180406_01_H02,-0.51081467,0.8760529 +10X_cells.AACTCCCAGCGTCTAT-L8TX_180406_01_B06,0.825011,0.91746926 +10X_cells.CTACCCACAAACTGTC-L8TX_180406_01_B06,1.0420048,-0.2276012 +10X_cells.CTTACCGTCGCGGATC-L8TX_180406_01_B06,0.8706797,0.058024567 +10X_cells.CTTCTCTGTGTGAATA-L8TX_180406_01_B06,1.1303091,-0.1527332 +10X_cells.CTTCTCTTCTGATTCT-L8TX_180406_01_B06,0.28319442,-0.28928405 +10X_cells.ACGCCAGAGGGAACGG-L8TX_180406_01_E06,1.174912,-1.2769578 +10X_cells.CAGATCAGTTGAGGTG-L8TX_180406_01_E06,1.1941385,0.3374813 +10X_cells.GCCTCTATCGCGGATC-L8TX_180406_01_E06,0.6902631,-0.0828399 +10X_cells.GTTACAGAGTGGAGAA-L8TX_180406_01_E06,0.76553166,-0.21431331 +10X_cells.TCTTTCCGTCGCATAT-L8TX_180406_01_E06,0.8277625,0.24192597 +10X_cells.CAGCGACAGCAATATG-L8TX_180406_01_C08,0.6641945,-0.6072142 +10X_cells.CGGACGTAGCGATGAC-L8TX_180406_01_C08,0.6642176,0.21515664 +10X_cells.GAACATCAGGAATGGA-L8TX_180406_01_C08,0.3830928,0.624032 +10X_cells.ATCATGGGTGTGAAAT-L8TX_180406_01_C07,1.1212128,-0.3648191 +10X_cells.CCCTCCTCACTTGGAT-L8TX_180406_01_C07,-0.21649697,0.9480944 +10X_cells.TGGCGCAGTCCGAAGA-L8TX_180406_01_C07,1.1949158,1.3831773 +10X_cells.TTGGCAACATGGTAGG-L8TX_180406_01_C07,1.0495607,0.4664584 +10X_cells.CAGCCGAAGATCTGCT-L8TX_180406_01_E07,-1.0055,-0.6783051 +10X_cells.CGATGGCAGAGACTAT-L8TX_180406_01_E07,0.60151607,-0.10654036 +10X_cells.CTGATCCCAGACTCGC-L8TX_180406_01_E07,-0.61689913,0.12561233 +Smartseq_cells.SM-GE91H_S080_E1-50,-0.2793372,0.22984537 +Smartseq_cells.SM-GE91C_S168_E1-50,-0.20347469,-1.5887121 +Smartseq_cells.SM-GE91C_S250_E1-50,-0.47017685,-2.4358127 +10X_cells.ACACCGGAGGGCACTA-L8TX_180406_01_C02,0.9914124,1.3320254 +10X_cells.GTAACTGGTTATCCGA-L8TX_180406_01_C01,0.20841956,-0.04212351 +10X_cells.ACTGATGGTACCGTTA-L8TX_180406_01_B01,0.7144966,0.4498913 +10X_cells.CGTTGGGAGGTGCAAC-L8TX_180406_01_B01,-0.6129493,0.09302087 +10X_cells.GAAGCAGTCAGCACAT-L8TX_180406_01_C01,0.46569484,-0.7281216 +10X_cells.GCAAACTGTCCGAACC-L8TX_180406_01_C01,0.85898024,0.45325986 +10X_cells.ATGAGGGTCACCACCT-L8TX_180406_01_E01,0.46235877,0.45984805 +10X_cells.CCACGGACAAAGGTGC-L8TX_180406_01_E01,0.37961233,0.95376694 +10X_cells.CTACATTGTTATCCGA-L8TX_180406_01_E01,0.92183834,0.83821106 +10X_cells.TTTATGCTCATGTCCC-L8TX_180406_01_E01,0.07857973,0.8699738 +10X_cells.CGCTTCACAGACAAAT-L8TX_180406_01_F01,0.22675163,0.5252958 +10X_cells.AAACGGGAGGGTCGAT-L8TX_180406_01_G01,0.4637707,1.7733858 +10X_cells.CGGTTAACACACCGCA-L8TX_180406_01_G01,0.20079024,0.40032357 +10X_cells.TCGAGGCGTACGACCC-L8TX_180406_01_G01,0.3954897,0.75229925 +10X_cells.CTAACTTAGACTTTCG-L8TX_180406_01_B02,0.25202465,0.59397614 +10X_cells.GCCTCTAAGGCTCATT-L8TX_180406_01_B02,0.007348688,1.2621433 +10X_cells.AGCAGCCTCTTCATGT-L8TX_180406_01_C02,-2.3256862,0.75035983 +10X_cells.GCGACCAAGTATGACA-L8TX_180406_01_C02,0.51631856,0.95721704 +10X_cells.GGCTGGTCAGTAAGCG-L8TX_180406_01_C02,0.4360338,0.47784504 +10X_cells.ACTTGTTAGGACGAAA-L8TX_180406_01_D02,1.1385251,0.3617705 +10X_cells.AGCATACTCTGCAAGT-L8TX_180406_01_D02,1.378491,0.025876554 +10X_cells.CCACGGATCAGCTCTC-L8TX_180406_01_D02,1.1061413,-0.8621519 +10X_cells.TTAGGACCAATCTGCA-L8TX_180221_01_E10,0.798812,0.52296835 +10X_cells.CTTCTCTGTAGCCTAT-L8TX_190312_01_D02,2.1949852,0.33229968 +10X_cells.CACAGGCCAAGCTGGA-L8TX_180221_01_G11,-0.78204256,0.18857542 +10X_cells.TTAACTCGTGTCCTCT-L8TX_180221_01_F11,0.39127612,-0.37764087 +Smartseq_cells.SM-GE91B_S112_E1-50,-1.4344405,-0.743077 +10X_cells.ACGAGGATCCTCTAGC-L8TX_180504_01_E01,-1.0007533,-0.7725566 +Smartseq_cells.SM-GE91C_S307_E1-50,-2.2188983,-0.6840924 +10X_cells.GTGCATAGTAGCGATG-L8TX_180221_01_B10,-0.7282311,-0.8149469 +10X_cells.CTCACACTCGGTTAAC-L8TX_180406_01_F02,-2.6900282,-0.33029217 +10X_cells.GGAGCAATCATGTGGT-L8TX_180406_01_F02,-1.1944029,-2.0616822 +10X_cells.AGAGCGACAGGTCTCG-L8TX_180406_01_C06,-1.8692014,-0.059532344 +10X_cells.ATTACTCAGAATGTGT-L8TX_180406_01_C06,-0.15149172,-0.63575906 +10X_cells.TGTGTTTCAGATAATG-L8TX_180221_01_H12,-0.8258443,-1.837305 +10X_cells.CGCGTTTCATGTAGTC-L8TX_180221_01_D09,-0.6046884,-1.5191007 +10X_cells.GTCACGGGTACCGTAT-L8TX_180607_01_C05,-1.3977491,-1.2016784 +10X_cells.TTTGCGCAGACGCAAC-L8TX_180712_01_G05,0.08806536,-0.2813804 +10X_cells.GACTGCGAGAGTGACC-L8TX_180829_01_D10,-0.018084675,-0.71779424 +10X_cells.ACATCAGGTCATTAGC-L8TX_180829_01_D09,-1.4058096,-1.2762095 +10X_cells.CTAATGGCAGCCAGAA-L8TX_180829_01_D10,-1.2280029,-1.0568199 +10X_cells.TCAGCAAGTATAAACG-L8TX_180829_01_D09,-0.21394801,-1.8830456 +10X_cells.TTGAACGTCACGATGT-L8TX_180829_01_D09,-0.96432483,-1.4231557 +10X_cells.CACCAGGGTCTGATCA-L8TX_180829_01_D10,0.46623468,-0.14232022 +10X_cells.CCACTACTCTTTAGGG-L8TX_180829_01_D10,-2.4897115,-1.2437063 +10X_cells.GAATGAACATCACCCT-L8TX_180829_01_D10,1.3740157,-2.0058053 +10X_cells.ACTGAACCACTAAGTC-L8TX_180907_01_F10,-1.5020704,-2.4515555 +10X_cells.GCTGCGATCATGTCCC-L8TX_180907_01_F10,-0.9468384,-1.2339725 +10X_cells.GTTCGGGAGGGAACGG-L8TX_181011_01_H02,-0.24480349,-0.71485114 +10X_cells.AGCCTAAGTCAACTGT-L8TX_181011_01_C04,-0.02674907,-1.7213933 +10X_cells.TCACGAACATCATCCC-L8TX_181011_01_C04,-0.9868878,-1.2903601 +10X_cells.GACGTTATCTACGAGT-L8TX_181012_01_G04,0.5092037,-1.8842715 +10X_cells.GCGCAACAGGTGCTTT-L8TX_181012_01_G04,-0.58456844,-2.7831569 +10X_cells.ATTGGTGCAACTTGAC-L8TX_181012_01_H04,-1.5301355,-1.4716836 +10X_cells.CGCGGTACAGCCTGTG-L8TX_181012_01_E05,-0.20828609,-0.8295934 +10X_cells.CCGGGATAGCTTATCG-L8TX_180406_01_E02,0.64284724,0.3618203 +10X_cells.TTCGAAGTCGCTTGTC-L8TX_171026_01_B04,-2.3948941,-1.9513254 +10X_cells.CTCACACTCACGCATA-L8TX_171026_01_B05,-2.304973,-1.914797 +10X_cells.CGCTATCGTTACGGAG-L8TX_171026_01_F03,1.4278423,-2.1705732 +10X_cells.ATGAGGGAGCACAGGT-L8TX_171026_01_F04,-1.4010544,-2.3265004 +10X_cells.CGTGTAAAGGACACCA-L8TX_171026_01_F04,-2.4442291,-1.2753304 +10X_cells.ATTGGTGCATTATCTC-L8TX_171026_01_G04,-2.7128294,-1.0257806 +10X_cells.GGGCATCTCGAATGCT-L8TX_171026_01_G04,-2.4893703,-0.70117086 +10X_cells.CGGCTAGTCCTTGCCA-L8TX_171026_01_B05,-0.056192424,-0.6861614 +10X_cells.CTCGTACCATTAGCCA-L8TX_171026_01_B05,-2.173801,-1.6897423 +10X_cells.ATCTACTTCGAATGGG-L8TX_171026_01_H03,-1.7050834,-2.2665207 +10X_cells.ACGAGGATCGGCTACG-L8TX_171026_01_A04,-2.2550688,-1.4624171 +10X_cells.ACCAGTATCCGTTGTC-L8TX_171026_01_E05,-1.9513483,-1.8910214 +10X_cells.AGCGTATAGTTGAGTA-L8TX_171026_01_F05,-1.7468728,-1.7832804 +10X_cells.GACTACATCCCGACTT-L8TX_171026_01_G05,-2.4006095,-1.7742937 +10X_cells.GAAGCAGAGGGCTTGA-L8TX_181206_01_C12,-1.1854341,-1.391936 +10X_cells.ACATCAGTCAAACAAG-L8TX_181206_01_D12,-1.2367942,-2.6573696 +10X_cells.GACAGAGTCAAAGTAG-L8TX_181206_01_D12,-1.1913903,-1.5760872 +10X_cells.CACATAGAGAGTCTGG-L8TX_181206_01_E12,-1.7413585,-1.8533283 +10X_cells.GGGACCTAGCTTATCG-L8TX_180221_01_D10,-1.8880435,-0.5377011 +10X_cells.AAGGAGCTCACGAAGG-L8TX_180221_01_E10,-1.5590262,-0.5191662 +10X_cells.CGGAGTCAGGCCCTTG-L8TX_180221_01_E10,-0.515597,-3.0794196 +10X_cells.CGTGTAAGTTGAACTC-L8TX_180221_01_F10,-2.7655683,-1.2537878 +10X_cells.GGTGTTAAGTATGACA-L8TX_180221_01_F10,-2.4970682,-3.1095126 +10X_cells.CTCACACGTAGCCTCG-L8TX_180221_01_A11,-1.9719895,-0.9238224 +10X_cells.AGCAGCCTCGAGAGCA-L8TX_190312_01_C02,-2.0621521,-3.0664876 +10X_cells.GATCGATCAAGCGCTC-L8TX_190312_01_C02,-2.2358017,-3.0871441 +10X_cells.CTGAAGTGTCTCTCGT-L8TX_180926_01_E12,-2.6094139,-1.9505866 +10X_cells.TTTCCTCCAAGTTAAG-L8TX_180926_01_E12,-0.3937012,-1.7217311 +10X_cells.CCCAATCTCCTGCTTG-L8TX_181012_01_B05,-1.3248208,-0.86578864 +10X_cells.GTACTCCTCCGCGGTA-L8TX_180907_01_H11,-2.3846154,-2.4890726 +10X_cells.CACACCTTCAACGGCC-L8TX_180907_01_E11,0.22824709,-1.7045282 +10X_cells.ACGCCAGGTTCCATGA-L8TX_190312_01_D01,-2.383262,-0.9288865 +10X_cells.GATTCAGCAGACGCAA-L8TX_190312_01_F01,-0.8203305,-0.26984498 +10X_cells.CTAATGGCATGGTTGT-L8TX_190312_01_A02,-2.6819,-2.1326194 +10X_cells.CAAGTTGGTATGGTTC-L8TX_180926_01_B01,-0.89185256,-1.3076521 +10X_cells.TCGCGAGAGAGTTGGC-L8TX_180926_01_B01,0.30888462,-0.22496904 +10X_cells.CGGAGTCGTGATGTGG-L8TX_180926_01_D01,0.3475806,-1.5560164 +10X_cells.GATGAGGAGAGTTGGC-L8TX_180926_01_D01,-0.90326816,-1.450069 +10X_cells.CCTACACAGACTAGGC-L8TX_180926_01_F01,-1.2684155,-2.8150628 +10X_cells.GCAGCCAAGAATTGTG-L8TX_180712_01_F05,0.07873788,-1.8849456 +10X_cells.ACATACGTCCATGAGT-L8TX_180712_01_H05,-0.7460426,-2.2935967 +10X_cells.GCACTCTTCTTCCTTC-L8TX_180712_01_H05,-1.9090158,-0.3167438 +10X_cells.TCAGCAAGTCGCGTGT-L8TX_180504_01_E01,-1.5043422,-1.721842 +10X_cells.AGGGATGTCAACTCTT-L8TX_180221_01_D12,0.15719704,-0.9075292 +10X_cells.GCCAAATGTGCAACTT-L8TX_180221_01_H11,0.8333303,-1.9078326 +10X_cells.TTAGGACCAGTCGATT-L8TX_180221_01_H11,0.45366368,-1.2682714 +10X_cells.AGTTGGTCAGTATAAG-L8TX_200611_02_A05,-1.0504811,-1.0105417 +10X_cells.GAACGGACAGGATTGG-L8TX_180115_01_G09,0.4673732,-0.35405567 +10X_cells.GTTAAGCAGGCCCTTG-L8TX_180115_01_B09,-0.033627067,-2.1134892 +10X_cells.CATATTCGTGACTACT-L8TX_180115_01_C09,-1.371261,-2.2440996 +10X_cells.GTGCAGCGTCCAGTTA-L8TX_180115_01_C09,-0.63349354,-3.3036394 +10X_cells.TTAACTCAGTCTCCTC-L8TX_180115_01_C09,-2.0569434,-2.203427 +10X_cells.CCGTTCATCGTCGTTC-L8TX_180115_01_H10,-0.38147807,-0.9484837 +10X_cells.TACGGATAGGTTCCTA-L8TX_180115_01_H10,-1.3723084,-1.9225984 +10X_cells.TCTCTAAAGGATGTAT-L8TX_180115_01_B10,-1.4043888,-2.0820417 +10X_cells.TTGGCAAGTTCGCTAA-L8TX_180115_01_B11,-0.67005956,-2.8269992 +10X_cells.AGCGGTCCATGATCCA-L8TX_180115_01_C10,-1.2570549,-1.5295701 +10X_cells.TGACTTTTCCAATGGT-L8TX_180115_01_C10,-0.14380583,-0.70052624 +10X_cells.CATGGCGAGATGTGGC-L8TX_180115_01_C11,-1.2197953,-1.085192 +10X_cells.TACTTACAGACGCACA-L8TX_180115_01_C11,-1.745321,-2.1174405 +10X_cells.CGTCACTTCAAGGCTT-L8TX_180115_01_D11,-1.3883383,-3.1525207 +10X_cells.GTGAAGGGTGCAACTT-L8TX_180115_01_D11,-2.0381188,-2.4186356 +10X_cells.TGCCAAAAGCCCAACC-L8TX_180115_01_D11,-1.635273,-2.5171356 +10X_cells.AAAGATGAGCCGATTT-L8TX_180115_01_F10,-1.2913947,-1.4727716 +10X_cells.GACCTGGTCCGGCACA-L8TX_180115_01_E11,-1.9966818,-0.94985664 +10X_cells.ACGGCCAGTTCAACCA-L8TX_180115_01_F11,-1.8823746,-2.9782014 +10X_cells.CCATGTCCACGAGGTA-L8TX_180115_01_F11,-1.6827047,-2.318548 +10X_cells.GAAGCAGGTGCACTTA-L8TX_180115_01_F11,-1.9434028,-2.5902824 +10X_cells.GTGCGGTCACGAAACG-L8TX_180115_01_F11,-1.8675296,-1.8737559 +10X_cells.ACGCCAGGTACCGGCT-L8TX_180115_01_G11,-0.1498828,-1.4864186 +10X_cells.GGACGTCGTAGCGTAG-L8TX_180115_01_G11,-1.8666039,-2.0511947 +10X_cells.TTCGGTCGTCGAGTTT-L8TX_180115_01_G11,-1.8952836,-2.5620642 +10X_cells.TTGCGTCAGCTTATCG-L8TX_180115_01_H11,-1.8321272,-3.432603 +10X_cells.TTGCCGTGTAATAGCA-L8TX_180115_01_G09,0.38171893,-0.28515184 +10X_cells.CTTACCGGTCGCGGTT-L8TX_171120_01_G07,-2.6159449,-2.2419589 +10X_cells.ATTCTACCATGCGCAC-L8TX_171120_01_H07,-1.9881092,-2.1165469 +10X_cells.TAAGAGAAGGATGGAA-L8TX_171120_01_D07,-0.9944722,-2.238176 +10X_cells.AGCTCCTTCGACGGAA-L8TX_171120_01_C07,-0.37350616,-1.3453351 +10X_cells.ATCGAGTCAACACCTA-L8TX_171120_01_C07,-1.9467512,-1.6898614 +10X_cells.GGGCACTGTCTTGCGG-L8TX_171120_01_C07,-2.8284347,-1.6645404 +10X_cells.CGGACACGTGCGGTAA-L8TX_180115_01_H08,-2.4895601,-0.3266287 +10X_cells.AACACGTCATACTACG-L8TX_171120_01_E07,0.13581923,-1.6504681 +10X_cells.ACAGCCGGTCTCATCC-L8TX_171120_01_E07,-1.8107202,-2.4853184 +10X_cells.ACGTCAACACTTCGAA-L8TX_171120_01_E07,-1.6436191,-3.2228842 +10X_cells.GCGCAACGTCTCCCTA-L8TX_171120_01_E07,0.7487973,-1.6325599 +10X_cells.TCATTACGTCACAAGG-L8TX_171120_01_F07,-1.7168449,-2.2139096 +10X_cells.AGAGTGGCACCGATAT-L8TX_180115_01_E08,-2.6493447,-2.3175502 +Smartseq_cells.LS-15000_S40_E1-50,-1.6704785,-2.2435858 +Smartseq_cells.LS-15300_S21_E1-50,-1.6802202,-2.8107605 +Smartseq_cells.LS-15385_S08_E2-50,-1.9827121,-2.2908745 +Smartseq_cells.LS-15500_S84_E1-50,-2.4502754,-2.374313 +Smartseq_cells.SM-D9EP5_S95_E1-50,-2.5974083,-2.0942943 +Smartseq_cells.SM-D9CXP_S41_E1-50,-2.3372478,-1.472679 +Smartseq_cells.SM-GE67T_S010_E1-50,-2.8877032,-1.2356302 +Smartseq_cells.SM-GE67T_S206_E1-50,-2.931519,-1.162441 +Smartseq_cells.SM-GE67T_S296_E1-50,-2.8381782,-1.092664 +Smartseq_cells.SM-GE67X_S066_E1-50,-1.2029626,-3.6238408 +10X_cells.AACTCAGGTTCCTCCA-L8TX_180221_01_C10,-0.4616724,-2.1413908 +10X_cells.TTCTCAAGTCTAGGTT-L8TX_180221_01_G09,-2.0947359,-0.39459568 +10X_cells.ACGCAGCCAGATAATG-L8TX_180221_01_B10,-0.8234319,-3.06371 +10X_cells.TTGCGTCTCAAACAAG-L8TX_180221_01_C10,-1.7407414,-1.4696833 +10X_cells.AACTCCCAGTACACCT-L8TX_180406_01_F02,-0.044948537,-2.3862936 +10X_cells.CGTAGGCGTAGCACGA-L8TX_180406_01_F02,0.10420602,-2.685249 +10X_cells.GGTATTGGTCGCATCG-L8TX_180406_01_F02,0.3692218,-1.7416512 +10X_cells.CGTAGCGGTTCAGGCC-L8TX_180221_01_E09,-0.41307592,-2.7521338 +10X_cells.CTCACACCAAAGGAAG-L8TX_180221_01_C09,0.014447981,-0.25972188 +10X_cells.CGGTTAAGTTACGCGC-L8TX_180712_01_B06,-2.2379572,0.051909626 +10X_cells.TGGACGCCAAGGTGTG-L8TX_180712_01_B06,-0.1407278,-1.3182385 +10X_cells.TTGCGTCCAAGCTGTT-L8TX_180712_01_B06,0.36699313,-1.9268368 +10X_cells.CTCACACTCGGCTTGG-L8TX_181012_01_H04,-1.1133868,-2.2771733 +Smartseq_cells.SM-GE5VI_S187_E1-50,-1.0865469,-1.8896633 +10X_cells.AATCGGTTCAGCACAT-L8TX_180406_01_H01,0.6107567,-0.59443253 +10X_cells.TGTCCCACATTAGCCA-L8TX_180406_01_E07,-0.44655344,-1.1419222 +10X_cells.CTCGTCACACATAACC-L8TX_171026_01_F03,-0.9147298,-2.0352132 +10X_cells.CAGCTGGGTATGCTTG-L8TX_171026_01_A04,-0.42277405,-3.0410144 +10X_cells.TACCTATCAGCATACT-L8TX_171026_01_A05,-0.3218839,-3.1849399 +10X_cells.CTGTGCTTCGTAGGTT-L8TX_171026_01_F03,4.2757945,-2.873972 +10X_cells.CTTTGCGGTCGACTAT-L8TX_171026_01_F03,-1.8153979,-1.1600856 +10X_cells.TTCGGTCAGGCGTACA-L8TX_171026_01_G03,-0.11638572,-3.303777 +10X_cells.ACCCACTGTGAGGGAG-L8TX_171026_01_B04,-2.5878968,-0.19568415 +10X_cells.CAGCAGCAGGAATGGA-L8TX_171026_01_F04,-1.07771,-0.8357237 +10X_cells.CTCGGAGAGCAATATG-L8TX_171026_01_F04,-1.0702332,-1.6105866 +10X_cells.CGTCTACGTCTAGAGG-L8TX_171026_01_G04,-2.348179,-0.18923423 +10X_cells.CTTAGGATCGGAATCT-L8TX_171026_01_G04,-0.116772816,-1.8174137 +10X_cells.TCGAGGCAGGTACTCT-L8TX_171026_01_G04,-0.8853739,-2.1052325 +10X_cells.CCGGGATCACAGGAGT-L8TX_171026_01_B05,1.6118593,-2.117719 +10X_cells.TCGGGACTCCATGAAC-L8TX_171026_01_B05,-0.9309423,-1.8799859 +10X_cells.TGTATTCTCCTGCAGG-L8TX_171026_01_B05,-2.0659027,-0.21454608 +10X_cells.ACACCCTAGAAACGAG-L8TX_171026_01_H04,-2.4482715,0.15495616 +10X_cells.TAGTTGGTCTCAAACG-L8TX_171026_01_H04,-0.44006604,-2.9053767 +10X_cells.GCCAAATTCGGTCCGA-L8TX_171026_01_A05,-2.2149923,-0.7535571 +10X_cells.CTCGGAGAGTTCGCGC-L8TX_171026_01_D05,-0.8953873,0.16244863 +10X_cells.AACTGGTGTCAGAAGC-L8TX_171026_01_E05,-1.888216,0.10032945 +10X_cells.GGACAAGGTTAAAGTG-L8TX_171026_01_E05,-0.13356616,-3.2348251 +10X_cells.GTACGTATCATATCGG-L8TX_171026_01_E05,0.23388743,-1.6363934 +10X_cells.GACGTGCAGGGTATCG-L8TX_171026_01_F05,-1.075777,0.64988244 +10X_cells.TGAGAGGTCGGCTACG-L8TX_171026_01_G05,-1.0819608,-0.45308778 +10X_cells.TTAGGCAGTTCGTGAT-L8TX_171026_01_G05,-1.566463,-0.8193588 +10X_cells.ACAGCTATCCCACTTG-L8TX_171026_01_H05,-0.82655984,-0.37519944 +Smartseq_cells.LS-15538_S43_E1-50,-0.30824494,-2.7447875 +10X_cells.CAACCAATCGTAGGTT-L8TX_181206_01_A12,-1.8090488,-0.22571978 +10X_cells.TGCGCAGTCGTGGTCG-L8TX_181206_01_C12,-1.0538665,-0.07270766 +10X_cells.CGTCAGGCAACGATCT-L8TX_180406_01_E01,0.9939103,-0.098702855 +10X_cells.TGAGCCGAGCCAGAAC-L8TX_180406_01_C02,0.42573643,-0.27341792 +Smartseq_cells.SM-GE671_S052_E1-50,-0.9841513,-1.9293212 +Smartseq_cells.SM-GE671_S190_E1-50,-0.8350727,-1.2553656 +10X_cells.ACTTACTAGGCTCAGA-L8TX_180221_01_E10,-1.0021986,-0.73674583 +10X_cells.TGAGAGGGTCCTAGCG-L8TX_180221_01_E10,0.2781189,-1.673521 +10X_cells.ACGCCGAGTACATGTC-L8TX_180221_01_D10,-1.2322193,0.8011158 +10X_cells.AGAGCGATCTGCAAGT-L8TX_180221_01_D10,-0.17901729,-2.4515524 +10X_cells.CCTCAGTTCATGTCCC-L8TX_180221_01_E10,-1.0830188,0.64984846 +10X_cells.GCAATCATCGAATGGG-L8TX_180221_01_F10,-0.88122314,-0.2416544 +10X_cells.TTTGGTTGTTCATGGT-L8TX_180221_01_F10,-1.1198138,0.30016932 +10X_cells.CCACGGATCAGCAACT-L8TX_180221_01_G10,-1.4124968,0.79699814 +10X_cells.TCACGAAGTACTTAGC-L8TX_180221_01_G10,1.4277099,-0.7476878 +10X_cells.CTTAGGAGTTTAAGCC-L8TX_180221_01_H10,-1.4131509,0.1592852 +10X_cells.ACTTTCAAGCGTGTCC-L8TX_180221_01_A11,0.45527852,-1.0935744 +10X_cells.CGGACACGTTCGGCAC-L8TX_180221_01_A11,1.5040097,-1.5465796 +10X_cells.CTCACACCAAGGTGTG-L8TX_180221_01_A11,-0.44040537,0.40798703 +10X_cells.GACACGCTCTCGTTTA-L8TX_180221_01_A11,-0.7692936,-0.5120183 +10X_cells.CCTTCCCGTACCCAAT-L8TX_190312_01_B02,-1.440827,-1.3080612 +10X_cells.AGCGGTCAGGTCATCT-L8TX_190312_01_C02,-0.15071459,-2.2366796 +10X_cells.CATATTCGTGCCTTGG-L8TX_190312_01_D02,-2.0423405,0.45113602 +10X_cells.CGCTTCATCAGAGGTG-L8TX_180926_01_E12,-0.83763677,-3.2144346 +Smartseq_cells.SM-GE8XL_S104_E1-50,-1.8383021,-0.95312 +10X_cells.ACACCAATCAACGGCC-L8TX_190312_01_A03,-0.91179633,-2.0496757 +10X_cells.TCAGATGGTTCTCATT-L8TX_180926_01_B01,0.14490868,-2.4559507 +10X_cells.ATGAGGGCATGGTTGT-L8TX_180926_01_E01,-0.52085125,-0.47948432 +10X_cells.CGATGTAAGTCATGCT-L8TX_181011_01_A03,-1.2112378,-1.4019003 +10X_cells.GCGACCATCACCCGAG-L8TX_180712_01_F05,-0.12885763,-0.22746938 +10X_cells.ACTTTCACAAAGTCAA-L8TX_180712_01_E05,0.7210534,0.7331764 +10X_cells.TTTACTGTCTATCGCC-L8TX_180712_01_A06,0.4029062,-0.5689918 +10X_cells.CTGAAACGTTCGAATC-L8TX_180504_01_E01,-1.1777993,0.002855965 +10X_cells.CCTATTATCACCATAG-L8TX_180115_01_H10,-1.1569258,-2.264654 +10X_cells.CCACCTAGTCTCTCTG-L8TX_180115_01_D09,0.22900203,-1.6776395 +10X_cells.GCGCGATCATCCAACA-L8TX_180115_01_H10,-1.5895759,-0.6035384 +10X_cells.CGTTCTGTCTACGAGT-L8TX_180115_01_B11,-1.0314415,-0.7676172 +10X_cells.AACGTTGCACCCATGG-L8TX_180115_01_E11,-0.623579,0.49886084 +10X_cells.CTCGGAGAGGGATGGG-L8TX_180115_01_F11,-1.7818727,-0.43421406 +10X_cells.GCGCGATCAGCGTAAG-L8TX_180115_01_G11,-2.1083076,-0.80927014 +10X_cells.GGGTCTGTCCCGGATG-L8TX_180115_01_G11,-1.474305,-1.6256971 +10X_cells.GGGACCTCAGCAGTTT-L8TX_180115_01_G09,0.71182203,-1.0659474 +10X_cells.TCAGGTAGTATAAACG-L8TX_180115_01_G08,-2.375154,-0.24612348 +10X_cells.GATCTAGGTCACCTAA-L8TX_171120_01_C07,-0.3347327,-3.254073 +Smartseq_cells.LS-15078_S02_E1-50,-0.51589423,-2.9915454 +Smartseq_cells.SM-GE8ZW_S358_E1-50,-0.76420987,-2.180516 +10X_cells.AGGGATGTCAACCATG-L8TX_180221_01_F09,-2.0815363,0.82108307 +10X_cells.AGGGTGAAGCTGCCCA-L8TX_180221_01_G09,-2.0308268,1.4917178 +10X_cells.CGCTGGAAGAATTGTG-L8TX_180221_01_G09,-1.6642226,1.1756378 +10X_cells.TTGGAACGTCATGCAT-L8TX_180221_01_G09,-2.211063,0.94807047 +10X_cells.ACACCCTCAGATGGGT-L8TX_180221_01_A10,-2.113903,1.0525697 +10X_cells.CATTATCAGCTCCTCT-L8TX_180221_01_A10,-2.4783971,0.82693636 +10X_cells.TGTGGTATCGCACTCT-L8TX_180221_01_B10,0.08245756,-0.125075 +10X_cells.CACACAAAGGCCCGTT-L8TX_180221_01_C10,3.3034818,11.908541 +10X_cells.CCTACACCAATGACCT-L8TX_180221_01_D09,0.14956468,-0.61476725 +10X_cells.CTCAGAATCACCGTAA-L8TX_180221_01_H12,-1.2411512,0.8217627 +10X_cells.ATCGAGTTCAAGGTAA-L8TX_180221_01_E09,-1.9258734,0.15240212 +10X_cells.CTGGTCTGTTGCGTTA-L8TX_180221_01_E09,-1.1373042,-0.14502218 +10X_cells.GTAACGTTCCTATGTT-L8TX_180221_01_E09,-2.1349723,0.15199292 +10X_cells.TGCTGCTTCAGGCCCA-L8TX_180221_01_E09,3.1793516,12.162599 +10X_cells.CAAGTTGGTTCAGACT-L8TX_180712_01_C06,2.9988518,11.712113 +10X_cells.GTTACAGAGCAATCTC-L8TX_180829_01_D10,0.05030574,-0.20894647 +10X_cells.GACGTTACACACTGCG-L8TX_180907_01_F10,-2.1896288,-0.019076534 +10X_cells.ATAACGCAGGGATGGG-L8TX_181011_01_H02,-2.8323202,0.6890612 +10X_cells.GGGTTGCCAGCTGTTA-L8TX_181011_01_H02,-2.1848092,0.41176337 +10X_cells.CAAGAAAGTACAGACG-L8TX_181011_01_C04,-1.835207,-0.08804616 +10X_cells.CAGCTAAGTAAGTTCC-L8TX_180406_01_B06,-0.2679017,-0.39085808 +10X_cells.CACCACTTCCGATATG-L8TX_180406_01_E06,-0.28589374,1.4374069 +10X_cells.GTAGGCCAGGACGAAA-L8TX_180406_01_C08,0.76953274,0.684194 +Smartseq_cells.SM-GE91J_S015_E1-50,-1.707258,0.8839142 +10X_cells.GTTCGGGGTAGTGAAT-L8TX_200625_02_E11,3.9298012,9.2655115 +10X_cells.GTGGGTCAGGGCTCTC-L8TX_171026_01_G03,3.365271,11.101558 +10X_cells.AGTTGGTAGTGGAGAA-L8TX_171026_01_F03,-1.2124316,0.49915943 +10X_cells.CAACCAACAAGGTTTC-L8TX_171026_01_G03,-1.5944461,1.4250226 +10X_cells.CAACTAGAGATCACGG-L8TX_171026_01_G03,-2.3523262,0.89327264 +10X_cells.ATAAGAGGTTATTCTC-L8TX_171026_01_H04,-1.6926455,0.6069468 +10X_cells.GATCAGTCACACCGCA-L8TX_171026_01_H04,3.2890737,11.829851 +10X_cells.GAACGGAAGTGATCGG-L8TX_171026_01_H03,-0.74057114,0.24313754 +10X_cells.GAACGGATCGTTTATC-L8TX_171026_01_C05,-1.4971384,1.3545282 +10X_cells.GATCGATGTAAATACG-L8TX_171026_01_C05,-0.13453802,1.9254866 +10X_cells.TTGGAACTCAGCGACC-L8TX_171026_01_G05,3.4535234,10.894133 +Smartseq_cells.LS-15534_S71_E12-50,-2.2038877,-0.4313513 +Smartseq_cells.SM-GE92I_S209_E1-50,-2.1517806,-0.04050758 +10X_cells.TCTCATATCCGAACGC-L8TX_181206_01_B12,-1.8634139,1.0137154 +10X_cells.GCCTCTATCCGTAGGC-L8TX_181206_01_F12,-0.9512793,-0.048816565 +10X_cells.CTACCCACATGCCCGA-L8TX_180406_01_B02,3.6792107,8.55332 +10X_cells.AACTCAGTCCTAGGGC-L8TX_180406_01_B01,0.35186484,0.63917583 +10X_cells.GCTCTGTTCCTCGCAT-L8TX_180221_01_D10,3.0250957,10.855994 +10X_cells.TGACGGCTCCATTCTA-L8TX_180221_01_D10,-2.0372126,0.48464784 +10X_cells.ACGGAGAGTTGGTTTG-L8TX_180221_01_E10,-1.2447214,0.7459575 +10X_cells.CAGGTGCCAGGAACGT-L8TX_180221_01_E10,3.2669027,11.610465 +10X_cells.CTGATCCCAATGGATA-L8TX_180221_01_E10,-2.2164264,0.26437238 +10X_cells.GCATACATCATAACCG-L8TX_180221_01_F10,-1.2787539,0.15314949 +10X_cells.TACGGGCAGCCAGTAG-L8TX_180221_01_F10,-1.711807,0.67696816 +10X_cells.TGTGTTTAGTTGCAGG-L8TX_180221_01_F10,-0.81798923,-0.041235954 +10X_cells.GCTGCTTGTAGTACCT-L8TX_180221_01_G10,0.24463977,0.3497985 +10X_cells.CGGAGTCGTGATAAAC-L8TX_180221_01_H10,3.2337017,11.083327 +10X_cells.GATCGTACAGTATAAG-L8TX_180221_01_H10,1.5179935,-1.5160018 +10X_cells.GGATGTTCATGGTTGT-L8TX_180221_01_H10,-0.67326206,1.027331 +10X_cells.ATTATCCGTGAGCGAT-L8TX_180221_01_A11,-0.83968204,1.0740657 +10X_cells.CCCAGTTAGATACACA-L8TX_180221_01_A11,-2.1610947,1.2373426 +10X_cells.GCAGCCAGTAAGGGAA-L8TX_180221_01_A11,-1.3595294,0.2987203 +10X_cells.TACTCGCTCATGCTCC-L8TX_180221_01_A11,-1.7399737,0.8056696 +10X_cells.TAGAGCTAGCAAATCA-L8TX_180221_01_A11,-2.0063365,0.9440349 +10X_cells.AACTCCCGTCTTCGTC-L8TX_190312_01_B02,-1.8796501,0.8790313 +10X_cells.ATAAGAGAGCTACCTA-L8TX_190312_01_B02,0.16564052,1.3505269 +10X_cells.GTGAAGGAGATAGTCA-L8TX_190312_01_D02,-0.95207316,1.263826 +10X_cells.GTATCTTTCGGTTAAC-L8TX_190312_01_G02,-2.6502469,-0.8283784 +10X_cells.GGAAAGCTCAAACAAG-L8TX_180221_01_D11,-1.3078854,-0.6941721 +10X_cells.GACGTTAGTTAGTGGG-L8TX_180221_01_E11,-1.8701848,0.6186161 +10X_cells.TTTACTGGTAGCTCCG-L8TX_180907_01_B12,-0.31965318,1.7568069 +Smartseq_cells.SM-D9D8K_S64_E1-50,-2.3006597,0.23415084 +10X_cells.GGAAAGCTCTGAGTGT-L8TX_180926_01_D01,-0.7957468,-0.21783763 +10X_cells.CCTAGCTCACTAGTAC-L8TX_181011_01_A03,-1.5643773,0.14891586 +10X_cells.GCCTCTAAGATCCTGT-L8TX_181011_01_A03,-1.1228482,0.57950103 +10X_cells.TGGTTCCCACTACAGT-L8TX_181011_01_H03,-1.0116261,0.45922095 +Smartseq_cells.SM-GE91B_S027_E1-50,-1.152937,1.1010537 +10X_cells.CGCTATCCATATACGC-L8TX_180712_01_H05,-1.0930033,0.63214767 +10X_cells.CTGATCCAGTTCCACA-L8TX_180504_01_E01,-1.7180738,0.8293931 +10X_cells.ATCATCTTCTTCATGT-L8TX_180221_01_C12,-0.4697505,0.5430703 +10X_cells.GGACATTTCTCGAGTA-L8TX_180221_01_C12,-1.308255,0.5239919 +10X_cells.TGCTACCGTGCCTTGG-L8TX_180221_01_C12,-0.7513908,-0.08927768 +10X_cells.ACTATCTGTAGCTTGT-L8TX_180221_01_H11,0.44453895,-1.2447037 +10X_cells.GTGCGGTTCCATTCTA-L8TX_180115_01_E09,-2.0760202,-0.2785873 +10X_cells.TTGCGTCAGCAGGCTA-L8TX_180115_01_G11,3.873567,9.815003 +10X_cells.CTACCCAGTGACAAAT-L8TX_180115_01_B09,-1.309505,-0.16705836 +10X_cells.AAGGCAGTCTTGTACT-L8TX_180115_01_C09,0.08295471,-0.45974955 +10X_cells.TACGGGCAGATCCCGC-L8TX_180115_01_D09,-1.6777563,0.57071835 +10X_cells.TGGACGCGTAGGGACT-L8TX_180115_01_C10,-0.0911501,-0.38610616 +10X_cells.CAGCATAGTAGGAGTC-L8TX_180115_01_E10,-0.8804631,0.13968223 +10X_cells.GTCGGGTAGGCAATTA-L8TX_180115_01_E10,-0.7866776,0.24435085 +10X_cells.ATGAGGGCACAGCGTC-L8TX_180115_01_G10,-0.4218007,-0.39620465 +10X_cells.CCCATACGTCGCGTGT-L8TX_180115_01_G11,-0.7014565,1.6756254 +10X_cells.TCGCGAGTCGGTGTCG-L8TX_180115_01_H11,3.823673,12.059652 +10X_cells.GTGCAGCGTACATGTC-L8TX_171120_01_H07,-2.028236,1.1599519 +10X_cells.TGGACGCTCCCGGATG-L8TX_180115_01_H08,-2.6287742,0.03532697 +10X_cells.TACGGATCACGAAGCA-L8TX_180115_01_E08,-2.3799496,0.36961743 +Smartseq_cells.LS-15011_S80_E1-50,-2.1615858,0.62306476 +Smartseq_cells.LS-15069_S64_E1-50,-2.4338765,0.7134402 +Smartseq_cells.SM-D9CXQ_S69_E1-50,-1.8702474,-0.7261092 +Smartseq_cells.SM-GE66C_S136_E1-50,-2.2022252,1.1527103 +Smartseq_cells.SM-GE8ZL_S116_E1-50,-2.4013674,0.48312613 +Smartseq_cells.SM-GE67T_S020_E1-50,-2.5017033,-0.33234262 +Smartseq_cells.SM-GE92Z_S125_E1-50,-2.2843945,0.5631809 +10X_cells.ATCATCTGTGTAACGG-L8TX_180221_01_C10,14.829054,5.3133845 +10X_cells.ATCACGACATTTGCTT-L8TX_180221_01_F09,14.455731,5.6235766 +10X_cells.GTGTGCGTCTGTTGAG-L8TX_180221_01_A10,15.54426,4.1479583 +10X_cells.AACACGTAGGACTGGT-L8TX_180406_01_H01,12.868984,5.7937045 +10X_cells.AGGCCACCATGGTCTA-L8TX_180406_01_E07,12.115673,6.7543607 +10X_cells.CGTGTCTAGGATTCGG-L8TX_180406_01_E06,13.484247,4.956152 +Smartseq_cells.SM-GE91J_S304_E1-50,14.031611,6.278053 +10X_cells.CCGTACTTCCGCAAGC-L8TX_180221_01_G12,14.395328,5.615159 +10X_cells.AGTGTCAAGAAACGCC-L8TX_200625_02_G11,13.333145,1.9306757 +10X_cells.CTAACTTGTTTGTGTG-L8TX_180406_01_B02,13.702231,5.5373282 +10X_cells.AGTTGGTCACCAACCG-L8TX_180406_01_D02,13.653757,6.1159353 +10X_cells.GCACTCTTCAGGTAAA-L8TX_180406_01_E01,13.5072775,4.9487476 +10X_cells.TTATGCTGTCTTGTCC-L8TX_180406_01_G01,13.592328,5.060253 +10X_cells.CCACGGAAGGAATGGA-L8TX_180406_01_G01,13.961282,6.0372624 +10X_cells.ATGAGGGCATCTCCCA-L8TX_180406_01_G01,13.148549,4.5550785 +10X_cells.CGTGAGCGTAACGACG-L8TX_180406_01_E01,14.303095,5.6377783 +10X_cells.ACAGCTATCCTTTCTC-L8TX_180406_01_B01,13.92128,5.769451 +10X_cells.GGGATGAGTCCGTCAG-L8TX_180406_01_B02,13.141447,4.745609 +10X_cells.AGTAGTCTCTGTCAAG-L8TX_180406_01_B02,14.106295,6.0653286 +10X_cells.TCTGGAAGTGCCTGCA-L8TX_180406_01_C01,14.126219,6.0686083 +10X_cells.CGATGTAAGGTACTCT-L8TX_180406_01_E01,13.7028675,5.0508614 +10X_cells.TCCACACTCATCGGAT-L8TX_180406_01_B01,13.304886,4.738123 +10X_cells.CTGCCTACAGGGATTG-L8TX_180406_01_D01,14.312171,5.769885 +10X_cells.TAGTGGTGTTCTCATT-L8TX_180406_01_D02,13.8735,6.847539 +10X_cells.GGCTCGATCTACGAGT-L8TX_180406_01_C02,14.20018,5.938481 +10X_cells.TAGTTGGTCGGTTAAC-L8TX_180406_01_B01,13.4277,5.085271 +10X_cells.TTCTCAACACACCGCA-L8TX_180406_01_C01,13.826762,4.7591486 +10X_cells.CTAGCCTTCGAGAACG-L8TX_180406_01_E01,13.973425,5.2474747 +10X_cells.CGGGTCAGTCAGAATA-L8TX_180406_01_B01,13.218847,5.1864004 +10X_cells.CTCTACGCATCGATTG-L8TX_180406_01_B01,13.828641,6.0461745 +10X_cells.GTCTTCGAGATGCGAC-L8TX_180406_01_B01,13.476204,5.165091 +10X_cells.TTAGTTCTCGACAGCC-L8TX_180406_01_B01,13.780317,5.7454267 +10X_cells.GAATAAGGTTGCGTTA-L8TX_180406_01_C01,13.685181,5.117375 +10X_cells.GGCGTGTGTCCTCTTG-L8TX_180406_01_D01,13.97737,5.5968595 +10X_cells.AAATGCCAGCGGATCA-L8TX_180406_01_E01,13.746255,5.647898 +10X_cells.CTCAGAACAGATGAGC-L8TX_180406_01_G01,13.449863,5.0547724 +10X_cells.GAACCTACAGCCTGTG-L8TX_180406_01_G01,14.000955,5.80654 +10X_cells.TACGGGCAGCGCTCCA-L8TX_180406_01_G01,14.449707,5.7589955 +10X_cells.ATTACTCTCTCTAGGA-L8TX_180406_01_B02,13.717867,6.5184097 +10X_cells.CGGAGCTAGTCTTGCA-L8TX_180406_01_B02,13.337329,4.4880104 +10X_cells.GCTTCCACAGTCAGCC-L8TX_180406_01_B02,13.601581,4.6018987 +10X_cells.ACTGCTCCAAGGTTCT-L8TX_180406_01_C02,14.2007065,5.9016623 +10X_cells.CATCGGGTCTACCAGA-L8TX_180406_01_C02,13.332539,5.869158 +10X_cells.TACGGGCGTGATGTCT-L8TX_180406_01_C02,14.386397,6.172725 +10X_cells.TTGGCAATCTTCGGTC-L8TX_180406_01_C02,14.107602,4.5943727 +10X_cells.GATTCAGAGAGGTTAT-L8TX_180406_01_D02,13.706831,5.549865 +Smartseq_cells.SM-GE8Z7_S112_E1-50,14.925446,5.759277 +Smartseq_cells.SM-GE8Z7_S198_E1-50,15.550527,5.6512074 +10X_cells.GGCTCGAAGTAGGTGC-L8TX_180221_01_H10,14.446867,5.664842 +10X_cells.GGGCACTCACGTCAGC-L8TX_181012_01_B05,14.64998,5.486814 +10X_cells.CCAATCCAGCCTATGT-L8TX_180221_01_B11,14.0539055,1.4862138 +Smartseq_cells.SM-GE914_S080_E1-50,14.43084,6.4636273 +Smartseq_cells.SM-GE914_S269_E1-50,14.506386,5.9732623 +Smartseq_cells.SM-GE93M_S271_E1-50,15.389349,5.580983 +10X_cells.CACCAGGAGTATTGGA-L8TX_180115_01_F09,14.08166,2.4978826 +10X_cells.TCTCTAATCAAGGTAA-L8TX_180115_01_F08,17.603739,5.0939765 +10X_cells.CTCTAATTCTTGTACT-L8TX_171120_01_F07,15.621561,5.404172 +Smartseq_cells.LS-15007_S93_E1-50,15.897607,5.244335 +Smartseq_cells.LS-15078_S11_E1-50,16.134468,5.176361 +Smartseq_cells.SM-GE67X_S055_E1-50,15.169808,5.58379 +Smartseq_cells.SM-GE94L_S186_E1-50,14.813446,5.739234 +10X_cells.CAGCAGCCAGTCCTTC-L8TX_180406_01_E02,12.56966,7.100656 +Smartseq_cells.SM-GE91C_S163_E1-50,13.775056,8.674357 +10X_cells.GTCGTAAGTGATGCCC-L8TX_180406_01_F07,13.648898,8.602361 +10X_cells.CTCCTAGGTCCTGCTT-L8TX_200625_02_F11,10.485368,9.658839 +10X_cells.TGAGCCGCACCCTATC-L8TX_200625_02_F11,13.082707,8.943103 +10X_cells.AATCGGTCATCTACGA-L8TX_200625_02_G11,12.52329,5.1263356 +10X_cells.TGACGGCAGTATGACA-L8TX_200625_02_E11,13.059981,9.002098 +10X_cells.GGGCACTCATTTCAGG-L8TX_200625_02_G11,12.544137,4.5251474 +Smartseq_cells.SM-GE8ZQ_S241_E1-50,13.361623,8.850495 +Smartseq_cells.SM-GE8ZQ_S375_E1-50,13.027843,9.008372 +Smartseq_cells.SM-GE8ZS_S318_E1-50,13.4909,8.886483 +10X_cells.TTGCCGTAGCCATCGC-L8TX_180406_01_C01,13.283469,7.915654 +10X_cells.TGAGAGGTCGCAGGCT-L8TX_180406_01_G01,13.482392,5.9378333 +10X_cells.AACCGCGGTGTATGGG-L8TX_180406_01_E01,13.314369,5.847238 +Smartseq_cells.SM-GE915_S074_E1-50,13.749488,8.529416 +Smartseq_cells.SM-GE915_S274_E1-50,13.461591,8.471648 +Smartseq_cells.SM-GE91B_S053_E1-50,13.712897,8.71629 +Smartseq_cells.SM-GE93M_S170_E1-50,13.269382,8.585635 +10X_cells.AGCATACCACCAGCAC-L8TX_180406_01_B06,2.936212,1.1155347 +10X_cells.ACACCAACAAGTCTGT-L8TX_180406_01_B06,3.0703554,0.9713377 +10X_cells.CACCAGGAGCCCAATT-L8TX_180221_01_E12,13.686211,8.77571 +10X_cells.TATTACCGTAGGGACT-L8TX_200625_02_E11,14.087612,7.469326 +10X_cells.TAAGCGTAGCTAACTC-L8TX_200625_02_E11,14.02291,7.8815312 +10X_cells.CGTTCTGCAAGCCCAC-L8TX_180406_01_B01,13.827783,6.21111 +10X_cells.CGTTAGAAGTCAAGCG-L8TX_180406_01_B01,13.304878,4.7731304 +10X_cells.AGCGGTCAGTAACCCT-L8TX_180406_01_E01,13.361612,5.46691 +10X_cells.ACTTTCAGTTTGACAC-L8TX_180406_01_D02,13.59513,5.9655533 +10X_cells.ACGAGCCAGGAGCGTT-L8TX_180221_01_B11,13.884914,0.13326631 +Smartseq_cells.SM-GE915_S283_E1-50,13.723475,8.671122 +Smartseq_cells.SM-GE915_S354_E1-50,14.0090885,8.2041 +Smartseq_cells.SM-GE91B_S044_E1-50,13.895527,8.340626 +Smartseq_cells.SM-GE91B_S110_E1-50,14.078665,8.156582 +Smartseq_cells.LS-15029_S32_E1-50,15.899684,5.0410194 +10X_cells.ACACCAATCCGCAAGC-L8TX_180221_01_C10,18.083586,4.1982055 +10X_cells.TATTACCCAGGTCTCG-L8TX_180221_01_D09,14.932277,2.0334926 +10X_cells.ATCTGCCAGCCCTAAT-L8TX_180829_01_D10,17.392416,4.389161 +10X_cells.TACGGTACAGGGTTAG-L8TX_181012_01_G04,15.489231,1.435159 +10X_cells.AGTGTCAAGACCCACC-L8TX_171026_01_G04,18.308498,2.9765348 +10X_cells.CATGACAAGTAGCCGA-L8TX_171026_01_G04,18.327698,3.5808487 +10X_cells.CCCAGTTCACAACTGT-L8TX_171026_01_B05,17.974321,4.684007 +10X_cells.AAAGATGAGGAGTTGC-L8TX_171026_01_H03,16.586462,2.2586365 +10X_cells.CTACCCAAGTTACGGG-L8TX_171026_01_E05,16.507816,1.9749428 +10X_cells.AGCTCTCGTCGGCACT-L8TX_171026_01_F05,13.116516,2.6561217 +10X_cells.CTCATTATCCGCAAGC-L8TX_171026_01_G05,16.214998,5.6352305 +Smartseq_cells.LS-15395_S42_E1-50,17.528366,5.688807 +Smartseq_cells.SM-GE92I_S300_E1-50,18.48397,3.9825535 +10X_cells.TCAGGATTCTAACGGT-L8TX_181206_01_D12,16.45831,5.2369294 +10X_cells.TCGGGACCATGGTTGT-L8TX_181206_01_D12,17.839512,1.6754415 +Smartseq_cells.SM-GE66Y_S373_E1-50,18.272055,4.098016 +10X_cells.GCGCAACGTGACTACT-L8TX_180221_01_D10,18.237648,1.2854747 +10X_cells.CTTGGCTCAGTATCTG-L8TX_180221_01_A11,18.103354,4.55058 +10X_cells.GCCTCTATCCTTTCTC-L8TX_180907_01_B11,16.421274,1.9829451 +10X_cells.CAAGGCCCACGGTTTA-L8TX_181012_01_C05,16.742603,1.8408496 +Smartseq_cells.SM-GE8XK_S098_E1-50,18.533516,3.8071113 +10X_cells.ACTGCTCAGCGCCTCA-L8TX_180221_01_F11,14.649779,-1.3228784 +10X_cells.GCACTCTCAAGGTTTC-L8TX_190312_01_A03,17.41292,5.050545 +10X_cells.AGTGTCATCTTTACGT-L8TX_180712_01_H05,16.71715,2.1251452 +10X_cells.GCGCAGTGTGTTGAGG-L8TX_180712_01_H05,18.019585,4.1804132 +10X_cells.CCTTCGATCAAACAAG-L8TX_180115_01_D11,17.039293,-0.2557787 +10X_cells.GCTGCGACAAGCTGTT-L8TX_180115_01_C10,16.68319,2.5622177 +10X_cells.GACACGCGTCCTGCTT-L8TX_180115_01_D10,15.000457,0.84316355 +10X_cells.AACTCTTCACGAAAGC-L8TX_180115_01_A09,17.175007,2.2478764 +10X_cells.GGATTACCACACTGCG-L8TX_180115_01_B09,15.709059,1.5390184 +10X_cells.ACGCCGAAGACTAGGC-L8TX_180115_01_C09,17.101282,2.6075032 +10X_cells.ATTATCCAGCCACGTC-L8TX_180115_01_C09,17.053349,2.4453404 +10X_cells.TATTACCAGGGTCTCC-L8TX_180115_01_C09,16.779444,2.6273193 +10X_cells.GTCTTCGAGAGTGAGA-L8TX_180115_01_D09,15.788224,6.513421 +10X_cells.ACGATACAGAACTGTA-L8TX_180115_01_A11,17.362144,2.3142664 +10X_cells.ATTACTCGTTCCGTCT-L8TX_180115_01_H10,15.669224,1.5259906 +10X_cells.CACAAACGTTCCCGAG-L8TX_180115_01_H10,17.18342,2.6293435 +10X_cells.TAAGCGTTCGTGGACC-L8TX_180115_01_B10,16.508652,2.2606487 +10X_cells.CTGATAGTCATGCTCC-L8TX_180115_01_C10,15.690055,1.2584304 +10X_cells.TAAGCGTTCTGCGTAA-L8TX_180115_01_D11,17.181314,1.5678685 +10X_cells.CAAGGCCGTCTGATCA-L8TX_180115_01_E10,12.906209,3.4744866 +10X_cells.GAAGCAGTCGTTGCCT-L8TX_180115_01_F10,17.410269,2.5620933 +10X_cells.CCCATACGTGACTACT-L8TX_180115_01_G10,15.65174,1.601033 +10X_cells.TGATTTCCATACTCTT-L8TX_180115_01_F11,17.29574,4.3971763 +10X_cells.ACGTCAATCAACACCA-L8TX_180115_01_G11,17.056345,5.306718 +10X_cells.GCGCAGTCATTGCGGC-L8TX_180115_01_G11,17.10786,5.3372993 +10X_cells.ATCGAGTAGATGCGAC-L8TX_180115_01_H09,12.833614,5.272084 +10X_cells.GTTCTCGCATGTTGAC-L8TX_180115_01_E09,15.721192,0.82722807 +10X_cells.GATCGTAAGAACTCGG-L8TX_180115_01_F09,16.963873,2.5351384 +10X_cells.AAAGTAGTCACGCATA-L8TX_171120_01_G07,16.481169,2.3983178 +10X_cells.ATCGAGTTCGCGGATC-L8TX_171120_01_C07,15.619934,1.9963595 +10X_cells.CATCGAAAGACTTGAA-L8TX_171120_01_F07,17.519068,2.6500628 +10X_cells.GTTCGGGCATAGTAAG-L8TX_180115_01_C08,15.792933,1.4146608 +Smartseq_cells.LS-15069_S85_E1-50,17.54595,5.724376 +Smartseq_cells.LS-15078_S29_E1-50,17.484558,5.905597 +Smartseq_cells.LS-15580_S16_E1-50,18.537386,3.986619 +Smartseq_cells.SM-GE63I_S012_E1-50,17.957876,5.0735927 +Smartseq_cells.SM-GE67T_S053_E1-50,17.850357,5.2431254 +10X_cells.ATGAGGGCAGCGTTCG-L8TX_180221_01_F09,17.732458,4.425799 +10X_cells.GACTGCGGTGGCTCCA-L8TX_180221_01_B10,17.883974,5.286059 +10X_cells.TTCGAAGGTTTCCACC-L8TX_180221_01_B10,16.403229,5.259456 +10X_cells.AAAGATGCACTTCGAA-L8TX_180221_01_E09,17.325851,5.09532 +10X_cells.AAGGCAGCAGTAGAGC-L8TX_180221_01_E09,17.763819,4.5336337 +10X_cells.CTCGTACAGGGATACC-L8TX_180221_01_E09,17.728851,4.12688 +10X_cells.TCGTAGATCCCATTAT-L8TX_180221_01_E09,15.895414,5.873895 +10X_cells.CGAGAAGTCTCACATT-L8TX_180221_01_C09,16.92401,3.6290493 +10X_cells.CAAGTTGCAGTCAGCC-L8TX_180221_01_D09,13.102762,6.0849767 +10X_cells.GACTGCGAGCGCTTAT-L8TX_180221_01_D09,12.072269,6.7339067 +10X_cells.GCAATCAGTCTTTCAT-L8TX_180607_01_C05,15.328738,4.6897635 +10X_cells.GCTGCTTGTTTGTTTC-L8TX_180712_01_B06,17.351635,4.7926087 +10X_cells.CGCCAAGCAGCATGAG-L8TX_180712_01_C06,15.794847,6.33792 +10X_cells.TCGGTAAAGAGAGCTC-L8TX_180712_01_C06,15.792943,3.8945627 +Smartseq_cells.SM-GE67M_S277_E1-50,17.287724,5.438324 +Smartseq_cells.LS-15019_S10_E1-50,17.241837,6.0308685 +10X_cells.AGGCCGTGTCCGAATT-L8TX_180829_01_E10,13.169345,5.819928 +10X_cells.CCGTACTTCCACGCAG-L8TX_181011_01_H02,16.241497,7.0078936 +10X_cells.TGCACCTTCAGCTTAG-L8TX_181011_01_C04,15.710295,3.0509167 +10X_cells.CTAACTTCAGTATAAG-L8TX_181012_01_G04,15.711651,2.707792 +10X_cells.TCGTAGAGTATTAGCC-L8TX_181012_01_G04,17.129297,3.830585 +10X_cells.CATGACATCAACGCTA-L8TX_181012_01_H04,15.492012,4.4556355 +10X_cells.TCACGAATCCACGTGG-L8TX_181012_01_E05,15.779274,3.6551232 +10X_cells.TTTACTGGTTATGCGT-L8TX_180406_01_H02,16.171734,4.991279 +10X_cells.TACAGTGTCTCTGAGA-L8TX_180406_01_E07,12.902972,5.7682323 +10X_cells.ACTGAACTCTACTATC-L8TX_180406_01_B06,3.2858372,1.2832865 +10X_cells.GTCAAGTGTATAATGG-L8TX_180406_01_H02,12.524052,7.1271954 +10X_cells.ATTACTCAGTCAAGGC-L8TX_180406_01_H01,12.224623,7.0047216 +10X_cells.CCTACACGTACAAGTA-L8TX_180406_01_B06,12.503144,6.953932 +10X_cells.CCTTCCCGTCTCTCTG-L8TX_180406_01_H02,3.0729365,-0.8027763 +10X_cells.TCAATCTAGGACAGAA-L8TX_180406_01_H01,12.195775,6.692707 +10X_cells.CACAAACAGTGTTGAA-L8TX_171026_01_E05,17.038593,4.5536213 +10X_cells.CAGAATCCAAGTTAAG-L8TX_171026_01_F03,16.786316,7.3533587 +10X_cells.CTTAGGAGTCCAGTGC-L8TX_171026_01_G03,16.649496,6.5403547 +10X_cells.ATAACGCAGCGCCTCA-L8TX_171026_01_B04,17.455534,4.721886 +10X_cells.GATCGTAAGCCATCGC-L8TX_171026_01_H03,17.778488,3.542596 +10X_cells.CACATTTTCGGATGTT-L8TX_171026_01_A04,17.781181,4.9807353 +10X_cells.AGAGCTTCATTCGACA-L8TX_171026_01_C05,16.439621,5.761752 +10X_cells.TGAGGGAGTCTCCCTA-L8TX_171026_01_C05,17.01571,4.32154 +Smartseq_cells.SM-DD44N_S06_E1-50,17.656454,5.458969 +10X_cells.CGATGGCGTTAAGATG-L8TX_181206_01_E12,17.01854,3.3572335 +Smartseq_cells.SM-GE8ZH_S284_E1-50,18.069706,4.1078978 +10X_cells.AACTGGTAGGTGATAT-L8TX_180406_01_C01,13.523707,6.537983 +10X_cells.GCATACATCCACGTGG-L8TX_180406_01_E01,13.388365,6.9584155 +10X_cells.GACGCGTAGCTACCGC-L8TX_180406_01_B01,13.468164,6.2345557 +10X_cells.TGGTTAGTCACCCTCA-L8TX_180406_01_D01,13.100406,5.4060483 +Smartseq_cells.SM-GE8Z7_S200_E1-50,17.891693,4.383354 +10X_cells.GGATGTTGTAAGTAGT-L8TX_180221_01_G10,15.6272335,3.7993035 +10X_cells.TACTTACTCCGCTGTT-L8TX_180221_01_F10,16.013151,5.4501524 +10X_cells.CCTATTAGTCTCTTTA-L8TX_180221_01_G10,16.13474,5.422296 +10X_cells.ATCATCTGTTAAGAAC-L8TX_180221_01_D10,15.477764,3.5350957 +10X_cells.AGCGTCGCAAGCGATG-L8TX_180221_01_E10,16.23776,3.8932502 +10X_cells.CGTCACTCAAGCGTAG-L8TX_180221_01_F10,15.557028,3.897034 +10X_cells.GCAGCCATCCAAATGC-L8TX_180221_01_F10,16.66597,4.8559055 +10X_cells.CACAGGCTCTGCGTAA-L8TX_180221_01_H10,15.709363,3.2252517 +10X_cells.CCCAGTTTCAGTTAGC-L8TX_180221_01_A11,16.897652,4.337431 +10X_cells.GCTTCCACAAAGGCGT-L8TX_180907_01_B11,15.513901,2.9981585 +10X_cells.TGAAAGATCACCGGGT-L8TX_180907_01_B11,17.001734,3.0723948 +10X_cells.GCACTCTTCTGGTGTA-L8TX_180926_01_C12,17.718056,4.378941 +Smartseq_cells.SM-GE8XL_S002_E1-50,17.702274,5.4125156 +10X_cells.GACCTGGAGAGTGACC-L8TX_180221_01_E11,13.18287,5.658013 +10X_cells.GAGGTGATCTTGAGGT-L8TX_180221_01_G11,16.967113,6.3901753 +10X_cells.CAACTAGTCTTGCATT-L8TX_180907_01_A12,17.850008,5.1385818 +10X_cells.TAGACCACAGCTGGCT-L8TX_180907_01_B12,16.861826,5.5168867 +10X_cells.TTCTTAGAGTGCCAGA-L8TX_180907_01_B12,16.263193,2.1432917 +10X_cells.CACATTTCAGGCAGTA-L8TX_181011_01_H03,16.345522,5.3166237 +10X_cells.AACTTTCTCAGTTCGA-L8TX_180926_01_E01,15.627478,3.4710276 +10X_cells.GCTGCAGAGAATTGTG-L8TX_180926_01_E01,17.113798,3.3476532 +10X_cells.TAAACCGTCACAGGCC-L8TX_181011_01_A03,14.5084095,6.1426716 +Smartseq_cells.SM-GE914_S096_E1-50,16.680786,5.5961533 +10X_cells.TTAGGACGTTACAGAA-L8TX_180504_01_E01,12.737646,6.3742228 +10X_cells.AACTGGTCACATGTGT-L8TX_180712_01_H05,16.71037,4.2269964 +10X_cells.ACGCCGATCTTACCGC-L8TX_180712_01_H05,17.137009,3.8807757 +10X_cells.ATCACGAGTGTGCGTC-L8TX_180712_01_A06,16.154406,4.0115047 +10X_cells.GCAGTTATCACGAAGG-L8TX_180712_01_A06,15.766637,5.6698604 +10X_cells.CCGGGATCAAGCTGGA-L8TX_180504_01_E01,16.444992,5.1104517 +10X_cells.TGACTTTAGTGAAGAG-L8TX_180221_01_A12,16.221094,2.7065856 +10X_cells.CATTCGCTCGCACTCT-L8TX_180221_01_B12,12.975434,3.047173 +Smartseq_cells.SM-GE677_S177_E1-50,17.489168,4.556947 +10X_cells.ACTTTCACACTGTGTA-L8TX_180115_01_B09,17.121368,3.200476 +10X_cells.CAGTAACGTTCCACAA-L8TX_180115_01_C09,17.498072,4.3777947 +10X_cells.GAATAAGTCTGCAAGT-L8TX_180115_01_C09,17.342283,2.6422014 +10X_cells.TCTCTAAAGTGTGGCA-L8TX_180115_01_D09,17.816738,4.6113343 +10X_cells.CTCCTAGAGTGAACGC-L8TX_180115_01_A11,16.317047,4.995977 +10X_cells.ACTGATGAGCCTATGT-L8TX_180115_01_H10,17.193624,3.494508 +10X_cells.CCGTTCATCGCACTCT-L8TX_180115_01_H10,16.185415,6.44641 +10X_cells.TTAACTCTCGAGAGCA-L8TX_180115_01_H10,15.828257,2.039316 +10X_cells.TCTCATACACTGTTAG-L8TX_180115_01_B11,16.639025,2.91922 +10X_cells.AGTGAGGTCGCGATCG-L8TX_180115_01_C11,14.958223,5.8581057 +10X_cells.AACTCTTTCACGACTA-L8TX_180115_01_D11,16.587397,3.4668925 +10X_cells.CTAGTGAGTTTGTGTG-L8TX_180115_01_D11,16.82378,5.154769 +10X_cells.CCATTCGAGGGCTTCC-L8TX_180115_01_G10,13.312553,5.746346 +10X_cells.CTGCCTAGTCGCGAAA-L8TX_180115_01_G10,15.984166,1.8614078 +10X_cells.GGTGAAGAGTGGGTTG-L8TX_180115_01_G10,16.782705,3.0188823 +10X_cells.CGCCAAGGTCATGCCG-L8TX_180115_01_F11,16.47389,5.789845 +10X_cells.GGGACCTTCTGTCTCG-L8TX_180115_01_F11,17.65162,5.112415 +10X_cells.CTGGTCTGTAAGTAGT-L8TX_180115_01_H11,15.504746,4.1543612 +10X_cells.GACGTTATCCGCGCAA-L8TX_180115_01_H11,15.116356,2.4671054 +10X_cells.CTGATAGGTTCCAACA-L8TX_180115_01_A10,15.949836,2.338904 +10X_cells.TGGTTAGTCGAACGGA-L8TX_180115_01_E09,16.931278,2.340929 +10X_cells.TTCTCAATCGATGAGG-L8TX_180115_01_E09,15.595385,6.43213 +10X_cells.CACACAAGTCGAACAG-L8TX_180115_01_G09,16.255957,2.7998142 +10X_cells.ATCCGAACAGATAATG-L8TX_171120_01_C07,17.152866,6.431867 +10X_cells.CGCGGTATCATGCAAC-L8TX_180115_01_F08,17.16283,6.4132547 +10X_cells.CCTTCGACAACTGCTA-L8TX_180115_01_E08,16.86321,5.860924 +Smartseq_cells.SM-GE94L_S189_E1-50,17.730253,4.565588 +10X_cells.TTTATGCAGGGTTTCT-L8TX_180406_01_F02,14.307848,6.2775006 +10X_cells.GATCTAGCAGCTGCAC-L8TX_180712_01_B06,14.261639,7.511139 +10X_cells.TACAGTGAGCTCCTTC-L8TX_180221_01_E09,16.264154,7.3026004 +10X_cells.GAACATCGTAAGTTCC-L8TX_180221_01_C09,12.085976,6.520839 +10X_cells.ACGATACAGAAACGAG-L8TX_180221_01_C09,12.638758,6.692366 +10X_cells.CTAGTGACATTCACTT-L8TX_180221_01_H12,13.686929,6.8127246 +10X_cells.AGATCTGTCACTTATC-L8TX_180221_01_E09,14.492287,7.4034595 +10X_cells.TGTATTCTCATGTCTT-L8TX_180221_01_E09,14.239916,7.3986907 +10X_cells.GCTGCGAGTCATTAGC-L8TX_180221_01_C09,13.785278,7.1122246 +10X_cells.TTGCCGTGTGTTGAGG-L8TX_180221_01_C09,12.65178,6.41052 +10X_cells.GATTCAGCATTGGTAC-L8TX_180221_01_D09,12.151184,6.6475086 +10X_cells.ATCTGCCCAAGCCTAT-L8TX_180712_01_B06,12.7850895,5.8878026 +10X_cells.CACATTTGTGAGCGAT-L8TX_180712_01_B06,14.688491,7.4924 +10X_cells.CCTTCGAGTATAGGTA-L8TX_180712_01_B06,12.010378,6.29344 +10X_cells.GAATGAACAAATCCGT-L8TX_180712_01_B06,14.773285,6.5179996 +10X_cells.TTTGTCATCTTCATGT-L8TX_180712_01_B06,15.164232,6.612076 +Smartseq_cells.LS-15500_S38_E1-50,15.851055,7.651756 +10X_cells.TCTGAGAAGGAGTTGC-L8TX_180406_01_B06,15.772889,7.4772177 +10X_cells.CACATAGGTTCACGGC-L8TX_200625_02_G11,12.557474,8.183494 +10X_cells.TTTGTCAGTGCCTGGT-L8TX_171026_01_F05,14.138484,7.2833295 +10X_cells.CATTATCCACTGTCGG-L8TX_171026_01_A04,16.756424,7.817977 +10X_cells.ACGGGCTTCATAGCAC-L8TX_171026_01_G04,16.196188,7.574683 +10X_cells.TATCTCACATTGGTAC-L8TX_171026_01_A04,15.724319,7.5591726 +10X_cells.CTTAGGAGTCGGGTCT-L8TX_171026_01_F03,14.705553,7.224942 +10X_cells.TGTTCCGGTATGAAAC-L8TX_171026_01_G03,15.215489,7.6037855 +10X_cells.TAAACCGGTGCAGGTA-L8TX_171026_01_B04,15.29274,7.5205226 +10X_cells.TCACGAATCTTGCATT-L8TX_171026_01_B04,16.634926,7.9182816 +10X_cells.TCTTCGGAGAGAACAG-L8TX_171026_01_B04,15.468274,7.5387006 +10X_cells.GAGTCCGGTGTCAATC-L8TX_171026_01_F04,15.977118,7.3191104 +10X_cells.TTATGCTCACTATCTT-L8TX_171026_01_F04,16.636896,7.69257 +10X_cells.CGTGTAACAATCTACG-L8TX_171026_01_G04,15.8937235,7.7239127 +10X_cells.GTCATTTAGACTACAA-L8TX_171026_01_G04,11.257713,6.094204 +10X_cells.CACCACTGTATTCTCT-L8TX_171026_01_B05,12.7476425,6.2817397 +10X_cells.TCAGCAAAGTCGTTTG-L8TX_171026_01_H04,16.717503,7.8783374 +10X_cells.AACCGCGAGATATGCA-L8TX_171026_01_A05,16.791893,7.8455067 +10X_cells.AACACGTGTGTGAAAT-L8TX_171026_01_H03,16.452652,7.697779 +10X_cells.CATATTCCAGGTGCCT-L8TX_171026_01_C05,15.356622,7.275768 +10X_cells.TGGTTAGGTATGGTTC-L8TX_171026_01_C05,15.339977,7.3580084 +10X_cells.ACACTGAAGCGGATCA-L8TX_171026_01_D05,13.712856,6.570042 +10X_cells.TACTTACAGACACTAA-L8TX_171026_01_E05,16.536623,7.371082 +10X_cells.TTCCCAGCAACACGCC-L8TX_171026_01_H05,14.74819,7.3623066 +Smartseq_cells.SM-GE935_S282_E1-50,15.898514,6.680546 +10X_cells.CCCAATCCACTAAGTC-L8TX_180406_01_B02,13.421288,7.254907 +10X_cells.GAATGAAGTAATAGCA-L8TX_180406_01_D02,12.557757,6.976882 +10X_cells.CAGTCCTTCGAACTGT-L8TX_180221_01_F10,11.81335,6.0173464 +10X_cells.ACACCGGAGTTAACGA-L8TX_180221_01_D10,12.64842,6.0253167 +10X_cells.TAGGCATTCGCCTGAG-L8TX_180221_01_E10,14.01433,7.5345335 +10X_cells.AAATGCCGTGCGAAAC-L8TX_180221_01_D10,14.656674,7.3903084 +10X_cells.CGCCAAGGTTTGGGCC-L8TX_180221_01_D10,14.281733,7.368764 +10X_cells.CTACCCAAGGGTATCG-L8TX_180221_01_G10,14.777849,6.4782786 +10X_cells.ACACCCTGTGTGGTTT-L8TX_180907_01_B11,13.269198,6.138609 +10X_cells.ATAAGAGGTACCGGCT-L8TX_180907_01_B11,12.113973,5.5029073 +10X_cells.AGTAGTCTCTCGAGTA-L8TX_180926_01_F01,16.684683,7.6194377 +10X_cells.CTGAAGTCATTGTGCA-L8TX_180926_01_B01,13.702919,6.382881 +10X_cells.GATGAGGAGTCGAGTG-L8TX_180926_01_D01,16.277077,7.1926208 +10X_cells.GCTTGAAAGCTACCGC-L8TX_180926_01_E01,12.40531,6.288578 +10X_cells.TTAACTCGTAAATACG-L8TX_181011_01_A03,12.129819,6.519088 +10X_cells.CACCAGGGTCAGCTAT-L8TX_181011_01_H03,13.906776,6.806783 +10X_cells.TCTTCGGAGGGTCTCC-L8TX_180221_01_H11,11.84632,5.54389 +10X_cells.CTCGTACAGATGTTAG-L8TX_180712_01_A06,14.242029,7.226825 +10X_cells.TCATTTGGTAGGGTAC-L8TX_180712_01_A06,14.230188,6.432596 +10X_cells.TGAGCATCAGGATTGG-L8TX_180712_01_A06,14.238393,7.066712 +10X_cells.GTCTCGTTCGTTGCCT-L8TX_180504_01_E01,14.149729,6.4703054 +10X_cells.TGACAACCAGCGTCCA-L8TX_180221_01_A12,11.917296,6.0631022 +Smartseq_cells.SM-GE679_S186_E1-50,16.160368,7.2977653 +10X_cells.GTTCTCGTCTCCAGGG-L8TX_180115_01_E09,14.817071,6.916617 +10X_cells.CCCTCCTGTCAAACTC-L8TX_180115_01_D10,13.4941435,6.015731 +10X_cells.AGTCTTTGTAGCAAAT-L8TX_180115_01_C11,13.290872,6.473184 +10X_cells.CGCTGGATCGTTACGA-L8TX_180115_01_A10,14.791694,6.518834 +10X_cells.GATGAAATCTTACCTA-L8TX_171120_01_H07,15.856272,6.9408617 +10X_cells.CCATGTCCACCAGATT-L8TX_180115_01_H08,15.981216,7.114005 +Smartseq_cells.LS-14692_S75_E1-50,15.254079,7.4945965 +Smartseq_cells.LS-15085_S29_E1-50,16.69007,7.058089 +Smartseq_cells.SM-DD45K_S177_E1-50,16.704155,6.694182 +10X_cells.GCGACCATCGGCGGTT-L8TX_180406_01_C06,11.882039,5.8512974 +10X_cells.TAGGCATCATTCTCAT-L8TX_180712_01_G05,15.778357,6.2492 +10X_cells.TCAGATGCATGGGAAC-L8TX_180829_01_D09,13.839045,6.0729737 +10X_cells.ACCTTTATCAAGGCTT-L8TX_180829_01_E10,13.491963,6.1567473 +10X_cells.GTTCATTAGCTGTTCA-L8TX_180829_01_E10,12.670759,5.7745857 +10X_cells.CTGGTCTTCGTATCAG-L8TX_181011_01_C04,12.242134,5.6365557 +10X_cells.TTGACTTGTCGACTAT-L8TX_171026_01_G03,15.780238,6.3125887 +10X_cells.TTGGAACGTGTGTGCC-L8TX_171026_01_F04,14.213662,6.809068 +10X_cells.ACTTTCAGTTACGACT-L8TX_171026_01_C05,14.603692,6.4266415 +10X_cells.TAAGCGTTCATTCACT-L8TX_171026_01_C05,14.239412,6.5524735 +10X_cells.AGCGTCGCAGGACGTA-L8TX_180221_01_G10,10.135042,6.062116 +10X_cells.CGGACACCATTTGCCC-L8TX_190312_01_G02,13.31204,5.8051696 +10X_cells.CGTGAGCGTCAGTGGA-L8TX_181012_01_C05,12.070935,5.4880023 +10X_cells.GTTCGGGGTGACTCAT-L8TX_180221_01_D11,16.070778,0.4511634 +10X_cells.ATCCACCCAGGGATTG-L8TX_180907_01_A12,10.882972,4.9754167 +10X_cells.CATCGGGAGGCGCTCT-L8TX_180907_01_A12,15.488129,7.2014027 +Smartseq_cells.LS-15396_S40_E1-50,15.913633,7.039208 +10X_cells.CGGTTAAAGGGTATCG-L8TX_180926_01_F01,14.358773,6.311486 +10X_cells.GCCTCTATCTGTCCGT-L8TX_180221_01_C12,14.515914,7.1675444 +10X_cells.GGGTTGCCAGCCTATA-L8TX_180115_01_F09,13.095938,6.0304866 +10X_cells.CCCTCCTGTTACGACT-L8TX_180115_01_B09,12.447997,5.7297416 +10X_cells.AGCCTAATCTGCGACG-L8TX_180115_01_D09,15.210065,6.2006946 +10X_cells.GGTGTTATCTCGATGA-L8TX_180115_01_H10,12.973557,5.597136 +10X_cells.GTGCTTCAGACAGGCT-L8TX_180115_01_D11,11.290799,5.698551 +10X_cells.AAACGGGTCCCTCAGT-L8TX_180115_01_F10,15.934139,5.3510346 +10X_cells.AACACGTTCCAATGGT-L8TX_180115_01_G11,14.585192,6.5589657 +10X_cells.AGCGTATTCATTATCC-L8TX_180115_01_H09,12.032264,5.6876993 +10X_cells.TTCCCAGAGCAGCGTA-L8TX_180115_01_A10,11.892566,5.4671884 +10X_cells.CGCTATCCACCTGGTG-L8TX_171120_01_D07,14.7195015,6.9314127 +10X_cells.AGGCCACGTCGCATCG-L8TX_171120_01_E07,14.686092,5.900106 +10X_cells.TCGCGAGTCTGCAAGT-L8TX_180115_01_C08,13.957055,5.789842 +Smartseq_cells.LS-14692_S63_E1-50,15.484044,6.874499 +Smartseq_cells.LS-15004_S59_E1-50,15.500348,6.8301654 +Smartseq_cells.LS-15015_S21_E1-50,15.732549,6.635415 +Smartseq_cells.LS-15077_S15_E1-50,14.9486475,6.9333467 +Smartseq_cells.LS-15080_S43_E1-50,15.459654,6.5443335 +Smartseq_cells.SM-DD45K_S163_E1-50,15.269262,6.6219115 +10X_cells.GACGCGTGTTGGAGGT-L8TX_180406_01_H01,11.888026,7.799646 +10X_cells.GCAAACTAGGTGCTAG-L8TX_180406_01_H01,11.344175,7.8010354 +10X_cells.AAGACCTCAATGACCT-L8TX_180406_01_G02,12.578802,7.841921 +10X_cells.GGGATGAGTATAGGTA-L8TX_180406_01_B06,11.614673,7.345513 +10X_cells.CTCAGAAGTTCGTTGA-L8TX_180406_01_C08,11.464425,7.4677014 +10X_cells.TTTACTGTCCGAGCCA-L8TX_180406_01_C08,11.282396,7.6277037 +10X_cells.CTTCTCTAGGAATCGC-L8TX_180406_01_C07,11.594276,7.763251 +10X_cells.AGATCTGCATCGACGC-L8TX_180406_01_G02,12.47779,7.1131716 +10X_cells.CACACTCAGGTGCAAC-L8TX_180406_01_E06,11.743873,7.154657 +10X_cells.TGCACCTTCAGTCCCT-L8TX_180406_01_E02,12.178112,7.0225434 +10X_cells.CATTATCGTTCCACGG-L8TX_180406_01_C07,12.093577,7.223885 +10X_cells.TCAGCAACATCCCATC-L8TX_200625_02_F11,12.393295,8.229607 +10X_cells.TGTCCCAAGCTGCGAA-L8TX_200625_02_G11,12.782595,7.997189 +Smartseq_cells.SM-GE8ZQ_S033_E1-50,12.944862,7.8411145 +10X_cells.CGTCTACTCATTGCGA-L8TX_180406_01_E01,12.824018,7.277928 +10X_cells.GGGTCTGTCCCTCAGT-L8TX_180406_01_B02,11.683715,7.233862 +10X_cells.AACTTTCGTTAGAACA-L8TX_180406_01_B01,11.747365,7.1769814 +10X_cells.AAAGATGGTATTCGTG-L8TX_180406_01_F01,11.948149,7.1769075 +10X_cells.TATTACCCAGTAAGAT-L8TX_180406_01_D02,12.238135,7.11903 +Smartseq_cells.SM-GE915_S183_E1-50,15.427874,7.512157 +10X_cells.ACCGTAAGTACCGGCT-L8TX_180221_01_F09,3.5432403,-2.851544 +10X_cells.GTTACAGGTTCGTGAT-L8TX_180221_01_G09,4.4834347,-3.1514294 +10X_cells.ACGTCAATCTGTCAAG-L8TX_180221_01_H09,15.7613945,-0.2424924 +10X_cells.CTCGGGATCTCTAAGG-L8TX_180221_01_H09,3.4049914,-2.558664 +10X_cells.CTCCTAGAGCAACGGT-L8TX_180221_01_A10,2.8039603,-1.6910387 +10X_cells.GGACAAGGTCATGCAT-L8TX_180221_01_A10,3.4761071,-3.0080504 +10X_cells.GTCATTTAGGTTCCTA-L8TX_180221_01_A10,1.7832543,0.872995 +10X_cells.TACTCGCAGGACATTA-L8TX_180221_01_A10,5.3620324,-2.5285003 +10X_cells.ACATACGGTACGACCC-L8TX_180221_01_B10,3.2306218,-2.6310225 +10X_cells.AGCAGCCGTTCGCTAA-L8TX_180221_01_B10,3.853534,-2.8942783 +10X_cells.GTTCGGGGTCAAACTC-L8TX_180221_01_B10,7.4594927,-2.9562082 +10X_cells.TTCTTAGAGTTAGGTA-L8TX_180221_01_B10,3.5424736,0.488144 +10X_cells.GCCTCTAGTGATGTCT-L8TX_180221_01_C10,3.5367286,-2.3761861 +10X_cells.GGGTTGCCAGGGCATA-L8TX_180406_01_F02,6.3257985,-2.8905315 +10X_cells.GTGTGCGTCCTTTACA-L8TX_180406_01_F02,2.2571266,-0.3134358 +Smartseq_cells.SM-GE63J_S307_E1-50,3.9300182,-3.1534026 +Smartseq_cells.SM-GE63L_S155_E1-50,3.5370307,-2.762841 +10X_cells.ACGGGCTTCTCAAACG-L8TX_180712_01_B06,3.2323763,-2.5331717 +10X_cells.AGTGTCATCAGTCAGT-L8TX_180221_01_C09,4.391705,-2.5045996 +10X_cells.CGGCTAGAGTACCGGA-L8TX_180712_01_B06,4.3768926,-1.605571 +10X_cells.GAATGAATCTTGAGAC-L8TX_180712_01_G05,5.2533293,-2.4892783 +10X_cells.CCCAATCTCTGGCGTG-L8TX_180221_01_E09,3.0531237,-0.030870788 +10X_cells.GGCTCGACAGCGATCC-L8TX_180221_01_E09,4.939791,-3.534406 +10X_cells.AAAGATGCATATGGTC-L8TX_180221_01_C09,4.054142,-1.7569 +10X_cells.CACCTTGGTCCAGTTA-L8TX_180221_01_C09,4.016057,-2.574026 +10X_cells.CGGTTAATCGTTACGA-L8TX_180221_01_C09,4.3933434,-1.9335815 +10X_cells.CTGAAGTTCCCAGGTG-L8TX_180221_01_C09,3.4335594,-0.4931251 +10X_cells.GCGCAGTAGAGAACAG-L8TX_180221_01_C09,13.426793,2.015643 +10X_cells.TTAACTCCAAACGTGG-L8TX_180221_01_C09,3.511448,-1.3954864 +10X_cells.GAACATCGTCTCTCGT-L8TX_180221_01_D09,3.9536254,-0.27543584 +10X_cells.GTCAAGTCACGCCAGT-L8TX_180221_01_D09,3.399586,-1.1742367 +10X_cells.TCCACACAGCGAAGGG-L8TX_180221_01_D09,4.1135,-1.5922606 +10X_cells.TTCGAAGGTTCAGCGC-L8TX_180221_01_D09,3.5219395,-0.33709288 +10X_cells.GAAGCAGAGCAGATCG-L8TX_180607_01_C05,4.7105403,-2.6595275 +10X_cells.CAGAGAGGTATAGGTA-L8TX_180712_01_G05,5.4797916,-3.630155 +10X_cells.CCCTCCTTCCATGCTC-L8TX_180712_01_G05,3.0375736,-2.2634351 +10X_cells.CGCGTTTTCGGAGGTA-L8TX_180712_01_G05,3.850524,-1.5196363 +10X_cells.GCATACACAGTCAGAG-L8TX_180712_01_B06,5.2011695,-3.7416334 +10X_cells.TCTGAGACAACGATGG-L8TX_180712_01_B06,4.4011135,-2.6232638 +10X_cells.TCACAAGTCATGTAGC-L8TX_180712_01_C06,3.8060362,-2.073899 +10X_cells.TGGTTCCGTGAACCTT-L8TX_180712_01_C06,2.9620178,-1.0067132 +Smartseq_cells.LS-15014_S02_E1-50,5.1983023,-3.3193297 +Smartseq_cells.LS-15035_S19_E1-50,10.943072,-4.1241035 +Smartseq_cells.LS-15325_S92_E2-50,4.616755,-3.3288393 +Smartseq_cells.LS-15326_S40_E1-50,5.6920533,-3.019905 +Smartseq_cells.LS-15372_S05_E1-50,5.0644536,-3.5546732 +Smartseq_cells.LS-15387_S32_E1-50,5.4092684,-2.910299 +Smartseq_cells.LS-15500_S48_E1-50,4.8847976,-2.3016765 +Smartseq_cells.LS-15515_S39_E1-50,5.100225,-3.6033397 +10X_cells.CGAATGTAGCGTTTAC-L8TX_180829_01_D10,3.0333705,-0.2890502 +10X_cells.ATCGAGTTCCACTCCA-L8TX_181011_01_G02,2.076952,-0.2052595 +10X_cells.TCGGTAAGTATGAAAC-L8TX_180829_01_D09,3.9802964,-2.0899642 +10X_cells.CTACACCCAGGGTTAG-L8TX_180829_01_D10,5.2082715,-2.9282706 +10X_cells.GGGCATCCACTGCCAG-L8TX_180829_01_D10,4.5123262,-0.3019288 +10X_cells.TAGGCATAGCTCAACT-L8TX_180907_01_F10,3.1206763,-0.95923173 +10X_cells.CGATGGCAGCGATCCC-L8TX_180907_01_G10,2.5486553,-0.7644338 +10X_cells.GCAGTTAGTACATGTC-L8TX_181011_01_C04,3.5712516,-0.19138965 +10X_cells.TATCTCATCGACGGAA-L8TX_181012_01_G04,2.9498243,-0.6407849 +10X_cells.GGTATTGAGCTAAACA-L8TX_181012_01_E05,4.0344887,-2.0013056 +10X_cells.TGAGAGGCAGCATGAG-L8TX_181012_01_E05,4.9762444,-2.0315518 +10X_cells.AAGGTTCCATCGGTTA-L8TX_180406_01_H01,3.2954118,-1.4116209 +10X_cells.ATTTCTGTCTCGTATT-L8TX_180406_01_H01,2.5578365,0.25711313 +10X_cells.GGGAATGTCACGATGT-L8TX_180406_01_B06,2.2913885,1.1905048 +10X_cells.AAGCCGCCATTCCTCG-L8TX_180406_01_C08,2.7483425,-0.24430141 +10X_cells.AAGCCGCTCCTCGCAT-L8TX_180406_01_C07,12.181448,6.2394733 +10X_cells.GCTTGAAAGCCGCCTA-L8TX_180406_01_C07,2.9677806,-0.57450104 +10X_cells.GTCCTCACAAGTAGTA-L8TX_180406_01_C07,2.9348285,-0.020002278 +10X_cells.GCTTGAATCACTGGGC-L8TX_180406_01_H01,2.8715787,-0.5115242 +10X_cells.GGTGCGTGTTATCACG-L8TX_180406_01_E02,5.0636554,-2.3114142 +10X_cells.CGAGCCATCTCTTGAT-L8TX_180406_01_B06,3.355459,-1.2913574 +10X_cells.TGTATTCTCCGCTGTT-L8TX_180406_01_E06,8.40343,2.5474105 +10X_cells.CTGCCTATCTATCCCG-L8TX_180406_01_C08,3.6192815,0.13164115 +10X_cells.TCGGTAACATCTCGCT-L8TX_180406_01_C08,4.248684,1.1305988 +10X_cells.AGGTCCGAGTCCAGGA-L8TX_180406_01_C07,3.7097332,-0.59929186 +10X_cells.ATCACGAGTTTGACAC-L8TX_180406_01_C07,3.368926,-1.2474597 +10X_cells.CCAGCGAGTGTAATGA-L8TX_180406_01_C07,4.2969117,-1.923508 +10X_cells.GGACATTGTAAATGTG-L8TX_180406_01_C07,3.129068,-1.3483036 +10X_cells.TGCCCTAGTAAATACG-L8TX_180406_01_C07,3.1402712,0.8394694 +Smartseq_cells.SM-GE91L_S245_E1-50,6.2595606,-3.462713 +10X_cells.TACTTACGTACAGTGG-L8TX_200625_02_G11,12.463253,4.5899286 +10X_cells.AGCTCCTAGTGTTTGC-L8TX_180406_01_B08,4.9998097,-2.8623955 +Smartseq_cells.SM-GE65S_S331_E1-50,6.0828085,-3.314677 +10X_cells.GGCGACTCAAGGTGTG-L8TX_171026_01_H03,6.358844,-2.6219401 +10X_cells.GGCGACTTCCAAAGTC-L8TX_171026_01_E05,3.3395784,-0.79036474 +10X_cells.ATCTACTGTCGAATCT-L8TX_171026_01_F04,4.7666693,-3.1381037 +10X_cells.TTGACTTAGCGATAGC-L8TX_171026_01_A04,3.221141,-1.1268818 +10X_cells.AGCGTATTCTGTGCAA-L8TX_171026_01_F03,4.7323685,-2.1909683 +10X_cells.ATCACGATCAATAAGG-L8TX_171026_01_F03,8.04378,-3.5457485 +10X_cells.AGGCCACGTGCAACGA-L8TX_171026_01_G03,17.726234,3.8133345 +10X_cells.CTACACCAGGGAACGG-L8TX_171026_01_G03,4.9802732,-3.5810215 +10X_cells.GTATCTTTCCCGACTT-L8TX_171026_01_G03,3.0507765,-2.5207057 +10X_cells.ATCTACTCAGGAACGT-L8TX_171026_01_B04,8.471902,-3.2951257 +10X_cells.GAAATGACAAGCGAGT-L8TX_171026_01_B04,5.0637603,-2.8815224 +10X_cells.CACCACTTCAGCTGGC-L8TX_171026_01_F04,6.0497136,-3.1773098 +10X_cells.CGAATGTTCACCCTCA-L8TX_171026_01_F04,3.194484,-2.454067 +10X_cells.ACATGGTGTGCATCTA-L8TX_171026_01_G04,5.044188,-2.5398011 +10X_cells.CACTCCACACTACAGT-L8TX_171026_01_G04,3.229328,-2.4966402 +10X_cells.CGGAGTCCACGACTCG-L8TX_171026_01_G04,4.987911,-3.3726833 +10X_cells.AGAGCGAAGTGGGTTG-L8TX_171026_01_B05,5.516342,-3.0226705 +10X_cells.GAAGCAGTCCAGAAGG-L8TX_171026_01_B05,4.9520426,-3.2805724 +10X_cells.ACACCCTAGATATACG-L8TX_171026_01_H04,5.5299296,-3.4554145 +10X_cells.AAAGCAATCACTCTTA-L8TX_171026_01_A05,2.9486697,-2.3075006 +10X_cells.GACGTTAGTACAAGTA-L8TX_171026_01_A05,5.8332253,-2.849375 +10X_cells.GGAATAAAGACAAAGG-L8TX_171026_01_A05,5.450001,-3.2729776 +10X_cells.TCGCGAGGTAGGACAC-L8TX_171026_01_A05,18.428373,3.2690637 +10X_cells.CGAGAAGAGCGTAGTG-L8TX_171026_01_H03,12.494916,-2.348867 +10X_cells.GGAACTTCACATTCGA-L8TX_171026_01_H03,5.994993,-2.3479505 +10X_cells.TTAACTCAGCGTTCCG-L8TX_171026_01_H03,5.6025777,-2.0327184 +10X_cells.CATTCGCCATAGTAAG-L8TX_171026_01_A04,5.3632545,-3.4589992 +10X_cells.CGGTTAATCCTACAGA-L8TX_171026_01_A04,6.098662,-3.2733524 +10X_cells.GTCACGGTCCACGACG-L8TX_171026_01_A04,3.7916744,-3.2980208 +10X_cells.TCGCGTTCAGCGTTCG-L8TX_171026_01_A04,6.4844007,-3.2475867 +10X_cells.GAATGAATCTCCGGTT-L8TX_171026_01_C05,3.6246982,-1.1414992 +10X_cells.CGCTGGATCCTGCAGG-L8TX_171026_01_D05,8.525618,-3.9170465 +10X_cells.CTCACACAGAAACCTA-L8TX_171026_01_D05,4.319542,-2.2565062 +10X_cells.TGCACCTAGCACCGTC-L8TX_171026_01_D05,2.5737746,-0.5799171 +10X_cells.GATCGCGAGAATTGTG-L8TX_171026_01_E05,17.49346,3.5311773 +10X_cells.GGCCGATGTGCTAGCC-L8TX_171026_01_E05,3.597502,-0.76478696 +10X_cells.GGAGCAAGTGGAAAGA-L8TX_171026_01_F05,10.400419,-4.2483816 +10X_cells.TACTTGTAGATCGGGT-L8TX_171026_01_F05,3.560929,-0.51824313 +10X_cells.TCGTAGATCCACGAAT-L8TX_171026_01_F05,9.4860935,-3.4494858 +10X_cells.ACTTGTTTCGTGGGAA-L8TX_171026_01_G05,3.1656494,0.6185221 +10X_cells.CATGACACACTATCTT-L8TX_171026_01_G05,5.0992327,-2.9182053 +10X_cells.GTACTCCAGCGTCTAT-L8TX_171026_01_H05,6.63564,-3.355709 +Smartseq_cells.LS-15533_S33_E12-50,4.8956237,-3.2736707 +Smartseq_cells.SM-GE92H_S144_E1-50,5.3138065,-3.5311031 +Smartseq_cells.SM-GE92I_S171_E1-50,5.761661,-3.4116066 +10X_cells.TTGAACGAGGAATTAC-L8TX_181206_01_F12,3.1853867,-0.30832157 +10X_cells.CTAAGACAGCGTAGTG-L8TX_181206_01_F12,4.2350836,-1.0472237 +10X_cells.ACACCGGAGCGATAGC-L8TX_181206_01_H11,6.528756,-3.3282986 +10X_cells.AGTGAGGGTTAAGAAC-L8TX_181206_01_B12,3.3900151,0.37610382 +10X_cells.AGTGGGAGTAGCTAAA-L8TX_181206_01_B12,4.5384994,-2.1716044 +10X_cells.CACACAAGTGTTGAGG-L8TX_181206_01_C12,3.4870286,-0.27523184 +10X_cells.GCTGCAGCATCCAACA-L8TX_181206_01_D12,3.9785755,-1.6189542 +10X_cells.TGAGAGGTCAGCAACT-L8TX_181206_01_D12,5.7619777,-2.5910468 +10X_cells.ACGTCAATCAACACAC-L8TX_181206_01_F12,4.0771127,-2.2442012 +10X_cells.CTAAGACTCTAGCACA-L8TX_181206_01_F12,3.6024868,-0.50819075 +10X_cells.GGACAGATCAGCTCTC-L8TX_181206_01_F12,7.3743873,-3.1318624 +10X_cells.TACGGGCAGTGGCACA-L8TX_181206_01_F12,4.212729,-2.2313511 +10X_cells.ACGCCGAGTGTAACGG-L8TX_181206_01_E12,5.8768806,-3.0309248 +10X_cells.GTTCATTCAGGGATTG-L8TX_181206_01_E12,5.5393033,-1.4480697 +10X_cells.TACTTGTAGGATTCGG-L8TX_180406_01_F01,4.245091,-1.9106611 +10X_cells.TACTCATTCCCGACTT-L8TX_180406_01_C01,3.6856027,-0.6720277 +10X_cells.GGAATAACAAGTCTAC-L8TX_180406_01_C02,2.7034788,-0.28918448 +10X_cells.GTCAAGTCATCTATGG-L8TX_190312_01_B02,4.223468,-3.1382635 +10X_cells.TTTCCTCTCGCGTAGC-L8TX_180221_01_F10,4.1325283,-3.032356 +10X_cells.CCTTCCCGTAAACACA-L8TX_180221_01_F10,2.716305,-1.3735385 +10X_cells.CTCGAGGTCACATGCA-L8TX_180221_01_G10,3.2291737,-2.491537 +10X_cells.TTTGGTTAGGTGTGGT-L8TX_180221_01_D10,5.7829003,-3.4185743 +10X_cells.ACGATGTGTGAGGGAG-L8TX_180221_01_D10,3.8728063,-0.26375556 +10X_cells.CGCTATCGTGTCGCTG-L8TX_180221_01_D10,5.738956,-3.2862942 +10X_cells.TGCGCAGCAAACGCGA-L8TX_180221_01_D10,3.9689934,-2.2652783 +10X_cells.CTGCCTAAGCCTCGTG-L8TX_180221_01_E10,5.934884,-2.9502518 +10X_cells.GTATTCTGTTCCCTTG-L8TX_180221_01_E10,4.941593,-3.464181 +10X_cells.AGAGTGGAGTAACCCT-L8TX_180221_01_F10,4.1671414,0.7259073 +10X_cells.TCCACACGTTGCTCCT-L8TX_180221_01_F10,3.5541787,0.19419108 +10X_cells.AAGTCTGGTAATTGGA-L8TX_180221_01_G10,3.2470274,-2.4163265 +10X_cells.CCGGTAGAGGCCCTCA-L8TX_180221_01_G10,3.1281476,-1.355582 +10X_cells.CCCAATCTCTTCCTTC-L8TX_180221_01_H10,5.2512856,-3.3713622 +10X_cells.GCGAGAAGTAGCGTGA-L8TX_180221_01_H10,5.4206967,-2.3303022 +10X_cells.GGGACCTGTGCAGGTA-L8TX_180221_01_H10,3.3588772,-2.308111 +10X_cells.CGTGTAATCACCCGAG-L8TX_190312_01_B02,4.535863,-1.4990897 +10X_cells.TACCTATCAAGTACCT-L8TX_190312_01_B02,7.109114,-2.7607293 +10X_cells.CTCTACGCACCCATGG-L8TX_190312_01_C02,3.7104247,-0.50137395 +10X_cells.TCATTTGGTGAAGGCT-L8TX_190312_01_C02,5.396803,-2.0529234 +10X_cells.TCTATTGAGCTGATAA-L8TX_190312_01_C02,3.1513095,-2.5651104 +10X_cells.AACCATGTCAGGCGAA-L8TX_190312_01_D02,5.913377,-3.2398 +10X_cells.CTGTGCTTCCGCGTTT-L8TX_190312_01_D02,4.2630477,-2.1094432 +10X_cells.GCAAACTCATTAGGCT-L8TX_190312_01_D02,4.1519227,0.022829868 +10X_cells.TCTATTGCAAAGGAAG-L8TX_190312_01_D02,4.1541133,-1.959447 +10X_cells.ATCTACTGTCCGAAGA-L8TX_190312_01_G02,4.176674,-0.18001169 +10X_cells.CAAGAAACAGCTCGAC-L8TX_190312_01_G02,3.5943298,0.5431145 +10X_cells.AAGTCTGGTAGCTCCG-L8TX_180907_01_B11,3.6590128,-0.14914317 +10X_cells.CGAGCCAAGACCCACC-L8TX_180926_01_C12,3.9519224,-1.8380919 +10X_cells.AAGGAGCGTCGACTGC-L8TX_181012_01_B05,9.94744,-3.2674594 +10X_cells.ACATCAGAGAGGACGG-L8TX_181012_01_B05,5.7096004,-2.4263449 +10X_cells.CTCTAATCAATCACAC-L8TX_181012_01_C05,3.7254639,-0.3125785 +10X_cells.TACCTTAGTTACTGAC-L8TX_181012_01_C05,4.448203,-0.52720565 +10X_cells.ACACTGATCCTAGAAC-L8TX_180221_01_B11,4.26325,-2.0363276 +10X_cells.TACCTTAAGATGGCGT-L8TX_180221_01_E11,4.2621226,-0.9451249 +10X_cells.AGGGAGTGTTGTCGCG-L8TX_180221_01_F11,3.8897243,-1.128271 +10X_cells.TGCCCATGTACTTGAC-L8TX_180221_01_F11,3.7581377,-0.6813289 +10X_cells.CTTCTCTGTGAGTATA-L8TX_180221_01_G11,7.105257,-3.3998077 +10X_cells.TCCACACCAGGGTTAG-L8TX_180221_01_G11,4.494029,-2.7662911 +10X_cells.CAGCTAATCTCATTCA-L8TX_190312_01_E02,2.2035384,-0.5155531 +10X_cells.CGAATGTAGTACGTAA-L8TX_190312_01_H02,0.70825374,-1.5852805 +10X_cells.TAAACCGTCCAGATCA-L8TX_190312_01_H02,6.09215,-3.4066603 +10X_cells.TAGGCATCAGTAAGCG-L8TX_190312_01_H02,3.7420719,-0.13872536 +10X_cells.TCGTAGATCTAAGCCA-L8TX_180907_01_B12,0.5723578,-2.1765754 +10X_cells.GCATGTATCCATTCTA-L8TX_190312_01_F01,3.375274,0.32142344 +10X_cells.ACTTGTTCAGCCAATT-L8TX_180907_01_G11,2.514952,-0.76920474 +10X_cells.CAACCTCGTGCGCTTG-L8TX_180907_01_B12,4.064484,-1.5858151 +10X_cells.CACCACTTCTACGAGT-L8TX_180907_01_B12,5.7542567,-2.956308 +10X_cells.TACTTGTCATCGGGTC-L8TX_180907_01_B12,5.3197145,-3.3096755 +10X_cells.ATGTGTGAGCACGCCT-L8TX_180907_01_E11,3.9778802,-2.1721475 +10X_cells.ATTACTCGTATAGGTA-L8TX_180907_01_F11,3.2020602,-1.8471794 +10X_cells.TGAGCCGAGTCACGCC-L8TX_190312_01_F01,5.637279,-3.5366476 +10X_cells.ACGGCCATCGTCACGG-L8TX_190312_01_A02,5.7808228,-2.6202724 +Smartseq_cells.LS-15534_S29_E12-50,5.0892344,-3.3610399 +Smartseq_cells.SM-GE5UR_S215_E1-50,6.349665,-3.4268975 +10X_cells.ATTTCTGAGACCTAGG-L8TX_180926_01_B01,6.7111382,-3.0800042 +10X_cells.GCATACAGTAGCTTGT-L8TX_180926_01_B01,5.5957046,-1.3179547 +10X_cells.AGTGTCATCCATGAAC-L8TX_180926_01_D01,4.069193,-0.34165278 +10X_cells.TGGCTGGCATTAGGCT-L8TX_180926_01_D01,4.4201846,-1.8897482 +10X_cells.CAGCAGCTCACTGGGC-L8TX_180926_01_E01,6.111039,-2.9874122 +10X_cells.TTCTACAAGCGTTGCC-L8TX_180926_01_F01,3.4086056,-2.3742607 +10X_cells.CAACCAACATAAGACA-L8TX_181011_01_A03,3.1329858,-1.3221731 +10X_cells.ACGGGTCTCAGTCAGT-L8TX_181011_01_B03,3.9412344,-0.91743904 +10X_cells.AGGGAGTGTCGTCTTC-L8TX_181011_01_B03,4.1129336,-1.5916982 +10X_cells.GCGAGAACATAGAAAC-L8TX_181011_01_B03,5.203073,-2.790623 +10X_cells.TCACAAGAGGAGTAGA-L8TX_181011_01_B03,3.2677767,-1.6003038 +10X_cells.TCGCGTTCAGCTTCGG-L8TX_181011_01_C03,4.69142,-1.9107158 +10X_cells.TGAGCCGCACAAGCCC-L8TX_181011_01_C03,7.370915,-3.1182265 +10X_cells.GCACATAGTTACGGAG-L8TX_181011_01_H03,3.054,-1.4578928 +10X_cells.CTAGTGAAGAGGTTAT-L8TX_180221_01_H11,5.2113557,1.3446679 +10X_cells.TAAGCGTCACGCATCG-L8TX_180712_01_A06,9.2445755,-3.9905322 +10X_cells.CTTGGCTCATTGGCGC-L8TX_180712_01_E05,12.376971,-2.378593 +10X_cells.GGGCACTTCCGCGGTA-L8TX_180712_01_F05,4.604723,-1.6910343 +10X_cells.GCACATAAGATGCGAC-L8TX_180712_01_H05,3.9516692,-1.7857633 +10X_cells.GTGCTTCTCTCCAACC-L8TX_180712_01_H05,3.226724,-1.3751134 +10X_cells.GGTGCGTGTAGCGTAG-L8TX_180712_01_A06,4.6269016,-1.2432976 +10X_cells.TGGTTCCTCTGGTATG-L8TX_180712_01_A06,3.752562,-2.2183313 +10X_cells.ACGATGTCACGGCCAT-L8TX_180221_01_A12,4.078582,-0.11266974 +10X_cells.CTGAAGTAGACGACGT-L8TX_180221_01_A12,4.089754,-1.0206314 +10X_cells.AAACGGGAGTACGTAA-L8TX_180221_01_B12,3.9411504,-0.0188628 +10X_cells.GCTGGGTAGCCCAGCT-L8TX_180221_01_B12,3.4656038,-0.9140715 +10X_cells.TCGTAGATCACGCATA-L8TX_180221_01_B12,2.5748467,-0.49979264 +10X_cells.GTGCAGCCATCGATGT-L8TX_200611_02_A05,4.621418,-2.3015554 +Smartseq_cells.SM-GE679_S256_E1-50,3.2645464,-2.530768 +Smartseq_cells.SM-GE679_S335_E1-50,6.52927,-3.422506 +10X_cells.GTACTTTTCGTGGGAA-L8TX_180115_01_H10,3.6495748,-0.76240534 +10X_cells.TATTACCAGGATCGCA-L8TX_180115_01_A11,3.3173435,-2.4865024 +10X_cells.GCAATCACAGCTCCGA-L8TX_180115_01_H10,4.0939536,-2.8510005 +10X_cells.TTGCGTCCAGTGAGTG-L8TX_180115_01_A09,4.9050846,-3.2239268 +10X_cells.CGGACACTCCAAGCCG-L8TX_180115_01_B09,3.4166787,-0.6407429 +10X_cells.GGATGTTCACTCGACG-L8TX_180115_01_B09,3.870125,-1.9144545 +10X_cells.GCTGGGTAGTCAATAG-L8TX_180115_01_D09,3.8310435,-1.5220169 +10X_cells.GTGCTTCAGGAGCGAG-L8TX_180115_01_D09,3.6941762,-1.3143348 +10X_cells.GGTATTGCAGGTCGTC-L8TX_180115_01_D10,3.9184222,0.06891611 +10X_cells.CCACGGATCTCAAACG-L8TX_180115_01_A11,3.0777838,-0.57771456 +10X_cells.CGCCAAGTCTGATACG-L8TX_180115_01_A11,3.8493655,-2.950069 +10X_cells.GTCACAAGTCGTCTTC-L8TX_180115_01_B10,3.4548562,-0.38522795 +10X_cells.CAGTCCTTCCGCATCT-L8TX_180115_01_B11,6.334251,-1.9767518 +10X_cells.TGGGAAGCAATAACGA-L8TX_180115_01_F10,3.3212268,0.032974046 +10X_cells.TTCTACAAGGGATGGG-L8TX_180115_01_F10,3.7315984,-0.6529047 +10X_cells.AAACGGGCATACTCTT-L8TX_180115_01_G10,3.9881744,-1.57725 +10X_cells.GCACTCTGTCTTGATG-L8TX_180115_01_G10,3.4734292,-0.31953412 +10X_cells.AGGGATGAGCGTGTCC-L8TX_180115_01_E11,3.7341878,-2.0520961 +10X_cells.TGTTCCGAGAACAACT-L8TX_180115_01_F11,3.380087,-2.4457943 +10X_cells.TACCTTAGTTTGACTG-L8TX_180115_01_H09,3.7848186,-0.27676693 +10X_cells.GTGAAGGTCCGCGCAA-L8TX_180115_01_A10,4.640046,-0.16914037 +10X_cells.GAATGAAAGTTGAGAT-L8TX_180115_01_F09,3.7766345,-1.3479675 +10X_cells.CTACACCTCATCGGAT-L8TX_171120_01_G07,4.5302973,-3.4180784 +10X_cells.CACCTTGAGATGCCTT-L8TX_180115_01_G08,5.5337586,-3.356974 +10X_cells.AAGCCGCGTGAGGCTA-L8TX_180115_01_D08,3.1571531,-2.3921528 +10X_cells.AACTGGTAGCGATAGC-L8TX_171120_01_D07,1.6737713,-0.3388608 +10X_cells.CTGTTTATCAACACGT-L8TX_171120_01_D07,3.6400266,-0.55414957 +10X_cells.TTCTACAGTTGAGGTG-L8TX_171120_01_F07,6.1091247,-0.09976963 +10X_cells.CTCCTAGCACACGCTG-L8TX_180115_01_E08,4.6633534,-2.9716394 +Smartseq_cells.LS-15007_S92_E1-50,5.6983643,-0.33647734 +Smartseq_cells.LS-15025_S56_E1-50,5.3432603,-2.5595956 +Smartseq_cells.LS-15347_S78_E1-50,3.810713,-2.9884334 +Smartseq_cells.LS-15352_S45_E1-50,4.985133,-3.1034026 +Smartseq_cells.LS-15579_S05_E1-50,3.639615,-2.9536734 +Smartseq_cells.SM-DD45I_S059_E1-50,3.8870404,-2.6915576 +Smartseq_cells.SM-GE67T_S319_E1-50,4.028149,-3.1007943 +Smartseq_cells.SM-GE91R_S052_E1-50,5.2886553,-3.1924405 +10X_cells.CTCGAGGGTCATTAGC-L8TX_180221_01_E09,5.051478,-0.6087886 +10X_cells.TCCACACCACCGCTAG-L8TX_180221_01_E09,3.7971175,-1.0298717 +10X_cells.ATTCTACAGGGATACC-L8TX_180221_01_D09,3.7010424,0.09833102 +10X_cells.TCAGCTCCAACTGCGC-L8TX_180221_01_D09,5.183424,-0.5644233 +10X_cells.TTCTCCTGTTCGAATC-L8TX_180607_01_C05,4.4033427,-0.30594343 +10X_cells.ACTGAACCAACAACCT-L8TX_180712_01_B06,5.353972,-0.42698762 +10X_cells.CTTGGCTGTAGTACCT-L8TX_180712_01_B06,4.8835526,-0.84243053 +Smartseq_cells.LS-15329_S84_E1-50,5.711801,-1.0323651 +10X_cells.GTGGGTCTCTCTAAGG-L8TX_181012_01_G04,3.887381,0.15304576 +10X_cells.ACGAGCCCAGTATCTG-L8TX_171026_01_A04,5.3135543,-2.0458727 +10X_cells.CATTATCCATGTCGAT-L8TX_171026_01_G03,5.4934006,-0.4062624 +10X_cells.TGCACCTGTCACTTCC-L8TX_171026_01_H03,4.7677875,-0.6653333 +10X_cells.GGACAAGCAGCTCCGA-L8TX_171026_01_C05,3.6052458,0.9786394 +10X_cells.CCAGCGAAGTGTCTCA-L8TX_171026_01_E05,4.600854,0.061466493 +10X_cells.TGGTTCCTCCGAAGAG-L8TX_171026_01_F05,6.137467,-1.5082853 +Smartseq_cells.SM-DD449_S73_E1-50,5.2987037,-0.80995965 +Smartseq_cells.SM-GE935_S281_E1-50,6.110696,-1.252278 +Smartseq_cells.SM-GE935_S333_E1-50,5.128741,-1.0913157 +10X_cells.TGACTTTTCCGAACGC-L8TX_181206_01_H11,4.9983206,-0.19032557 +10X_cells.CATCAGAAGTAGGCCA-L8TX_180221_01_D10,4.3158436,0.23555094 +10X_cells.TAAACCGGTGTCGCTG-L8TX_180221_01_D10,4.322321,-0.033033825 +10X_cells.AGATTGCCAACTTGAC-L8TX_180221_01_E10,3.8303657,0.5404258 +10X_cells.ACCGTAATCGCCTGAG-L8TX_180221_01_F10,3.8002925,0.7894659 +10X_cells.ATCATGGAGGTAAACT-L8TX_190312_01_B02,3.8592296,0.13906229 +10X_cells.CCAATCCAGATGTGTA-L8TX_190312_01_D02,3.7518477,-0.33800685 +10X_cells.ACTTTCAGTACCAGTT-L8TX_190312_01_G02,4.325029,-0.17689557 +10X_cells.TGCGGGTTCGAGAGCA-L8TX_190312_01_G02,4.4745665,-0.059734736 +10X_cells.CTACATTGTTGGTAAA-L8TX_180926_01_C12,5.025721,-0.80991054 +10X_cells.CATCGGGCAAGGACTG-L8TX_180907_01_G11,5.506731,-1.0178305 +10X_cells.GTATTCTTCAGCATGT-L8TX_180907_01_G11,5.3702416,-0.28289235 +10X_cells.AGCGTCGCACTAAGTC-L8TX_190312_01_F01,5.3087144,-1.691423 +10X_cells.AAGACCTCACCGATAT-L8TX_180926_01_E01,5.928786,-1.087076 +10X_cells.GAATAAGGTCACACGC-L8TX_180926_01_D01,3.882885,0.3371927 +10X_cells.GCTCCTATCAGGCAAG-L8TX_181011_01_C03,3.415682,1.1056373 +10X_cells.ATCTGCCAGACTAGAT-L8TX_181011_01_H03,5.55429,-0.076344155 +10X_cells.GAACCTATCTAACCGA-L8TX_180712_01_F05,3.6422117,0.25281286 +10X_cells.CGCGTTTCATGTTCCC-L8TX_180712_01_H05,4.953875,-1.1855692 +10X_cells.GAAATGAAGACGCACA-L8TX_180712_01_H05,6.0718265,-2.0938249 +10X_cells.CGTTCTGAGTGGACGT-L8TX_200611_02_A05,4.124359,-0.21066049 +10X_cells.TCGCGAGAGACTTTCG-L8TX_180115_01_A11,4.108092,-0.6684327 +10X_cells.GGGTCTGGTAAATGAC-L8TX_180115_01_F11,3.6827629,0.3073716 +10X_cells.ACACTGAGTGCTTCTC-L8TX_180115_01_B10,3.8228867,0.14504868 +10X_cells.CTTTGCGAGTACTTGC-L8TX_180115_01_B11,5.2463536,-0.6294629 +10X_cells.GTGCATAAGGCGCTCT-L8TX_180115_01_C11,4.7822657,-0.80918086 +10X_cells.AACTCCCTCCACGACG-L8TX_180115_01_F10,4.5079317,0.5008824 +10X_cells.CACACCTTCAGTTGAC-L8TX_180115_01_G11,7.630653,-2.9313066 +10X_cells.TACGGATAGTCCGGTC-L8TX_171120_01_H07,5.1709905,-0.8058297 +10X_cells.GCAATCAAGCATGGCA-L8TX_171120_01_F07,5.366959,-0.2473696 +Smartseq_cells.LS-15081_S09_E1-50,5.397431,-0.9976234 +10X_cells.CAGCATATCGGTCCGA-L8TX_180221_01_B10,7.5353413,-1.4194099 +10X_cells.CTCGTACTCCATGCTC-L8TX_180406_01_F02,4.1751122,-0.17117113 +10X_cells.TCAGGATCATAGACTC-L8TX_180221_01_G09,6.056957,-1.589818 +10X_cells.ACCCACTGTAAGGGAA-L8TX_180221_01_C10,4.515221,2.3286226 +10X_cells.CGCGTTTGTCTCGTTC-L8TX_180406_01_F02,5.1816864,-2.8469577 +10X_cells.GGACAGAAGTGGGATC-L8TX_180221_01_F09,1.9715506,-1.6048572 +10X_cells.GTTTCTATCTTATCTG-L8TX_180221_01_F09,5.316979,0.61137116 +10X_cells.CGAGAAGAGGCGACAT-L8TX_180221_01_G09,4.7104464,-0.35203353 +10X_cells.GCAGCCATCTTTAGGG-L8TX_180221_01_G09,6.0266967,-1.3740366 +10X_cells.TACTCATTCGGCGGTT-L8TX_180221_01_G09,4.442579,0.123840414 +10X_cells.AAACGGGTCGAGCCCA-L8TX_180221_01_A10,6.2361565,-1.2047616 +10X_cells.TCACGAAAGGCGTACA-L8TX_180221_01_A10,4.5907097,2.6836174 +10X_cells.AAATGCCGTTGGACCC-L8TX_180221_01_B10,2.5948482,-1.337119 +10X_cells.GTACGTAAGAAGATTC-L8TX_180221_01_B10,4.441465,-0.03721723 +10X_cells.GACGGCTCAGGGCATA-L8TX_180221_01_C10,5.9134355,-0.5082091 +10X_cells.GCGCAGTAGGTGTGGT-L8TX_180406_01_F02,5.8085117,-1.924953 +Smartseq_cells.SM-GE63J_S106_E1-50,5.096571,-0.9387723 +10X_cells.GATCGTACATAAGACA-L8TX_180221_01_D09,9.235022,-3.6198096 +10X_cells.TTGAACGAGTGTCCAT-L8TX_180221_01_D09,9.615528,-2.9454186 +10X_cells.ATGGGAGGTCGTGGCT-L8TX_180712_01_B06,6.820127,-2.8137584 +10X_cells.TTATGCTGTTGGACCC-L8TX_180712_01_B06,5.9740524,0.021533327 +Smartseq_cells.LS-15313_S77_E2-50,4.3678107,-1.6073624 +Smartseq_cells.LS-15322_S48_E2-50,6.1092405,-1.2311329 +Smartseq_cells.LS-15323_S45_E2-50,6.195592,-1.1622496 +10X_cells.ACCGTAATCTTCCTTC-L8TX_180829_01_D10,4.0709815,0.89706975 +10X_cells.AGCTTGATCACCTCGT-L8TX_180829_01_D10,3.6369116,0.89929914 +10X_cells.GACGTGCCATGAACCT-L8TX_181012_01_H04,5.571849,-1.4574414 +10X_cells.TGGGCGTTCCTGTACC-L8TX_181012_01_E05,4.0888076,-0.3341726 +10X_cells.TGAGCCGAGTCCAGGA-L8TX_180406_01_E07,3.633911,-0.56346464 +10X_cells.TCTGAGACAGCTGTGC-L8TX_180221_01_G12,5.077193,0.047711693 +10X_cells.AACTCTTTCTCCGGTT-L8TX_171026_01_F03,4.506551,-0.6911139 +10X_cells.AGTCTTTGTTCCACAA-L8TX_171026_01_B05,2.8258739,-0.46107918 +10X_cells.CTGCCTAGTACAGTTC-L8TX_171026_01_B05,5.9150634,-1.8876245 +10X_cells.AAATGCCAGAGACTAT-L8TX_171026_01_F04,5.5729556,-1.0787148 +10X_cells.CCTTCCCAGTAGGTGC-L8TX_171026_01_B04,3.950167,-1.4066808 +10X_cells.GGATTACGTTATGCGT-L8TX_171026_01_H05,3.7127857,-1.4546442 +10X_cells.TTGTAGGCAGTCCTTC-L8TX_171026_01_F03,5.720289,-1.9020491 +10X_cells.AGAGCGAGTTTAGCTG-L8TX_171026_01_G04,4.1334567,0.29821625 +10X_cells.AGATCTGGTCGCGAAA-L8TX_171026_01_B04,5.181319,-0.22203419 +10X_cells.TTGCGTCAGAGAGCTC-L8TX_171026_01_H03,5.630838,-0.5863288 +10X_cells.AACTCCCAGCCACCTG-L8TX_171026_01_F03,5.993265,-1.0793461 +10X_cells.ACGAGCCCATTTGCTT-L8TX_171026_01_F03,6.7693896,-1.1618011 +10X_cells.TGGCTGGCAAAGTGCG-L8TX_171026_01_F03,4.473558,0.2339872 +10X_cells.CTTAACTCAAGAAGAG-L8TX_171026_01_B04,5.27896,-0.7709792 +10X_cells.TGAGCCGAGCGTGTCC-L8TX_171026_01_B04,6.173105,-2.066804 +10X_cells.CAAGGCCAGAATGTGT-L8TX_171026_01_F04,0.10562175,-3.507201 +10X_cells.ACTGATGCACCCAGTG-L8TX_171026_01_G04,4.348183,-1.1844559 +10X_cells.GACGGCTTCATTGCGA-L8TX_171026_01_G04,6.2109504,-1.4654744 +10X_cells.GTACTCCAGTGTACCT-L8TX_171026_01_B05,6.4140983,-1.7532672 +10X_cells.GTTAAGCGTAGGACAC-L8TX_171026_01_H04,5.4005547,-1.2024229 +10X_cells.CACACAACATTCTCAT-L8TX_171026_01_A05,5.7491746,-1.2588934 +10X_cells.CGAATGTGTCTGATTG-L8TX_171026_01_H03,3.280421,-1.1630938 +10X_cells.GCGCAGTGTTTGGCGC-L8TX_171026_01_H03,4.376191,-0.004853608 +10X_cells.GTGTTAGGTGCTCTTC-L8TX_171026_01_H03,4.5124736,-0.7594223 +10X_cells.TACTCGCAGGGAAACA-L8TX_171026_01_H03,4.862999,-1.0716274 +10X_cells.CTCGAAATCTAACTCT-L8TX_171026_01_A04,6.6939735,-1.4830709 +10X_cells.CATGACAAGGATCGCA-L8TX_171026_01_C05,4.096294,-0.620653 +10X_cells.CGCCAAGAGTGCAAGC-L8TX_171026_01_E05,4.558433,-0.004300111 +10X_cells.ACCTTTAAGCCAACAG-L8TX_171026_01_F05,8.235886,-2.795013 +10X_cells.GTCGTAAAGGTGCACA-L8TX_171026_01_F05,5.0370016,0.13383155 +10X_cells.TGATTTCGTGACCAAG-L8TX_171026_01_F05,6.632012,-1.7742158 +10X_cells.GCTCTGTGTTCCGTCT-L8TX_171026_01_G05,4.4027753,-0.6271637 +10X_cells.CCTCTGACAGGCGATA-L8TX_171026_01_H05,5.9244704,-0.99679524 +10X_cells.TGACTTTTCAGTTAGC-L8TX_171026_01_H05,0.39536363,-2.101467 +10X_cells.TTAGTTCGTCAACTGT-L8TX_171026_01_H05,3.2417893,-0.912164 +Smartseq_cells.LS-15538_S44_E1-50,3.7447278,-1.4449221 +10X_cells.GCTTGAACAAAGCAAT-L8TX_181206_01_A12,7.8228726,-1.9430833 +10X_cells.CATCAAGCAGGCAGTA-L8TX_181206_01_E12,5.011882,-0.6368116 +10X_cells.CTAGCCTAGACAAGCC-L8TX_180221_01_D10,4.6398454,-0.53734446 +10X_cells.AAAGCAAGTATCAGTC-L8TX_180221_01_F10,5.500867,-2.580864 +10X_cells.TTGCGTCTCGTACCGG-L8TX_190312_01_B02,5.2260394,-1.0105515 +10X_cells.GGACGTCGTAGGAGTC-L8TX_181012_01_B05,6.053598,-2.3199959 +10X_cells.CGTTGGGCATTTCAGG-L8TX_190312_01_E02,-1.8471502,-2.0006495 +10X_cells.GTAACTGTCAAACCGT-L8TX_190312_01_E02,5.6890464,-1.9324545 +10X_cells.CGTAGGCTCAGCGATT-L8TX_190312_01_F02,4.3120527,0.18192229 +10X_cells.CAGAATCGTTCATGGT-L8TX_180221_01_D11,9.436219,-2.861759 +10X_cells.CATCAGAAGACCTAGG-L8TX_180221_01_D11,4.856646,0.09430763 +10X_cells.AAGCCGCAGCCGCCTA-L8TX_180907_01_G11,6.207332,-1.338518 +10X_cells.CGAGCCAAGCTAACTC-L8TX_180907_01_A12,6.134662,-1.8047795 +10X_cells.TTGCGTCGTACAGTTC-L8TX_180926_01_D01,5.4855943,-0.45967114 +10X_cells.GTCACAACATCATCCC-L8TX_181011_01_H03,4.6574783,-0.7347852 +10X_cells.AGCAGCCAGATGCCTT-L8TX_180712_01_E05,5.7543426,-1.1222974 +10X_cells.GTGCAGCCAGGGTATG-L8TX_180221_01_C12,4.6539893,0.6733754 +10X_cells.ATTCTACCATGCAACT-L8TX_180115_01_E11,3.5514352,-0.050601132 +10X_cells.CAACCTCCATGGGACA-L8TX_180115_01_C10,4.4137177,0.24799514 +10X_cells.ATCGAGTTCCCTGACT-L8TX_180115_01_D11,5.3802905,-0.7090439 +10X_cells.CGCTTCAGTCATTAGC-L8TX_180115_01_D11,5.3828354,-0.22599584 +10X_cells.AAAGATGAGTTTAGGA-L8TX_180115_01_F11,5.2832556,-0.7274552 +Smartseq_cells.LS-15010_S93_E1-50,3.6289265,-1.189662 +10X_cells.GGAAAGCAGTGGTAAT-L8TX_180221_01_A10,5.221499,3.6593454 +10X_cells.TGGCCAGAGCAACGGT-L8TX_180221_01_B10,4.254627,3.5893476 +10X_cells.GTCGGGTGTATAGTAG-L8TX_180221_01_C10,4.1688952,1.9409206 +10X_cells.TACTTACAGATATGGT-L8TX_180221_01_C10,5.048965,2.4228904 +10X_cells.CCACTACCATAGACTC-L8TX_180406_01_C06,4.22816,1.8498285 +10X_cells.CGTTGGGAGAATAGGG-L8TX_180221_01_D09,5.050401,0.69401366 +10X_cells.GAACCTAAGGGCTCTC-L8TX_180607_01_C05,3.7092118,0.77201045 +10X_cells.AAGGTTCTCGCCAAAT-L8TX_180221_01_H12,4.6241302,2.5328438 +10X_cells.ACGTCAAAGCCCAATT-L8TX_180221_01_H12,4.378478,1.9686891 +10X_cells.AGCAGCCAGAAACCGC-L8TX_180221_01_E09,5.033502,3.5279167 +10X_cells.TCGCGAGCATCGATTG-L8TX_180221_01_E09,5.5315814,1.5562218 +10X_cells.TGCTACCTCGTCACGG-L8TX_180221_01_E09,5.427513,1.2229844 +10X_cells.CAACCTCGTGTCAATC-L8TX_180221_01_C09,6.1742945,1.8485935 +10X_cells.CACAAACCAGCAGTTT-L8TX_180221_01_C09,4.6801543,2.4685583 +10X_cells.CACCAGGCAGTCAGAG-L8TX_180221_01_C09,5.1557302,2.208121 +10X_cells.CATCGAATCATGTGGT-L8TX_180221_01_C09,4.705878,3.2627325 +10X_cells.GACACGCTCTCCGGTT-L8TX_180221_01_C09,4.7624145,1.7364358 +10X_cells.TTCTTAGGTCTTCAAG-L8TX_180221_01_C09,4.9602556,2.6089163 +10X_cells.ATTTCTGTCCTTAATC-L8TX_180221_01_D09,5.028855,2.1790137 +10X_cells.CGTTGGGGTAGCGATG-L8TX_180221_01_D09,5.4515605,1.2070484 +10X_cells.GTCCTCAGTAACGTTC-L8TX_180221_01_D09,4.136246,2.1052258 +10X_cells.GACTGCGTCGTGGACC-L8TX_180607_01_C05,4.9027157,1.2175487 +10X_cells.TGCGGGTTCGGTCCGA-L8TX_180607_01_C05,5.561157,0.6803885 +10X_cells.ACGCCAGAGAAACGAG-L8TX_180712_01_G05,4.997237,0.53585666 +10X_cells.AGAGTGGTCGTAGATC-L8TX_180712_01_G05,5.07831,2.475633 +10X_cells.CGTAGGCAGGATGTAT-L8TX_180712_01_G05,4.620275,1.1580228 +10X_cells.TGGCCAGGTGTGGCTC-L8TX_180712_01_G05,4.859719,2.7072072 +10X_cells.TGTATTCGTCTGCAAT-L8TX_180712_01_G05,5.065734,2.6363301 +10X_cells.CACACTCAGCTGCAAG-L8TX_180712_01_B06,5.039355,3.156714 +10X_cells.CTCGGAGGTTGGACCC-L8TX_180712_01_B06,5.8175597,1.2939353 +10X_cells.GACTGCGTCGAGAACG-L8TX_180712_01_B06,4.8443155,1.5910134 +10X_cells.GGACGTCGTACTTGAC-L8TX_180712_01_B06,4.480279,0.87429607 +10X_cells.ACCCACTCACAGACAG-L8TX_180712_01_C06,5.345642,-0.45212364 +10X_cells.AGCTCCTCATCTGGTA-L8TX_180712_01_C06,5.865728,0.15025921 +Smartseq_cells.SM-GE67M_S166_E1-50,4.7920322,3.1350536 +Smartseq_cells.LS-15313_S31_E2-50,4.946979,3.5823886 +Smartseq_cells.LS-15313_S92_E2-50,5.6892867,-0.12138727 +Smartseq_cells.LS-15329_S94_E1-50,5.692717,-1.0088017 +Smartseq_cells.SM-D9D9E_S02_E1-50,5.1827636,3.5782678 +10X_cells.GTGCAGCTCGCGTTTC-L8TX_180829_01_D10,4.707747,0.529818 +10X_cells.CACCAGGTCCGGGTGT-L8TX_180907_01_G10,5.6040845,0.31898695 +10X_cells.GCAAACTAGCTGCAAG-L8TX_181011_01_G02,4.6452336,2.7494001 +10X_cells.AGTAGTCGTGCAGACA-L8TX_181011_01_H02,4.3687267,3.288001 +10X_cells.CAGTCCTTCGGGAGTA-L8TX_181011_01_C04,4.9774995,1.7106491 +10X_cells.CACCAGGCACACCGCA-L8TX_180406_01_H01,4.6571345,0.56318706 +10X_cells.CAGCAGCAGGCCCTTG-L8TX_180406_01_E02,4.4239073,1.1799295 +Smartseq_cells.SM-GE5VD_S080_E1-50,5.7970414,0.3375503 +10X_cells.TGGGAAGTCCGCAAGC-L8TX_171026_01_B04,5.750331,1.6814777 +10X_cells.TGCTACCTCATTTGGG-L8TX_171026_01_G04,5.835464,1.7046885 +10X_cells.GAATAAGCAGTAAGAT-L8TX_171026_01_H04,4.079774,4.1400146 +10X_cells.CAACTAGGTATGAAAC-L8TX_171026_01_A05,4.609032,2.0019016 +10X_cells.CTCTACGTCGCGTTTC-L8TX_171026_01_A04,5.2274194,-0.14916295 +10X_cells.CCCAATCAGCCCAGCT-L8TX_171026_01_F05,5.925909,0.8388576 +10X_cells.AGATTGCCACCCTATC-L8TX_171026_01_G05,5.7216425,3.4450476 +10X_cells.CTAGTGATCAGTCAGT-L8TX_171026_01_H05,5.493161,1.0314189 +10X_cells.GGACGTCGTAGCCTAT-L8TX_171026_01_H05,5.4407105,1.3925598 +Smartseq_cells.SM-GE92I_S113_E1-50,5.559918,0.24658419 +Smartseq_cells.SM-GE92I_S373_E1-50,5.020036,3.885871 +10X_cells.GGGAATGCATCGTCGG-L8TX_190312_01_C02,5.0905366,1.4532578 +10X_cells.CCTAAAGTCTGAGTGT-L8TX_180221_01_H10,5.120049,1.4263676 +10X_cells.AGAGCGAAGATCCGAG-L8TX_180221_01_D10,4.470902,2.4072425 +10X_cells.TTCTTAGAGTGGTAGC-L8TX_180221_01_D10,3.9930036,2.0855265 +10X_cells.AAAGTAGTCGGTGTTA-L8TX_180221_01_E10,4.5510974,1.4422206 +10X_cells.ACGAGGACACCAGGCT-L8TX_180221_01_E10,3.9259982,2.0954268 +10X_cells.ATGCGATGTTACAGAA-L8TX_180221_01_E10,5.7548423,0.50201976 +10X_cells.GATCTAGCATACTACG-L8TX_180221_01_E10,5.631587,3.9494317 +10X_cells.GCACATACATGCATGT-L8TX_180221_01_F10,4.0232277,2.020103 +10X_cells.TCAGGTAAGTAGGTGC-L8TX_180221_01_F10,4.2300534,1.983413 +10X_cells.TCTGGAAAGCGTTGCC-L8TX_180221_01_F10,4.9198985,1.4947218 +10X_cells.GGAGCAAAGTGTCTCA-L8TX_180221_01_G10,4.6143737,1.8369222 +10X_cells.ACGATGTCAAGCCGTC-L8TX_180221_01_H10,5.535599,0.84184086 +10X_cells.CGTAGCGGTGTGGCTC-L8TX_180221_01_A11,5.4795237,1.705409 +10X_cells.CTCAGAATCTGCGTAA-L8TX_180221_01_A11,5.4787793,1.4071492 +10X_cells.ACCAGTAAGGTGATAT-L8TX_190312_01_B02,5.0857615,3.979901 +10X_cells.AGCTCCTAGTGCAAGC-L8TX_190312_01_B02,5.175734,1.2063485 +10X_cells.GCGCAACTCGTAGGTT-L8TX_190312_01_B02,5.2874036,0.12937523 +10X_cells.CCACCTACAACTGGCC-L8TX_190312_01_C02,4.2906594,0.5922991 +10X_cells.ACTTACTCAAGCCGCT-L8TX_180907_01_B11,5.140006,0.6651157 +10X_cells.CAAGAAAAGATCCCAT-L8TX_180926_01_C12,5.7342443,-0.39902797 +10X_cells.CCTCTGATCCAAATGC-L8TX_180926_01_E12,4.9411287,2.7054856 +10X_cells.TACGGATAGGGCACTA-L8TX_180221_01_G11,5.892962,0.80200243 +10X_cells.CCGTTCAGTCAAGCGA-L8TX_180221_01_D11,4.5201035,-0.15088557 +10X_cells.GGCCGATGTCGTCTTC-L8TX_190312_01_E02,5.9095407,2.3099377 +10X_cells.TCATTTGAGGAGTTGC-L8TX_180907_01_F11,5.1641517,2.8458989 +10X_cells.CCCTCCTTCTTTAGGG-L8TX_180907_01_A12,5.386868,2.8125145 +10X_cells.TCAGCTCGTTCGCTAA-L8TX_180907_01_A12,5.7432275,-1.1929836 +10X_cells.CTTAACTCATACGCCG-L8TX_180907_01_F11,5.5706177,0.28052336 +10X_cells.CGTTAGATCGTGTAGT-L8TX_180926_01_D01,5.3530016,0.73339736 +10X_cells.GCATGCGAGAATTGTG-L8TX_181011_01_H03,4.0202665,1.3139654 +10X_cells.AGCTCCTGTTGTGGCC-L8TX_180926_01_B01,4.7825418,1.2811337 +10X_cells.AGAATAGCATGACATC-L8TX_180926_01_E01,4.683382,0.9944184 +10X_cells.CGATGTAGTAAAGGAG-L8TX_180926_01_E01,5.0284767,1.6985948 +10X_cells.ACTGTCCCATTACCTT-L8TX_181011_01_B03,5.862023,1.3109232 +10X_cells.CTACACCTCTGAGGGA-L8TX_200611_02_A05,5.9125896,1.6151654 +10X_cells.AGGGTGATCGGCTTGG-L8TX_180221_01_B12,3.7663395,1.6270472 +10X_cells.TTGCCGTCAGGATTGG-L8TX_180504_01_E01,6.162356,1.8861353 +10X_cells.GGACAAGGTCGCGGTT-L8TX_180504_01_E01,3.0088398,2.0490355 +10X_cells.TTATGCTCACGGTAAG-L8TX_180712_01_E05,5.6553297,1.4368834 +10X_cells.ATTATCCAGTGATCGG-L8TX_180712_01_H05,4.443094,3.033129 +10X_cells.CGAGAAGTCTTCCTTC-L8TX_180712_01_H05,4.8949084,2.984408 +10X_cells.CGGCTAGGTTCGAATC-L8TX_180712_01_H05,5.1281543,1.1783158 +10X_cells.ACATCAGTCTGTTGAG-L8TX_180221_01_A12,3.9037185,1.5123698 +10X_cells.AGATTGCGTACAGTTC-L8TX_180221_01_B12,4.3879113,1.7419288 +10X_cells.CTCGGGAGTCCGAAGA-L8TX_180221_01_B12,4.468137,1.5344901 +10X_cells.TTCTACACAGGAATCG-L8TX_180221_01_B12,3.7987936,1.1980335 +10X_cells.TTGGAACTCATCACCC-L8TX_180221_01_B12,3.7952342,1.7312168 +10X_cells.AGTAGTCAGCTGAAAT-L8TX_180221_01_C12,4.7960634,2.5596237 +10X_cells.GCAAACTGTCGTCTTC-L8TX_180221_01_C12,3.6542764,1.9480673 +10X_cells.AAGGTTCTCGAGAACG-L8TX_180221_01_D12,4.2580037,0.45120522 +10X_cells.TCATTACAGAATTGTG-L8TX_180221_01_D12,5.2504916,1.8867596 +10X_cells.CATTCGCAGTAGCCGA-L8TX_180221_01_H11,4.5521727,1.9872519 +10X_cells.CCTATTAAGTGCTGCC-L8TX_180221_01_H11,4.5075474,1.7141987 +10X_cells.GGAACTTAGGTTACCT-L8TX_180221_01_H11,4.6722217,1.4499135 +10X_cells.TATCAGGAGAAGCCCA-L8TX_180221_01_H11,4.5753193,1.3033425 +10X_cells.TTAACTCGTCTTGCGG-L8TX_180221_01_H11,5.6590796,1.5378429 +10X_cells.CCTTCGAGTAAACACA-L8TX_200611_02_A05,3.5346453,0.88198036 +10X_cells.CTCTACGGTACAGTTC-L8TX_200611_02_A05,5.8148985,1.5564837 +10X_cells.TCACGAAGTCCGTCAG-L8TX_200611_02_A05,4.820815,2.5229661 +Smartseq_cells.SM-GE91L_S104_E1-50,5.225403,0.5002901 +10X_cells.GCTCTGTTCCTTCAAT-L8TX_180115_01_C09,4.4961953,1.6541336 +10X_cells.AGAGCGACAGAGTGTG-L8TX_180115_01_D09,5.167926,1.0457139 +10X_cells.AACTCCCTCTACTCAT-L8TX_180115_01_H10,5.433757,0.597101 +10X_cells.CGCTATCAGCTGAACG-L8TX_180115_01_B10,5.1285186,0.39117107 +10X_cells.GAGCAGATCGCCAGCA-L8TX_180115_01_B11,5.4429064,1.0677031 +10X_cells.GACCTGGGTGAGCGAT-L8TX_180115_01_C11,4.221387,3.7365897 +10X_cells.GATGCTACAGCTTCGG-L8TX_180115_01_C11,5.0815105,0.7862049 +10X_cells.TGAGAGGCACATAACC-L8TX_180115_01_C11,4.8320904,0.8006291 +10X_cells.AGATCTGTCAAGCCTA-L8TX_180115_01_E10,4.3365827,3.568251 +10X_cells.CTACACCAGAGCTGGT-L8TX_180115_01_G10,4.968186,0.2337343 +10X_cells.ATGAGGGTCGGAGCAA-L8TX_180115_01_H11,4.867156,2.9628046 +10X_cells.CCTTCCCCAGAGTGTG-L8TX_180115_01_H11,4.5852838,2.5347395 +10X_cells.CGAACATAGAAGGTTT-L8TX_180115_01_H11,4.9034605,2.6029499 +10X_cells.TCTGAGAGTCAACATC-L8TX_180115_01_G08,4.040827,4.3919353 +10X_cells.TCTGGAATCATAACCG-L8TX_171120_01_C07,5.7563677,0.619854 +10X_cells.CTACCCATCTGCTTGC-L8TX_180115_01_D08,5.7451053,0.66421837 +10X_cells.ACGAGGATCGTCCAGG-L8TX_171120_01_E07,5.527362,0.3389488 +10X_cells.GACCTGGGTAGCGTGA-L8TX_171120_01_E07,5.7163005,0.85784703 +Smartseq_cells.LS-15003_S08_E1-50,5.6764455,-0.45724335 +Smartseq_cells.LS-15004_S72_E1-50,6.3056517,1.475191 +Smartseq_cells.LS-15050_S53_E1-50,5.629715,1.2983662 +Smartseq_cells.LS-15081_S11_E1-50,5.48388,1.2343663 +Smartseq_cells.LS-15085_S24_E1-50,5.4178233,1.2730387 +Smartseq_cells.LS-15507_S34_E2-50,5.5091515,0.7425702 +Smartseq_cells.LS-15577_S59_E1-50,5.4162145,0.21316391 +Smartseq_cells.SM-DD45L_S137_E1-50,5.4384475,1.30676 +10X_cells.GTATTCTAGTGGACGT-L8TX_180221_01_C09,3.311083,0.49582437 +10X_cells.GCATGTATCCGTACAA-L8TX_180221_01_E09,3.4564433,-0.099795304 +10X_cells.TACAGTGAGTGAACAT-L8TX_180221_01_C09,3.037139,0.19238491 +10X_cells.AACTCCCCACAGACAG-L8TX_180221_01_D09,2.406263,-0.81935817 +10X_cells.ACGCCGATCCGCAGTG-L8TX_180712_01_G05,3.0520287,0.16117507 +Smartseq_cells.LS-15329_S81_E1-50,3.0061364,-0.5053092 +10X_cells.ATGCGATTCACGGTTA-L8TX_180829_01_D10,3.2881894,-0.44329017 +10X_cells.TCAGATGGTTTCCACC-L8TX_181012_01_H04,3.478765,0.36470523 +10X_cells.ACTGCTCTCCCATTAT-L8TX_200625_02_E11,3.0062807,-1.5703912 +10X_cells.CTGATCCAGCGATATA-L8TX_171026_01_G04,3.4685156,-0.47233275 +10X_cells.TTCTTAGGTCAGTGGA-L8TX_171026_01_D05,3.1725929,1.1684177 +10X_cells.CCGTGGATCTCAAACG-L8TX_181206_01_F12,4.103955,0.22748756 +Smartseq_cells.SM-GE8ZH_S095_E1-50,4.9038353,-1.0281166 +10X_cells.AGGTCATAGAGCTGGT-L8TX_180221_01_D10,2.8911073,1.4014087 +10X_cells.TACGGATTCACTCTTA-L8TX_180221_01_D10,3.1893778,1.1884203 +10X_cells.CTCGTCAAGTCTCGGC-L8TX_180221_01_E10,3.0789435,0.37597528 +10X_cells.GCGGGTTGTTACCGAT-L8TX_180221_01_F10,4.695267,-0.741752 +10X_cells.GGACAAGAGTTGAGAT-L8TX_190312_01_D02,3.5767164,-0.12689756 +10X_cells.TACCTTATCCACGAAT-L8TX_181011_01_B03,3.7635384,0.7115162 +10X_cells.GTCACAATCCGCTGTT-L8TX_181011_01_C03,2.833506,0.85467327 +10X_cells.GTCAAGTCACTGCCAG-L8TX_180712_01_E05,2.3694823,1.4765438 +10X_cells.CCTCTGAAGGATGGTC-L8TX_180712_01_A06,3.9028735,0.6683968 +10X_cells.CGGAGTCCAGATGAGC-L8TX_180504_01_E01,3.0006654,0.3724285 +10X_cells.GGGATGAAGACTCGGA-L8TX_180221_01_A12,3.6137588,0.25018463 +10X_cells.AACTCCCCATCGATTG-L8TX_180221_01_F09,7.9847107,-0.02454002 +10X_cells.CTAAGACCATCGGACC-L8TX_180221_01_B10,6.87209,2.331442 +10X_cells.AACTCTTCAAAGGTGC-L8TX_180406_01_F02,6.8145742,1.3328112 +10X_cells.GTAGGCCAGCAGATCG-L8TX_180221_01_D09,5.8354588,1.312072 +10X_cells.AAGCCGCTCCAAACAC-L8TX_180712_01_B06,4.842465,1.021588 +10X_cells.CAAGGCCAGGCTAGGT-L8TX_180221_01_D09,7.26156,2.6752734 +10X_cells.GCTGGGTCAGCCTATA-L8TX_180712_01_B06,6.4338427,2.329492 +10X_cells.GTAACGTGTTCCACGG-L8TX_180221_01_H12,6.435398,1.5135894 +10X_cells.AGCTTGAGTTGCCTCT-L8TX_180221_01_C09,6.5400643,-0.90410787 +10X_cells.GTAGGCCAGCGATATA-L8TX_180221_01_C09,6.217691,0.31292495 +10X_cells.GCTTGAAGTGTCCTCT-L8TX_180607_01_C05,7.024771,2.1165752 +10X_cells.GACTACACACGTTGGC-L8TX_180712_01_G05,5.453968,-3.085651 +10X_cells.TCAGCAAGTACGCACC-L8TX_180712_01_G05,6.4409766,-0.37629625 +10X_cells.CACAGTAAGAGCCCAA-L8TX_180712_01_B06,5.9859943,0.37409192 +Smartseq_cells.LS-15323_S90_E2-50,7.3479266,0.5689481 +Smartseq_cells.LS-15329_S33_E1-50,6.675125,0.5936941 +10X_cells.TTTACTGAGCCAACAG-L8TX_180829_01_D09,3.871556,1.7289197 +10X_cells.GGGAGATAGTGGAGAA-L8TX_181011_01_G02,3.8621676,1.3718364 +10X_cells.ATGTGTGCAGCTGTTA-L8TX_181012_01_G04,6.885481,1.1308827 +10X_cells.CACACTCAGGTGCAAC-L8TX_181012_01_G04,3.8009794,1.6774801 +10X_cells.CTACATTTCTTACCGC-L8TX_180406_01_E02,4.514485,0.72428775 +10X_cells.CCATTCGGTCCCGACA-L8TX_171026_01_B05,6.8585687,0.34199926 +10X_cells.GACGGCTCAGTACACT-L8TX_171026_01_F05,6.033179,-0.9395245 +10X_cells.GCATGTAGTTTGACAC-L8TX_171026_01_B04,5.8703666,0.29796448 +10X_cells.TACCTATCATGCATGT-L8TX_171026_01_B04,6.3688865,2.297428 +10X_cells.ATAGACCAGTTACCCA-L8TX_171026_01_G04,7.4369698,0.15233842 +10X_cells.CGATTGATCGTCTGCT-L8TX_171026_01_H04,6.136105,0.24667479 +10X_cells.GAGTCCGGTCTTGCGG-L8TX_171026_01_H04,7.379489,-0.17118338 +10X_cells.TCACGAAAGTACCGGA-L8TX_171026_01_H04,7.6761537,0.021622615 +10X_cells.TTCTACATCTCCGGTT-L8TX_171026_01_H03,7.1038966,4.0321565 +10X_cells.GTCACGGGTAGGACAC-L8TX_171026_01_A04,7.134733,-0.7890538 +10X_cells.AACGTTGTCCCATTTA-L8TX_171026_01_D05,7.0091295,-0.6394937 +10X_cells.TCTGGAAAGCAGCGTA-L8TX_171026_01_E05,7.3404865,-1.2296668 +10X_cells.GCATACAGTACCGTTA-L8TX_181206_01_A12,7.6786566,-0.6340566 +Smartseq_cells.SM-GE66Y_S345_E1-50,7.3169785,0.5262404 +10X_cells.GGCGACTCATCTCCCA-L8TX_180221_01_E10,4.606346,-1.9786551 +10X_cells.AGCTCCTGTACTTGAC-L8TX_180221_01_D10,6.6237364,1.1353725 +10X_cells.CAGCCGATCCCACTTG-L8TX_180221_01_E10,7.1920443,0.33189204 +10X_cells.GGCTGGTTCCGCGGTA-L8TX_180221_01_F10,6.886828,-0.13671747 +10X_cells.GGGACCTAGTGTACTC-L8TX_180221_01_H10,7.271545,-0.44665557 +10X_cells.TAGTGGTTCTTAACCT-L8TX_180221_01_A11,4.42745,-0.009330895 +10X_cells.ACGCAGCAGTTATCGC-L8TX_190312_01_G02,5.700086,-1.0379525 +10X_cells.GTAGGCCCAGGTGCCT-L8TX_190312_01_G02,7.2084804,1.8234793 +10X_cells.ACGCCGAAGAAGGGTA-L8TX_181012_01_B05,5.2162185,2.0248475 +10X_cells.AGTAGTCCACACTGCG-L8TX_181012_01_B05,6.102421,1.7599521 +10X_cells.CGCGTTTAGAGATGAG-L8TX_180907_01_B12,7.0433726,-0.003338503 +10X_cells.TTCTTAGTCTGGAGCC-L8TX_180907_01_E11,6.2486534,-0.6249007 +10X_cells.TTCTTAGCAATAGAGT-L8TX_181011_01_H03,7.180438,0.28633118 +10X_cells.CGCGGTACAGGCTCAC-L8TX_180926_01_B01,8.567281,2.1879342 +10X_cells.GGAAAGCTCGTCCAGG-L8TX_180926_01_D01,5.487834,-1.4816031 +10X_cells.AAGGTTCCAATCTACG-L8TX_180926_01_F01,4.508854,0.91091144 +10X_cells.CTCTGGTGTTCAGACT-L8TX_180926_01_F01,4.3678026,0.9963923 +10X_cells.CAGCCGATCTGTCTCG-L8TX_181011_01_C03,3.7689564,1.7177296 +10X_cells.CTGCTGTAGGTAAACT-L8TX_180712_01_E05,6.050128,-1.0840901 +10X_cells.CCTTCCCTCCGGCACA-L8TX_180221_01_A12,8.043521,2.9155338 +10X_cells.TAGTGGTGTCATGCCG-L8TX_180712_01_E05,3.8517363,0.9690328 +10X_cells.TCTATTGCATGCAACT-L8TX_180712_01_E05,6.4489083,1.054352 +10X_cells.CAGAATCCAGCTTCGG-L8TX_180712_01_H05,7.5798864,3.1953864 +10X_cells.GAATAAGCAAGCGAGT-L8TX_180712_01_A06,7.184913,-0.15870333 +10X_cells.TCGCGTTGTGTCAATC-L8TX_180712_01_A06,6.4584618,1.8781554 +10X_cells.TGGACGCGTGCAGGTA-L8TX_180712_01_A06,6.404789,0.69021523 +10X_cells.GACGTTAGTTAGATGA-L8TX_180504_01_E01,3.9058151,1.3264471 +10X_cells.GGTATTGGTACGAAAT-L8TX_180504_01_E01,7.12339,1.8080677 +10X_cells.GCTGGGTAGTACTTGC-L8TX_180221_01_C12,5.9483895,1.7145498 +10X_cells.AAGTCTGCAAAGGAAG-L8TX_180221_01_D12,6.725272,1.9205528 +10X_cells.AGAGTGGGTAGCGTGA-L8TX_180221_01_H11,5.590991,1.5117993 +10X_cells.CACCAGGCAGACGCAA-L8TX_200611_02_A05,6.319332,0.041796148 +10X_cells.TCATTACTCCCTAACC-L8TX_200611_02_A05,5.8907294,1.8398716 +10X_cells.CACCTTGGTGGTCTCG-L8TX_180115_01_C11,6.6736383,0.44352728 +10X_cells.TAAGAGACAGCTGGCT-L8TX_180115_01_A11,5.906433,0.373467 +10X_cells.AGGGAGTCATTGAGCT-L8TX_180115_01_F10,5.6884737,0.6574414 +10X_cells.TTTACTGAGACTACAA-L8TX_180115_01_F10,8.259257,-0.09776835 +10X_cells.TACCTATGTATGAATG-L8TX_180115_01_F11,5.580636,-0.5516323 +10X_cells.TGATTTCGTCAATGTC-L8TX_180115_01_F11,6.1112905,0.26742345 +10X_cells.TTAGGACTCGCCAAAT-L8TX_180115_01_A10,4.935628,0.62955076 +10X_cells.CTCTGGTCAATCAGAA-L8TX_180115_01_E09,6.271179,1.5598097 +10X_cells.TGGCTGGCAGCCTGTG-L8TX_180115_01_E09,6.578921,1.150366 +10X_cells.AGGGATGGTCTTGTCC-L8TX_171120_01_G07,6.6002765,-0.52185225 +10X_cells.GGCCGATAGAGACGAA-L8TX_171120_01_G07,9.241524,-3.3144717 +10X_cells.TAGCCGGAGATCCCGC-L8TX_171120_01_H07,7.0505137,0.20569049 +10X_cells.TTCTCCTCAATAGCAA-L8TX_171120_01_C07,7.0043,-0.21179205 +10X_cells.TTCCCAGGTATCGCAT-L8TX_180115_01_C08,5.236955,0.4489413 +Smartseq_cells.LS-15007_S53_E1-50,7.1177564,-0.24195738 +Smartseq_cells.LS-15011_S08_E1-50,6.6933236,-0.34144413 +Smartseq_cells.LS-15577_S60_E1-50,6.590529,0.016494127 +Smartseq_cells.SM-GE94L_S075_E1-50,6.458805,-0.8431087 +10X_cells.CGCCAAGGTTATTCTC-L8TX_180221_01_F09,7.947796,-1.4302189 +10X_cells.ATCACGACAGACAGGT-L8TX_180221_01_H09,6.1417313,-1.3987663 +10X_cells.TAGTTGGAGATGTGTA-L8TX_180221_01_B10,6.779929,-2.6417592 +10X_cells.CCTATTACAATGCCAT-L8TX_180221_01_C10,7.257251,-0.0773857 +10X_cells.TGTGTTTCACGGATAG-L8TX_180406_01_F02,6.6991806,2.6755497 +10X_cells.GCTGCTTAGTGTGAAT-L8TX_180221_01_C09,8.513129,-2.3005013 +10X_cells.AGGGTGAAGAAGATTC-L8TX_180221_01_D09,5.6270113,0.94747436 +Smartseq_cells.SM-D9D9E_S03_E1-50,7.3300037,-0.08358088 +10X_cells.ACAGCTAGTTCACCTC-L8TX_180829_01_E10,6.8929935,-0.6054458 +10X_cells.CACACAACACGCATCG-L8TX_180907_01_F10,5.9806185,-0.54084074 +10X_cells.GGAACTTGTACAAGTA-L8TX_180907_01_F10,6.5237846,-0.49160287 +10X_cells.ATCTACTTCACAATGC-L8TX_180907_01_G10,6.5501194,-0.47337046 +Smartseq_cells.SM-GE5VC_S373_E1-50,7.5161357,-0.65494555 +10X_cells.ACACCCTAGTGGTCCC-L8TX_171026_01_H05,6.9589005,-0.8464815 +10X_cells.CACCAGGTCGTCGTTC-L8TX_171026_01_F05,10.056995,-3.4521322 +10X_cells.CTGTGCTGTAGAGGAA-L8TX_171026_01_F03,7.5958643,1.5165194 +10X_cells.GGGTTGCCATAGAAAC-L8TX_171026_01_B04,6.6534505,-1.0118059 +10X_cells.CGACCTTAGGTAAACT-L8TX_171026_01_F04,7.4413285,-1.0928917 +10X_cells.GCACTCTCAACAACCT-L8TX_171026_01_F04,7.1463428,-1.6591679 +10X_cells.TCACGAAGTCGCATCG-L8TX_171026_01_B05,8.802843,-3.5263267 +10X_cells.CGCTGGAGTAGTGAAT-L8TX_171026_01_H04,6.771869,-0.61331517 +10X_cells.CTACCCAAGCGCCTTG-L8TX_171026_01_A05,7.538411,-1.2171692 +10X_cells.GACCAATTCGTAGATC-L8TX_171026_01_A05,5.5582323,3.7747266 +10X_cells.AGCGTCGCATTCGACA-L8TX_171026_01_H03,10.678347,-2.5868292 +10X_cells.CGCCAAGGTAGCGCAA-L8TX_171026_01_A04,7.150761,-1.205897 +10X_cells.CCTCAGTCAGCTTCGG-L8TX_171026_01_D05,5.9611354,-0.47407943 +10X_cells.CATATTCTCACATAGC-L8TX_171026_01_F05,7.3132696,-1.062363 +10X_cells.CGCCAAGTCCGAAGAG-L8TX_171026_01_F05,6.899315,0.44699672 +10X_cells.TCGAGGCCAGGTCTCG-L8TX_181206_01_B12,6.6226983,-0.33561072 +10X_cells.GACTACATCCGTTGCT-L8TX_181206_01_D12,7.0294685,-1.7182066 +Smartseq_cells.SM-GE67N_S188_E1-50,7.050402,-0.4857992 +10X_cells.CCTTCCCCACCAGGTC-L8TX_180221_01_D10,7.4917517,-1.1025643 +10X_cells.GTCACAACAAGCTGGA-L8TX_180221_01_F10,3.8063848,0.5659892 +10X_cells.CACTCCACAAGCGTAG-L8TX_180221_01_A11,6.0540857,-0.9494415 +10X_cells.GTGTTAGAGACTGGGT-L8TX_180221_01_A11,6.821809,-0.73087555 +10X_cells.CAGCGACAGTGGTAAT-L8TX_190312_01_C02,5.6717863,-0.8595018 +10X_cells.TGACGGCAGCTGAAAT-L8TX_180907_01_B11,6.1706867,-0.3570699 +10X_cells.CGGACTGCAGGGATTG-L8TX_181012_01_B05,6.2734213,-1.3449185 +10X_cells.CGTGTCTCATCGACGC-L8TX_181012_01_C05,9.134182,-0.27601027 +10X_cells.TACCTTAAGAGACGAA-L8TX_181012_01_C05,6.2971373,-0.15288857 +10X_cells.TCTTTCCGTCGAAAGC-L8TX_180221_01_D11,9.954036,-2.2766461 +10X_cells.CGGACTGCACGGTAGA-L8TX_180221_01_D11,7.970706,0.3491243 +10X_cells.AACTCCCCACGGTAAG-L8TX_180221_01_F11,12.566407,-1.4984212 +10X_cells.GACACGCTCGGAAACG-L8TX_180221_01_F11,7.5627837,-0.9927425 +10X_cells.GGCGACTGTCCGTGAC-L8TX_180221_01_F11,4.9728723,0.13478298 +10X_cells.TAGGCATCAAGCGATG-L8TX_180907_01_H11,7.4691806,-1.213677 +10X_cells.GGCCGATGTATTAGCC-L8TX_180907_01_E11,6.9944334,1.7856717 +10X_cells.ATCCGAAGTGAGGGAG-L8TX_180907_01_F11,5.7086887,-0.44628286 +10X_cells.CGATGTACAGGTCCAC-L8TX_180907_01_F11,7.245177,-1.3953034 +10X_cells.TTAGGCAGTGTAAGTA-L8TX_180115_01_G11,6.99102,0.43670034 +10X_cells.AAGGTTCTCCGTTGTC-L8TX_180115_01_F10,7.319128,-0.7756348 +10X_cells.GTAACTGAGGCTCAGA-L8TX_180115_01_B09,6.3403907,-1.1746604 +10X_cells.ACGAGGATCTTGCCGT-L8TX_180115_01_D10,5.2572827,0.45884606 +10X_cells.CACCTTGCAACGATGG-L8TX_180115_01_D10,11.883875,-1.207903 +10X_cells.ACAGCCGGTCATCCCT-L8TX_180115_01_A11,6.0127044,-0.5280914 +10X_cells.TGTTCCGCAGTAACGG-L8TX_180115_01_B11,7.3312974,-0.22838184 +10X_cells.CTTAGGATCCTAGGGC-L8TX_180115_01_D11,9.839438,-3.2135892 +10X_cells.GCGACCAGTAGCGATG-L8TX_180115_01_D11,6.777952,-0.7149492 +10X_cells.GGTGCGTGTTCAGACT-L8TX_180115_01_D11,6.0047255,0.037951875 +10X_cells.GGACATTCAATGGACG-L8TX_180115_01_E10,5.1703897,0.10162843 +10X_cells.ATCATGGTCTCGATGA-L8TX_180115_01_F10,7.1377745,1.5896585 +10X_cells.ACTTGTTAGCAACGGT-L8TX_180115_01_G10,5.7015686,0.34937376 +10X_cells.AGGGTGATCCAAATGC-L8TX_180115_01_E11,6.925429,-0.32293075 +10X_cells.GATCAGTCACCAGGCT-L8TX_180115_01_F11,7.7685685,1.0094343 +10X_cells.TGGGCGTCAATCCGAT-L8TX_180115_01_F11,7.4420576,-0.9439582 +10X_cells.AACTGGTCAGCTCCGA-L8TX_180115_01_G11,6.8739357,-0.87315655 +10X_cells.CGTAGGCAGATATGGT-L8TX_180115_01_H09,5.2042103,0.4375071 +10X_cells.CATGACATCACCGTAA-L8TX_180115_01_E09,5.382005,-1.7745173 +10X_cells.GGGTCTGTCTGTCTCG-L8TX_180115_01_F09,5.2496567,0.07359368 +10X_cells.AGCGTATCAAGGACTG-L8TX_171120_01_G07,7.259187,-0.29611424 +10X_cells.CCCATACTCAGCTCGG-L8TX_171120_01_C07,5.388511,-0.29272303 +10X_cells.CGCGGTATCCGCATAA-L8TX_171120_01_F07,7.5110536,-0.32388213 +Smartseq_cells.LS-15021_S90_E1-50,6.133934,-0.9759407 +Smartseq_cells.LS-15097_S08_E1-50,6.175519,-0.9004445 +Smartseq_cells.SM-GE91G_S088_E1-50,7.991018,-0.49657002 +Smartseq_cells.SM-GE91L_S221_E1-50,6.5334854,-0.11948416 +Smartseq_cells.SM-GE91C_S053_E1-50,7.7839656,-1.0342169 +Smartseq_cells.SM-GE91C_S060_E1-50,6.190069,0.18016772 +Smartseq_cells.SM-GE91C_S332_E1-50,6.4294558,-0.18516082 +Smartseq_cells.SM-GE91H_S274_E1-50,8.625044,0.40640014 +Smartseq_cells.SM-GE91J_S248_E1-50,7.1970844,-0.15635134 +Smartseq_cells.SM-GE91J_S253_E1-50,11.338936,12.01775 +Smartseq_cells.SM-GE914_S165_E1-50,8.871065,-1.2082171 +Smartseq_cells.SM-GE915_S072_E1-50,6.5124946,0.09387748 +10X_cells.GTATCTTGTCTCAACA-L8TX_180221_01_B10,9.735478,-0.63529724 +10X_cells.AGAGCGATCGCACTCT-L8TX_180221_01_H09,10.590077,0.27659178 +10X_cells.TACTCATCAGGGTATG-L8TX_180221_01_H09,9.685686,-0.09195498 +10X_cells.CTAGCCTCAAACTGCT-L8TX_180221_01_A10,8.825935,-0.035994846 +10X_cells.GCCAAATGTGCTGTAT-L8TX_180221_01_B10,9.670849,0.102191746 +10X_cells.ATCTACTTCCGCTGTT-L8TX_180221_01_C10,8.328999,-0.32707086 +10X_cells.GCATGATCACATTAGC-L8TX_180221_01_C10,9.639613,-0.20321165 +10X_cells.ACTTACTCACATTTCT-L8TX_180406_01_F02,8.1777725,-0.021700706 +10X_cells.CACACTCTCGCCAAAT-L8TX_180406_01_C06,11.527106,-1.146641 +10X_cells.CGTCAGGAGACAGACC-L8TX_180221_01_D09,9.036012,-0.19394909 +10X_cells.AAAGCAAGTATAGGGC-L8TX_180607_01_C05,8.3524885,-0.8026314 +10X_cells.ATCTACTAGAAGGTTT-L8TX_180712_01_G05,8.487225,-0.054779 +10X_cells.CCCATACTCTAACTGG-L8TX_180712_01_B06,7.6854506,-1.2871569 +10X_cells.TTTGGTTCACGTAAGG-L8TX_180712_01_B06,9.091139,-0.9071383 +Smartseq_cells.LS-15012_S43_E1-50,9.25262,-1.0473282 +Smartseq_cells.LS-15014_S21_E1-50,7.979383,-0.9048429 +Smartseq_cells.LS-15338_S28_E1-50,8.17774,-0.3734351 +Smartseq_cells.SM-GE64C_S005_E1-50,8.638856,-1.0271722 +10X_cells.CAAGGCCTCCTGCTTG-L8TX_180829_01_D09,10.699473,0.5172094 +10X_cells.CGATGGCAGACTGGGT-L8TX_180829_01_E10,10.182796,0.52725345 +10X_cells.CTCGAAACACGAGGTA-L8TX_180829_01_E10,8.950536,-0.4615625 +10X_cells.AGGGTGAAGCTAAGAT-L8TX_180907_01_F10,8.534405,0.06021654 +10X_cells.CAGAATCCACTACAGT-L8TX_181011_01_H02,10.912211,-0.74843705 +10X_cells.GTCGTAAAGGCTCTTA-L8TX_181011_01_H02,9.110773,-1.0091003 +10X_cells.CACACCTCAGTTAACC-L8TX_181011_01_C04,10.603971,0.70129603 +10X_cells.CACCTTGTCTTAACCT-L8TX_181011_01_C04,8.975552,-0.7989606 +10X_cells.ACGCCAGGTTATGCGT-L8TX_181012_01_G04,11.029396,1.0156628 +10X_cells.ACGTCAAAGCGAGAAA-L8TX_181012_01_G04,11.248352,0.3877818 +10X_cells.CCACGGAAGGTAGCCA-L8TX_181012_01_G04,10.145941,0.10353844 +10X_cells.CTGCGGACAACACCTA-L8TX_181012_01_G04,10.51006,-0.1829946 +10X_cells.GATCGTAAGCGTCTAT-L8TX_181012_01_G04,11.387404,-0.09933186 +10X_cells.TCAGATGGTGTGAAAT-L8TX_181012_01_G04,10.029876,-0.3750158 +10X_cells.TGCGCAGAGTTACGGG-L8TX_181012_01_G04,10.55134,0.31011578 +10X_cells.AGACGTTAGACCTAGG-L8TX_181012_01_H04,11.366706,0.6368542 +Smartseq_cells.SM-GE5VB_S118_E1-50,9.5441,-2.1395924 +10X_cells.GAATAAGTCGGAGCAA-L8TX_171026_01_A05,8.881571,-0.6599894 +10X_cells.CATTCGCTCAGGCGAA-L8TX_171026_01_A05,7.708513,-0.26089895 +10X_cells.ACTGCTCAGAACTCGG-L8TX_171026_01_A04,8.565996,-0.07233614 +10X_cells.CACAGTAGTTGTGGAG-L8TX_171026_01_B04,8.381197,-0.8047446 +10X_cells.AAGACCTCAAGGTTCT-L8TX_171026_01_F03,8.385049,-0.8807842 +10X_cells.GGGCACTAGGGCTTCC-L8TX_171026_01_F03,10.632069,0.47286674 +10X_cells.ATCTGCCAGGGAGTAA-L8TX_171026_01_B04,9.429832,-0.08285901 +10X_cells.CCTATTAGTAGGGACT-L8TX_171026_01_G04,8.491881,-0.2728503 +10X_cells.CGCTATCTCCGATATG-L8TX_171026_01_G04,9.74161,-2.2343488 +10X_cells.GGGTCTGCACAGACAG-L8TX_171026_01_G04,8.234137,0.94820774 +10X_cells.GTTAAGCGTGCACGAA-L8TX_171026_01_G04,8.363139,-0.26964417 +10X_cells.GGATTACTCCGGGTGT-L8TX_171026_01_B05,9.006734,-2.2788687 +10X_cells.GATCTAGGTTTGGCGC-L8TX_171026_01_H04,10.370501,0.8985258 +10X_cells.CTCCTAGGTGTTCGAT-L8TX_171026_01_H03,10.686512,-0.5103674 +10X_cells.GCTGCAGGTTCCGTCT-L8TX_171026_01_H03,10.034208,-0.11263682 +10X_cells.TAGACCAGTCTTCTCG-L8TX_171026_01_H03,8.891351,-0.89213413 +10X_cells.TGCCCATAGCACGCCT-L8TX_171026_01_H03,9.896357,-0.45152962 +10X_cells.AACCATGCATCTACGA-L8TX_171026_01_A04,9.488146,-1.4261237 +10X_cells.CTGAAACCAAGCCCAC-L8TX_171026_01_D05,9.5793295,0.06924857 +10X_cells.CACACAAGTTGGTAAA-L8TX_171026_01_E05,9.268135,-0.81895876 +10X_cells.CAGCAGCGTCGGCTCA-L8TX_171026_01_E05,10.302212,-0.5462693 +10X_cells.GACCAATTCTCAACTT-L8TX_171026_01_E05,8.877543,0.1615191 +Smartseq_cells.SM-DD44A_S25_E1-50,8.65553,-0.15712099 +10X_cells.ATCTACTTCTAAGCCA-L8TX_181206_01_F12,10.645809,0.38595358 +10X_cells.GGACGTCGTAGGCTGA-L8TX_181206_01_F12,10.715028,0.8402134 +10X_cells.TCGTAGAGTATGCTTG-L8TX_181206_01_E12,10.012784,-0.19544616 +10X_cells.CAACCTCGTCGACTAT-L8TX_180221_01_D10,7.8821774,0.36110246 +10X_cells.AAAGCAATCCTCGCAT-L8TX_180221_01_F10,9.699546,0.12134884 +10X_cells.AAGACCTTCACAGGCC-L8TX_180221_01_F10,8.625596,-0.22153975 +10X_cells.CGGTTAAAGGCATGGT-L8TX_180221_01_F10,7.1516027,-0.055142816 +10X_cells.GCGAGAATCCGGCACA-L8TX_180221_01_F10,10.795418,0.22071056 +10X_cells.TGTGTTTGTGCACTTA-L8TX_180221_01_F10,11.414265,0.4760302 +10X_cells.TGCCCATCAGCCAGAA-L8TX_180221_01_A11,8.426058,-0.26420072 +10X_cells.CGAATGTTCACTTACT-L8TX_190312_01_B02,9.957917,0.23815414 +10X_cells.CTAGTGATCCTTGCCA-L8TX_190312_01_G02,11.680313,0.81825393 +10X_cells.AAGACCTCACGGCTAC-L8TX_180907_01_B11,11.053898,1.0934213 +10X_cells.TACAGTGGTTTGTGTG-L8TX_180926_01_C12,9.549053,0.68817544 +10X_cells.TGAGAGGGTTGTCTTT-L8TX_180926_01_C12,10.11251,0.44603488 +10X_cells.CCGTTCACATCGTCGG-L8TX_180926_01_E12,8.871294,-0.92968875 +10X_cells.GGGAGATCACCAGCAC-L8TX_181012_01_C05,7.9514484,-0.84969074 +10X_cells.TACTCGCAGTGTGAAT-L8TX_181012_01_C05,10.563615,0.46781477 +10X_cells.TCAGGTATCTCTGAGA-L8TX_181012_01_C05,10.373144,-0.6234487 +10X_cells.ACATCAGTCTACTCAT-L8TX_180221_01_C11,11.478881,-0.043928254 +10X_cells.CACCAGGCAATTGCTG-L8TX_180221_01_D11,10.134029,0.93783045 +10X_cells.TGGCTGGTCATGTCCC-L8TX_180221_01_D11,11.588159,0.9517945 +10X_cells.AAACGGGAGACCGGAT-L8TX_180221_01_G11,10.380847,0.59683037 +10X_cells.TCACAAGTCTAACGGT-L8TX_190312_01_F02,8.057823,-0.75029695 +Smartseq_cells.SM-GE67Q_S239_E1-50,8.642335,-0.97815466 +10X_cells.CTTAGGAGTCTAGCGC-L8TX_180907_01_H11,7.1165953,1.5314989 +10X_cells.AGCTCCTAGCGCCTTG-L8TX_180907_01_A12,10.01856,-2.556357 +10X_cells.GTCGGGTTCGAGCCCA-L8TX_180907_01_A12,7.502683,0.47361463 +10X_cells.CACCAGGGTGTGACCC-L8TX_180907_01_F11,8.358621,4.629094 +Smartseq_cells.SM-GE5US_S301_E1-50,7.8076286,-0.5493647 +10X_cells.AGGCCACCATGAAGTA-L8TX_180926_01_D01,10.096961,0.31470925 +10X_cells.CTCGAAAAGAATGTGT-L8TX_180926_01_F01,9.992332,-0.076265156 +10X_cells.TAAACCGGTGTGACGA-L8TX_181011_01_C03,9.928074,-0.07786206 +10X_cells.CCTCAGTGTAAGCACG-L8TX_180712_01_E05,9.747524,-0.10007142 +10X_cells.CCTCTGAGTTCTCATT-L8TX_180712_01_H05,11.012864,0.44293198 +10X_cells.CCACTACAGGTCGGAT-L8TX_180504_01_E01,9.450383,0.35359564 +10X_cells.TGTATTCGTCAGCTAT-L8TX_180221_01_A12,11.23027,1.1385787 +10X_cells.TTTGGTTCAATGGTCT-L8TX_180221_01_A12,11.627361,2.4696298 +10X_cells.GCATACAAGGGTTTCT-L8TX_180221_01_H11,11.525201,2.644814 +10X_cells.ACGGGCTTCCAACCAA-L8TX_200611_02_A05,10.706495,1.0330616 +10X_cells.CATCAGAGTGATAAGT-L8TX_180115_01_G11,9.058858,0.071932144 +10X_cells.CTCGTACAGCTACCGC-L8TX_180115_01_H10,10.673243,0.48946896 +10X_cells.GGTGCGTGTTATCCGA-L8TX_180115_01_C11,10.363447,0.44785288 +10X_cells.AACTTTCAGGGCTCTC-L8TX_180115_01_A11,10.188713,-0.68538034 +10X_cells.TGTGGTAGTCTCATCC-L8TX_180115_01_G11,9.152873,-0.9735303 +10X_cells.GGCGACTAGGCCCGTT-L8TX_180115_01_H11,8.877797,0.10301924 +10X_cells.AGCATACCATGGATGG-L8TX_180115_01_E10,8.684413,1.2584587 +10X_cells.TTGCGTCTCAGAGCTT-L8TX_180115_01_F11,8.869976,-0.5598924 +10X_cells.TGGGCGTTCATGCAAC-L8TX_180115_01_D11,11.295819,0.5634726 +10X_cells.TTTACTGTCGCTTAGA-L8TX_180115_01_G11,8.922965,0.12469615 +10X_cells.AAGGAGCCACCAACCG-L8TX_180115_01_E10,10.527237,0.6682878 +10X_cells.ACTGATGGTTCAGACT-L8TX_180115_01_E10,10.004193,0.22566035 +10X_cells.AACTCAGAGAATGTGT-L8TX_180115_01_C11,8.503335,-0.39225557 +10X_cells.AGATCTGCAAAGAATC-L8TX_180115_01_B11,11.0686865,0.2843707 +10X_cells.TTCGAAGTCCACGTTC-L8TX_180115_01_H11,9.9874,0.046722755 +10X_cells.CTCGTCACACCAGATT-L8TX_180115_01_F11,9.301916,0.20095849 +10X_cells.ATCTACTTCCTCGCAT-L8TX_180115_01_F10,10.190223,0.43875337 +10X_cells.CGCTATCTCTGATACG-L8TX_180115_01_G11,9.385634,0.75119764 +10X_cells.ATGGGAGCAGATGGGT-L8TX_180115_01_F09,10.189402,0.6459625 +10X_cells.AGAATAGGTTGCGCAC-L8TX_180115_01_G10,10.513775,-0.32408777 +10X_cells.AGATTGCCATCCGCGA-L8TX_180115_01_F11,8.836662,-0.76840407 +10X_cells.ATGGGAGTCCACGCAG-L8TX_180115_01_A10,11.521323,1.1996945 +10X_cells.ATGTGTGGTGCGAAAC-L8TX_180115_01_H10,7.73036,1.764106 +10X_cells.TGGACGCTCAGCTCGG-L8TX_180115_01_D11,9.610329,-0.8686635 +10X_cells.AGGGATGGTTGTCTTT-L8TX_180115_01_F09,12.226784,0.24257885 +10X_cells.ACGTCAAAGCAGATCG-L8TX_180115_01_C11,10.872478,0.105225384 +10X_cells.AAGCCGCGTACAGACG-L8TX_180115_01_D11,8.885174,-0.7194622 +10X_cells.AATCGGTAGGCTCTTA-L8TX_180115_01_B11,8.114743,1.1785278 +10X_cells.CTACGTCAGATCTGAA-L8TX_180115_01_C11,12.434753,0.14374427 +10X_cells.ACGGGTCGTATATCCG-L8TX_180115_01_D09,10.252967,0.5772955 +10X_cells.CGATGGCGTGCACTTA-L8TX_180115_01_E11,9.199887,-0.6540765 +10X_cells.GTAACTGAGTACATGA-L8TX_180115_01_F09,10.759965,0.41132763 +10X_cells.CGTTCTGCATGCATGT-L8TX_180115_01_G10,9.812834,-0.3414542 +10X_cells.CATCAGAGTGTGGTTT-L8TX_180115_01_B09,9.733182,0.7701465 +10X_cells.TACTCGCGTTGTTTGG-L8TX_180115_01_F11,10.328418,-0.35041368 +10X_cells.TAGAGCTAGCATGGCA-L8TX_180115_01_C09,10.9076185,0.5911646 +10X_cells.CATTATCCAGTAAGCG-L8TX_180115_01_G10,10.705311,0.14713524 +10X_cells.GCGCAACGTGCACCAC-L8TX_180115_01_D11,8.102134,0.32834274 +10X_cells.CATTATCTCTAACTGG-L8TX_180115_01_B11,8.068438,0.8383357 +10X_cells.CTCGAAAAGGTGCTTT-L8TX_180115_01_E11,11.717227,0.015576691 +10X_cells.ACATGGTCATCGGAAG-L8TX_180115_01_D11,8.528253,0.29168132 +10X_cells.ACCAGTAGTCCGCTGA-L8TX_180115_01_D11,8.150403,-0.17907941 +10X_cells.GGTGTTAGTCTAGCGC-L8TX_180115_01_D11,11.137972,0.400082 +10X_cells.TCAATCTTCATTGCGA-L8TX_180115_01_C09,10.139567,0.79722154 +10X_cells.GACGTGCAGGGCTTCC-L8TX_180115_01_A11,8.443755,-0.574589 +10X_cells.GAATAAGCAGTCCTTC-L8TX_180115_01_G10,10.843657,0.74401575 +10X_cells.GAACATCCACCTGGTG-L8TX_180115_01_A09,8.836177,-0.052703716 +10X_cells.GCGAGAAAGACTTTCG-L8TX_180115_01_D11,11.239141,0.4342165 +10X_cells.TGTTCCGGTCAAACTC-L8TX_180115_01_F10,8.788419,-0.7652036 +10X_cells.CCATGTCTCATACGGT-L8TX_180115_01_H10,10.618087,0.33187914 +10X_cells.TGGTTAGCATGCATGT-L8TX_171120_01_G07,9.411223,2.88E-05 +10X_cells.CTCGTCAAGGACACCA-L8TX_171120_01_H07,8.74404,0.008725954 +10X_cells.ACCGTAATCAACACCA-L8TX_180115_01_G08,8.456426,0.6340833 +10X_cells.TCTTCGGTCTCCAGGG-L8TX_180115_01_G08,9.305797,-0.13448146 +10X_cells.GTGCATAAGCATCATC-L8TX_171120_01_D07,9.094975,0.8889604 +10X_cells.TGGTTCCGTCCAGTGC-L8TX_171120_01_D07,8.528837,0.64183307 +10X_cells.GTGCGGTGTTCTGGTA-L8TX_180115_01_H08,9.122312,-0.018987427 +10X_cells.CAACCTCCAGGGTACA-L8TX_171120_01_D07,9.256339,-0.8830968 +10X_cells.CACCAGGTCTGTACGA-L8TX_171120_01_D07,9.344671,-1.1910251 +10X_cells.TCTGAGAAGCCAGTAG-L8TX_171120_01_D07,10.274324,0.43297127 +Smartseq_cells.LS-15000_S51_E1-50,8.132928,-0.6380179 +Smartseq_cells.LS-15001_S33_E1-50,8.6407795,-0.062030327 +Smartseq_cells.LS-15065_S45_E1-50,8.039592,-0.24846676 +Smartseq_cells.LS-15066_S61_E1-50,8.823089,-0.39625672 +Smartseq_cells.LS-15398_S89_E1-50,8.241831,0.10459004 +Smartseq_cells.SM-D9EP5_S76_E1-50,9.682805,-2.358332 +Smartseq_cells.SM-DD45L_S083_E1-50,8.136576,0.39437643 +Smartseq_cells.SM-DD45L_S091_E1-50,8.738368,-0.926192 +Smartseq_cells.SM-GE631_S133_E1-50,9.188532,-1.822134 +Smartseq_cells.SM-GE64U_S078_E1-50,9.346007,-2.4431753 +10X_cells.TACCTTACATCTGGTA-L8TX_180221_01_F09,10.954517,-2.6330075 +10X_cells.TCTGAGATCATGCAAC-L8TX_180712_01_G05,9.988903,-0.65333384 +10X_cells.GGAAAGCTCACGATGT-L8TX_180221_01_E09,11.766862,-3.9525259 +10X_cells.CTCGTCACACATGTGT-L8TX_180712_01_G05,10.724203,-2.6985316 +10X_cells.CTACGTCCAGCTGCAC-L8TX_180221_01_H12,12.8498535,-3.190654 +10X_cells.CTGATAGCACGAGGTA-L8TX_180221_01_E09,11.154803,-2.7692401 +10X_cells.GCGAGAAAGTCAAGGC-L8TX_180221_01_C09,11.019028,0.046109926 +10X_cells.ATTTCTGAGGGTTTCT-L8TX_180221_01_D09,12.483438,-3.1496816 +10X_cells.CTGTTTATCCTTTCTC-L8TX_180221_01_D09,11.112375,-3.1686428 +10X_cells.TACTCGCTCTTACCGC-L8TX_180221_01_D09,10.665127,0.4329821 +10X_cells.TCAGGTAAGGACTGGT-L8TX_180712_01_G05,10.605242,-3.005474 +10X_cells.TCAACGATCGGTCCGA-L8TX_180712_01_B06,11.826695,-3.5366094 +Smartseq_cells.LS-15320_S67_E2-50,10.964789,-2.7951944 +Smartseq_cells.LS-15361_S22_E1-50,10.316627,-2.2573802 +Smartseq_cells.SM-GE631_S034_E1-50,11.1939745,-2.7684453 +Smartseq_cells.SM-GE64C_S004_E1-50,10.413803,-2.0975578 +10X_cells.TTCCCAGTCGACCAGC-L8TX_180907_01_F10,11.588271,-2.721022 +10X_cells.CCTATTATCTTACCGC-L8TX_181011_01_H02,10.746937,-2.6030145 +10X_cells.TGCTGCTTCACGATGT-L8TX_181011_01_C04,13.216912,-0.25005895 +10X_cells.CGTCACTGTGAGGCTA-L8TX_181012_01_G04,11.954008,-0.64797944 +10X_cells.ACGGGCTTCGGCGCAT-L8TX_181012_01_H04,11.447396,-1.1953353 +10X_cells.TACGGTAGTGCTCTTC-L8TX_181012_01_H04,11.892726,-0.64563614 +10X_cells.GTGTTAGCACAGTCGC-L8TX_181012_01_E05,11.7062,-1.4701338 +10X_cells.GTCCTCACAAGACGTG-L8TX_180406_01_C08,10.793283,1.5001749 +10X_cells.AACGTTGAGTTCGCAT-L8TX_171026_01_A05,10.651996,-3.0245292 +10X_cells.AAAGTAGTCGCCAGCA-L8TX_171026_01_G03,10.110957,-0.35753188 +10X_cells.CAACCTCAGGGTCGAT-L8TX_171026_01_B04,10.762976,-2.7306485 +10X_cells.GGAGCAATCTGCGGCA-L8TX_171026_01_B04,11.692575,-0.35807422 +10X_cells.TTCTCCTGTTCACGGC-L8TX_171026_01_B04,12.166739,-4.4701324 +10X_cells.AGTTGGTCACCATGTA-L8TX_171026_01_F04,9.663381,-2.0859857 +10X_cells.ATCCACCTCAGAAATG-L8TX_171026_01_G04,10.141655,-2.072584 +10X_cells.AACCATGAGTACTTGC-L8TX_171026_01_H04,9.942831,-0.7124814 +10X_cells.GGCGTGTAGAGTACCG-L8TX_171026_01_H04,12.421882,-2.3915472 +10X_cells.ACGATGTAGAAGGGTA-L8TX_171026_01_H03,11.530906,-2.713127 +10X_cells.GAAGCAGAGAGAACAG-L8TX_171026_01_H03,10.702155,-3.0563083 +10X_cells.GCAGTTAGTCGGCTCA-L8TX_171026_01_H03,14.122186,-2.0307662 +10X_cells.CAAGGCCAGAATGTTG-L8TX_171026_01_A04,10.002382,-1.6181741 +10X_cells.CCTCTGACATTCTCAT-L8TX_171026_01_A04,11.741686,-4.1302757 +10X_cells.CACCAGGCAAAGTGCG-L8TX_171026_01_D05,11.019974,-1.9227904 +10X_cells.CAGTAACCACTGAAGG-L8TX_171026_01_E05,10.548366,-1.9397054 +10X_cells.CTCACACTCGCCCTTA-L8TX_171026_01_E05,12.312632,-2.8649027 +10X_cells.CTTACCGCACAAGCCC-L8TX_171026_01_E05,12.20541,-2.9548979 +10X_cells.GACGGCTTCAACCAAC-L8TX_171026_01_E05,12.164277,-3.544149 +10X_cells.CACCTTGCAAAGGAAG-L8TX_171026_01_G05,12.302548,-2.9192343 +Smartseq_cells.SM-GE935_S208_E1-50,11.596631,-3.1357667 +Smartseq_cells.SM-GE8ZJ_S384_E1-50,11.793678,-3.5278578 +Smartseq_cells.SM-GE67N_S365_E1-50,10.514924,-2.3416421 +10X_cells.TCCACACTCAGTACGT-L8TX_180221_01_E10,10.806965,-0.6966725 +10X_cells.TCTTTCCTCAAACCAC-L8TX_180221_01_D10,8.834963,-1.3098651 +10X_cells.GTTTCTAGTGTCAATC-L8TX_180221_01_E10,11.014692,0.5061105 +10X_cells.TGGCGCAGTCTAACGT-L8TX_180221_01_E10,10.314356,1.3813162 +10X_cells.GTAACTGTCAAACGGG-L8TX_180221_01_F10,10.846188,-2.1690817 +10X_cells.TGTTCCGAGAGAACAG-L8TX_180221_01_F10,11.416363,-3.255314 +10X_cells.AGCTCTCTCGATCCCT-L8TX_180221_01_H10,10.463109,-2.4546518 +10X_cells.GCAGCCAAGGGATGGG-L8TX_180221_01_A11,12.063223,-3.9459264 +10X_cells.GCATGCGCACAGCCCA-L8TX_190312_01_B02,11.44311,-3.742338 +10X_cells.TTCGGTCCAGTGGAGT-L8TX_190312_01_C02,11.443275,-3.6726034 +10X_cells.AGAGCTTAGTCCCACG-L8TX_190312_01_G02,10.806703,-3.1163547 +10X_cells.AAGGAGCGTTGTCGCG-L8TX_180907_01_B11,11.578378,-1.3619864 +10X_cells.AGATCTGCATATACGC-L8TX_180907_01_B11,11.621654,-2.4505606 +10X_cells.ATGTGTGTCAGTACGT-L8TX_180907_01_B11,11.5512905,-0.30212316 +10X_cells.GGACATTGTGTAAGTA-L8TX_180926_01_C12,12.774463,-3.5627646 +10X_cells.GACTAACTCCCAAGAT-L8TX_180926_01_E12,11.148009,-3.5036862 +Smartseq_cells.SM-GE8Y3_S216_E1-50,10.933848,-2.067474 +10X_cells.CCTTCGAGTCTAGTCA-L8TX_180221_01_C11,12.436537,-2.1941876 +10X_cells.AAGGTTCGTCAGAATA-L8TX_180907_01_G11,11.163387,-2.4336147 +10X_cells.CACACAAGTGCTTCTC-L8TX_180907_01_H11,11.521147,-1.3130745 +10X_cells.CGGGTCAGTTCTGTTT-L8TX_180907_01_A12,13.596733,-2.6906528 +10X_cells.CCATGTCTCAACACCA-L8TX_180907_01_E11,12.178994,-1.3961432 +10X_cells.CGAGCCACATATACGC-L8TX_180907_01_F11,12.679474,-3.7498899 +Smartseq_cells.SM-GE5US_S318_E1-50,9.966326,-2.2718782 +10X_cells.TCGCGTTGTCAGATAA-L8TX_180926_01_B01,13.68453,-2.7030349 +10X_cells.GCGCGATCATTGTGCA-L8TX_180926_01_E01,10.832326,1.6028532 +10X_cells.ATGGGAGCACGCCAGT-L8TX_180926_01_F01,11.783269,-0.8189382 +10X_cells.GAATAAGCAGATGGCA-L8TX_180926_01_F01,11.5301695,-0.2780556 +10X_cells.ATTACTCGTAGCAAAT-L8TX_181011_01_B03,11.813037,-3.3044024 +10X_cells.CCGGGATGTTACGGAG-L8TX_181011_01_B03,11.286082,-1.3067273 +10X_cells.ACGCCAGCAAGTAATG-L8TX_181011_01_C03,12.110542,-1.3566551 +10X_cells.CACCACTAGCGTAATA-L8TX_181011_01_C03,10.952752,-0.22994596 +10X_cells.GTTACAGCAAGTCTGT-L8TX_181011_01_C03,11.458296,-0.36959854 +10X_cells.TCTGAGAAGGCAGTCA-L8TX_181011_01_C03,11.1049185,-0.48685795 +10X_cells.TTTACTGAGCTTCGCG-L8TX_180712_01_F05,11.039944,0.6747205 +10X_cells.GTTAAGCTCGTGGTCG-L8TX_180712_01_E05,12.180711,-1.86006 +10X_cells.GATCGATGTCTAGCGC-L8TX_180712_01_F05,11.817648,-0.7059275 +10X_cells.TATCAGGTCAATACCG-L8TX_180712_01_F05,10.579256,-1.3797508 +10X_cells.CTCTACGCATACTCTT-L8TX_180712_01_H05,11.264941,-0.33929408 +10X_cells.TGAAAGAGTCAGAAGC-L8TX_180712_01_H05,11.001101,-0.3536461 +10X_cells.TTCCCAGTCGCACTCT-L8TX_180712_01_H05,11.508648,-3.7291958 +10X_cells.TTTATGCTCGTCCAGG-L8TX_180712_01_H05,12.036747,-3.0617867 +10X_cells.ACGGCCAGTTACCAGT-L8TX_180712_01_A06,10.989657,0.50363445 +10X_cells.CCGGTAGCAAGGCTCC-L8TX_180712_01_A06,9.823436,3.3781617 +10X_cells.GTTCTCGGTTGCTCCT-L8TX_180504_01_E01,10.818549,-0.13700579 +10X_cells.CACCAGGGTCGAATCT-L8TX_180221_01_A12,11.6348095,0.73842776 +10X_cells.CAGTAACTCGCCTGAG-L8TX_180221_01_A12,12.717866,-1.5256733 +10X_cells.TTGCCGTAGTGAAGAG-L8TX_180221_01_B12,11.965624,-0.43185094 +10X_cells.CAAGATCCACCGCTAG-L8TX_180221_01_C12,11.528859,2.2565722 +10X_cells.CAGATCAAGACTTGAA-L8TX_180221_01_C12,12.4553385,-1.6366388 +10X_cells.GAACCTATCCGCGTTT-L8TX_180221_01_C12,11.917795,-0.36427996 +10X_cells.ATAGACCAGGAATGGA-L8TX_180115_01_E10,13.022679,-3.4452693 +10X_cells.ACGAGGAGTTCAGCGC-L8TX_180115_01_F10,12.706592,-1.8720042 +10X_cells.GTCTTCGCATGCCTTC-L8TX_180115_01_A11,11.6073065,-1.4269224 +10X_cells.GGTATTGCACATCCGG-L8TX_180115_01_A09,11.090259,-2.400646 +10X_cells.ATAGACCGTCCGACGT-L8TX_180115_01_C09,13.175787,-2.803053 +10X_cells.CAGATCACATATACGC-L8TX_180115_01_C09,11.479115,-1.4639746 +10X_cells.GCTGCTTCAGTCAGAG-L8TX_180115_01_C09,11.33741,-2.2429976 +10X_cells.GTCAAGTTCAATCTCT-L8TX_180115_01_C09,10.995908,-3.2799804 +10X_cells.GTCTCGTGTCGTCTTC-L8TX_180115_01_C09,12.480973,-0.30083033 +10X_cells.GTCTCGTTCTCGAGTA-L8TX_180115_01_C09,12.018641,-1.1511843 +10X_cells.ATTTCTGGTTACGCGC-L8TX_180115_01_D09,12.074767,-1.9126885 +10X_cells.GACTAACTCATCGCTC-L8TX_180115_01_D09,12.0088625,-3.102695 +10X_cells.TGACAACCAATAACGA-L8TX_180115_01_D09,11.698442,-2.0795417 +10X_cells.TCAACGACACACGCTG-L8TX_180115_01_D10,13.527147,-1.1827466 +10X_cells.ACCGTAAAGGGCTTGA-L8TX_180115_01_A11,13.782813,-1.3787394 +10X_cells.CTCTACGAGGAGCGTT-L8TX_180115_01_A11,13.393033,-2.8181915 +10X_cells.TATGCCCTCAATAAGG-L8TX_180115_01_A11,11.258354,-3.6764073 +10X_cells.TTCCCAGCAGTCGATT-L8TX_180115_01_A11,10.992443,-0.09183524 +10X_cells.AACTCTTGTTGACGTT-L8TX_180115_01_H10,11.960867,-0.60107815 +10X_cells.GGCAATTTCGCAAACT-L8TX_180115_01_B10,12.290018,-0.3889575 +10X_cells.ATCTGCCCAGGGTACA-L8TX_180115_01_B11,12.9499,-2.0384164 +10X_cells.CAAGATCCATGTTGAC-L8TX_180115_01_B11,10.716788,-1.2277792 +10X_cells.CGGTTAAAGTGCCAGA-L8TX_180115_01_B11,13.150104,-1.2639552 +10X_cells.CTAGTGAGTTATCGGT-L8TX_180115_01_C10,12.843426,-1.2396753 +10X_cells.CGAGCACAGGCTCATT-L8TX_180115_01_C11,12.345865,-3.8355176 +10X_cells.TGGTTCCCACAAGACG-L8TX_180115_01_C11,10.637235,-1.5004965 +10X_cells.GGGTCTGAGAGTCTGG-L8TX_180115_01_D11,12.485757,-3.2789567 +10X_cells.TGAGCATTCACAACGT-L8TX_180115_01_D11,10.438154,-2.420112 +10X_cells.AGGTCATCACCGGAAA-L8TX_180115_01_F10,12.322997,-0.98755157 +10X_cells.ATAAGAGGTTGTGGCC-L8TX_180115_01_F10,11.791728,-1.3387064 +10X_cells.CATGGCGGTTCCCTTG-L8TX_180115_01_F10,11.944583,-1.9978089 +10X_cells.ACGGGTCCACTGTGTA-L8TX_180115_01_G10,12.361279,-1.3295861 +10X_cells.CACATAGAGTATCTCG-L8TX_180115_01_G10,12.622904,-1.7353022 +10X_cells.AAAGATGAGCCCTAAT-L8TX_180115_01_E11,12.28426,-3.165425 +10X_cells.CACCACTCAATAGAGT-L8TX_180115_01_F11,10.338471,-1.9554079 +10X_cells.CCAATCCTCGCCGTGA-L8TX_180115_01_F11,12.068774,-3.1241217 +10X_cells.CGATTGACAGGAACGT-L8TX_180115_01_F11,11.44619,-0.6415971 +10X_cells.GAACCTAAGACATAAC-L8TX_180115_01_H11,9.731628,-1.4066991 +10X_cells.CTGGTCTAGAAGCCCA-L8TX_180115_01_H09,12.434975,-0.7849177 +10X_cells.TGAGAGGAGCGATATA-L8TX_180115_01_H09,13.017368,-1.5774001 +10X_cells.TGGTTAGGTGCACTTA-L8TX_180115_01_F09,12.873063,-1.8202283 +10X_cells.TAGGCATAGCTATGCT-L8TX_171120_01_G07,11.552393,-4.264613 +10X_cells.CACAGGCTCTGAAAGA-L8TX_171120_01_H07,10.821686,-2.4668782 +10X_cells.TCTTCGGTCCCACTTG-L8TX_171120_01_H07,6.9149756,-1.5232104 +10X_cells.GAGTCCGGTTACTGAC-L8TX_180115_01_D08,12.186794,-3.3017225 +10X_cells.TGAGGGAGTGATAAGT-L8TX_171120_01_E07,11.504964,-1.4540757 +10X_cells.CTTAACTCATGGTAGG-L8TX_171120_01_F07,13.154627,-3.4531608 +10X_cells.CAGCTGGGTATAATGG-L8TX_180115_01_E08,10.708344,-2.8462605 +10X_cells.CCTACCAGTAAACGCG-L8TX_180115_01_E08,12.434612,-3.7264965 +10X_cells.CTCCTAGGTGTGGTTT-L8TX_180115_01_E08,11.309097,-3.955262 +Smartseq_cells.LS-15353_S36_E1-50,11.705618,-3.054461 +Smartseq_cells.SM-DD45I_S022_E1-50,12.165398,-3.649296 +Smartseq_cells.SM-DD45L_S181_E1-50,12.389863,-3.7174735 +Smartseq_cells.SM-GE631_S055_E1-50,11.971284,-3.4986622 +Smartseq_cells.SM-GE631_S085_E1-50,12.581366,-3.8032289 +Smartseq_cells.SM-GE631_S160_E1-50,11.44028,-3.0721483 +Smartseq_cells.SM-GE64U_S077_E1-50,11.086186,-2.348998 +Smartseq_cells.SM-GE67T_S220_E1-50,12.223545,-3.6835308 +Smartseq_cells.SM-GE8ZW_S146_E1-50,11.817573,-3.0247164 +10X_cells.ATCCACCCAGTACACT-L8TX_180221_01_A10,12.121109,-1.1862931 +10X_cells.GTTTCTACAGCTGGCT-L8TX_180712_01_B06,10.05808,-0.77052534 +10X_cells.TGGTTAGTCGGCGCAT-L8TX_180712_01_C06,10.117626,-0.8359196 +10X_cells.ACACCAACATGGATGG-L8TX_180221_01_C09,11.232503,0.7958584 +10X_cells.CGTAGGCGTACCGTTA-L8TX_180221_01_D09,11.049123,-1.1872101 +10X_cells.TGCTACCGTAGCACGA-L8TX_180712_01_B06,9.9418745,-0.053104315 +10X_cells.ACGGGTCAGCGCTCCA-L8TX_181011_01_G02,11.900327,-0.22921686 +10X_cells.CGGCTAGGTAGAGGAA-L8TX_180829_01_D10,11.381126,0.19652615 +10X_cells.GCACATAAGCAGGCTA-L8TX_180829_01_D10,10.588756,0.6507802 +10X_cells.TGCCAAATCTTCAACT-L8TX_180829_01_D10,10.933751,1.3687555 +10X_cells.CGTAGGCGTGGTCCGT-L8TX_180907_01_G10,11.059027,0.38947332 +10X_cells.GGCAATTAGATGCCAG-L8TX_180907_01_G10,11.529253,-0.72758305 +10X_cells.GGTGCGTGTTAGTGGG-L8TX_181011_01_G02,11.910814,-0.89604056 +10X_cells.GGACAGATCGGATGGA-L8TX_181011_01_C04,11.651631,1.4836682 +10X_cells.TTGGCAAAGTAGTGCG-L8TX_181011_01_C04,12.475404,-0.1543063 +10X_cells.GATGAAAAGCGTTCCG-L8TX_181012_01_G04,11.27515,0.06660178 +10X_cells.GTTCGGGAGTGTCCAT-L8TX_181012_01_H04,9.952263,-0.06254362 +10X_cells.TATGCCCTCAATCTCT-L8TX_181012_01_E05,11.180258,1.4150152 +Smartseq_cells.SM-GE5VH_S087_E1-50,9.621174,-0.9084685 +10X_cells.GACGTTACAATACGCT-L8TX_171026_01_B04,9.780146,-0.9095263 +10X_cells.GTTAAGCCACTCGACG-L8TX_171026_01_B04,9.574329,-0.15175109 +10X_cells.TCACGAATCTGCGTAA-L8TX_171026_01_B04,8.98409,0.15898141 +10X_cells.TGCTACCAGTTTAGGA-L8TX_171026_01_G04,8.839456,-0.07128554 +10X_cells.CATTATCAGGACACCA-L8TX_171026_01_B05,8.822344,0.16797628 +10X_cells.CGGTTAATCACAAACC-L8TX_171026_01_H03,10.678734,0.43958837 +10X_cells.CGATCGGGTTCGTCTC-L8TX_171026_01_E05,9.089074,-0.3124302 +10X_cells.TGACTAGGTAGCGCAA-L8TX_171026_01_E05,11.258787,0.62616944 +10X_cells.CTGATCCAGTAGATGT-L8TX_171026_01_F05,11.260841,1.107882 +10X_cells.GATCGATAGGGCACTA-L8TX_181206_01_C12,9.907862,0.23633473 +10X_cells.CACTCCATCTCCAACC-L8TX_181206_01_F12,10.991984,-0.013274794 +10X_cells.AATCGGTGTTAAGTAG-L8TX_180221_01_D10,10.596779,0.6593448 +10X_cells.TGAGAGGCATTTGCTT-L8TX_180221_01_G10,10.131367,-0.37348616 +10X_cells.TACGGGCAGATCTGCT-L8TX_190312_01_B02,11.449835,0.075075336 +10X_cells.CACCTTGGTGTAAGTA-L8TX_181012_01_C05,11.950241,-0.9122049 +10X_cells.TCAACGATCTTAACCT-L8TX_181012_01_C05,10.468787,-0.8581754 +Smartseq_cells.SM-GE8XO_S013_E1-50,9.671867,-0.9841977 +10X_cells.TTCTTAGTCTTGTCAT-L8TX_180221_01_B11,11.00734,-0.9090509 +10X_cells.ACGCCAGTCACTGGGC-L8TX_190312_01_A03,9.149833,-0.34703842 +10X_cells.CGGTTAACAATGGAGC-L8TX_180907_01_H11,12.323322,-0.5774864 +10X_cells.GAGTCCGAGTCTCCTC-L8TX_180907_01_F11,10.605145,0.4400098 +10X_cells.TAGACCACAGTTCCCT-L8TX_180907_01_F11,9.280495,0.3285866 +10X_cells.ACTTACTGTTAAGGGC-L8TX_181011_01_A03,11.90482,1.3311269 +10X_cells.TGGGAAGCACGCATCG-L8TX_181011_01_C03,11.519249,0.3309293 +10X_cells.TATCTCATCTCATTCA-L8TX_181011_01_H03,9.227627,1.873848 +10X_cells.AACCGCGCACCCATTC-L8TX_180712_01_H05,10.335392,2.2835743 +10X_cells.ACCCACTGTTATGCGT-L8TX_180712_01_H05,11.367833,0.4398238 +10X_cells.CACATTTCAGGTCCAC-L8TX_180712_01_H05,11.154797,-0.15060659 +10X_cells.CATGCCTCACAACTGT-L8TX_180712_01_H05,11.322938,-0.35231408 +10X_cells.GGATTACGTGGACGAT-L8TX_180712_01_H05,10.958039,-1.3528466 +10X_cells.CAAGGCCCACATAACC-L8TX_180712_01_A06,10.26059,-1.053947 +10X_cells.CTGTTTACATATGGTC-L8TX_180504_01_E01,11.137919,-0.15571827 +10X_cells.GGCTCGAGTATATGGA-L8TX_180504_01_E01,10.8905115,1.2301973 +10X_cells.GGGTTGCTCTGAGTGT-L8TX_180504_01_E01,10.949577,0.7353364 +10X_cells.TCTCTAAAGTGCCATT-L8TX_180221_01_A12,11.699862,2.8402166 +10X_cells.TATGCCCCACTTGGAT-L8TX_180221_01_C12,11.249506,0.86559623 +10X_cells.CGTCAGGGTTTAGGAA-L8TX_200611_02_A05,10.994703,0.18006407 +10X_cells.GCGCAGTCACAGGAGT-L8TX_200611_02_A05,10.3861475,-0.034323215 +Smartseq_cells.SM-GE91L_S114_E1-50,9.718664,-0.33228356 +10X_cells.GACTACATCCTTTCTC-L8TX_180115_01_D11,9.36745,0.9832208 +10X_cells.CTCTAATAGCGATTCT-L8TX_180115_01_F09,10.8280735,-0.8492721 +10X_cells.ACTTGTTCATTACCTT-L8TX_180115_01_E11,8.963416,0.4479301 +10X_cells.GCATACAGTAGGAGTC-L8TX_180115_01_H11,9.019783,0.064789645 +10X_cells.ACGCCAGGTACGCACC-L8TX_180115_01_B09,12.241475,0.24922182 +10X_cells.AGCTCTCTCTATCCTA-L8TX_180115_01_B09,12.008434,0.4550796 +10X_cells.CAACCTCCAGCTGTAT-L8TX_180115_01_B09,10.804317,-0.32023004 +10X_cells.TGGCTGGCACCAGGTC-L8TX_180115_01_B09,11.828195,1.0007182 +10X_cells.AACTCAGAGAGGTACC-L8TX_180115_01_H10,11.80131,1.0438914 +10X_cells.AATCCAGGTCTAGCCG-L8TX_180115_01_H10,12.056659,0.41131157 +10X_cells.CACACTCAGTTGTAGA-L8TX_180115_01_B10,11.773401,0.66804487 +10X_cells.GTCATTTTCCAGTATG-L8TX_180115_01_B11,11.047364,-0.9058281 +10X_cells.CTCGGAGCATGGTAGG-L8TX_180115_01_C10,12.509613,-0.14469643 +10X_cells.TGGTTAGGTCAGTGGA-L8TX_180115_01_E11,9.821366,-0.17002964 +10X_cells.CGCGTTTGTCAGATAA-L8TX_180115_01_F11,12.127764,1.0666212 +10X_cells.AGAGCTTGTTCGTCTC-L8TX_180115_01_G11,12.255096,-0.50501 +10X_cells.TTCTACAGTCCGTGAC-L8TX_180115_01_G11,8.891227,0.0826836 +10X_cells.CGGCTAGGTGCGCTTG-L8TX_180115_01_H11,11.242573,-0.73789644 +10X_cells.GTGCGGTAGATGCGAC-L8TX_180115_01_H11,9.9866,-0.608542 +10X_cells.CCGGTAGCAATCCAAC-L8TX_180115_01_H09,12.31655,-0.09762226 +10X_cells.TAGTTGGGTTCTCATT-L8TX_180115_01_H09,12.136936,0.049957287 +10X_cells.CAGTAACCACAGGAGT-L8TX_180115_01_E09,9.761239,0.44968277 +10X_cells.CCTACCACACACCGCA-L8TX_180115_01_E09,10.877223,0.44939587 +10X_cells.TCACGAATCAAACGGG-L8TX_180115_01_E09,11.047276,-0.52291507 +10X_cells.TCGCGTTAGGGTGTGT-L8TX_180115_01_E09,11.1013155,0.7931147 +10X_cells.ACCAGTAAGCCGGTAA-L8TX_180115_01_F09,11.31721,-0.38885587 +10X_cells.CATTCGCGTAAAGGAG-L8TX_180115_01_G09,12.270752,0.29727602 +10X_cells.TAGACCAAGCGTAATA-L8TX_180115_01_G08,10.760112,-2.614426 +10X_cells.GGGAATGGTACATGTC-L8TX_171120_01_D07,11.100491,0.37478954 +10X_cells.GACACGCCATCCGTGG-L8TX_171120_01_C07,11.3260975,0.031371433 +10X_cells.TAGTGGTCAAGGACTG-L8TX_180115_01_F08,10.270427,-1.1995872 +10X_cells.GCGCAACAGTAACCCT-L8TX_180115_01_F08,9.353728,0.3359891 +10X_cells.GTGCGGTCACAGGTTT-L8TX_180115_01_F08,9.045254,-0.32323724 +10X_cells.GAACATCCAGTGGAGT-L8TX_180115_01_C08,12.199629,0.28099492 +10X_cells.ACTTTCAGTGGGTATG-L8TX_180115_01_E08,10.000998,-0.8398574 +10X_cells.CGATCGGGTGAAGGCT-L8TX_180115_01_E08,8.454449,0.31394094 +Smartseq_cells.LS-14696_S10_E1-50,9.517622,-0.29977855 +Smartseq_cells.LS-15000_S55_E1-50,9.567558,-0.6655804 +Smartseq_cells.LS-15068_S36_E1-50,9.063095,-0.08658883 +Smartseq_cells.SM-D9CXQ_S02_E1-50,9.579505,-0.5019917 +Smartseq_cells.SM-GE631_S138_E1-50,10.709074,-1.7060176 +Smartseq_cells.SM-GE631_S149_E1-50,9.141331,-0.46643835 +Smartseq_cells.SM-GE631_S151_E1-50,9.456022,-0.9184601 +Smartseq_cells.SM-GE631_S168_E1-50,10.286325,-1.8177556 +Smartseq_cells.SM-GE631_S186_E1-50,9.198852,-0.30900803 +10X_cells.ATGAGGGCAGGATCGA-L8TX_180221_01_C10,14.06063,12.726384 +10X_cells.CGGACACCATTGGTAC-L8TX_180221_01_H09,8.545176,2.1489005 +10X_cells.GACGCGTCATAACCTG-L8TX_180221_01_G09,9.519319,5.0270004 +10X_cells.CAGCTAAAGCCAGTAG-L8TX_180221_01_A10,9.2716255,3.854324 +10X_cells.GAAGCAGTCCTCAACC-L8TX_180406_01_C06,10.462342,6.839834 +10X_cells.TTTCCTCTCATCGCTC-L8TX_180221_01_C10,8.963533,3.947462 +10X_cells.CACTCCACACATGACT-L8TX_180221_01_H09,10.157826,5.710853 +10X_cells.TTCGAAGAGCTTATCG-L8TX_180221_01_G09,10.830613,5.02627 +10X_cells.AAGACCTGTTACCGAT-L8TX_180406_01_C06,10.629758,3.05874 +10X_cells.TTAGGCACACGCTTTC-L8TX_180406_01_C06,11.002328,1.4961481 +10X_cells.GAACGGATCTACTCAT-L8TX_180221_01_B10,8.895299,1.5703434 +10X_cells.GAAACTCCACCGCTAG-L8TX_180406_01_F02,9.4456835,2.6748023 +10X_cells.CTCTACGAGTAATCCC-L8TX_180221_01_F09,10.349585,1.6013829 +10X_cells.CTGTTTATCCGCGTTT-L8TX_180221_01_F09,9.366887,6.1546764 +10X_cells.GCCAAATAGGGTTCCC-L8TX_180221_01_F09,8.578008,2.4875412 +10X_cells.CGATGTAAGAATAGGG-L8TX_180221_01_G09,8.89623,2.3654823 +10X_cells.TCAGATGTCCAATGGT-L8TX_180221_01_G09,9.444643,3.5686958 +10X_cells.TGACTAGCATCCTAGA-L8TX_180221_01_G09,11.238749,1.5764943 +10X_cells.TTGAACGAGGTGCTTT-L8TX_180221_01_G09,8.951651,1.2569044 +10X_cells.CGGGTCAGTTTAAGCC-L8TX_180221_01_H09,10.477469,4.885711 +10X_cells.TAGTTGGTCTATCCTA-L8TX_180221_01_H09,9.973201,5.570507 +10X_cells.TCGCGAGTCCTACAGA-L8TX_180221_01_H09,9.817261,0.75418544 +10X_cells.ACGCAGCTCCTTTACA-L8TX_180221_01_A10,8.719086,2.2576027 +10X_cells.ATTGGACGTTGTGGCC-L8TX_180221_01_A10,10.925104,5.559693 +10X_cells.CACAAACTCCACGACG-L8TX_180221_01_A10,9.227041,0.5860382 +10X_cells.GTTACAGTCTTGGGTA-L8TX_180221_01_A10,8.298395,3.1473312 +10X_cells.ACTGAACGTGCACGAA-L8TX_180221_01_B10,8.598673,2.3647814 +10X_cells.CAACCTCGTTCCACAA-L8TX_180221_01_B10,10.851197,4.40937 +10X_cells.GAACGGAAGTATCTCG-L8TX_180221_01_C10,10.353433,3.8018975 +10X_cells.GCTGCTTAGGATGTAT-L8TX_180221_01_C10,9.185607,1.2432754 +10X_cells.GTGCAGCCAATTGCTG-L8TX_180221_01_C10,8.689371,2.0758102 +10X_cells.CGTGTCTCAAGCGTAG-L8TX_180406_01_F02,10.1635065,5.5485516 +10X_cells.GAAACTCCAGCCAGAA-L8TX_180406_01_F02,8.927183,2.2471888 +10X_cells.GTTTCTACACAACTGT-L8TX_180406_01_F02,9.340043,2.427243 +10X_cells.TACTTGTGTGCCTTGG-L8TX_180406_01_F02,8.343412,4.518431 +10X_cells.TTAACTCAGATAGTCA-L8TX_180406_01_F02,7.988795,4.0110683 +10X_cells.AAAGATGAGATAGGAG-L8TX_180406_01_C06,10.627782,4.841801 +10X_cells.AGAGCGAGTCTCTTTA-L8TX_180406_01_C06,11.40175,2.9578376 +10X_cells.ATTACTCCAAAGTCAA-L8TX_180406_01_C06,10.940113,7.795953 +Smartseq_cells.SM-GE63W_S026_E1-50,9.537889,3.4825401 +Smartseq_cells.SM-GE63N_S351_E1-50,9.117767,3.2876143 +Smartseq_cells.SM-GE64P_S008_E1-50,7.7717595,2.8945093 +10X_cells.TGCCCTACATCAGTAC-L8TX_180221_01_C09,14.052837,12.149181 +10X_cells.TGTCCCAAGACTCGGA-L8TX_180712_01_G05,9.442181,4.959123 +10X_cells.CTTACCGGTAGCTAAA-L8TX_180712_01_C06,8.335088,4.7029843 +10X_cells.CTAGCCTTCGCACTCT-L8TX_180221_01_C09,7.920812,4.625541 +10X_cells.CGGAGCTAGGCGACAT-L8TX_180712_01_B06,8.155477,3.5125744 +10X_cells.CGTAGGCAGTCTCAAC-L8TX_180712_01_B06,4.8848395,0.7334084 +10X_cells.TTGGAACCATGCCACG-L8TX_180712_01_B06,10.070113,6.550346 +10X_cells.CATTCGCTCCATGAGT-L8TX_180712_01_B06,10.529155,2.2955823 +10X_cells.TACACGAGTTCGTGAT-L8TX_180221_01_E09,9.416901,2.6050565 +10X_cells.GTCACAATCTATCCTA-L8TX_180221_01_C09,10.167351,6.404958 +10X_cells.CACAGGCAGTAGGTGC-L8TX_180221_01_C09,10.056544,5.970989 +10X_cells.GTTACAGTCCTCGCAT-L8TX_180607_01_C05,9.192739,5.193262 +10X_cells.GACAGAGCATACTACG-L8TX_180221_01_H12,9.0543165,4.007967 +10X_cells.ATCTGCCGTCAGAATA-L8TX_180221_01_D09,10.692444,7.039951 +10X_cells.GCATGCGGTGTTAAGA-L8TX_180607_01_C05,10.323971,2.0053213 +10X_cells.ACACCGGCAGATCTGT-L8TX_180221_01_C09,11.14352,1.029462 +10X_cells.AACTTTCCATGTCGAT-L8TX_180221_01_H12,10.50012,7.2669754 +10X_cells.GTCACGGGTTTACTCT-L8TX_180221_01_D09,10.3614435,0.45727426 +10X_cells.TACAGTGTCCACGTGG-L8TX_180712_01_C06,9.469217,3.143876 +10X_cells.TTTATGCTCAGCTTAG-L8TX_180712_01_G05,9.428611,4.2187667 +10X_cells.TTTGCGCCAGCCTTTC-L8TX_180221_01_D09,10.859993,5.956846 +10X_cells.TCAGGTAGTCCATCCT-L8TX_180221_01_D09,10.073683,5.099805 +10X_cells.GAAACTCCAGCTGTTA-L8TX_180221_01_H12,9.684289,2.0315602 +10X_cells.CTGCCTACAGCCTTTC-L8TX_180221_01_C09,14.07837,12.8238735 +10X_cells.GGTGTTAGTGAACCTT-L8TX_180607_01_C05,10.119287,2.6127334 +10X_cells.GGTGTTAAGAGAACAG-L8TX_180712_01_G05,8.781393,2.0810037 +10X_cells.GAACCTAAGGAGCGAG-L8TX_180221_01_E09,7.517568,1.5032036 +10X_cells.ACTGCTCGTTGAGGTG-L8TX_180221_01_D09,10.456356,6.107635 +10X_cells.GTTCATTTCACAGGCC-L8TX_180712_01_B06,10.571688,7.54383 +10X_cells.CTGAAACTCCGCGGTA-L8TX_180221_01_C09,8.21074,2.83632 +10X_cells.AACCGCGAGAGGGCTT-L8TX_180712_01_G05,10.568549,3.5049853 +10X_cells.CTCGAGGCAGCATGAG-L8TX_180221_01_D09,7.468631,4.4311447 +10X_cells.TTTGCGCTCATGTGGT-L8TX_180221_01_D09,14.331338,12.919723 +10X_cells.GTCTCGTAGTACCGGA-L8TX_180607_01_C05,8.122835,3.125312 +10X_cells.TGGCTGGCACATCTTT-L8TX_180712_01_B06,9.619612,5.3511744 +10X_cells.CGCGGTACAGAGCCAA-L8TX_180221_01_E09,6.9122915,3.573241 +10X_cells.TCCACACAGACAAGCC-L8TX_180221_01_E09,8.77757,1.369216 +10X_cells.ATTGGACCAAGCTGGA-L8TX_180221_01_H12,9.7171,2.5210197 +10X_cells.TGACTTTCAAGGGTCA-L8TX_180607_01_C05,8.140796,4.2980595 +10X_cells.AACTTTCAGGAACTGC-L8TX_180712_01_G05,9.425762,4.983075 +10X_cells.AGCATACGTTCCACTC-L8TX_180607_01_C05,9.453349,5.5798936 +10X_cells.ACTGTCCTCACTTATC-L8TX_180712_01_B06,8.732623,3.2439885 +10X_cells.TTCGGTCAGAGGGATA-L8TX_180221_01_E09,9.540635,4.6518464 +10X_cells.GCTGCGAAGTCGTTTG-L8TX_180221_01_H12,9.124259,3.6719785 +10X_cells.ATTATCCAGTCGATAA-L8TX_180712_01_B06,8.869115,1.9238775 +10X_cells.AGAGCGAAGGAATTAC-L8TX_180712_01_B06,10.435929,4.968544 +10X_cells.GTTCTCGGTACAGTGG-L8TX_180712_01_B06,9.808509,4.740247 +10X_cells.CTGAAACGTTTGGGCC-L8TX_180712_01_B06,9.067245,4.3422985 +10X_cells.GTGCATAGTTACGTCA-L8TX_180607_01_C05,7.648231,4.9614725 +10X_cells.GACTACAAGCTGGAAC-L8TX_180712_01_B06,10.4730625,5.994356 +10X_cells.GACACGCGTCTGCCAG-L8TX_180221_01_E09,10.091782,3.340713 +10X_cells.AGCGTATTCTTGCATT-L8TX_180221_01_D09,10.69356,4.1101336 +10X_cells.CAAGGCCAGCCTATGT-L8TX_180221_01_E09,9.841366,4.5748525 +10X_cells.CCTTACGTCTTAGCCC-L8TX_180712_01_B06,11.069775,6.321153 +10X_cells.AAGCCGCAGTACTTGC-L8TX_180221_01_D09,10.783839,6.003661 +Smartseq_cells.SM-GE679_S204_E1-50,9.201053,2.5349007 +Smartseq_cells.SM-GE679_S316_E1-50,9.843913,5.1875577 +Smartseq_cells.LS-15012_S06_E1-50,9.250567,4.286801 +Smartseq_cells.LS-15012_S24_E1-50,8.866787,1.533596 +Smartseq_cells.LS-15012_S36_E1-50,8.907122,0.7782009 +Smartseq_cells.LS-15012_S44_E1-50,9.287431,3.6204076 +Smartseq_cells.LS-15019_S01_E1-50,9.298403,4.0619135 +Smartseq_cells.LS-15019_S53_E1-50,9.670256,4.8199706 +Smartseq_cells.LS-15023_S26_E1-50,9.090033,1.7900392 +Smartseq_cells.LS-15023_S34_E1-50,9.562552,4.555036 +Smartseq_cells.LS-15306_S88_E1-50,9.771512,4.807728 +Smartseq_cells.LS-15312_S17_E2-50,8.959907,1.339446 +Smartseq_cells.LS-15325_S10_E2-50,8.45909,3.3959775 +Smartseq_cells.LS-15325_S24_E2-50,13.922586,11.251583 +Smartseq_cells.LS-15337_S04_E1-50,7.6382837,3.2915578 +Smartseq_cells.LS-15340_S80_E1-50,8.672482,0.8544259 +Smartseq_cells.LS-15341_S42_E1-50,7.923859,3.5061371 +Smartseq_cells.LS-15345_S17_E1-50,9.17788,1.8029015 +Smartseq_cells.SQ-80004_S60_E1-50,9.014459,1.8354763 +Smartseq_cells.SQ-80004_S63_E1-50,9.419168,3.751911 +Smartseq_cells.SM-D9E5X_S73_E1-50,9.006839,4.0820427 +Smartseq_cells.SM-GE635_S176_E1-50,8.841768,1.2862905 +Smartseq_cells.SM-GE659_S087_E1-50,8.218854,1.1251479 +10X_cells.GCGCCAAGTCAACATC-L8TX_181012_01_H04,7.1423445,0.96182686 +10X_cells.TGGACGCCAGCGTCCA-L8TX_180829_01_E10,11.351561,1.5940721 +10X_cells.TTAGGCAGTTTGCATG-L8TX_181012_01_G04,10.144595,2.0117054 +10X_cells.AGCCTAATCTGCGTAA-L8TX_180829_01_D09,10.02505,5.2185884 +10X_cells.CTCTAATGTTTGTGTG-L8TX_180829_01_D09,10.239685,4.5090685 +10X_cells.GTCGGGTCAAAGGAAG-L8TX_180829_01_D09,10.445085,4.7379637 +10X_cells.TGCTACCGTTTGCATG-L8TX_180829_01_D09,8.551034,5.6036177 +10X_cells.CATATGGAGATGAGAG-L8TX_180829_01_D10,10.502663,5.296034 +10X_cells.CCTAGCTAGCATCATC-L8TX_180829_01_D10,9.927876,6.3681536 +10X_cells.TGTCCCAAGAGCTGCA-L8TX_180829_01_D10,9.227499,4.1773887 +10X_cells.CATCCACAGTTAGGTA-L8TX_180829_01_E10,11.632422,5.529479 +10X_cells.CATTCGCGTATCAGTC-L8TX_180829_01_E10,9.600838,1.6285855 +10X_cells.CCGTGGATCCTAGGGC-L8TX_180829_01_E10,11.407947,1.7401245 +10X_cells.GATCAGTGTGAAATCA-L8TX_180829_01_E10,9.346978,0.6791776 +10X_cells.GCCTCTATCTAACGGT-L8TX_180829_01_E10,10.891693,4.371776 +10X_cells.GGGTTGCGTAGCTGCC-L8TX_180829_01_E10,9.864466,6.2045054 +10X_cells.TACTTGTGTCGCGTGT-L8TX_180829_01_E10,10.984298,4.599735 +10X_cells.TGGCGCATCGCCAGCA-L8TX_180829_01_E10,9.557142,0.29229546 +10X_cells.ACGTCAATCACTTCAT-L8TX_180907_01_F10,10.490494,3.3606877 +10X_cells.TTCTTAGAGAGTCGGT-L8TX_180907_01_F10,9.386789,2.8745487 +10X_cells.AGAGTGGAGGGTTTCT-L8TX_180907_01_G10,10.634822,4.6170435 +10X_cells.GTTACAGGTTGACGTT-L8TX_180907_01_G10,9.046514,4.296156 +10X_cells.CGGACGTAGCTAGCCC-L8TX_181011_01_G02,9.07862,2.7859373 +10X_cells.GGCAATTAGCTCCCAG-L8TX_181011_01_G02,9.857353,0.66545904 +10X_cells.GGCCGATGTTATCCGA-L8TX_181011_01_G02,9.579133,2.327231 +10X_cells.CATCCACCATGCTGGC-L8TX_181011_01_C04,10.704439,4.5940447 +10X_cells.GCCAAATTCATAGCAC-L8TX_181011_01_C04,10.034901,2.7219715 +10X_cells.AGAATAGTCTTTACAC-L8TX_181012_01_G04,10.300005,3.074822 +10X_cells.AGCGTCGGTAAGAGGA-L8TX_181012_01_H04,10.949513,6.148904 +10X_cells.CACATAGTCTCTTGAT-L8TX_181012_01_E05,10.83176,5.9261627 +10X_cells.TACCTATCATTCTTAC-L8TX_181012_01_E05,10.3284025,5.6090584 +10X_cells.TGCGCAGTCTTGACGA-L8TX_180406_01_B06,10.699016,9.314542 +10X_cells.TCTATTGCAATGGAAT-L8TX_180406_01_E07,11.03333,7.6153846 +10X_cells.GCGAGAATCAAGGTAA-L8TX_180406_01_C07,10.034062,4.6692805 +10X_cells.CAGCCGATCTTCAACT-L8TX_180406_01_C08,10.295162,7.305191 +10X_cells.ATTGGTGCATATGCTG-L8TX_180406_01_C08,11.080394,7.367629 +10X_cells.TACGGGCTCACAGTAC-L8TX_180406_01_B06,10.22827,7.176121 +10X_cells.GCATGTAAGTTGTCGT-L8TX_180406_01_H01,10.96485,8.179303 +10X_cells.CTACGTCTCAGTCAGT-L8TX_180406_01_C07,9.713752,3.1275876 +10X_cells.CAGAGAGGTCCTCTTG-L8TX_180406_01_H01,10.568303,7.921257 +10X_cells.TTCTCCTGTACCTACA-L8TX_180406_01_E02,10.523753,7.0605755 +10X_cells.ATCCACCCACCAGCAC-L8TX_180406_01_E06,10.582838,7.9707766 +10X_cells.ACACCCTTCCTGTACC-L8TX_180406_01_E02,10.650809,8.050016 +10X_cells.AACCATGCACCGTTGG-L8TX_180406_01_C08,10.646739,7.6328144 +10X_cells.TACGGATCAGTTCCCT-L8TX_180406_01_C07,9.1167755,1.8370177 +10X_cells.CGCTGGAAGGCGTACA-L8TX_180406_01_H02,9.735303,3.6175027 +10X_cells.CTCATTATCTTAGAGC-L8TX_180406_01_C07,10.275328,5.186841 +10X_cells.GGGTCTGAGGATGGAA-L8TX_180406_01_H02,9.28077,3.0346859 +10X_cells.TAGCCGGGTTACCAGT-L8TX_180406_01_H02,9.971781,5.714331 +10X_cells.TGCCCATCAGGTCTCG-L8TX_180406_01_H02,10.043543,6.1094184 +10X_cells.TGCCCTACAGGGATTG-L8TX_180406_01_B06,10.716014,8.793316 +Smartseq_cells.SM-GE5VB_S191_E1-50,8.103135,1.2764698 +Smartseq_cells.SM-GE5VB_S283_E1-50,9.503669,3.8511117 +10X_cells.GGCCGATTCCCTTGCA-L8TX_171026_01_G03,8.649441,2.0454373 +10X_cells.GTCACAAAGGTCATCT-L8TX_171026_01_F04,8.298462,0.8730102 +10X_cells.AGGTCATAGTCGTACT-L8TX_171026_01_A04,6.718053,3.42389 +10X_cells.TTGAACGCATATGGTC-L8TX_171026_01_F03,7.899209,3.9708421 +10X_cells.AAACCTGTCATTCACT-L8TX_171026_01_E05,8.801757,4.394237 +10X_cells.GGGCATCTCCGAGCCA-L8TX_171026_01_G04,8.374188,0.24119936 +10X_cells.TGAAAGACACCGAATT-L8TX_171026_01_H03,9.645849,0.022897668 +10X_cells.AGGCCGTAGGTGATTA-L8TX_171026_01_F05,13.955196,11.373319 +10X_cells.AGGCCGTGTTCTCATT-L8TX_171026_01_B04,9.772746,0.33361712 +10X_cells.AGGTCATAGCTAGCCC-L8TX_171026_01_C05,10.708568,5.620349 +10X_cells.ACGAGGACACATCCGG-L8TX_171026_01_C05,9.744157,3.8607388 +10X_cells.TATCAGGGTCAGATAA-L8TX_171026_01_D05,9.971857,2.3619988 +10X_cells.CATCGGGTCGAATGGG-L8TX_171026_01_F04,9.68091,5.7519755 +10X_cells.ACTTGTTAGACACTAA-L8TX_171026_01_B04,9.756683,5.1553144 +10X_cells.TACTTGTTCCTACAGA-L8TX_171026_01_E05,9.714702,4.5195107 +10X_cells.ATCGAGTCAGCCACCA-L8TX_171026_01_E05,10.150484,2.7689006 +10X_cells.TGAGAGGAGCGTGAGT-L8TX_171026_01_H04,8.762728,3.5847666 +10X_cells.GTATTCTGTCACACGC-L8TX_171026_01_A05,9.51887,2.33698 +10X_cells.ATTCTACGTGAACCTT-L8TX_171026_01_F03,8.939922,3.1688316 +10X_cells.CGTAGCGCAGGCGATA-L8TX_171026_01_G04,8.396634,2.4175253 +10X_cells.CTCTAATCAGTCCTTC-L8TX_171026_01_G03,8.771372,1.8968674 +10X_cells.GTTAAGCGTCTGCCAG-L8TX_171026_01_B05,9.692797,4.344626 +10X_cells.GGACATTCAATCACAC-L8TX_171026_01_B04,9.987045,4.8199415 +10X_cells.TTGTAGGAGACACTAA-L8TX_171026_01_B04,8.434124,4.076847 +10X_cells.AGGTCCGTCATGCAAC-L8TX_171026_01_G03,8.600089,1.2514126 +10X_cells.AACTCAGCATCAGTAC-L8TX_171026_01_H03,10.346284,3.640403 +10X_cells.TTCCCAGGTTTAAGCC-L8TX_171026_01_F05,11.203089,1.3576301 +10X_cells.AGTGAGGTCAGTACGT-L8TX_171026_01_H04,9.923204,5.468926 +10X_cells.GATTCAGAGACATAAC-L8TX_171026_01_F03,9.106274,3.2582881 +10X_cells.ATCCACCCAGACAAGC-L8TX_171026_01_G04,8.621177,0.8229897 +10X_cells.GACGTGCCATTACCTT-L8TX_171026_01_B04,9.964239,2.9419205 +10X_cells.TACTCGCTCCGCAGTG-L8TX_171026_01_F03,10.570655,3.625095 +10X_cells.CTGGTCTGTTTAGCTG-L8TX_171026_01_G04,8.9575205,1.2552087 +10X_cells.GCGACCAAGAGGGATA-L8TX_171026_01_B05,7.0793686,3.611636 +10X_cells.TCTCATAGTCAGAGGT-L8TX_171026_01_A05,8.621868,4.3538017 +10X_cells.CATTATCTCAGCACAT-L8TX_171026_01_F04,10.161747,4.7068615 +10X_cells.CCTTACGCAAGTTCTG-L8TX_171026_01_E05,9.591573,4.108018 +10X_cells.CTGAAACGTCAGGACA-L8TX_171026_01_H03,9.996063,0.7308894 +10X_cells.CTAAGACGTGGGTATG-L8TX_171026_01_G04,8.372006,2.7520576 +10X_cells.ACGGGTCCATTCTTAC-L8TX_171026_01_D05,9.233807,1.927887 +10X_cells.CGATGGCCAGCTGCAC-L8TX_171026_01_D05,10.283808,2.504217 +10X_cells.GACGTTAAGAGGACGG-L8TX_171026_01_H04,5.8292003,3.8311896 +10X_cells.GACGCGTAGATACACA-L8TX_171026_01_G03,9.695832,1.8304672 +10X_cells.ATCGAGTAGGTGACCA-L8TX_171026_01_F04,9.437192,0.7061866 +10X_cells.ACAGCTATCTCACATT-L8TX_171026_01_G04,8.140121,5.309431 +10X_cells.CTAAGACAGAATTGTG-L8TX_171026_01_F03,9.956515,0.29023817 +10X_cells.TGTCCCATCCTGCCAT-L8TX_171026_01_B04,8.372602,2.139972 +10X_cells.CTCGTCACAGTCAGAG-L8TX_171026_01_F05,10.650042,2.4699051 +10X_cells.TTAGGACGTTAGAACA-L8TX_171026_01_C05,9.693014,5.214237 +10X_cells.TATTACCTCTGGCGAC-L8TX_171026_01_F03,10.082112,3.6055923 +10X_cells.CTCGGGATCGAACGGA-L8TX_171026_01_G03,7.581845,0.9088088 +10X_cells.GAATAAGCACGACTCG-L8TX_171026_01_B04,9.867011,0.7493224 +10X_cells.GATCGCGTCATACGGT-L8TX_181206_01_H11,9.8641,2.1809633 +10X_cells.TGCGCAGCAGATCTGT-L8TX_181206_01_H11,8.5446205,2.3511589 +10X_cells.ACGCAGCGTAAGGGCT-L8TX_181206_01_A12,8.813485,1.2576844 +10X_cells.GCTCTGTTCACTTATC-L8TX_181206_01_A12,10.765371,3.4509559 +10X_cells.GGGTCTGAGCACACAG-L8TX_181206_01_A12,8.067474,1.394266 +10X_cells.TGTATTCAGGCTCTTA-L8TX_181206_01_B12,11.364344,3.0222843 +10X_cells.CGTTCTGAGTACGCGA-L8TX_181206_01_C12,10.645353,3.2488682 +10X_cells.GACTAACGTACTCAAC-L8TX_181206_01_D12,9.693292,2.7560792 +10X_cells.TCGTACCCAGCCACCA-L8TX_181206_01_D12,10.563229,1.2355305 +10X_cells.GCTGCTTAGGATCGCA-L8TX_181206_01_F12,10.826836,3.6004288 +10X_cells.TGAGCCGCAGCTGGCT-L8TX_181206_01_F12,11.675613,5.3127694 +10X_cells.ATTGGTGCATCTATGG-L8TX_181206_01_E12,9.368907,5.1375427 +10X_cells.CACACCTAGGACATTA-L8TX_181206_01_E12,9.361919,4.7431183 +10X_cells.GTCCTCAGTGCACGAA-L8TX_181206_01_E12,8.948429,2.9869664 +10X_cells.TCACAAGCATGTTGAC-L8TX_181206_01_E12,9.262023,3.9589603 +Smartseq_cells.SM-GE91J_S017_E1-50,11.274949,11.841717 +Smartseq_cells.SM-GE91J_S127_E1-50,11.255746,11.50134 +Smartseq_cells.SM-GE91J_S243_E1-50,11.272098,11.910767 +Smartseq_cells.SM-GE914_S258_E1-50,11.272023,11.856924 +10X_cells.CCGTGGATCTGGCGTG-L8TX_180406_01_B02,10.446273,6.09923 +Smartseq_cells.SM-GE671_S273_E1-50,8.856624,3.8173623 +10X_cells.GCACTCTGTGACGCCT-L8TX_190312_01_B02,7.6483817,0.92007166 +10X_cells.GGAAAGCCAGCTGCTG-L8TX_180221_01_D10,8.5053215,0.91124 +10X_cells.GTATCTTCAAAGCAAT-L8TX_180221_01_G10,9.147565,4.0548043 +10X_cells.GTGTGCGCACAGACAG-L8TX_180221_01_F10,9.905182,4.564169 +10X_cells.GTTCGGGAGGGTGTTG-L8TX_180221_01_E10,9.514692,6.7280326 +10X_cells.GACCTGGGTCCGAATT-L8TX_180221_01_F10,10.256184,6.6247253 +10X_cells.TAGTTGGAGGAATTAC-L8TX_190312_01_B02,10.724668,4.3388786 +10X_cells.GCGCAGTCACGAAGCA-L8TX_190312_01_D02,8.522851,1.8817253 +10X_cells.AGTGGGAGTTTAAGCC-L8TX_180221_01_E10,8.945129,1.1894515 +10X_cells.ATAAGAGTCTCCAGGG-L8TX_180221_01_E10,11.015321,3.2014954 +10X_cells.GGACATTAGTCACGCC-L8TX_180221_01_E10,8.884525,5.276865 +10X_cells.GGGCACTCAAGGTTTC-L8TX_180221_01_E10,7.980698,3.4999 +10X_cells.TGTGGTACATTGCGGC-L8TX_180221_01_E10,9.69578,3.564391 +10X_cells.ACGTCAAGTCCTGCTT-L8TX_180221_01_F10,8.547219,2.6437368 +10X_cells.GTACTCCCAATGTTGC-L8TX_180221_01_F10,10.887662,0.98257357 +10X_cells.TAAGCGTAGGACAGAA-L8TX_180221_01_F10,8.444143,0.31371447 +10X_cells.GTCACAATCTACTTAC-L8TX_180221_01_G10,10.388261,6.728184 +10X_cells.AGATTGCGTACTCAAC-L8TX_180221_01_H10,7.3064876,4.5592046 +10X_cells.GGGATGACATCATCCC-L8TX_180221_01_H10,8.658249,0.573301 +10X_cells.TGATTTCGTGCATCTA-L8TX_180221_01_H10,8.799347,1.0322969 +10X_cells.ACCTTTAAGGACAGAA-L8TX_180221_01_A11,10.155748,1.7885854 +10X_cells.ACATCAGCAAACTGCT-L8TX_190312_01_B02,8.6429205,1.4601151 +10X_cells.CATATTCAGTATTGGA-L8TX_190312_01_B02,9.912069,4.6297436 +10X_cells.GCTGCGACAATGAAAC-L8TX_190312_01_B02,8.888084,4.1186996 +10X_cells.GTCATTTGTGTTTGTG-L8TX_190312_01_B02,8.945444,0.76197875 +10X_cells.TCAGCAAGTTGGTTTG-L8TX_190312_01_B02,9.010578,2.781626 +10X_cells.GGAACTTCACCTTGTC-L8TX_190312_01_C02,9.099947,3.8162782 +10X_cells.TTAACTCAGGTGGGTT-L8TX_190312_01_C02,9.10824,2.8389575 +10X_cells.TTCTACACACGCCAGT-L8TX_190312_01_C02,9.700037,3.1234968 +10X_cells.ATCCACCAGTGGCACA-L8TX_190312_01_D02,9.296782,2.739812 +10X_cells.CATTCGCAGGCTCATT-L8TX_190312_01_D02,10.009704,4.529879 +10X_cells.GTTCATTGTTTGACAC-L8TX_190312_01_D02,10.420321,7.221578 +10X_cells.TGCTACCGTGCATCTA-L8TX_190312_01_D02,9.645338,2.941351 +10X_cells.TACAGTGCAACTGGCC-L8TX_190312_01_G02,9.474324,2.5526264 +10X_cells.ATGTGTGGTTATCACG-L8TX_181012_01_C05,8.057938,6.82328 +10X_cells.TGCTGCTCACTACAGT-L8TX_180907_01_B11,9.451024,4.098913 +10X_cells.CCAGCGACAGTCACTA-L8TX_180926_01_C12,7.1990943,4.6310205 +10X_cells.TCTCTAAGTGCACGAA-L8TX_180926_01_C12,8.621802,2.0497148 +10X_cells.AAAGTAGGTTACCGAT-L8TX_180926_01_E12,11.653471,5.469276 +10X_cells.CCACTACTCACAGGCC-L8TX_181012_01_B05,10.497362,5.268673 +10X_cells.GTCTTCGCAACTGCTA-L8TX_181012_01_B05,9.935475,3.3616781 +10X_cells.TCTTCGGCAATCCAAC-L8TX_181012_01_B05,8.997092,6.114045 +10X_cells.TGCACCTGTAAGAGAG-L8TX_181012_01_B05,10.515607,6.3093734 +10X_cells.GAACATCTCTTGTACT-L8TX_181012_01_C05,10.102715,3.7069232 +10X_cells.TCAGATGCACGGCCAT-L8TX_181012_01_C05,9.389781,1.2914917 +Smartseq_cells.SM-GE8XN_S205_E1-50,8.119717,0.95836633 +10X_cells.GGGATGACATGCCTTC-L8TX_180221_01_C11,11.489866,2.060379 +10X_cells.AGCATACTCGCATGGC-L8TX_180221_01_C11,10.824766,3.3513923 +10X_cells.GTGCAGCAGATATGGT-L8TX_180221_01_E11,11.308012,3.1018562 +10X_cells.AAACCTGTCTAACGGT-L8TX_180221_01_B11,11.047189,2.8332577 +10X_cells.ACGAGCCTCCCTGACT-L8TX_180221_01_B11,11.363178,3.5148852 +10X_cells.AGACGTTTCTTTAGTC-L8TX_180221_01_B11,11.113823,2.9003515 +10X_cells.ATCACGAGTGAGCGAT-L8TX_180221_01_B11,11.621412,3.6457062 +10X_cells.CCAATCCTCATGTAGC-L8TX_180221_01_B11,11.367418,3.5056274 +10X_cells.CTCCTAGCAATCGGTT-L8TX_180221_01_B11,11.630097,3.8744729 +10X_cells.GTAGGCCAGATCTGCT-L8TX_180221_01_B11,10.799958,2.0289025 +10X_cells.TATTACCCAGGGCATA-L8TX_180221_01_B11,10.167191,1.9694562 +10X_cells.TATTACCTCTTACCTA-L8TX_180221_01_B11,10.68299,2.4217947 +10X_cells.CTTACCGTCTTGTCAT-L8TX_180221_01_C11,10.671921,3.249069 +10X_cells.TACTTGTAGATCTGCT-L8TX_180221_01_C11,10.573581,2.129808 +10X_cells.GTAACGTTCGCGTAGC-L8TX_180221_01_D11,9.248019,4.782162 +10X_cells.GTCGGGTGTTCACGGC-L8TX_180221_01_D11,11.284578,2.9234507 +10X_cells.ACGCCAGTCCCTCTTT-L8TX_180221_01_E11,10.952055,4.0251074 +10X_cells.CCTTACGGTAAATGTG-L8TX_180221_01_F11,10.858095,3.672495 +10X_cells.TTTCCTCAGTGCGATG-L8TX_180221_01_F11,10.437507,1.465726 +10X_cells.ACACCCTGTCTCAACA-L8TX_180221_01_G11,9.971367,3.91513 +10X_cells.CGTTAGAAGTCGCCGT-L8TX_180221_01_G11,10.558467,3.4198723 +10X_cells.GCGCGATGTACGCACC-L8TX_180221_01_G11,8.037121,4.509904 +10X_cells.GTCGGGTAGGAGTTTA-L8TX_180221_01_G11,10.518481,3.0396943 +10X_cells.AGGGATGGTTCAGTAC-L8TX_190312_01_F02,11.093707,3.3205118 +10X_cells.ACAGCCGCAATTGCTG-L8TX_190312_01_H02,8.874875,3.6191566 +10X_cells.CCGGTAGCAGACACTT-L8TX_190312_01_H02,10.208963,4.116117 +Smartseq_cells.SM-GE67O_S348_E1-50,8.618042,1.3553847 +Smartseq_cells.SM-GE67P_S148_E1-50,9.041522,3.7722514 +Smartseq_cells.SM-GE67P_S263_E1-50,8.652552,1.8757029 +10X_cells.AGAATAGTCAGCGACC-L8TX_180907_01_G11,10.055717,3.358215 +10X_cells.CTGAAACTCCCTTGCA-L8TX_180907_01_G11,8.558494,3.2873075 +10X_cells.CATGCCTTCGCAAGCC-L8TX_180907_01_H11,8.77433,2.1908112 +10X_cells.ACTGAACTCTATCCCG-L8TX_180907_01_A12,10.953721,6.45608 +10X_cells.TGGGCGTTCGGCTTGG-L8TX_180907_01_E11,10.284777,2.9238408 +10X_cells.GGGTCTGTCACTATTC-L8TX_190312_01_A02,8.017322,1.9385123 +Smartseq_cells.SM-DD44B_S51_E1-50,9.1066675,3.5181363 +Smartseq_cells.SM-GE5UT_S245_E1-50,9.139182,2.544444 +10X_cells.ACACCGGTCTGCAAGT-L8TX_180926_01_E01,13.838579,10.569993 +10X_cells.GTAACTGCATATGCTG-L8TX_180926_01_E01,11.636098,5.2359543 +10X_cells.AGTCTTTGTTTGTGTG-L8TX_181011_01_B03,7.8676715,2.110875 +10X_cells.CGTTAGATCCTATTCA-L8TX_180926_01_E01,10.87233,5.6494503 +10X_cells.GTGCGGTGTGTCCTCT-L8TX_181011_01_A03,8.162011,1.0833552 +10X_cells.TGCGGGTGTGCCTGTG-L8TX_180926_01_D01,9.934241,4.395173 +10X_cells.GACGCGTAGTTTCCTT-L8TX_181011_01_C03,10.264249,6.04887 +10X_cells.ACATACGAGGAGCGAG-L8TX_180926_01_B01,10.924114,3.3752804 +10X_cells.ACCAGTAGTACGCTGC-L8TX_180926_01_B01,8.399554,3.003401 +10X_cells.AGAGCTTAGGAGTACC-L8TX_180926_01_B01,8.8289385,5.180173 +10X_cells.ATCCACCAGAAACCTA-L8TX_180926_01_B01,9.339845,3.412213 +10X_cells.GATCTAGCAGATCCAT-L8TX_180926_01_D01,10.581323,2.7017329 +10X_cells.GTCAAGTTCCCTCAGT-L8TX_180926_01_D01,8.771882,5.1853943 +10X_cells.CGCTATCCAAATCCGT-L8TX_180926_01_E01,10.05816,3.4575462 +10X_cells.CTTACCGTCAGGTAAA-L8TX_180926_01_E01,11.075315,3.562038 +10X_cells.GGATTACCAAGGACTG-L8TX_180926_01_E01,11.038157,6.0917068 +10X_cells.TGCCCATGTTTCCACC-L8TX_180926_01_E01,11.078797,4.098309 +10X_cells.CACAGGCAGTGCTGCC-L8TX_180926_01_F01,10.475827,5.5714154 +10X_cells.TGTATTCCATGCAACT-L8TX_180926_01_F01,10.355428,5.718075 +10X_cells.ATCATGGGTACAGCAG-L8TX_181011_01_A03,7.429348,4.765792 +10X_cells.TCGAGGCGTTGCGCAC-L8TX_181011_01_A03,9.742359,5.1792483 +10X_cells.CACAAACTCGCATGAT-L8TX_181011_01_B03,9.44892,4.7702813 +10X_cells.AAGCCGCAGAGAGCTC-L8TX_181011_01_C03,11.048304,3.868741 +10X_cells.CACCTTGAGGTCATCT-L8TX_181011_01_C03,9.675428,4.3633056 +10X_cells.GTATCTTCAAGTCTGT-L8TX_181011_01_C03,10.379948,2.3523684 +10X_cells.GGATGTTTCCTGCTTG-L8TX_180221_01_A12,11.677969,3.8439567 +10X_cells.CATATGGCATCTATGG-L8TX_180504_01_E01,10.279584,6.702024 +10X_cells.GCGCAACAGGTGACCA-L8TX_180221_01_B12,9.583734,4.9224377 +10X_cells.TCGGTAAGTATCGCAT-L8TX_180221_01_B12,11.064564,3.8787727 +10X_cells.CAACTAGGTACCCAAT-L8TX_200611_02_A05,8.813477,3.4488268 +10X_cells.CTTAGGAGTGTTAAGA-L8TX_180221_01_A12,11.692102,3.79538 +10X_cells.GTGGGTCGTGCAGTAG-L8TX_180221_01_C12,11.494483,3.9045696 +10X_cells.TTCTCAACATCATCCC-L8TX_180221_01_H11,11.706996,4.70555 +10X_cells.TTCTCCTCATACAGCT-L8TX_180221_01_H11,11.580471,4.477606 +10X_cells.TCCACACAGCCACCTG-L8TX_200611_02_A05,9.107893,3.046102 +10X_cells.CAGTAACTCTGCGGCA-L8TX_180712_01_F05,9.614941,6.8025374 +10X_cells.GTTCTCGAGAGTACAT-L8TX_180712_01_F05,10.709795,3.267443 +10X_cells.TCTTTCCGTGTGACCC-L8TX_180221_01_H11,11.715,4.4576497 +10X_cells.TTCGAAGGTCTTCAAG-L8TX_200611_02_A05,9.457865,4.005389 +10X_cells.AACCGCGAGACACTAA-L8TX_180712_01_E05,9.666493,4.3346133 +10X_cells.AAAGCAATCTAACTTC-L8TX_180221_01_H11,11.840145,4.265801 +10X_cells.CCGTGGAGTCCAGTAT-L8TX_180712_01_F05,11.099417,7.097063 +10X_cells.TTTCCTCGTCAACATC-L8TX_180712_01_H05,8.412823,3.3214028 +10X_cells.TCATTACTCTCGTATT-L8TX_200611_02_A05,9.12089,3.1346104 +10X_cells.TGCGTGGCAGTGGGAT-L8TX_180712_01_H05,12.045042,1.2219877 +10X_cells.CACATTTAGGCATGTG-L8TX_180712_01_E05,10.459521,1.4828054 +10X_cells.GTAACGTTCTCAACTT-L8TX_180221_01_B12,10.327134,5.923378 +10X_cells.CTACACCGTCAGTGGA-L8TX_180221_01_A12,10.847397,3.1429856 +10X_cells.CTCTGGTTCGTTGCCT-L8TX_180221_01_C12,10.892769,5.2149043 +10X_cells.AGCCTAAAGGATGGAA-L8TX_180712_01_E05,10.089882,5.682546 +10X_cells.TTTATGCCATTACCTT-L8TX_180712_01_F05,9.849292,5.4955997 +10X_cells.GTCACAATCAGCTCTC-L8TX_180712_01_H05,11.080839,1.8742622 +10X_cells.ACCTTTACATGTCCTC-L8TX_180221_01_H11,11.6867695,4.2932305 +10X_cells.TTGCCGTGTTACAGAA-L8TX_180712_01_F05,10.27885,7.024222 +10X_cells.CCTAGCTTCTGCAGTA-L8TX_180712_01_H05,9.612332,4.9700303 +10X_cells.AAAGATGTCGCTTAGA-L8TX_180221_01_H11,11.741522,3.9044812 +10X_cells.CTGATAGCAGGGTACA-L8TX_180221_01_A12,11.823272,4.3378067 +10X_cells.CGGCTAGTCAAGGTAA-L8TX_180712_01_F05,10.0188265,4.7536764 +10X_cells.TCATTTGAGTATCTCG-L8TX_180221_01_C12,10.762794,4.145903 +10X_cells.ACGGAGACATGGTCTA-L8TX_180221_01_A12,11.556884,3.4032853 +10X_cells.GACGTGCTCGGAGCAA-L8TX_180504_01_E01,9.905135,4.5836167 +10X_cells.CGATCGGAGCGTAATA-L8TX_180712_01_E05,9.605593,4.296165 +10X_cells.GCGCAGTTCCCTCTTT-L8TX_180221_01_A12,11.009107,3.9966261 +10X_cells.AGAGCTTGTGCCTGGT-L8TX_180712_01_A06,9.138127,4.071121 +10X_cells.ACGTCAATCATGCATG-L8TX_180504_01_E01,10.127749,5.9167385 +10X_cells.ATCTGCCCACTCTGTC-L8TX_180712_01_A06,9.190822,4.4035077 +10X_cells.TTTCCTCTCACAAACC-L8TX_180221_01_C12,10.338338,6.201392 +10X_cells.TACCTATCATACTCTT-L8TX_180221_01_C12,11.412315,0.84624773 +10X_cells.GCATGCGTCCACGTTC-L8TX_180712_01_A06,9.714261,3.4070504 +10X_cells.TGAGCCGTCACAACGT-L8TX_180221_01_C12,11.532159,2.374118 +10X_cells.ATTCTACCACATCCAA-L8TX_180712_01_A06,8.336091,2.0583434 +10X_cells.CTTCTCTAGACCTAGG-L8TX_180504_01_E01,10.595324,1.74617 +10X_cells.CCAGCGAAGCCAACAG-L8TX_180221_01_B12,10.456615,4.0886297 +10X_cells.ATCATCTGTAAGTTCC-L8TX_200611_02_A05,9.5986805,3.2350247 +10X_cells.CTGATAGCAACACCTA-L8TX_180712_01_H05,10.554844,5.6599946 +10X_cells.TTATGCTGTAAAGGAG-L8TX_180504_01_E01,9.919082,5.409743 +10X_cells.GGGAATGAGGAGTACC-L8TX_180221_01_C12,10.999845,4.858109 +10X_cells.TCGGGACAGCTCAACT-L8TX_200611_02_A05,10.994453,0.9390564 +10X_cells.GACGCGTCACCCATGG-L8TX_180712_01_E05,9.93013,5.314597 +10X_cells.CGTGAGCTCCAGATCA-L8TX_180712_01_E05,10.668724,6.203838 +Smartseq_cells.SM-GE677_S182_E1-50,9.783788,5.1704974 +10X_cells.CTGGTCTTCGTCGTTC-L8TX_180115_01_G10,11.099535,4.5331016 +10X_cells.ACGAGGATCGGTCCGA-L8TX_180115_01_C11,9.9643135,6.0716 +10X_cells.GTCCTCAAGGCTAGCA-L8TX_180115_01_G09,10.944697,6.301259 +10X_cells.GATCTAGTCGATAGAA-L8TX_180115_01_B11,9.890706,3.1936364 +10X_cells.AAGTCTGCAAGCCGCT-L8TX_180115_01_G09,8.275065,5.60541 +10X_cells.AGCGTCGGTTACGCGC-L8TX_180115_01_G10,10.745862,3.4105515 +10X_cells.AGCAGCCTCTGCCAGG-L8TX_180115_01_E10,10.128826,2.7721546 +10X_cells.TAAGTGCCAAACTGCT-L8TX_180115_01_B11,8.31359,3.366431 +10X_cells.TTGGCAAAGGCTACGA-L8TX_180115_01_F09,10.539459,5.5159655 +10X_cells.TCAGATGAGGTGCAAC-L8TX_180115_01_F09,11.170314,2.3289557 +10X_cells.CGAGCACTCGAGAACG-L8TX_180115_01_H10,7.0696077,4.352236 +10X_cells.CCTTCCCCATGCCACG-L8TX_180115_01_H10,8.53911,5.141339 +10X_cells.GAGTCCGTCTTCCTTC-L8TX_180115_01_F10,8.788175,-0.25772724 +10X_cells.GTATTCTGTTCCATGA-L8TX_180115_01_E10,7.230993,4.8391256 +10X_cells.GCGAGAATCAGTTAGC-L8TX_180115_01_H11,8.673563,2.841944 +10X_cells.CATCCACAGGGTTTCT-L8TX_180115_01_C11,10.577908,0.27723122 +10X_cells.TTGACTTTCTGGGCCA-L8TX_180115_01_H11,6.9968224,4.534847 +10X_cells.CAGCTAATCTAACCGA-L8TX_180115_01_G11,8.46831,0.18630968 +10X_cells.AATCGGTTCTTGTCAT-L8TX_180115_01_E10,9.558757,2.7391448 +10X_cells.CGTGTAAAGTGGAGAA-L8TX_180115_01_G11,10.63987,3.6215923 +10X_cells.TTCTACACAGTAAGAT-L8TX_180115_01_A11,8.780276,4.892041 +10X_cells.CGAGAAGTCGTTGACA-L8TX_180115_01_G10,10.207359,4.1862774 +10X_cells.GGGATGAGTAAGAGAG-L8TX_180115_01_F11,10.788515,5.28477 +10X_cells.TCTTTCCGTAAGCACG-L8TX_180115_01_D10,11.108209,2.9626477 +10X_cells.TCGGTAACAACTGGCC-L8TX_180115_01_H11,8.677737,3.2297542 +10X_cells.TACCTTAGTCAATGTC-L8TX_180115_01_B11,8.144823,2.7340362 +10X_cells.GACGGCTCAAACAACA-L8TX_180115_01_D09,8.19052,5.918705 +10X_cells.AGCGGTCTCAACACGT-L8TX_180115_01_F10,10.380001,0.34834546 +10X_cells.TCGTACCGTAGGGACT-L8TX_180115_01_E10,6.9306006,2.259342 +10X_cells.ACTGAGTTCACTTCAT-L8TX_180115_01_A10,11.184455,2.3836026 +10X_cells.AGTGAGGGTATAGGTA-L8TX_180115_01_F10,9.743574,0.91868544 +10X_cells.CGTTAGAGTTACGTCA-L8TX_180115_01_E11,8.678185,3.233236 +10X_cells.CTCTACGAGAAACGAG-L8TX_180115_01_F11,9.378543,0.7591821 +10X_cells.ACACCGGCAACTTGAC-L8TX_180115_01_G11,8.757929,3.5431387 +10X_cells.GACACGCTCCTGCAGG-L8TX_180115_01_B10,10.578994,4.207277 +10X_cells.TGCCCATAGTTCGATC-L8TX_180115_01_F10,9.028126,4.685033 +10X_cells.TTTACTGGTCACAAGG-L8TX_180115_01_B11,8.964995,1.3419113 +10X_cells.GGAATAAGTGTGGTTT-L8TX_180115_01_F11,9.306071,0.42732307 +10X_cells.CATGACAAGTGTTAGA-L8TX_180115_01_A11,9.303738,2.2007945 +10X_cells.GGCCGATAGCAGGTCA-L8TX_180115_01_B09,9.906594,0.7014618 +10X_cells.TAGACCAGTATAATGG-L8TX_180115_01_A11,8.023976,1.7683034 +10X_cells.GGCTCGAAGGTGCTAG-L8TX_180115_01_A09,8.996362,2.3994572 +10X_cells.GCACTCTCATCGACGC-L8TX_171120_01_H07,9.166884,3.9341366 +10X_cells.TGAGCCGGTCACTGGC-L8TX_171120_01_H07,9.008334,5.820105 +10X_cells.AGCCTAATCATGTCCC-L8TX_171120_01_G07,9.6599,3.6443121 +10X_cells.CACAGTAAGATATGCA-L8TX_171120_01_G07,10.793234,5.057668 +10X_cells.CCAATCCGTCCGTCAG-L8TX_171120_01_G07,9.131804,4.4146557 +10X_cells.CGTCAGGGTCTGCCAG-L8TX_171120_01_G07,9.741168,4.1673727 +10X_cells.CATATTCGTACCGAGA-L8TX_171120_01_H07,6.629422,4.302121 +10X_cells.GTCGTAACATCCGGGT-L8TX_171120_01_H07,6.9563255,4.2785997 +10X_cells.TTAACTCAGGAGTAGA-L8TX_180115_01_G08,8.391811,2.7692688 +10X_cells.CATCCACCAAGCCCAC-L8TX_171120_01_C07,8.476603,4.4820385 +10X_cells.CGTTCTGTCTGCTGTC-L8TX_171120_01_C07,9.871403,3.6152263 +10X_cells.AACTTTCCATACGCTA-L8TX_180115_01_H08,9.181661,5.558723 +10X_cells.AAACCTGTCGAGAGCA-L8TX_171120_01_D07,8.363546,0.87194955 +10X_cells.GAGCAGACAAAGAATC-L8TX_171120_01_D07,7.85643,3.678592 +10X_cells.GGGCATCTCGCGATCG-L8TX_171120_01_D07,9.559313,2.6939473 +10X_cells.ATGAGGGTCCACGAAT-L8TX_171120_01_E07,8.3977,3.045419 +10X_cells.CCTCTGACAGTAGAGC-L8TX_171120_01_E07,8.7024,2.7229517 +10X_cells.CTTAACTGTTTGGCGC-L8TX_171120_01_F07,7.9376373,3.9382985 +10X_cells.ATTCTACAGACAAGCC-L8TX_180115_01_E08,10.214631,4.2506657 +10X_cells.CTGGTCTGTCTCTTAT-L8TX_180115_01_E08,8.9350815,3.6476345 +10X_cells.TTGGAACTCTGAAAGA-L8TX_180115_01_E08,10.577699,3.0228255 +Smartseq_cells.LS-14696_S73_E1-50,9.097014,3.4895294 +Smartseq_cells.LS-15003_S16_E1-50,7.7713094,1.2108041 +Smartseq_cells.LS-15025_S63_E1-50,9.1717825,3.3102179 +Smartseq_cells.LS-15031_S88_E1-50,7.8879166,2.8252635 +Smartseq_cells.LS-15064_S64_E1-50,9.015458,2.1183212 +Smartseq_cells.LS-15068_S72_E1-50,9.259534,4.2975383 +Smartseq_cells.LS-15078_S49_E1-50,8.610553,1.7961296 +Smartseq_cells.LS-15080_S31_E1-50,9.19349,3.5182073 +Smartseq_cells.LS-15096_S64_E1-50,8.354482,3.2488234 +Smartseq_cells.LS-15576_S57_E1-50,8.405037,3.5840101 +Smartseq_cells.LS-15576_S62_E1-50,9.206435,3.5751455 +Smartseq_cells.SM-D9CXR_S26_E1-50,7.9451294,3.5320113 +Smartseq_cells.SM-D9CXR_S35_E1-50,7.8326073,2.8393054 +Smartseq_cells.SM-GE66C_S169_E1-50,9.01384,2.1016688 +Smartseq_cells.SM-GE67T_S049_E1-50,9.251594,3.552859 +Smartseq_cells.SM-GE8X5_S289_E1-50,7.0318522,3.2345924 +Smartseq_cells.SM-GE8X5_S295_E1-50,8.62732,3.016517 +Smartseq_cells.SM-GE8X5_S314_E1-50,9.083555,2.331391 +Smartseq_cells.SM-GE8X5_S315_E1-50,8.036658,2.8452013 +Smartseq_cells.SM-GE8X5_S316_E1-50,8.288181,2.605455 +Smartseq_cells.SM-GE8X6_S097_E1-50,8.532364,2.1471398 +Smartseq_cells.SM-GE8X6_S101_E1-50,8.4290085,2.9703658 +Smartseq_cells.SM-GE8X6_S103_E1-50,9.241257,3.5309465 +10X_cells.TGGGAAGCACACATGT-L8TX_180406_01_F02,10.159429,6.7484517 +10X_cells.CGTGAGCCACGTAAGG-L8TX_180221_01_F09,10.58166,6.262634 +10X_cells.AGCGGTCTCGTATCAG-L8TX_180221_01_G09,5.3014245,7.074123 +10X_cells.CATCAGATCTGTACGA-L8TX_180221_01_G09,5.395296,5.0399942 +10X_cells.TCAATCTTCTTCATGT-L8TX_180221_01_G09,7.7904606,5.8123317 +10X_cells.GAACCTAGTTCGTCTC-L8TX_180221_01_H09,6.3712544,6.7569027 +10X_cells.GAACATCTCTCGGACG-L8TX_180221_01_A10,7.734012,6.322546 +10X_cells.CATCAAGAGTATCTCG-L8TX_180221_01_B10,7.489157,5.0272183 +10X_cells.CCCTCCTCATGGGACA-L8TX_180221_01_B10,5.2343807,6.119867 +10X_cells.CGAGAAGGTCCATCCT-L8TX_180221_01_B10,6.6772947,3.0078464 +10X_cells.GGAGCAAAGTAACCCT-L8TX_180221_01_B10,5.2181897,2.826905 +10X_cells.ATGAGGGCAACTGCTA-L8TX_180221_01_C10,4.3920193,5.1144094 +10X_cells.CGATTGACAGGACCCT-L8TX_180221_01_C10,5.2358065,5.4426327 +10X_cells.CTTACCGCAAGGTTCT-L8TX_180221_01_C10,5.874662,3.564854 +10X_cells.TATCAGGAGCCACCTG-L8TX_180221_01_C10,5.758592,3.6417193 +10X_cells.TCAGATGAGCTAAGAT-L8TX_180221_01_C10,7.1480393,4.094254 +10X_cells.TCGTACCTCGCATGGC-L8TX_180221_01_C10,8.626509,5.8843236 +10X_cells.TGACAACAGACTCGGA-L8TX_180221_01_C10,5.3445964,4.6262274 +10X_cells.GACTACACAGCTGTAT-L8TX_180406_01_F02,6.4160643,6.831501 +10X_cells.GGGTCTGTCACGATGT-L8TX_180406_01_F02,6.50457,6.355611 +10X_cells.TGCGTGGTCTGCCAGG-L8TX_180712_01_G05,7.9158773,4.97567 +10X_cells.GGCAATTAGATGCCAG-L8TX_180712_01_G05,9.324469,6.84593 +10X_cells.AAACGGGCACTTGGAT-L8TX_180221_01_C09,9.762768,6.9856925 +10X_cells.CACCAGGGTCGAACAG-L8TX_180221_01_H12,9.845033,5.9759383 +10X_cells.CCATTCGAGAGACGAA-L8TX_180221_01_H12,7.9775004,5.254893 +10X_cells.ACACTGACACTTAACG-L8TX_180221_01_E09,4.830862,3.1509562 +10X_cells.GTCGGGTAGACTTGAA-L8TX_180221_01_E09,8.606392,5.010601 +10X_cells.AGCAGCCTCATATCGG-L8TX_180221_01_C09,9.721023,5.6423783 +10X_cells.ATCTACTGTGGGTCAA-L8TX_180221_01_C09,9.021182,6.332218 +10X_cells.CAAGTTGAGAGTACAT-L8TX_180221_01_C09,8.070242,5.49583 +10X_cells.CACCAGGAGCTAGGCA-L8TX_180221_01_C09,6.3919144,4.3050346 +10X_cells.CTTCTCTTCGGAGCAA-L8TX_180221_01_C09,8.531832,5.7104726 +10X_cells.GATTCAGGTAAGTGGC-L8TX_180221_01_C09,7.577504,5.254925 +10X_cells.TGCACCTAGAAAGTGG-L8TX_180221_01_C09,6.2209435,3.9151733 +10X_cells.TGCGTGGCAGGATCGA-L8TX_180221_01_C09,9.616847,6.167148 +10X_cells.ACACCCTAGTAATCCC-L8TX_180221_01_D09,5.270579,3.6854346 +10X_cells.ACGAGGAAGACCGGAT-L8TX_180221_01_D09,5.21339,5.4111733 +10X_cells.ACGTCAAAGAGACGAA-L8TX_180221_01_D09,10.185013,5.9655695 +10X_cells.ACTGATGTCTTAGCCC-L8TX_180221_01_D09,6.7913647,6.6564937 +10X_cells.GATCAGTTCTGCGGCA-L8TX_180221_01_D09,9.445574,6.3300095 +10X_cells.TGAGCCGCAGCCACCA-L8TX_180221_01_D09,7.2758737,4.3815985 +10X_cells.TTAACTCAGAGTAAGG-L8TX_180221_01_D09,7.7476015,5.105113 +10X_cells.AGCAGCCGTGAAGGCT-L8TX_180607_01_C05,6.0221977,5.4442916 +10X_cells.ATTATCCGTCTTCTCG-L8TX_180607_01_C05,4.9137044,3.3946764 +10X_cells.CTTCTCTCACACATGT-L8TX_180607_01_C05,5.0752387,4.049463 +10X_cells.GAGTCCGGTGGACGAT-L8TX_180607_01_C05,7.0778427,5.630521 +10X_cells.ACGAGGAGTATAGGGC-L8TX_180712_01_G05,4.2543373,5.308457 +10X_cells.CAAGTTGGTCAATACC-L8TX_180712_01_G05,8.266871,5.1280107 +10X_cells.CCACCTAGTAGGGACT-L8TX_180712_01_G05,6.5820146,2.06259 +10X_cells.CGATCGGAGACACTAA-L8TX_180712_01_G05,9.701114,5.8973002 +10X_cells.GTGGGTCCAGATGGCA-L8TX_180712_01_G05,5.599261,4.3858023 +10X_cells.GTTTCTACAGCCTTTC-L8TX_180712_01_G05,7.2185764,1.2433231 +10X_cells.TTTGCGCCATTGTGCA-L8TX_180712_01_G05,7.794988,6.357232 +10X_cells.AACTCCCAGCAAATCA-L8TX_180712_01_B06,10.999171,5.7525935 +10X_cells.AAGACCTAGGACAGAA-L8TX_180712_01_B06,8.887812,6.8017983 +10X_cells.CACATTTAGGATGGTC-L8TX_180712_01_B06,8.756343,5.5447516 +10X_cells.GAGCAGAGTGCAACTT-L8TX_180712_01_B06,13.952243,6.7415137 +10X_cells.GGGAATGAGAAAGTGG-L8TX_180712_01_B06,8.692815,5.9679904 +10X_cells.TCAGCAACAATCTACG-L8TX_180712_01_B06,8.729109,5.3954887 +10X_cells.TGAGGGATCTGCCCTA-L8TX_180712_01_B06,9.532032,6.749979 +10X_cells.TTGTAGGTCGACCAGC-L8TX_180712_01_B06,9.622354,6.59132 +10X_cells.ACACCAACAGCTGCAC-L8TX_180712_01_C06,8.6300745,5.6653123 +10X_cells.ACCAGTATCGTCGTTC-L8TX_180712_01_C06,7.9812036,5.9945445 +10X_cells.AGAATAGGTCATGCAT-L8TX_180712_01_C06,8.976365,6.1010365 +Smartseq_cells.SM-GE67M_S177_E1-50,5.569097,4.5488706 +Smartseq_cells.LS-15012_S02_E1-50,6.163529,4.8096642 +Smartseq_cells.LS-15306_S82_E1-50,7.1922445,5.9840827 +Smartseq_cells.LS-15326_S20_E1-50,6.9439907,5.186138 +Smartseq_cells.LS-15327_S43_E1-50,5.414654,5.180556 +Smartseq_cells.SQ-80004_S19_E1-50,6.994028,5.264355 +Smartseq_cells.SM-D9EPG_S80_E1-50,5.571004,4.739061 +Smartseq_cells.SM-D9CZE_S04_E1-50,5.7327633,5.792158 +Smartseq_cells.SM-D9D9E_S31_E1-50,5.4395947,4.659796 +Smartseq_cells.SM-D9D9E_S69_E1-50,5.457113,4.6858125 +Smartseq_cells.SM-GE672_S022_E1-50,6.79398,3.6401374 +10X_cells.AGCGGTCGTTACGACT-L8TX_181012_01_E05,9.513953,5.772756 +10X_cells.CCTAGCTGTATGAATG-L8TX_180829_01_D09,9.251239,6.232878 +10X_cells.GATCGCGTCGGTGTTA-L8TX_180829_01_D09,10.304786,6.1149297 +10X_cells.ACGTCAAGTCTGATCA-L8TX_180829_01_D10,5.233088,4.8606515 +10X_cells.CGTTAGATCATCATTC-L8TX_180829_01_D10,9.981593,6.483461 +10X_cells.CTTCTCTAGGTGTGGT-L8TX_180829_01_E10,8.609993,6.7091236 +10X_cells.AAGCCGCAGCGCCTTG-L8TX_180907_01_F10,10.031352,5.8602157 +10X_cells.CTTAACTCATGTCCTC-L8TX_180907_01_F10,7.661097,5.6206737 +10X_cells.GGCGTGTGTGGCAAAC-L8TX_180907_01_F10,7.1296215,7.0425973 +10X_cells.CATATTCGTCTAAAGA-L8TX_180907_01_G10,7.1443505,7.051119 +10X_cells.ATGAGGGTCATGTAGC-L8TX_181012_01_G04,5.568838,6.8802834 +10X_cells.ACGGGTCAGAGGGCTT-L8TX_181012_01_H04,9.856772,6.706092 +10X_cells.AGGGATGTCAACGGGA-L8TX_181012_01_E05,10.854648,6.146485 +10X_cells.CAGGTGCGTAGCCTAT-L8TX_181012_01_E05,9.211495,6.669632 +10X_cells.CCCAATCTCAGCGACC-L8TX_181012_01_E05,9.525454,6.9391446 +10X_cells.CTACCCAGTCGACTAT-L8TX_181012_01_E05,11.559973,5.499622 +10X_cells.GACCTGGCAGCCACCA-L8TX_181012_01_E05,5.2784977,5.192308 +Smartseq_cells.SM-GE5VT_S168_E1-50,7.352715,4.25744 +10X_cells.TCAACGAAGGAATTAC-L8TX_180406_01_H02,6.18991,2.112517 +10X_cells.CTTCTCTTCATCTGTT-L8TX_180406_01_H02,6.2886777,6.4133263 +10X_cells.CTTTGCGAGGTAGCCA-L8TX_180406_01_H01,9.045249,7.206285 +10X_cells.GAAACTCTCGTATCAG-L8TX_180406_01_E02,7.658313,3.6730447 +10X_cells.TGCTACCAGACCCACC-L8TX_180406_01_G02,2.055055,6.661759 +10X_cells.TTAGTTCCATTGTGCA-L8TX_180406_01_G02,8.490848,7.0752883 +10X_cells.AACTCTTCAGTCTTCC-L8TX_180406_01_E06,7.616057,5.517505 +10X_cells.ACCGTAAAGTCACGCC-L8TX_180406_01_C08,6.748963,3.1282911 +10X_cells.CGAGCCAAGCGTTGCC-L8TX_180406_01_C07,1.3490635,6.55897 +10X_cells.GCACATAGTGTTCGAT-L8TX_180406_01_E07,2.3407264,6.3746233 +10X_cells.GTAGGCCGTTTAGGAA-L8TX_180406_01_E07,1.9983937,6.9874406 +10X_cells.TGCGCAGTCTGTCTAT-L8TX_180406_01_E07,9.533557,6.987759 +Smartseq_cells.SM-GE914_S292_E1-50,5.0607276,6.3209085 +Smartseq_cells.SM-GE91C_S243_E1-50,6.615566,4.5082483 +Smartseq_cells.SM-GE91C_S273_E1-50,5.2691946,6.399086 +10X_cells.TCGGTAATCAACCATG-L8TX_200625_02_F11,9.886129,11.821125 +Smartseq_cells.SM-GE8ZR_S080_E1-50,5.1923885,5.7448664 +10X_cells.CTAAGACTCGTCCGTT-L8TX_171026_01_H04,9.445814,6.3918424 +10X_cells.GAGTCCGTCGCTTAGA-L8TX_171026_01_F03,5.3714423,3.7788062 +10X_cells.AGTAGTCTCTTGCCGT-L8TX_171026_01_G03,5.229728,4.1069365 +10X_cells.CAGAATCCATTGCGGC-L8TX_171026_01_G03,6.682893,4.415942 +10X_cells.TTTGGTTGTTGGTAAA-L8TX_171026_01_G03,5.7092876,4.9789896 +10X_cells.CATCGAAAGCGTAATA-L8TX_171026_01_B04,6.002665,5.1045575 +10X_cells.CGAACATCATCATCCC-L8TX_171026_01_B04,6.6074643,7.0753508 +10X_cells.TTCTCAAAGTGTCCCG-L8TX_171026_01_B04,7.7692127,4.6836767 +10X_cells.AAAGATGTCAACACCA-L8TX_171026_01_F04,9.225378,5.9929304 +10X_cells.CAAGGCCAGGTAGCTG-L8TX_171026_01_F04,4.5565987,4.610165 +10X_cells.CAGCTGGCAATTGCTG-L8TX_171026_01_F04,4.978612,4.4257135 +10X_cells.CAGTCCTGTTGGTTTG-L8TX_171026_01_F04,8.325068,6.624333 +10X_cells.ACGCCAGCAGCGATCC-L8TX_171026_01_G04,4.802204,5.2566853 +10X_cells.GCTCCTAGTCATACTG-L8TX_171026_01_G04,7.662668,6.6408553 +10X_cells.ATTGGACTCGTCTGAA-L8TX_171026_01_B05,5.663766,4.892922 +10X_cells.CACATTTCAGCCAATT-L8TX_171026_01_B05,15.007874,7.30852 +10X_cells.CTACATTGTTGTTTGG-L8TX_171026_01_B05,7.2548647,5.1210265 +10X_cells.GATGAGGCAGGTCGTC-L8TX_171026_01_B05,6.595747,5.240965 +10X_cells.CAGAGAGGTTAAGACA-L8TX_171026_01_H04,7.5800443,5.232477 +10X_cells.CATTCGCTCAGTTAGC-L8TX_171026_01_H04,7.214431,5.4383645 +10X_cells.GACGGCTTCTCGCATC-L8TX_171026_01_H04,7.1432624,5.8686314 +10X_cells.ACGATGTGTCCGAAGA-L8TX_171026_01_A05,9.673684,5.8397107 +10X_cells.CACAAACTCCGCGCAA-L8TX_171026_01_A05,6.481947,4.1554203 +10X_cells.CACAGGCCAAGTCTAC-L8TX_171026_01_A05,7.7816486,5.108664 +10X_cells.CATATGGTCGCGGATC-L8TX_171026_01_A05,9.153763,6.333143 +10X_cells.CTCCTAGGTCATTAGC-L8TX_171026_01_A05,6.2545285,5.2680902 +10X_cells.ATTACTCTCGACCAGC-L8TX_171026_01_H03,9.593041,6.5099664 +10X_cells.CCGTTCAGTGCAACGA-L8TX_171026_01_H03,6.2365503,5.4331317 +10X_cells.CGGCTAGGTCATGCAT-L8TX_171026_01_H03,6.752907,4.6659822 +10X_cells.CTAGAGTAGATGCGAC-L8TX_171026_01_H03,7.4743795,6.973689 +10X_cells.GTTACAGTCCTAGTGA-L8TX_171026_01_H03,3.7474356,6.452033 +10X_cells.CGCTTCACATGCCTTC-L8TX_171026_01_C05,10.181163,6.5040636 +10X_cells.CTCGAGGCACCAGGCT-L8TX_171026_01_C05,3.7836905,6.433007 +10X_cells.GCGCGATAGGGTATCG-L8TX_171026_01_C05,6.2229857,7.0472207 +10X_cells.TCTTCGGGTAGCTGCC-L8TX_171026_01_C05,8.912467,6.7270765 +10X_cells.ACGATACCAAATCCGT-L8TX_171026_01_D05,7.239928,2.9299166 +10X_cells.GATTCAGAGCCATCGC-L8TX_171026_01_D05,6.6693754,6.919388 +10X_cells.TTAGGCAGTTCTCATT-L8TX_171026_01_D05,7.939623,7.0581737 +10X_cells.ATTTCTGCATGCGCAC-L8TX_171026_01_E05,3.9997714,5.490107 +10X_cells.CCGTTCAAGTGACTCT-L8TX_171026_01_E05,8.399388,6.7893257 +10X_cells.CGTTAGATCGCCGTGA-L8TX_171026_01_E05,6.8677444,5.8670707 +10X_cells.GAGCAGAAGTAAGTAC-L8TX_171026_01_E05,11.347482,5.612962 +10X_cells.AAGTCTGCACATGGGA-L8TX_171026_01_F05,5.4921656,5.095041 +10X_cells.TACGGATTCATCGCTC-L8TX_171026_01_F05,6.8762956,4.1188326 +10X_cells.TAGGCATAGACCGGAT-L8TX_171026_01_F05,7.1844687,6.313863 +10X_cells.TGAGGGACACCACCAG-L8TX_171026_01_F05,8.36869,6.094782 +10X_cells.CATCGGGCAGGTGCCT-L8TX_171026_01_G05,4.871448,7.1128306 +10X_cells.CTCGTACGTATAGGTA-L8TX_171026_01_G05,9.632081,5.420418 +10X_cells.CTGCCTAAGAAGCCCA-L8TX_171026_01_G05,6.926336,6.8838816 +10X_cells.GGACGTCGTCAGGACA-L8TX_171026_01_G05,3.9966202,5.65529 +10X_cells.GGACGTCGTGTTTGTG-L8TX_171026_01_G05,6.03234,7.3583727 +10X_cells.GTATCTTAGACGCAAC-L8TX_171026_01_G05,7.327747,5.45889 +10X_cells.TTTGCGCGTCGTCTTC-L8TX_171026_01_G05,8.128015,6.731588 +10X_cells.GCGACCATCAACACAC-L8TX_171026_01_H05,6.486789,6.854749 +10X_cells.TACTTGTGTGTTGGGA-L8TX_171026_01_H05,8.135219,5.030338 +10X_cells.TTTATGCTCCAAACAC-L8TX_171026_01_H05,7.1963835,5.188312 +Smartseq_cells.SM-DD44N_S31_E1-50,4.9541407,5.370964 +Smartseq_cells.SM-GE935_S215_E1-50,7.2042418,6.0010247 +10X_cells.ACGAGGACACGTTGGC-L8TX_181206_01_H11,10.0447855,6.0790286 +10X_cells.GGCTCGAGTATAAACG-L8TX_181206_01_A12,11.968329,5.523257 +10X_cells.AAACCTGTCTGCTGCT-L8TX_181206_01_C12,8.175818,7.034651 +10X_cells.AACCATGTCCTAGTGA-L8TX_181206_01_C12,10.089702,5.857222 +10X_cells.TATCAGGCAATAAGCA-L8TX_181206_01_D12,9.480658,5.890455 +10X_cells.CCTACCAGTAAGTTCC-L8TX_181206_01_E12,4.0080304,6.169611 +10X_cells.CGTCCATGTATTCGTG-L8TX_181206_01_E12,8.14665,5.3160367 +10X_cells.GCGCAACGTTCGTTGA-L8TX_181206_01_E12,5.516163,5.3744116 +10X_cells.TCTCATAGTTTGTGTG-L8TX_181206_01_E12,5.992013,7.0401654 +10X_cells.TCGTAGACAGGTTTCA-L8TX_180406_01_B02,10.896979,7.3337126 +Smartseq_cells.SM-GE8Z7_S383_E1-50,7.834131,5.1469297 +10X_cells.AGGTCCGTCCACGAAT-L8TX_190312_01_D02,8.738897,5.9209657 +10X_cells.GACCTGGGTGCCTGGT-L8TX_180221_01_E10,8.38255,6.220593 +10X_cells.CTGCGGACACATAACC-L8TX_180221_01_F10,9.004874,7.0824943 +10X_cells.TCGGGACTCGGATGTT-L8TX_180221_01_F10,1.9441482,6.4631042 +10X_cells.CAGTAACCATATGGTC-L8TX_180221_01_D10,7.5995636,3.8888128 +10X_cells.CTGATAGCAGACGCTC-L8TX_180221_01_D10,5.917509,4.654161 +10X_cells.GACGTTACATCGGTTA-L8TX_180221_01_D10,9.453921,5.9800262 +10X_cells.GACGTTATCAACCAAC-L8TX_180221_01_D10,7.4013767,3.875885 +10X_cells.GGGTTGCAGAGTGAGA-L8TX_180221_01_D10,8.374413,5.2522526 +10X_cells.GTGTGCGAGGCCCGTT-L8TX_180221_01_D10,7.2351704,5.577133 +10X_cells.CAGCTAAAGTCAATAG-L8TX_180221_01_E10,6.2154484,3.1109335 +10X_cells.CATTCGCCACCATGTA-L8TX_180221_01_E10,5.054676,6.6767254 +10X_cells.GCCAAATGTTAAGGGC-L8TX_180221_01_E10,8.803604,4.322208 +10X_cells.GTCAAGTTCCGATATG-L8TX_180221_01_E10,3.9287791,6.470248 +10X_cells.CCTTACGCAAGCCGTC-L8TX_180221_01_F10,9.205616,6.346239 +10X_cells.CGGACTGGTTACGCGC-L8TX_180221_01_F10,10.092961,6.449602 +10X_cells.CGGAGTCTCCAAACTG-L8TX_180221_01_F10,9.450845,4.9001055 +10X_cells.CGTAGCGAGTGAATTG-L8TX_180221_01_F10,7.7970967,5.571489 +10X_cells.GGAATAAGTTTAGCTG-L8TX_180221_01_F10,9.678394,6.8225784 +10X_cells.CTCTAATGTGTAACGG-L8TX_180221_01_H10,7.00585,3.8542142 +10X_cells.GACGTTAGTTCCATGA-L8TX_180221_01_H10,6.7219524,5.7462196 +10X_cells.GCATGATGTTAAGAAC-L8TX_180221_01_A11,9.309492,6.6836543 +10X_cells.TTTGTCACACCAACCG-L8TX_180221_01_A11,5.952247,2.4059117 +10X_cells.AAGACCTAGCCTATGT-L8TX_190312_01_B02,7.478176,5.232312 +10X_cells.ACTGAGTCAATGGTCT-L8TX_190312_01_C02,4.334142,5.323818 +10X_cells.GCGCCAACAGTCAGAG-L8TX_190312_01_C02,7.4197936,4.8268137 +10X_cells.GGTATTGGTCTCGTTC-L8TX_190312_01_C02,6.769807,1.7234967 +10X_cells.ATCATGGCACGGATAG-L8TX_190312_01_D02,7.3602014,4.4990244 +10X_cells.CAGAATCAGAGGGATA-L8TX_190312_01_G02,6.5324883,5.873935 +10X_cells.CTGTTTACACCATGTA-L8TX_180926_01_C12,7.325552,6.2975116 +10X_cells.CTACATTCATCCTTGC-L8TX_181012_01_B05,9.852083,5.39222 +10X_cells.GTGCGGTAGTGGTCCC-L8TX_181012_01_B05,6.787414,7.151693 +10X_cells.TCGAGGCCATGGGAAC-L8TX_180221_01_B11,8.849068,6.4143496 +10X_cells.TTCTACAAGTCATCCA-L8TX_180221_01_C11,9.072621,5.791443 +10X_cells.AGGGATGTCAGAGACG-L8TX_190312_01_A03,7.212341,3.286099 +Smartseq_cells.SM-GE67Q_S185_E1-50,5.5517006,4.8385644 +10X_cells.ATAACGCCATTGTGCA-L8TX_180907_01_H11,14.209328,12.436795 +10X_cells.CAGCGACTCAAACAAG-L8TX_180907_01_A12,4.37158,7.1529098 +10X_cells.GTCCTCAAGCACGCCT-L8TX_180907_01_B12,8.155392,6.4714923 +Smartseq_cells.SM-D9E4J_S06_E1-50,6.6598134,4.4771714 +Smartseq_cells.SM-D9E5S_S30_E1-50,6.9812865,5.2508454 +Smartseq_cells.SM-GE5UT_S161_E1-50,6.9489665,6.207277 +10X_cells.ACTATCTCAATGCCAT-L8TX_180926_01_D01,9.62602,6.4986362 +10X_cells.GTGCAGCAGCATGGCA-L8TX_180926_01_D01,14.14461,6.1362453 +10X_cells.CGAGCACTCAGCGACC-L8TX_180926_01_E01,6.1037765,4.829267 +10X_cells.TGTATTCGTAAACCTC-L8TX_180926_01_E01,7.406828,5.424992 +10X_cells.TTCCCAGCAATGGAAT-L8TX_180926_01_F01,8.122818,6.299432 +10X_cells.ACACCGGTCGGACAAG-L8TX_181011_01_B03,5.9402585,7.272982 +10X_cells.ACTGCTCTCATCTGCC-L8TX_181011_01_B03,8.372407,6.160032 +10X_cells.CGATGGCAGCGCCTCA-L8TX_181011_01_B03,8.813589,5.917714 +10X_cells.GTATCTTAGGCATGTG-L8TX_181011_01_B03,6.377062,2.7063947 +10X_cells.CACAGGCGTTGCTCCT-L8TX_180221_01_H11,11.761253,4.471481 +10X_cells.GTACTCCGTCCTAGCG-L8TX_180504_01_E01,9.160558,5.078383 +10X_cells.AAGTCTGTCCCAGGTG-L8TX_180221_01_C12,11.186056,4.8659697 +10X_cells.GTACTTTGTTCCGGCA-L8TX_180712_01_E05,9.659605,6.2817335 +10X_cells.TCATTTGGTGCAGACA-L8TX_180712_01_E05,7.2594976,6.060999 +10X_cells.TCGGGACGTTGGGACA-L8TX_180712_01_E05,4.5252852,7.1303735 +10X_cells.TACTTACGTTACGGAG-L8TX_180712_01_F05,1.735954,6.399383 +10X_cells.TTTGTCAAGTGGCACA-L8TX_180712_01_F05,9.858184,6.6095595 +10X_cells.ACCAGTAAGTAGTGCG-L8TX_180712_01_H05,4.2517776,5.4453216 +10X_cells.ACGATGTAGCAGACTG-L8TX_180712_01_H05,8.954753,6.3213162 +10X_cells.CATATTCCACAGAGGT-L8TX_180712_01_H05,10.491958,6.321504 +10X_cells.CGGAGCTGTAGTGAAT-L8TX_180712_01_H05,11.961904,6.466494 +10X_cells.CTTAGGAGTACTTGAC-L8TX_180712_01_H05,6.277554,7.1804824 +10X_cells.GCGAGAATCGCCTGAG-L8TX_180712_01_H05,3.4575648,6.4901023 +10X_cells.GGCTGGTAGACACTAA-L8TX_180712_01_H05,7.1316104,5.280997 +10X_cells.TCAGGATCATTTCACT-L8TX_180712_01_H05,5.95549,6.2737265 +10X_cells.TGCGTGGGTGCTCTTC-L8TX_180712_01_H05,4.627594,2.332182 +10X_cells.TGGGAAGTCGGGAGTA-L8TX_180712_01_H05,8.216206,6.7920766 +10X_cells.TTGGAACGTTGTCTTT-L8TX_180712_01_H05,9.328527,5.939578 +10X_cells.AACTGGTAGCTCTCGG-L8TX_180712_01_A06,9.426937,6.2468657 +10X_cells.GCTGCGACAGATTGCT-L8TX_180712_01_A06,9.197471,6.373117 +10X_cells.TCGGGACAGTGGGTTG-L8TX_180504_01_E01,8.334433,6.5813766 +10X_cells.CATCCACGTCTAGTCA-L8TX_180221_01_B12,8.7254505,6.139347 +10X_cells.CATCGAATCAGGCAAG-L8TX_180221_01_B12,10.079893,6.614999 +10X_cells.CGACTTCTCAAACGGG-L8TX_180221_01_B12,9.622325,6.590833 +10X_cells.AGCTCTCAGTGTGAAT-L8TX_180221_01_C12,9.863273,6.628057 +10X_cells.AGTGAGGGTGTATGGG-L8TX_180221_01_C12,8.974417,6.8506346 +10X_cells.ATTCTACAGTACATGA-L8TX_180221_01_C12,10.000774,6.5264215 +10X_cells.CATCGGGTCCACGTTC-L8TX_180221_01_C12,7.669957,5.359744 +10X_cells.CGTGTCTCATTGGTAC-L8TX_180221_01_C12,10.596585,6.6896386 +10X_cells.CGTTCTGAGTGCGATG-L8TX_180221_01_C12,7.988174,5.8019753 +10X_cells.GTACTTTGTTCACCTC-L8TX_180221_01_C12,9.696207,6.6564894 +10X_cells.TTCGAAGAGAGGTAGA-L8TX_180221_01_C12,6.8924255,7.295043 +10X_cells.GCACTCTGTAGGCTGA-L8TX_180221_01_D12,9.466696,6.9187474 +10X_cells.AGTGTCAGTGTATGGG-L8TX_180221_01_H11,11.524655,4.803879 +10X_cells.CATCAAGGTTCAGCGC-L8TX_180221_01_H11,11.743599,5.3487062 +10X_cells.CGTAGGCCATCCGTGG-L8TX_180221_01_H11,11.828248,4.4996076 +10X_cells.GATTCAGTCAGCTCTC-L8TX_180221_01_H11,11.812926,4.4761834 +10X_cells.ATAGACCGTCCAAGTT-L8TX_200611_02_A05,4.916128,5.3486958 +10X_cells.ATTGGACGTCCTAGCG-L8TX_200611_02_A05,7.844297,5.339941 +10X_cells.CGACTTCGTTCCAACA-L8TX_200611_02_A05,9.067374,6.349881 +10X_cells.GCTTCCATCCGCGTTT-L8TX_200611_02_A05,6.5241036,5.132756 +10X_cells.TCAATCTAGCCACGTC-L8TX_200611_02_A05,7.854535,5.210332 +Smartseq_cells.SM-GE677_S273_E1-50,6.9561124,4.5634065 +10X_cells.GTTCGGGGTTAGATGA-L8TX_180115_01_H10,9.449895,6.000879 +10X_cells.CGCTATCTCAATAAGG-L8TX_180115_01_G11,5.52173,7.019339 +10X_cells.CGACCTTCACACGCTG-L8TX_180115_01_B09,4.9324703,6.9432783 +10X_cells.GTTCGGGTCGTGGACC-L8TX_180115_01_B09,7.969191,6.2022347 +10X_cells.GGAACTTGTTCCGGCA-L8TX_180115_01_C09,6.8397274,6.5848083 +10X_cells.TTTGCGCGTTTGTGTG-L8TX_180115_01_C09,7.6127715,7.0519323 +10X_cells.CTGTGCTAGGCAGTCA-L8TX_180115_01_D10,0.089504436,8.658432 +10X_cells.TCAGCAAAGAGACTTA-L8TX_180115_01_A11,6.9055223,4.953746 +10X_cells.AGCATACCATATGCTG-L8TX_180115_01_H10,6.333173,6.4365387 +10X_cells.CCACTACCAGAGTGTG-L8TX_180115_01_H10,7.88737,5.1764617 +10X_cells.AACTTTCGTAGCTTGT-L8TX_180115_01_B10,5.904835,5.8219223 +10X_cells.ACTTTCATCCCTTGTG-L8TX_180115_01_B10,8.272668,6.8418517 +10X_cells.TCCACACGTAAGCACG-L8TX_180115_01_B10,7.119038,7.0100026 +10X_cells.CGCTATCGTAAGAGAG-L8TX_180115_01_B11,6.951135,4.838675 +10X_cells.ACGTCAACAGCCTTGG-L8TX_180115_01_C11,6.92985,3.8945084 +10X_cells.ACTTGTTCAAGGGTCA-L8TX_180115_01_C11,7.5919714,5.7905507 +10X_cells.ATAAGAGGTCTAACGT-L8TX_180115_01_C11,8.192594,3.632039 +10X_cells.CCTTACGAGCAGCCTC-L8TX_180115_01_C11,4.6651926,5.5249405 +10X_cells.CTCGAAAGTCTAACGT-L8TX_180115_01_C11,5.3473473,5.9102526 +10X_cells.AACCGCGGTCAGATAA-L8TX_180115_01_D11,6.7923265,6.8583684 +10X_cells.GGAATAACAAGAAAGG-L8TX_180115_01_D11,4.1628456,5.3969765 +10X_cells.CAGCAGCTCCTTCAAT-L8TX_180115_01_E10,4.607654,5.00816 +10X_cells.TCTCTAAAGACACGAC-L8TX_180115_01_E10,7.1081142,6.908638 +10X_cells.TAGGCATTCGTAGATC-L8TX_180115_01_F10,7.6949005,5.9739394 +10X_cells.TGCGTGGTCCTTGGTC-L8TX_180115_01_F10,5.730717,6.6278825 +10X_cells.CTTGGCTGTATGCTTG-L8TX_180115_01_G10,7.0986114,6.0796657 +10X_cells.GCAGCCACAAGCCTAT-L8TX_180115_01_G10,8.024897,5.865322 +10X_cells.CGCTTCATCCTTGCCA-L8TX_180115_01_E11,7.728839,6.5465236 +10X_cells.GTCATTTCAAGCGATG-L8TX_180115_01_E11,8.957317,5.7737536 +10X_cells.GTCTCGTGTCGAGTTT-L8TX_180115_01_E11,5.3545885,6.993138 +10X_cells.TATGCCCGTACTCAAC-L8TX_180115_01_E11,5.75823,6.5485287 +10X_cells.TTTATGCGTACCGTAT-L8TX_180115_01_E11,7.8501577,6.8863316 +10X_cells.CACATTTAGAGGTTAT-L8TX_180115_01_F11,6.4044485,6.83399 +10X_cells.CGAGCACAGAAGATTC-L8TX_180115_01_F11,8.704591,6.502882 +10X_cells.CTCGGAGTCGGTCCGA-L8TX_180115_01_F11,6.8742414,6.807712 +10X_cells.GGGAGATCATTTCAGG-L8TX_180115_01_F11,8.808877,5.850505 +10X_cells.TTGACTTGTCATGCCG-L8TX_180115_01_F11,7.68637,4.8754206 +10X_cells.ATCCACCAGTTAACGA-L8TX_180115_01_H11,5.989004,6.999614 +10X_cells.GTTAAGCAGTTTCCTT-L8TX_180115_01_H11,6.4738607,5.2434177 +10X_cells.TAGTGGTTCTCTTATG-L8TX_180115_01_H11,7.3519325,5.633965 +10X_cells.TCAATCTTCGAGAACG-L8TX_180115_01_H11,6.8765717,7.0451756 +10X_cells.TGGCTGGTCAGCGATT-L8TX_180115_01_H11,8.231908,7.077916 +10X_cells.CAAGTTGTCCGATATG-L8TX_180115_01_H09,7.6991405,6.9074674 +10X_cells.GCGACCATCGGACAAG-L8TX_180115_01_H09,7.517942,6.96333 +10X_cells.TATCTCAAGTGGGTTG-L8TX_180115_01_A10,7.1583915,7.158277 +10X_cells.AACTGGTGTTCGTTGA-L8TX_180115_01_E09,5.805751,7.0933604 +10X_cells.CCACTACAGCCATCGC-L8TX_180115_01_E09,8.005358,6.420854 +10X_cells.CGGACGTTCACTTACT-L8TX_180115_01_F09,7.884605,4.660532 +10X_cells.CGGAGTCGTCTAGTCA-L8TX_180115_01_F09,7.0973134,7.1109967 +10X_cells.GTAGTCAAGTACGTTC-L8TX_180115_01_F09,5.8961363,6.293414 +10X_cells.TCAACGAAGGAGTAGA-L8TX_171120_01_G07,7.2873855,5.6910777 +10X_cells.TGGCTGGCAGCAGTTT-L8TX_171120_01_H07,6.1807537,6.103116 +10X_cells.TTAGTTCCACGGTAGA-L8TX_180115_01_G08,4.5455275,4.5351367 +10X_cells.AACTTTCGTCTCCATC-L8TX_171120_01_C07,6.7885323,6.5789723 +10X_cells.TGAGCATCATCGGAAG-L8TX_171120_01_C07,6.569145,7.21575 +10X_cells.GAGGTGAGTAGGGTAC-L8TX_180115_01_H08,8.199556,6.157436 +10X_cells.ACAGCTAAGTGCTGCC-L8TX_171120_01_D07,7.8377376,4.8896875 +10X_cells.TCAACGATCAGTTTGG-L8TX_171120_01_D07,4.905973,7.148744 +10X_cells.AGTGTCAAGTTGTAGA-L8TX_171120_01_E07,5.3674383,4.972335 +10X_cells.AAACGGGTCCTATTCA-L8TX_180115_01_F08,6.9777956,5.027935 +10X_cells.ACGAGGAGTCTAAACC-L8TX_180115_01_F08,8.004427,4.997406 +10X_cells.CTAGTGAAGAGACTAT-L8TX_180115_01_F08,8.4300995,4.999391 +10X_cells.ACTGATGTCAAACAAG-L8TX_180115_01_E08,4.8666945,4.913964 +10X_cells.CGTCACTTCTTTAGTC-L8TX_180115_01_E08,4.089379,5.827399 +Smartseq_cells.LS-15015_S22_E1-50,6.918153,3.9703486 +Smartseq_cells.LS-15064_S34_E1-50,5.8392687,5.726213 +Smartseq_cells.LS-15075_S67_E1-50,5.265712,4.105579 +Smartseq_cells.LS-15085_S54_E1-50,5.507292,6.4039197 +Smartseq_cells.LS-15096_S82_E1-50,6.85787,4.737446 +Smartseq_cells.LS-15351_S80_E1-50,5.62238,4.767252 +Smartseq_cells.LS-15576_S63_E1-50,5.854723,4.698187 +Smartseq_cells.SM-D9EP8_S32_E1-50,6.540544,4.4150963 +Smartseq_cells.SM-D9CXQ_S01_E1-50,6.3139424,4.646173 +Smartseq_cells.SM-D9CXR_S33_E1-50,7.018813,4.860306 +Smartseq_cells.SM-GE631_S032_E1-50,5.75572,4.7633705 +Smartseq_cells.SM-GE672_S136_E1-50,5.3141975,6.1450806 +Smartseq_cells.SM-GE67W_S340_E1-50,7.3218045,4.67241 +10X_cells.CAGCAGCGTCACCCAG-L8TX_180406_01_F02,8.215682,5.363762 +10X_cells.ACGATGTAGTCCTCCT-L8TX_180221_01_E09,6.23476,4.6524158 +10X_cells.GTACGTAAGATGTAAC-L8TX_180221_01_C09,7.2138057,3.843517 +10X_cells.ATTATCCTCATGGTCA-L8TX_180607_01_C05,6.4104543,2.9804637 +10X_cells.CCCAATCAGTATCTCG-L8TX_180712_01_B06,7.6337624,3.2340608 +10X_cells.AACTCCCCAGGGTACA-L8TX_181012_01_G04,6.8335457,4.573712 +10X_cells.GGGCACTGTCATCGGC-L8TX_181011_01_H02,6.4839115,3.681983 +10X_cells.ACTTTCAAGGGTTTCT-L8TX_181012_01_G04,6.4984746,4.584404 +Smartseq_cells.SM-GE5VB_S076_E1-50,5.960081,4.3926096 +10X_cells.TCATTACGTCTCCACT-L8TX_171026_01_G04,5.5159264,4.2411036 +10X_cells.TGGCTGGAGGCAGGTT-L8TX_171026_01_H03,6.2574067,4.6496124 +10X_cells.AGAGCTTCATAGAAAC-L8TX_171026_01_A04,7.9904695,4.797823 +10X_cells.GTACTTTCACCCTATC-L8TX_171026_01_C05,4.4274025,4.590345 +10X_cells.ACCCACTAGTGGACGT-L8TX_171026_01_D05,4.7548776,4.3797197 +10X_cells.GAACATCCACTGTCGG-L8TX_171026_01_E05,6.5654616,4.644324 +10X_cells.TTAACTCGTAGGGTAC-L8TX_171026_01_E05,5.430392,3.8368168 +10X_cells.CATGGCGCATCTATGG-L8TX_171026_01_F05,5.6452045,3.7264848 +10X_cells.CTGATCCGTAAACGCG-L8TX_171026_01_F05,5.7300243,3.5498738 +10X_cells.ACGGGCTGTAAGGATT-L8TX_181206_01_H11,6.3747554,4.2307854 +10X_cells.CGATCGGCAACCGCCA-L8TX_181206_01_H11,6.781551,4.5051847 +10X_cells.GGTGCGTTCTGCAGTA-L8TX_181206_01_D12,7.4992595,5.3545294 +10X_cells.CACCAGGGTCTTGATG-L8TX_180221_01_D10,5.8721747,4.0459523 +10X_cells.CACTCCAAGGCATGTG-L8TX_180221_01_D10,4.613143,4.4981656 +10X_cells.ACGCAGCGTCACTGGC-L8TX_190312_01_B02,6.618601,3.8508852 +10X_cells.GGCTGGTTCAACACTG-L8TX_180907_01_B11,6.1280127,3.414372 +10X_cells.ACATACGTCAGAGCTT-L8TX_180926_01_C12,5.1866407,4.058844 +10X_cells.CAAGGCCGTTTGTGTG-L8TX_180221_01_B11,8.127639,4.5927567 +10X_cells.GTAACTGAGCGCTTAT-L8TX_180221_01_B11,8.5248575,5.121907 +10X_cells.CAAGATCAGAAGGCCT-L8TX_180712_01_A06,7.7594,3.5868084 +10X_cells.CGTAGGCGTAATCGTC-L8TX_180712_01_E05,10.177002,6.0149016 +10X_cells.GAGCAGACAAGCGAGT-L8TX_180115_01_A11,6.2537827,5.165935 +10X_cells.ATTTCTGGTGCACCAC-L8TX_180115_01_A09,5.282177,4.973918 +10X_cells.CCTTACGGTCGCTTTC-L8TX_180115_01_A09,5.0679893,4.1120114 +10X_cells.AGATCTGTCTCGGACG-L8TX_180115_01_C09,5.14139,5.11388 +10X_cells.ACATCAGGTGTGAATA-L8TX_180115_01_D09,6.417914,5.1253524 +10X_cells.ACGCCAGCATTGCGGC-L8TX_180115_01_D09,6.39176,3.5643308 +10X_cells.CTCATTAAGACAGAGA-L8TX_180115_01_D09,5.592773,5.079019 +10X_cells.ACGGCCATCCGGGTGT-L8TX_180115_01_D10,7.9975195,5.268065 +10X_cells.CATGGCGAGTGTTTGC-L8TX_180115_01_H10,7.4945993,5.7434464 +10X_cells.GTGAAGGCACATGACT-L8TX_180115_01_H10,6.09869,5.254264 +10X_cells.AATCGGTAGCCACGTC-L8TX_180115_01_B10,5.2917457,5.302553 +10X_cells.CGTCTACCAACTTGAC-L8TX_180115_01_B10,6.178382,4.111211 +10X_cells.TAGGCATCAGATCTGT-L8TX_180115_01_B11,11.336139,1.9505401 +10X_cells.TGTATTCCACAAGACG-L8TX_180115_01_B11,6.8889523,4.375788 +10X_cells.CAAGTTGGTGTCTGAT-L8TX_180115_01_C10,6.836855,4.9550457 +10X_cells.GCGACCACAAACGTGG-L8TX_180115_01_C11,6.7942715,4.3649054 +10X_cells.TGTGGTACACTCAGGC-L8TX_180115_01_C11,6.9551897,3.4978116 +10X_cells.CGATGGCTCATCACCC-L8TX_180115_01_D11,7.118837,4.7643065 +10X_cells.CTGCCTAGTGGAAAGA-L8TX_180115_01_D11,8.207759,4.738711 +10X_cells.CGATGGCAGTTACCCA-L8TX_180115_01_E10,5.3428655,4.241034 +10X_cells.GATCAGTGTAGATTAG-L8TX_180115_01_E10,4.931945,4.2306356 +10X_cells.CGTCTACCACAACGCC-L8TX_180115_01_F10,9.876363,5.844511 +10X_cells.GATGCTAGTCACACGC-L8TX_180115_01_F10,6.777007,4.9830165 +10X_cells.TCTTCGGCACGGCTAC-L8TX_180115_01_F10,5.0045123,4.2618437 +10X_cells.TTTGTCACAAGCTGAG-L8TX_180115_01_F10,7.636825,5.5274534 +10X_cells.AATCGGTGTTATCGGT-L8TX_180115_01_G10,7.910794,4.6538224 +10X_cells.CACACTCGTAAGAGAG-L8TX_180115_01_G10,5.9475026,5.2906656 +10X_cells.TCTCTAATCTACTCAT-L8TX_180115_01_G10,7.8231254,5.9112835 +10X_cells.CAGAATCTCTTACCTA-L8TX_180115_01_E11,6.64068,3.7844524 +10X_cells.CGATGGCAGTTAGCGG-L8TX_180115_01_E11,6.111265,5.187594 +10X_cells.TCAGGTACAGACAAAT-L8TX_180115_01_E11,6.127802,4.303971 +10X_cells.TGAAAGAAGGCACATG-L8TX_180115_01_E11,5.9490466,4.030614 +10X_cells.CACAGTACACGAAATA-L8TX_180115_01_F11,6.3155384,4.5052824 +10X_cells.CCGTACTGTCCTAGCG-L8TX_180115_01_G11,9.30812,5.2986016 +10X_cells.GGAGCAACAGACGCTC-L8TX_180115_01_H11,6.966225,4.7314405 +10X_cells.AGCGTATTCTTTAGTC-L8TX_180115_01_H09,7.719444,5.256902 +10X_cells.GACCTGGTCACAGTAC-L8TX_180115_01_H09,7.415808,4.241818 +10X_cells.TACCTTAGTCGAAAGC-L8TX_180115_01_H09,8.419175,5.738516 +10X_cells.AAGGCAGTCGGTCCGA-L8TX_180115_01_A10,6.4319997,4.1587157 +10X_cells.ACGAGCCTCAGAGACG-L8TX_180115_01_E09,6.214063,3.491545 +10X_cells.ATCATGGGTCCCTACT-L8TX_180115_01_E09,6.8738084,3.9635575 +10X_cells.GTTACAGCATCACAAC-L8TX_180115_01_E09,5.9326153,5.1148043 +10X_cells.TCACAAGTCGTAGATC-L8TX_180115_01_E09,7.7959876,5.3900056 +10X_cells.ACGATGTGTGAGGGTT-L8TX_180115_01_F09,6.1408687,5.172567 +Smartseq_cells.SM-GE5PC_S249_E1-50,6.7821627,4.33117 +10X_cells.ACACCGGCAATCTGCA-L8TX_171120_01_H07,5.5788083,4.890466 +10X_cells.TACACGAGTTCCTCCA-L8TX_171120_01_H07,6.3950458,3.0787377 +10X_cells.GGTGAAGAGATGCCTT-L8TX_171120_01_D07,5.7363715,4.6479425 +10X_cells.GAAACTCGTCTCACCT-L8TX_171120_01_E07,5.9065194,4.0219116 +10X_cells.TTAGTTCTCACCGTAA-L8TX_171120_01_E07,5.7566013,4.34104 +10X_cells.GCTGGGTAGATGTGGC-L8TX_171120_01_F07,5.8070984,4.3794646 +10X_cells.CCAATCCGTCTGATTG-L8TX_180115_01_C08,7.1103797,4.419389 +Smartseq_cells.LS-15500_S89_E1-50,5.880423,3.6098862 diff --git a/src/Makevars b/src/Makevars new file mode 100644 index 0000000..8e91f28 --- /dev/null +++ b/src/Makevars @@ -0,0 +1,6 @@ +## Use the R_HOME indirection to support ## installations of multiple R version ## +## NB: No longer needed, see below +PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"` + +CXX_STD = CXX11 +PKG_LIBS += $(shell ${R_HOME}/bin/Rscript -e "RcppParallel::RcppParallelLibs()") \ No newline at end of file diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp new file mode 100644 index 0000000..5c3e6ef --- /dev/null +++ b/src/RcppExports.cpp @@ -0,0 +1,404 @@ +// Generated by using Rcpp::compileAttributes() -> do not edit by hand +// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 + +#include +#include + +using namespace Rcpp; + +// rcpp_get_cl_means +Rcpp::NumericMatrix rcpp_get_cl_means(Rcpp::RObject mat, Rcpp::IntegerVector clAll); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_means(SEXP matSEXP, SEXP clAllSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_means(mat, clAll)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_means_RcppParallel +Rcpp::NumericMatrix rcpp_get_cl_means_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_means_RcppParallel(SEXP matSEXP, SEXP clAllSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_means_RcppParallel(mat, clAll)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_present +Rcpp::NumericMatrix rcpp_get_cl_present(Rcpp::RObject mat, Rcpp::IntegerVector clAll, double lowth); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_present(SEXP matSEXP, SEXP clAllSEXP, SEXP lowthSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + Rcpp::traits::input_parameter< double >::type lowth(lowthSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_present(mat, clAll, lowth)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_present_RcppParallel +Rcpp::NumericMatrix rcpp_get_cl_present_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll, double lowth); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_present_RcppParallel(SEXP matSEXP, SEXP clAllSEXP, SEXP lowthSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + Rcpp::traits::input_parameter< double >::type lowth(lowthSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_present_RcppParallel(mat, clAll, lowth)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_sqr_means +Rcpp::NumericMatrix rcpp_get_cl_sqr_means(Rcpp::RObject mat, Rcpp::IntegerVector clAll); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_sqr_means(SEXP matSEXP, SEXP clAllSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_sqr_means(mat, clAll)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_sqr_means_RcppParallel +Rcpp::NumericMatrix rcpp_get_cl_sqr_means_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_sqr_means_RcppParallel(SEXP matSEXP, SEXP clAllSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_sqr_means_RcppParallel(mat, clAll)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_medians +Rcpp::NumericMatrix rcpp_get_cl_medians(Rcpp::RObject mat, Rcpp::IntegerVector clAll); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_medians(SEXP matSEXP, SEXP clAllSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_medians(mat, clAll)); + return rcpp_result_gen; +END_RCPP +} +// rcpp_get_cl_medians_RcppParallel +Rcpp::NumericMatrix rcpp_get_cl_medians_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll); +RcppExport SEXP _scrattch_hicat_rcpp_get_cl_medians_RcppParallel(SEXP matSEXP, SEXP clAllSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Rcpp::RObject >::type mat(matSEXP); + Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type clAll(clAllSEXP); + rcpp_result_gen = Rcpp::wrap(rcpp_get_cl_medians_RcppParallel(mat, clAll)); + return rcpp_result_gen; +END_RCPP +} +// RowMergeMatrices +Eigen::SparseMatrix RowMergeMatrices(Eigen::SparseMatrix mat1, Eigen::SparseMatrix mat2, std::vector< std::string > mat1_rownames, std::vector< std::string > mat2_rownames, std::vector< std::string > all_rownames); +RcppExport SEXP _scrattch_hicat_RowMergeMatrices(SEXP mat1SEXP, SEXP mat2SEXP, SEXP mat1_rownamesSEXP, SEXP mat2_rownamesSEXP, SEXP all_rownamesSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat1(mat1SEXP); + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat2(mat2SEXP); + Rcpp::traits::input_parameter< std::vector< std::string > >::type mat1_rownames(mat1_rownamesSEXP); + Rcpp::traits::input_parameter< std::vector< std::string > >::type mat2_rownames(mat2_rownamesSEXP); + Rcpp::traits::input_parameter< std::vector< std::string > >::type all_rownames(all_rownamesSEXP); + rcpp_result_gen = Rcpp::wrap(RowMergeMatrices(mat1, mat2, mat1_rownames, mat2_rownames, all_rownames)); + return rcpp_result_gen; +END_RCPP +} +// RowMergeMatricesList +Eigen::SparseMatrix RowMergeMatricesList(List mat_list, List mat_rownames, std::vector< std::string > all_rownames); +RcppExport SEXP _scrattch_hicat_RowMergeMatricesList(SEXP mat_listSEXP, SEXP mat_rownamesSEXP, SEXP all_rownamesSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< List >::type mat_list(mat_listSEXP); + Rcpp::traits::input_parameter< List >::type mat_rownames(mat_rownamesSEXP); + Rcpp::traits::input_parameter< std::vector< std::string > >::type all_rownames(all_rownamesSEXP); + rcpp_result_gen = Rcpp::wrap(RowMergeMatricesList(mat_list, mat_rownames, all_rownames)); + return rcpp_result_gen; +END_RCPP +} +// LogNorm +Eigen::SparseMatrix LogNorm(Eigen::SparseMatrix data, int scale_factor, bool display_progress); +RcppExport SEXP _scrattch_hicat_LogNorm(SEXP dataSEXP, SEXP scale_factorSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type data(dataSEXP); + Rcpp::traits::input_parameter< int >::type scale_factor(scale_factorSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(LogNorm(data, scale_factor, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// Standardize +NumericMatrix Standardize(Eigen::Map mat, bool display_progress); +RcppExport SEXP _scrattch_hicat_Standardize(SEXP matSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::Map >::type mat(matSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(Standardize(mat, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// FastSparseRowScale +Eigen::MatrixXd FastSparseRowScale(Eigen::SparseMatrix mat, bool scale, bool center, double scale_max, bool display_progress); +RcppExport SEXP _scrattch_hicat_FastSparseRowScale(SEXP matSEXP, SEXP scaleSEXP, SEXP centerSEXP, SEXP scale_maxSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< bool >::type scale(scaleSEXP); + Rcpp::traits::input_parameter< bool >::type center(centerSEXP); + Rcpp::traits::input_parameter< double >::type scale_max(scale_maxSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(FastSparseRowScale(mat, scale, center, scale_max, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// FastSparseRowScaleWithKnownStats +Eigen::MatrixXd FastSparseRowScaleWithKnownStats(Eigen::SparseMatrix mat, NumericVector mu, NumericVector sigma, bool scale, bool center, double scale_max, bool display_progress); +RcppExport SEXP _scrattch_hicat_FastSparseRowScaleWithKnownStats(SEXP matSEXP, SEXP muSEXP, SEXP sigmaSEXP, SEXP scaleSEXP, SEXP centerSEXP, SEXP scale_maxSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP); + Rcpp::traits::input_parameter< NumericVector >::type sigma(sigmaSEXP); + Rcpp::traits::input_parameter< bool >::type scale(scaleSEXP); + Rcpp::traits::input_parameter< bool >::type center(centerSEXP); + Rcpp::traits::input_parameter< double >::type scale_max(scale_maxSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(FastSparseRowScaleWithKnownStats(mat, mu, sigma, scale, center, scale_max, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// FastCov +Eigen::MatrixXd FastCov(Eigen::MatrixXd mat, bool center); +RcppExport SEXP _scrattch_hicat_FastCov(SEXP matSEXP, SEXP centerSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type mat(matSEXP); + Rcpp::traits::input_parameter< bool >::type center(centerSEXP); + rcpp_result_gen = Rcpp::wrap(FastCov(mat, center)); + return rcpp_result_gen; +END_RCPP +} +// FastCovMats +Eigen::MatrixXd FastCovMats(Eigen::MatrixXd mat1, Eigen::MatrixXd mat2, bool center); +RcppExport SEXP _scrattch_hicat_FastCovMats(SEXP mat1SEXP, SEXP mat2SEXP, SEXP centerSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type mat1(mat1SEXP); + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type mat2(mat2SEXP); + Rcpp::traits::input_parameter< bool >::type center(centerSEXP); + rcpp_result_gen = Rcpp::wrap(FastCovMats(mat1, mat2, center)); + return rcpp_result_gen; +END_RCPP +} +// FastRBind +Eigen::MatrixXd FastRBind(Eigen::MatrixXd mat1, Eigen::MatrixXd mat2); +RcppExport SEXP _scrattch_hicat_FastRBind(SEXP mat1SEXP, SEXP mat2SEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type mat1(mat1SEXP); + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type mat2(mat2SEXP); + rcpp_result_gen = Rcpp::wrap(FastRBind(mat1, mat2)); + return rcpp_result_gen; +END_RCPP +} +// SparseRowMean +Eigen::VectorXd SparseRowMean(Eigen::SparseMatrix mat, bool display_progress); +RcppExport SEXP _scrattch_hicat_SparseRowMean(SEXP matSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(SparseRowMean(mat, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// SparseRowVar2 +NumericVector SparseRowVar2(Eigen::SparseMatrix mat, NumericVector mu, bool display_progress); +RcppExport SEXP _scrattch_hicat_SparseRowVar2(SEXP matSEXP, SEXP muSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(SparseRowVar2(mat, mu, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// SparseRowVarStd +NumericVector SparseRowVarStd(Eigen::SparseMatrix mat, NumericVector mu, NumericVector sd, double vmax, bool display_progress); +RcppExport SEXP _scrattch_hicat_SparseRowVarStd(SEXP matSEXP, SEXP muSEXP, SEXP sdSEXP, SEXP vmaxSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< NumericVector >::type mu(muSEXP); + Rcpp::traits::input_parameter< NumericVector >::type sd(sdSEXP); + Rcpp::traits::input_parameter< double >::type vmax(vmaxSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(SparseRowVarStd(mat, mu, sd, vmax, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// FastLogVMR +Eigen::VectorXd FastLogVMR(Eigen::SparseMatrix mat, bool display_progress); +RcppExport SEXP _scrattch_hicat_FastLogVMR(SEXP matSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(FastLogVMR(mat, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// RowVar +NumericVector RowVar(Eigen::Map x); +RcppExport SEXP _scrattch_hicat_RowVar(SEXP xSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::Map >::type x(xSEXP); + rcpp_result_gen = Rcpp::wrap(RowVar(x)); + return rcpp_result_gen; +END_RCPP +} +// SparseRowVar +Eigen::VectorXd SparseRowVar(Eigen::SparseMatrix mat, bool display_progress); +RcppExport SEXP _scrattch_hicat_SparseRowVar(SEXP matSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + rcpp_result_gen = Rcpp::wrap(SparseRowVar(mat, display_progress)); + return rcpp_result_gen; +END_RCPP +} +// ReplaceColsC +Eigen::SparseMatrix ReplaceColsC(Eigen::SparseMatrix mat, NumericVector col_idx, Eigen::SparseMatrix replacement); +RcppExport SEXP _scrattch_hicat_ReplaceColsC(SEXP matSEXP, SEXP col_idxSEXP, SEXP replacementSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + Rcpp::traits::input_parameter< NumericVector >::type col_idx(col_idxSEXP); + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type replacement(replacementSEXP); + rcpp_result_gen = Rcpp::wrap(ReplaceColsC(mat, col_idx, replacement)); + return rcpp_result_gen; +END_RCPP +} +// GraphToNeighborHelper +List GraphToNeighborHelper(Eigen::SparseMatrix mat); +RcppExport SEXP _scrattch_hicat_GraphToNeighborHelper(SEXP matSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type mat(matSEXP); + rcpp_result_gen = Rcpp::wrap(GraphToNeighborHelper(mat)); + return rcpp_result_gen; +END_RCPP +} +// ImputeKnn +void ImputeKnn(IntegerMatrix knn_idx, IntegerVector ref_idx, IntegerVector cell_idx, IntegerVector gene_idx, NumericMatrix dat, NumericMatrix impute_dat, Nullable w_mat_, bool transpose_input, bool transpose_output); +RcppExport SEXP _scrattch_hicat_ImputeKnn(SEXP knn_idxSEXP, SEXP ref_idxSEXP, SEXP cell_idxSEXP, SEXP gene_idxSEXP, SEXP datSEXP, SEXP impute_datSEXP, SEXP w_mat_SEXP, SEXP transpose_inputSEXP, SEXP transpose_outputSEXP) { +BEGIN_RCPP + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< IntegerMatrix >::type knn_idx(knn_idxSEXP); + Rcpp::traits::input_parameter< IntegerVector >::type ref_idx(ref_idxSEXP); + Rcpp::traits::input_parameter< IntegerVector >::type cell_idx(cell_idxSEXP); + Rcpp::traits::input_parameter< IntegerVector >::type gene_idx(gene_idxSEXP); + Rcpp::traits::input_parameter< NumericMatrix >::type dat(datSEXP); + Rcpp::traits::input_parameter< NumericMatrix >::type impute_dat(impute_datSEXP); + Rcpp::traits::input_parameter< Nullable >::type w_mat_(w_mat_SEXP); + Rcpp::traits::input_parameter< bool >::type transpose_input(transpose_inputSEXP); + Rcpp::traits::input_parameter< bool >::type transpose_output(transpose_outputSEXP); + ImputeKnn(knn_idx, ref_idx, cell_idx, gene_idx, dat, impute_dat, w_mat_, transpose_input, transpose_output); + return R_NilValue; +END_RCPP +} +// ComputeSNN +Eigen::SparseMatrix ComputeSNN(Eigen::MatrixXd nn_ranked, double prune); +RcppExport SEXP _scrattch_hicat_ComputeSNN(SEXP nn_rankedSEXP, SEXP pruneSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type nn_ranked(nn_rankedSEXP); + Rcpp::traits::input_parameter< double >::type prune(pruneSEXP); + rcpp_result_gen = Rcpp::wrap(ComputeSNN(nn_ranked, prune)); + return rcpp_result_gen; +END_RCPP +} +// WriteEdgeFile +void WriteEdgeFile(Eigen::SparseMatrix snn, String filename, bool display_progress); +RcppExport SEXP _scrattch_hicat_WriteEdgeFile(SEXP snnSEXP, SEXP filenameSEXP, SEXP display_progressSEXP) { +BEGIN_RCPP + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Eigen::SparseMatrix >::type snn(snnSEXP); + Rcpp::traits::input_parameter< String >::type filename(filenameSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + WriteEdgeFile(snn, filename, display_progress); + return R_NilValue; +END_RCPP +} +// DirectSNNToFile +Eigen::SparseMatrix DirectSNNToFile(Eigen::MatrixXd nn_ranked, double prune, bool display_progress, String filename); +RcppExport SEXP _scrattch_hicat_DirectSNNToFile(SEXP nn_rankedSEXP, SEXP pruneSEXP, SEXP display_progressSEXP, SEXP filenameSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< Eigen::MatrixXd >::type nn_ranked(nn_rankedSEXP); + Rcpp::traits::input_parameter< double >::type prune(pruneSEXP); + Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP); + Rcpp::traits::input_parameter< String >::type filename(filenameSEXP); + rcpp_result_gen = Rcpp::wrap(DirectSNNToFile(nn_ranked, prune, display_progress, filename)); + return rcpp_result_gen; +END_RCPP +} + +static const R_CallMethodDef CallEntries[] = { + {"_scrattch_hicat_rcpp_get_cl_means", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_means, 2}, + {"_scrattch_hicat_rcpp_get_cl_means_RcppParallel", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_means_RcppParallel, 2}, + {"_scrattch_hicat_rcpp_get_cl_present", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_present, 3}, + {"_scrattch_hicat_rcpp_get_cl_present_RcppParallel", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_present_RcppParallel, 3}, + {"_scrattch_hicat_rcpp_get_cl_sqr_means", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_sqr_means, 2}, + {"_scrattch_hicat_rcpp_get_cl_sqr_means_RcppParallel", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_sqr_means_RcppParallel, 2}, + {"_scrattch_hicat_rcpp_get_cl_medians", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_medians, 2}, + {"_scrattch_hicat_rcpp_get_cl_medians_RcppParallel", (DL_FUNC) &_scrattch_hicat_rcpp_get_cl_medians_RcppParallel, 2}, + {"_scrattch_hicat_RowMergeMatrices", (DL_FUNC) &_scrattch_hicat_RowMergeMatrices, 5}, + {"_scrattch_hicat_RowMergeMatricesList", (DL_FUNC) &_scrattch_hicat_RowMergeMatricesList, 3}, + {"_scrattch_hicat_LogNorm", (DL_FUNC) &_scrattch_hicat_LogNorm, 3}, + {"_scrattch_hicat_Standardize", (DL_FUNC) &_scrattch_hicat_Standardize, 2}, + {"_scrattch_hicat_FastSparseRowScale", (DL_FUNC) &_scrattch_hicat_FastSparseRowScale, 5}, + {"_scrattch_hicat_FastSparseRowScaleWithKnownStats", (DL_FUNC) &_scrattch_hicat_FastSparseRowScaleWithKnownStats, 7}, + {"_scrattch_hicat_FastCov", (DL_FUNC) &_scrattch_hicat_FastCov, 2}, + {"_scrattch_hicat_FastCovMats", (DL_FUNC) &_scrattch_hicat_FastCovMats, 3}, + {"_scrattch_hicat_FastRBind", (DL_FUNC) &_scrattch_hicat_FastRBind, 2}, + {"_scrattch_hicat_SparseRowMean", (DL_FUNC) &_scrattch_hicat_SparseRowMean, 2}, + {"_scrattch_hicat_SparseRowVar2", (DL_FUNC) &_scrattch_hicat_SparseRowVar2, 3}, + {"_scrattch_hicat_SparseRowVarStd", (DL_FUNC) &_scrattch_hicat_SparseRowVarStd, 5}, + {"_scrattch_hicat_FastLogVMR", (DL_FUNC) &_scrattch_hicat_FastLogVMR, 2}, + {"_scrattch_hicat_RowVar", (DL_FUNC) &_scrattch_hicat_RowVar, 1}, + {"_scrattch_hicat_SparseRowVar", (DL_FUNC) &_scrattch_hicat_SparseRowVar, 2}, + {"_scrattch_hicat_ReplaceColsC", (DL_FUNC) &_scrattch_hicat_ReplaceColsC, 3}, + {"_scrattch_hicat_GraphToNeighborHelper", (DL_FUNC) &_scrattch_hicat_GraphToNeighborHelper, 1}, + {"_scrattch_hicat_ImputeKnn", (DL_FUNC) &_scrattch_hicat_ImputeKnn, 9}, + {"_scrattch_hicat_ComputeSNN", (DL_FUNC) &_scrattch_hicat_ComputeSNN, 2}, + {"_scrattch_hicat_WriteEdgeFile", (DL_FUNC) &_scrattch_hicat_WriteEdgeFile, 3}, + {"_scrattch_hicat_DirectSNNToFile", (DL_FUNC) &_scrattch_hicat_DirectSNNToFile, 4}, + {NULL, NULL, 0} +}; + +RcppExport void R_init_scrattch_hicat(DllInfo *dll) { + R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); + R_useDynamicSymbols(dll, FALSE); +} diff --git a/src/Rcpp_parallel.cpp b/src/Rcpp_parallel.cpp new file mode 100644 index 0000000..738bc7d --- /dev/null +++ b/src/Rcpp_parallel.cpp @@ -0,0 +1,1093 @@ +//Rcpp_parallel.cpp + +// [[Rcpp::depends(beachmat)]] +// [[Rcpp::depends(RcppParallel)]] + +#include +#include "beachmat3/beachmat.h" +#include +#include +#include +#include +#include +using namespace Rcpp; +using namespace RcppParallel; + +/////////////////////////////////////////////////////////////////////////////////////////////// +// get_cl_means method1: iterate over only the non-zero elements in a column in a sparse matrix +/////////////////////////////////////////////////////////////////////////////////////////////// + +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_means(Rcpp::RObject mat, Rcpp::IntegerVector clAll) +{ + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector clAll_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(clAll_name, mat_name); + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(clAll_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(clAll_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Count cells in each cluster + unique_clusters = number of clusters + cluster_id_number = number of cells in each cluster correspond to colnames_vec */ + int unique_clusters = cluster_col_map.size(); + std::vector cluster_id_number(unique_clusters, 0); + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + cluster_id_number[cluster_col_map[cl[i]]]++; + } + + /* Loop though sparse matrix and access non-zero entry + res is the matrix to store sum valuse in each cluster, dim=number of genes*number of clusters + loop through each column of the sparse matrix mat. For each non-zero entry, find its cluster and column in res, add into the value*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), unique_clusters); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + for (int col_i = 0; col_i < ptr->get_ncol(); col_i++) + { + // skip the column if it doesn't exist in clAll + if (cl[col_i] < 1) + continue; + + // loop over col_i-th column of mat matrix + auto indices = ptr->get_col(col_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; + auto iptr = indices.i; + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + res(*(iptr + row_i), mat_cluster_vector[col_i]) += *(xptr + row_i); + } + } + + // loop over columns of res matrix, and divide by number of cells in each cluster + for (int i = 0; i < res.ncol(); i++) + { + NumericMatrix::Column col = res(_, i); + col = col / cluster_id_number[i]; + } + colnames(res) = colnames_vec; + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// +// get_cl_means method2: iterate over only the non-zero elements in a column in a sparse matrix, using RcppParallel +////////////////////////////////////////////////////////////////////////////////////////////////////// + +/*To use parallelFor, create a Worker object that defines an operator() which is called by the parallel scheduler.*/ + +struct ColumnMeanSparse : public Worker +{ + // source matrix and maps + beachmat::lin_sparse_matrix *matrix_ptr; + + std::vector mat_cluster_vector; + + std::vector cl; + // destination matrix + RMatrix output; + + // initialize with source and destination + ColumnMeanSparse(beachmat::lin_sparse_matrix *matrix_ptr, + std::vector mat_cluster_vector, + std::vector cl, + NumericMatrix output) + : matrix_ptr(matrix_ptr), mat_cluster_vector(mat_cluster_vector), cl(cl), output(output) {} + + // get the row sum of the given cols + void operator()(std::size_t begin, std::size_t end) + { + std::vector workspace_x(matrix_ptr->get_nrow()); + std::vector workspace_i(matrix_ptr->get_nrow()); + for (int col_i = begin; col_i < end; col_i++) + { + + if (cl[col_i] < 1) + continue; + + // loop over col_i-th column of mat matrix + auto indices = matrix_ptr->get_col(col_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; + auto iptr = indices.i; + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + output(*(iptr + row_i), mat_cluster_vector[col_i]) += *(xptr + row_i); + } + } + } +}; + +/*The function calls the ColumnMeanSparse*/ +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_means_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll) +{ + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector clAll_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(clAll_name, mat_name); + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(clAll_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(clAll_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Count cells in each cluster + unique_clusters = number of clusters = 10 + cluster_id_number = number of cells in each cluster correspond to colnames_vec */ + int unique_clusters = cluster_col_map.size(); + std::vector cluster_id_number(unique_clusters, 0); + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + cluster_id_number[cluster_col_map[cl[i]]]++; + } + + /* Loop though sparse matrix and access non-zero entry + res is the matrix to store sum valuse in each cluster, dim=number of genes*number of clusters + loop through each column of the sparse matrix mat. For each non-zero entry, find its cluster and column in res, add into the value*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), unique_clusters); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + + // column mean sparse functor (pass input and output matrixes) + auto matrix_ptr = ptr.get(); + ColumnMeanSparse column_mean_sparse(matrix_ptr, mat_cluster_vector, cl, res); + + // call parallelFor to do the work + parallelFor(0, ptr->get_ncol(), column_mean_sparse, 20); + + // loop over columns of res matrix, and divide by number of cells in each cluster + for (int i = 0; i < res.ncol(); i++) + { + NumericMatrix::Column col = res(_, i); + col = col / cluster_id_number[i]; + } + colnames(res) = colnames_vec; + + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////// +// get_cl_present method1: iterate over only the non-zero elements in a column in a sparse matrix +////////////////////////////////////////////////////////////////////////////////// + +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_present(Rcpp::RObject mat, Rcpp::IntegerVector clAll, double lowth) +{ + + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector cl_all_cl_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(cl_all_cl_name, mat_name); + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(cl_all_cl_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(cl_all_cl_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Count cells in each cluster + unique_clusters = number of clusters = 10 + cluster_id_number = number of cells in each cluster correspond to colnames_vec */ + int unique_clusters = cluster_col_map.size(); + std::vector cluster_id_number(unique_clusters, 0); + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + cluster_id_number[cluster_col_map[cl[i]]]++; + } + + /* Loop though sparse matrix and access non-zero entry + res is the matrix to store sum valuse in each cluster, dim=number of genes*number of clusters + loop through each column of the sparse matrix mat. For each non-zero entry, find its cluster and column in res, add into the value*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), unique_clusters); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + for (int col_i = 0; col_i < ptr->get_ncol(); col_i++) + { + // skip the column if it doesn't exist in clAll + if (cl[col_i] < 1) + continue; + + // loop over col_i-th column of mat matrix + auto indices = ptr->get_col(col_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; + auto iptr = indices.i; + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + + if (*(xptr + row_i) < lowth) + continue; + + res(*(iptr + row_i), mat_cluster_vector[col_i]) += 1.0; + } + } + + // loop over columns of res matrix, and divide by number of cells in each cluster + for (int i = 0; i < res.ncol(); i++) + { + NumericMatrix::Column col = res(_, i); + col = col / cluster_id_number[i]; + } + colnames(res) = colnames_vec; + + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// +// get_cl_present method2: iterate over only the non-zero elements in a column in a sparse matrix, using RcppParallel +////////////////////////////////////////////////////////////////////////////////////////////////////// + +/*To use parallelFor, create a Worker object that defines an operator() which is called by the parallel scheduler.*/ + +struct ColumnPresentSparse : public Worker +{ + // source matrix and maps + beachmat::lin_sparse_matrix *matrix_ptr; + + std::vector mat_cluster_vector; + + std::vector cl; + + double lowth; + // destination matrix + RMatrix output; + + // initialize with source, cl_id and destination + ColumnPresentSparse(beachmat::lin_sparse_matrix *matrix_ptr, + std::vector mat_cluster_vector, + std::vector cl, + double lowth, + NumericMatrix output) + : matrix_ptr(matrix_ptr), mat_cluster_vector(mat_cluster_vector), cl(cl), lowth(lowth), output(output) {} + + // get the column sum of the given cols + void operator()(std::size_t begin, std::size_t end) + { + std::vector workspace_x(matrix_ptr->get_nrow()); + std::vector workspace_i(matrix_ptr->get_nrow()); + for (int col_i = begin; col_i < end; col_i++) + { + + if (cl[col_i] < 1) + continue; + + // loop over col_i-th column of mat matrix + auto indices = matrix_ptr->get_col(col_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; + auto iptr = indices.i; + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + + if (*(xptr + row_i) < lowth) + continue; + + output(*(iptr + row_i), mat_cluster_vector[col_i]) += 1.0; + } + } + } +}; + +/*The function calls the ColumnPresentSparse*/ +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_present_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll, double lowth) +{ + + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector cl_all_cl_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(cl_all_cl_name, mat_name); + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(cl_all_cl_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(cl_all_cl_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Count cells in each cluster + unique_clusters = number of clusters + cluster_id_number = number of cells in each cluster correspond to colnames_vec */ + int unique_clusters = cluster_col_map.size(); + std::vector cluster_id_number(unique_clusters, 0); + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + cluster_id_number[cluster_col_map[cl[i]]]++; + } + + /* Loop though sparse matrix and access non-zero entry + res is the matrix to store sum valuse in each cluster, dim=number of genes*number of clusters + loop through each column of the sparse matrix mat. For each non-zero entry, find its cluster and column in res, add into the value*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), unique_clusters); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + + // column mean sparse functor (pass input and output matrixes) + auto matrix_ptr = ptr.get(); + ColumnPresentSparse column_present_sparse(matrix_ptr, mat_cluster_vector, cl, lowth, res); + + // call parallelFor to do the work + parallelFor(0, ptr->get_ncol(), column_present_sparse, 20); + + // loop over columns of res matrix, and divide by number of cells in each cluster + for (int i = 0; i < res.ncol(); i++) + { + NumericMatrix::Column col = res(_, i); + col = col / cluster_id_number[i]; + } + colnames(res) = colnames_vec; + + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////// +// get_cl_sq_means method1: iterate over only the non-zero elements in a column in a sparse matrix +////////////////////////////////////////////////////////////////////////////////// + +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_sqr_means(Rcpp::RObject mat, Rcpp::IntegerVector clAll) +{ + + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector cl_all_cl_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(cl_all_cl_name, mat_name); + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(cl_all_cl_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(cl_all_cl_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Count cells in each cluster + unique_clusters = number of clusters = 10 + cluster_id_number = number of cells in each cluster correspond to colnames_vec */ + int unique_clusters = cluster_col_map.size(); + std::vector cluster_id_number(unique_clusters, 0); + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + cluster_id_number[cluster_col_map[cl[i]]]++; + } + + /* Loop though sparse matrix and access non-zero entry + res is the matrix to store sum valuse in each cluster, dim=number of genes*number of clusters + loop through each column of the sparse matrix mat. For each non-zero entry, find its cluster and column in res, add into the value*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), unique_clusters); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + for (int col_i = 0; col_i < ptr->get_ncol(); col_i++) + { + // skip the column if it doesn't exist in clAll + if (cl[col_i] < 1) + continue; + + // loop over col_i-th column of mat matrix + auto indices = ptr->get_col(col_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; // row values + auto iptr = indices.i; // row indices + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + + res(*(iptr + row_i), mat_cluster_vector[col_i]) += std::pow(*(xptr + row_i),2.0); + } + } + + // loop over columns of res matrix, and divide by number of cells in each cluster + for (int i = 0; i < res.ncol(); i++) + { + NumericMatrix::Column col = res(_, i); + col = col / cluster_id_number[i]; + } + colnames(res) = colnames_vec; + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////////////////////////// +// get_cl_sq_means method2: iterate over only the non-zero elements in a column in a sparse matrix, using RcppParallel +////////////////////////////////////////////////////////////////////////////////////////////////////// + +struct ColumnSqrMeansSparse : public Worker +{ + // source matrix and maps + beachmat::lin_sparse_matrix *matrix_ptr; + + std::vector mat_cluster_vector; + + std::vector cl; + // destination matrix + RMatrix output; + + // initialize with source, cl_id and destination + ColumnSqrMeansSparse(beachmat::lin_sparse_matrix *matrix_ptr, + std::vector mat_cluster_vector, + std::vector cl, + NumericMatrix output) + : matrix_ptr(matrix_ptr), mat_cluster_vector(mat_cluster_vector), cl(cl), output(output) {} + + // get the column sum of the given cols + void operator()(std::size_t begin, std::size_t end) + { + std::vector workspace_x(matrix_ptr->get_nrow()); + std::vector workspace_i(matrix_ptr->get_nrow()); + for (int col_i = begin; col_i < end; col_i++) + { + + if (cl[col_i] < 1) + continue; + + // loop over col_i-th column of mat matrix + auto indices = matrix_ptr->get_col(col_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; // row values + auto iptr = indices.i; // row indices + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + + output(*(iptr + row_i), mat_cluster_vector[col_i]) += std::pow(*(xptr + row_i), 2.0); + } + } + } +}; + +/*The function calls the ColumnSqrMeansSparse*/ +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_sqr_means_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll) +{ + + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector cl_all_cl_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(cl_all_cl_name, mat_name); + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(cl_all_cl_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(cl_all_cl_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Count cells in each cluster + unique_clusters = number of clusters = 10 + cluster_id_number = number of cells in each cluster correspond to colnames_vec */ + int unique_clusters = cluster_col_map.size(); + std::vector cluster_id_number(unique_clusters, 0); + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + cluster_id_number[cluster_col_map[cl[i]]]++; + } + + /* Loop though sparse matrix and access non-zero entry + res is the matrix to store sum valuse in each cluster, dim=number of genes*number of clusters + loop through each column of the sparse matrix mat. For each non-zero entry, find its cluster and column in res, add into the value*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), unique_clusters); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + + // column mean sparse functor (pass input and output matrixes) + auto matrix_ptr = ptr.get(); + ColumnSqrMeansSparse column_sqr_means_sparse(matrix_ptr, mat_cluster_vector, cl, res); + + // call parallelFor to do the work + parallelFor(0, ptr->get_ncol(), column_sqr_means_sparse); + + // loop over columns of res matrix, and divide by number of cells in each cluster + for (int i = 0; i < res.ncol(); i++) + { + NumericMatrix::Column col = res(_, i); + col = col / cluster_id_number[i]; + } + + colnames(res) = colnames_vec; + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////// +// get_cl_median method1: iterate over only the non-zero elements in a column in a sparse matrix +////////////////////////////////////////////////////////////////////////////////// + +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_medians(Rcpp::RObject mat, Rcpp::IntegerVector clAll) +{ + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector cl_all_cl_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(cl_all_cl_name, mat_name); //cl_pos is the position number of cl_all_cl_name in the count matrix + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(cl_all_cl_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(cl_all_cl_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash map: cluster_col_pos_map is the map for vector of position in each cluster*/ + std::unordered_map> cluster_col_pos_map; + for (int i = 0; i < cl.size(); i++) + { + + if (cl[i] < 1) + continue; + + cluster_col_pos_map[cl[i]].push_back(i); + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster the column number in res matrix + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Loop through cluster_col_pos_map and create vector of vector*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), cluster_col_pos_map.size()); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + + for (auto it = cluster_col_pos_map.begin(); it != cluster_col_pos_map.end(); ++it) + { + auto cluster_id = it->first; + auto pos_vec = it->second; + + std::vector> sub_mat(ptr->get_nrow()); + for (auto pos_i : pos_vec) + { + // loop over col_i-th column of sub mat matrix + auto indices = ptr->get_col(pos_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; + auto iptr = indices.i; + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + + sub_mat[*(iptr + row_i)].push_back(*(xptr + row_i)); + } + } + + size_t n = pos_vec.size() / 2; + + for (int i = 0; i < sub_mat.size(); i++) + { + sub_mat[i].resize(pos_vec.size(), 0); + + std::nth_element(sub_mat[i].begin(), sub_mat[i].begin() + n, sub_mat[i].end()); + double vn = sub_mat[i][n]; + + if (pos_vec.size() % 2 == 1) + { + + res(i, mat_cluster_vector[pos_vec[0]]) = vn; + } + else + { + + std::nth_element(sub_mat[i].begin(), sub_mat[i].begin() + n - 1, sub_mat[i].end()); + res(i, mat_cluster_vector[pos_vec[0]]) = 0.5 * (vn + sub_mat[i][n - 1]); + } + } + } + + colnames(res) = colnames_vec; + + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} + +////////////////////////////////////////////////////////////////////////////////// +// get_cl_median method2: iterate over only the non-zero elements in a column in a sparse matrix,using RcppParallel +////////////////////////////////////////////////////////////////////////////////// + +struct ColumnMedianSparse : public Worker +{ + // source matrix and maps + std::vector> sub_mat; + + std::vector mat_cluster_vector; + + std::vector pos_vec; + + size_t n; + // destination matrix + RMatrix output; + + // initialize with source, cl_id and destination + ColumnMedianSparse(std::vector> sub_mat, + std::vector mat_cluster_vector, + std::vector pos_vec, + size_t n, + NumericMatrix output) + : sub_mat(sub_mat), mat_cluster_vector(mat_cluster_vector), pos_vec(pos_vec), n(n), output(output) {} + + // get the column sum of the given cols + + void operator()(std::size_t begin, std::size_t end) + { + + for (int i = begin; i < end; i++) + { + sub_mat[i].resize(pos_vec.size(), 0); + + std::nth_element(sub_mat[i].begin(), sub_mat[i].begin() + n, sub_mat[i].end()); + double vn = sub_mat[i][n]; + + if (pos_vec.size() % 2 == 1) + { + + output(i, mat_cluster_vector[pos_vec[0]]) = vn; + } + else + { + + std::nth_element(sub_mat[i].begin(), sub_mat[i].begin() + n - 1, sub_mat[i].end()); + output(i, mat_cluster_vector[pos_vec[0]]) = 0.5 * (vn + sub_mat[i][n - 1]); + } + } + } +}; + +//[[Rcpp::export]] +Rcpp::NumericMatrix rcpp_get_cl_medians_RcppParallel(Rcpp::RObject mat, Rcpp::IntegerVector clAll) +{ + // call R function to find positions of each cell in matrix + Function colnames_f("colnames"); + CharacterVector mat_name = colnames_f(mat); + + Function names_f("names"); + CharacterVector cl_all_cl_name = names_f(clAll); + + Function match_f("match"); + IntegerVector cl_pos = match_f(cl_all_cl_name, mat_name); //cl_pos is the position number of cl_all_cl_name in the count matrix + + CharacterVector levs_all = clAll.attr("levels"); + std::unordered_map cluster_col_name_id_map; + std::unordered_map cluster_col_name_lev_map; + + for (int i = 0; i < clAll.length(); i++) + { + cluster_col_name_id_map[std::string(cl_all_cl_name[i])] = clAll[i]; + cluster_col_name_lev_map[std::string(cl_all_cl_name[i])] = std::string(levs_all[clAll[i] - 1]); + } + std::vector cl(mat_name.length(), 0); + CharacterVector cl_colnames_vec(mat_name.length()); + for (int i = 0; i < cl_pos.length(); i++) + { + cl[cl_pos[i] - 1] = cluster_col_name_id_map[std::string(mat_name[cl_pos[i] - 1])]; + cl_colnames_vec[cl_pos[i] - 1] = cluster_col_name_lev_map[std::string(mat_name[cl_pos[i] - 1])]; + } + + /* Set up hash map: cluster_col_pos_map is the map for vector of position in each cluster*/ + std::unordered_map> cluster_col_pos_map; + for (int i = 0; i < cl.size(); i++) + { + + if (cl[i] < 1) + continue; + + cluster_col_pos_map[cl[i]].push_back(i); + } + + /* Set up hash maps for column cluster lookup: mat_cluster_vector is the column number in the res matrix for whole dataset, + cluster_col_map is for each cluster the column number in res matrix + levs is the level of the cluster id: "1" "2" "3" "4" "5" "6" "7" "8" "9" "23" + colnames_vec is the ordered cluster id: "1" "23" "2" "3" "9" "5" "6" "4" "7" "8"*/ + + std::vector mat_cluster_vector(cl.size(), 0); + std::unordered_map cluster_col_map; + int col_id = 0; + CharacterVector colnames_vec; + for (int i = 0; i < cl.size(); i++) + { + if (cl[i] < 1) + continue; + if (cluster_col_map.find(cl[i]) == cluster_col_map.end()) + { + cluster_col_map[cl[i]] = col_id; + mat_cluster_vector[i] = col_id; + col_id++; + colnames_vec.push_back(cl_colnames_vec[i]); + } + else + { + mat_cluster_vector[i] = cluster_col_map[cl[i]]; + } + } + + /* Loop through cluster_col_pos_map and create vector of vector*/ + auto ptr = beachmat::read_lin_sparse_block(mat); + NumericMatrix res(ptr->get_nrow(), cluster_col_pos_map.size()); + std::vector workspace_x(ptr->get_nrow()); + std::vector workspace_i(ptr->get_nrow()); + + for (auto it = cluster_col_pos_map.begin(); it != cluster_col_pos_map.end(); ++it) + { + auto cluster_id = it->first; + auto pos_vec = it->second; + + std::vector> sub_mat(ptr->get_nrow()); + for (auto pos_i : pos_vec) + { + // loop over col_i-th column of sub mat matrix + auto indices = ptr->get_col(pos_i, workspace_x.data(), workspace_i.data()); + auto xptr = indices.x; // row values + auto iptr = indices.i; // row indices + auto nnzero = indices.n; + + for (int row_i = 0; row_i < nnzero; row_i++) + { + + sub_mat[*(iptr + row_i)].push_back(*(xptr + row_i)); + } + } + + size_t n = pos_vec.size() / 2; + + // column mean sparse functor (pass input and output matrixes) + + ColumnMedianSparse column_median_sparse(sub_mat, mat_cluster_vector, pos_vec, n, res); + + // call parallelFor to do the work + parallelFor(0, sub_mat.size(), column_median_sparse); + } + + colnames(res) = colnames_vec; + // call R function to read and assign rownames + Function rownames_f("rownames"); + rownames(res) = rownames_f(mat); + return res; +} diff --git a/src/data_manipulation.cpp b/src/data_manipulation.cpp new file mode 100644 index 0000000..5b9a740 --- /dev/null +++ b/src/data_manipulation.cpp @@ -0,0 +1,460 @@ +//Taken from Seurat package for faster data manipulation + +#include +#include +#include +#include +#include +#include +#include + +using namespace Rcpp; +// [[Rcpp::depends(RcppEigen)]] +// [[Rcpp::depends(RcppProgress)]] + + + +typedef Eigen::Triplet T; +// [[Rcpp::export(rng = false)]] +Eigen::SparseMatrix RowMergeMatrices(Eigen::SparseMatrix mat1, Eigen::SparseMatrix mat2, std::vector< std::string > mat1_rownames, + std::vector< std::string > mat2_rownames, std::vector< std::string > all_rownames){ + + + // Set up hash maps for rowname based lookup + std::unordered_map mat1_map; + for(unsigned int i = 0; i < mat1_rownames.size(); i++){ + mat1_map[mat1_rownames[i]] = i; + } + std::unordered_map mat2_map; + for(unsigned int i = 0; i < mat2_rownames.size(); i++){ + mat2_map[mat2_rownames[i]] = i; + } + + // set up tripletList for new matrix creation + std::vector tripletList; + int num_rows = all_rownames.size(); + int num_col1 = mat1.cols(); + int num_col2 = mat2.cols(); + + + tripletList.reserve(mat1.nonZeros() + mat2.nonZeros()); + for(int i = 0; i < num_rows; i++){ + std::string key = all_rownames[i]; + if (mat1_map.count(key)){ + for(Eigen::SparseMatrix::InnerIterator it1(mat1, mat1_map[key]); it1; ++it1){ + tripletList.emplace_back(i, it1.col(), it1.value()); + } + } + if (mat2_map.count(key)){ + for(Eigen::SparseMatrix::InnerIterator it2(mat2, mat2_map[key]); it2; ++it2){ + tripletList.emplace_back(i, num_col1 + it2.col(), it2.value()); + } + } + } + Eigen::SparseMatrix combined_mat(num_rows, num_col1 + num_col2); + combined_mat.setFromTriplets(tripletList.begin(), tripletList.end()); + return combined_mat; +} + +// [[Rcpp::export(rng = false)]] +Eigen::SparseMatrix RowMergeMatricesList( + List mat_list, + List mat_rownames, + std::vector< std::string > all_rownames +) { + // Convert Rcpp lists to c++ vectors + std::vector> mat_vec; + mat_vec.reserve(mat_list.size()); + std::vector> rownames_vec; + rownames_vec.reserve(mat_rownames.size()); + std::vector> map_vec; + map_vec.reserve(mat_list.size()); + int num_cols = 0; + int num_nZero = 0; + // offsets keep track of which column to add in to + std::vector offsets; + for (unsigned int i = 0; i < mat_list.size(); i++) { + mat_vec.emplace_back(Rcpp::as>(mat_list.at(i))); + rownames_vec.push_back(mat_rownames[i]); + // Set up hash maps for rowname based lookup + std::unordered_map mat_map; + for (unsigned int j = 0; j < rownames_vec[i].size(); j++) { + mat_map[rownames_vec[i][j]] = j; + } + map_vec.emplace_back(mat_map); + offsets.push_back(num_cols); + num_cols += mat_vec[i].cols(); + num_nZero += mat_vec[i].nonZeros(); + } + // set up tripletList for new matrix creation + std::vector tripletList; + int num_rows = all_rownames.size(); + tripletList.reserve(num_nZero); + // loop over all rows and add nonzero entries to tripletList + for(int i = 0; i < num_rows; i++) { + std::string key = all_rownames[i]; + for(int j = 0; j < mat_vec.size(); j++) { + if (map_vec[j].count(key)) { + for(Eigen::SparseMatrix::InnerIterator it1(mat_vec[j], map_vec[j][key]); it1; ++it1){ + tripletList.emplace_back(i, it1.col() + offsets[j], it1.value()); + } + } + } + } + Eigen::SparseMatrix combined_mat(num_rows, num_cols); + combined_mat.setFromTriplets(tripletList.begin(), tripletList.end()); + return combined_mat; +} + + +// [[Rcpp::export(rng = false)]] +Eigen::SparseMatrix LogNorm(Eigen::SparseMatrix data, int scale_factor, bool display_progress = true){ + Progress p(data.outerSize(), display_progress); + Eigen::VectorXd colSums = data.transpose() * Eigen::VectorXd::Ones(data.rows()); + for (int k=0; k < data.outerSize(); ++k){ + p.increment(); + for (Eigen::SparseMatrix::InnerIterator it(data, k); it; ++it){ + it.valueRef() = log1p(double(it.value()) / colSums[k] * scale_factor); + } + } + return data; +} + +/* Performs column scaling and/or centering. Equivalent to using scale(mat, TRUE, apply(x,2,sd)) in R. + Note: Doesn't handle NA/NaNs in the same way the R implementation does, */ + +// [[Rcpp::export(rng = false)]] +NumericMatrix Standardize(Eigen::Map mat, bool display_progress = true){ + Progress p(mat.cols(), display_progress); + NumericMatrix std_mat(mat.rows(), mat.cols()); + for(int i=0; i < mat.cols(); ++i){ + p.increment(); + Eigen::ArrayXd r = mat.col(i).array(); + double colMean = r.mean(); + double colSdev = sqrt((r - colMean).square().sum() / (mat.rows() - 1)); + NumericMatrix::Column new_col = std_mat(_, i); + for(int j=0; j < new_col.size(); j++) { + new_col[j] = (r[j] - colMean) / colSdev; + } + } + return std_mat; +} + +// [[Rcpp::export(rng = false)]] +Eigen::MatrixXd FastSparseRowScale(Eigen::SparseMatrix mat, bool scale = true, bool center = true, + double scale_max = 10, bool display_progress = true){ + mat = mat.transpose(); + Progress p(mat.outerSize(), display_progress); + Eigen::MatrixXd scaled_mat(mat.rows(), mat.cols()); + for (int k=0; k::InnerIterator it(mat,k); it; ++it) + { + colMean += it.value(); + } + colMean = colMean / mat.rows(); + if (scale == true){ + int nnZero = 0; + if(center == true){ + for (Eigen::SparseMatrix::InnerIterator it(mat,k); it; ++it) + { + nnZero += 1; + colSdev += pow((it.value() - colMean), 2); + } + colSdev += pow(colMean, 2) * (mat.rows() - nnZero); + } + else{ + for (Eigen::SparseMatrix::InnerIterator it(mat,k); it; ++it) + { + colSdev += pow(it.value(), 2); + } + } + colSdev = sqrt(colSdev / (mat.rows() - 1)); + } + else{ + colSdev = 1; + } + if(center == false){ + colMean = 0; + } + Eigen::VectorXd col = Eigen::VectorXd(mat.col(k)); + scaled_mat.col(k) = (col.array() - colMean) / colSdev; + for(int s=0; s scale_max){ + scaled_mat(s,k) = scale_max; + } + } + } + return scaled_mat.transpose(); +} + +// [[Rcpp::export(rng = false)]] +Eigen::MatrixXd FastSparseRowScaleWithKnownStats(Eigen::SparseMatrix mat, NumericVector mu, NumericVector sigma, bool scale = true, bool center = true, + double scale_max = 10, bool display_progress = true){ + mat = mat.transpose(); + Progress p(mat.outerSize(), display_progress); + Eigen::MatrixXd scaled_mat(mat.rows(), mat.cols()); + for (int k=0; k scale_max){ + scaled_mat(s,k) = scale_max; + } + } + } + return scaled_mat.transpose(); +} + +/* Note: May not handle NA/NaNs in the same way the R implementation does, */ + +// [[Rcpp::export(rng = false)]] +Eigen::MatrixXd FastCov(Eigen::MatrixXd mat, bool center = true){ + if (center) { + mat = mat.rowwise() - mat.colwise().mean(); + } + Eigen::MatrixXd cov = (mat.adjoint() * mat) / double(mat.rows() - 1); + return(cov); +} + +// [[Rcpp::export(rng = false)]] +Eigen::MatrixXd FastCovMats(Eigen::MatrixXd mat1, Eigen::MatrixXd mat2, bool center = true){ + if(center){ + mat1 = mat1.rowwise() - mat1.colwise().mean(); + mat2 = mat2.rowwise() - mat2.colwise().mean(); + } + Eigen::MatrixXd cov = (mat1.adjoint() * mat2) / double(mat1.rows() - 1); + return(cov); +} + +/* Note: Faster than the R implementation but is not in-place */ +// [[Rcpp::export(rng = false)]] +Eigen::MatrixXd FastRBind(Eigen::MatrixXd mat1, Eigen::MatrixXd mat2){ + Eigen::MatrixXd mat3(mat1.rows() + mat2.rows(), mat1.cols()); + mat3 << mat1, mat2; + return(mat3); +} + +/* Calculates the row means of the logged values in non-log space */ +// [[Rcpp::export(rng = false)]] +Eigen::VectorXd SparseRowMean(Eigen::SparseMatrix mat, bool display_progress){ + int ncols = mat.cols(); + Eigen::VectorXd rowmeans(mat.rows()); + mat = mat.transpose(); + if(display_progress == true){ + Rcpp::Rcerr << "Calculating gene means" << std::endl; + } + Progress p(mat.outerSize(), display_progress); + for (int k=0; k::InnerIterator it(mat,k); it; ++it){ + rm += expm1(it.value()); + } + rm = rm / ncols; + rowmeans[k] = log1p(rm); + } + return(rowmeans); +} + + +/* use this if you know the row means */ +// [[Rcpp::export(rng = false)]] +NumericVector SparseRowVar2(Eigen::SparseMatrix mat, + NumericVector mu, + bool display_progress){ + mat = mat.transpose(); + if(display_progress == true){ + Rcpp::Rcerr << "Calculating gene variances" << std::endl; + } + Progress p(mat.outerSize(), display_progress); + NumericVector allVars = no_init(mat.cols()); + for (int k=0; k::InnerIterator it(mat,k); it; ++it) { + nZero -= 1; + colSum += pow(it.value() - mu[k], 2); + } + colSum += pow(mu[k], 2) * nZero; + allVars[k] = colSum / (mat.rows() - 1); + } + return(allVars); +} + +/* standardize matrix rows using given mean and standard deviation, + clip values larger than vmax to vmax, + then return variance for each row */ +// [[Rcpp::export(rng = false)]] +NumericVector SparseRowVarStd(Eigen::SparseMatrix mat, + NumericVector mu, + NumericVector sd, + double vmax, + bool display_progress){ + if(display_progress == true){ + Rcpp::Rcerr << "Calculating feature variances of standardized and clipped values" << std::endl; + } + mat = mat.transpose(); + NumericVector allVars(mat.cols()); + Progress p(mat.outerSize(), display_progress); + for (int k=0; k::InnerIterator it(mat,k); it; ++it) + { + nZero -= 1; + colSum += pow(std::min(vmax, (it.value() - mu[k]) / sd[k]), 2); + } + colSum += pow((0 - mu[k]) / sd[k], 2) * nZero; + allVars[k] = colSum / (mat.rows() - 1); + } + return(allVars); +} + +/* Calculate the variance to mean ratio (VMR) in non-logspace (return answer in +log-space) */ +// [[Rcpp::export(rng = false)]] +Eigen::VectorXd FastLogVMR(Eigen::SparseMatrix mat, bool display_progress){ + int ncols = mat.cols(); + Eigen::VectorXd rowdisp(mat.rows()); + mat = mat.transpose(); + if(display_progress == true){ + Rcpp::Rcerr << "Calculating gene variance to mean ratios" << std::endl; + } + Progress p(mat.outerSize(), display_progress); + for (int k=0; k::InnerIterator it(mat,k); it; ++it){ + rm += expm1(it.value()); + } + rm = rm / ncols; + for (Eigen::SparseMatrix::InnerIterator it(mat,k); it; ++it){ + v += pow(expm1(it.value()) - rm, 2); + nnZero += 1; + } + v = (v + (ncols - nnZero) * pow(rm, 2)) / (ncols - 1); + rowdisp[k] = log(v/rm); + + } + return(rowdisp); +} + +/* Calculates the variance of rows of a matrix */ +// [[Rcpp::export(rng = false)]] +NumericVector RowVar(Eigen::Map x){ + NumericVector out(x.rows()); + for(int i=0; i < x.rows(); ++i){ + Eigen::ArrayXd r = x.row(i).array(); + double rowMean = r.mean(); + out[i] = (r - rowMean).square().sum() / (x.cols() - 1); + } + return out; +} + +/* Calculate the variance in non-logspace (return answer in non-logspace) */ +// [[Rcpp::export(rng = false)]] +Eigen::VectorXd SparseRowVar(Eigen::SparseMatrix mat, bool display_progress){ + int ncols = mat.cols(); + Eigen::VectorXd rowdisp(mat.rows()); + mat = mat.transpose(); + if(display_progress == true){ + Rcpp::Rcerr << "Calculating gene variances" << std::endl; + } + Progress p(mat.outerSize(), display_progress); + for (int k=0; k::InnerIterator it(mat,k); it; ++it){ + rm += (it.value()); + } + rm = rm / ncols; + for (Eigen::SparseMatrix::InnerIterator it(mat,k); it; ++it){ + v += pow((it.value()) - rm, 2); + nnZero += 1; + } + v = (v + (ncols - nnZero) * pow(rm, 2)) / (ncols - 1); + rowdisp[k] = v; + } + return(rowdisp); +} + +//cols_idx should be 0-indexed +// [[Rcpp::export(rng = false)]] +Eigen::SparseMatrix ReplaceColsC(Eigen::SparseMatrix mat, NumericVector col_idx, Eigen::SparseMatrix replacement){ + int rep_idx = 0; + for(auto const &ci : col_idx){ + mat.col(ci) = replacement.col(rep_idx); + rep_idx += 1; + } + return(mat); +} + +template +std::vector sort_indexes(const std::vector &v) { + // initialize original index locations + std::vector idx(v.size()); + std::iota(idx.begin(), idx.end(), 0); + std::stable_sort(idx.begin(), idx.end(), + [&v](size_t i1, size_t i2) {return v[i1] < v[i2];}); + return idx; +} + +// [[Rcpp::export(rng = false)]] +List GraphToNeighborHelper(Eigen::SparseMatrix mat) { + mat = mat.transpose(); + //determine the number of neighbors + int n = 0; + for(Eigen::SparseMatrix::InnerIterator it(mat, 0); it; ++it) { + n += 1; + } + Eigen::MatrixXd nn_idx(mat.rows(), n); + Eigen::MatrixXd nn_dist(mat.rows(), n); + + for (int k=0; k row_idx; + std::vector row_dist; + row_idx.reserve(n); + row_dist.reserve(n); + for (Eigen::SparseMatrix::InnerIterator it(mat,k); it; ++it) { + if (n_k > (n-1)) { + Rcpp::stop("Not all cells have an equal number of neighbors."); + } + row_idx.push_back(it.row() + 1); + row_dist.push_back(it.value()); + n_k += 1; + } + if (n_k != n) { + Rcpp::Rcout << n << ":::" << n_k << std::endl; + Rcpp::stop("Not all cells have an equal number of neighbors."); + } + //order the idx based on dist + std::vector idx_order = sort_indexes(row_dist); + for(int i = 0; i < n; ++i) { + nn_idx(k, i) = row_idx[idx_order[i]]; + nn_dist(k, i) = row_dist[idx_order[i]]; + } + } + List neighbors = List::create(nn_idx, nn_dist); + return(neighbors); +} + diff --git a/src/data_manipulation.h b/src/data_manipulation.h new file mode 100644 index 0000000..892df0a --- /dev/null +++ b/src/data_manipulation.h @@ -0,0 +1,49 @@ +#ifndef DATA_MANIPULATION +#define DATA_MANIPULATION + +#include +#include +#include +#include +#include +#include + +using namespace Rcpp; + +//---------------------------------------------------- +Eigen::SparseMatrix RunUMISampling(Eigen::SparseMatrix data, int sample_val, + bool upsample, bool display_progress); +Eigen::SparseMatrix RunUMISamplingPerCell(Eigen::SparseMatrix data, + NumericVector sample_val, bool upsample, + bool display_progress); +Eigen::SparseMatrix RowMergeMatrices(Eigen::SparseMatrix mat1, + Eigen::SparseMatrix mat2, + std::vector< std::string > mat1_rownames, + std::vector< std::string > mat2_rownames, + std::vector< std::string > all_rownames); +Eigen::SparseMatrix RowMergeMatricesList(List mat_list, List mat_rownames, std::vector< std::string > all_rownames); +Eigen::SparseMatrix LogNorm(Eigen::SparseMatrix data, int scale_factor, + bool display_progress ); +NumericMatrix Standardize(const Eigen::Map mat, bool display_progress); +Eigen::MatrixXd FastSparseRowScale(Eigen::SparseMatrix mat, bool scale, bool center, + double scale_max, bool display_progress); +Eigen::MatrixXd FastCov(Eigen::MatrixXd mat, bool center); +Eigen::MatrixXd FastCovMats(Eigen::MatrixXd mat1, Eigen::MatrixXd mat2, bool center); +Eigen::MatrixXd FastRBind(Eigen::MatrixXd mat1, Eigen::MatrixXd mat2); +Eigen::VectorXd FastExpMean(Eigen::MatrixXd mat, bool display_progress); +Eigen::VectorXd FastRowMean(Eigen::MatrixXd mat, bool display_progress); +Eigen::VectorXd FastLogVMR(Eigen::SparseMatrix mat, bool display_progress); +Eigen::VectorXd FastExpVar(Eigen::SparseMatrix mat, bool display_progress); +Eigen::VectorXd SparseRowVar(Eigen::SparseMatrix mat, bool display_progress); +NumericVector SparseRowVar2(Eigen::SparseMatrix mat, + NumericVector mu, + bool display_progress); +NumericVector SparseRowVarStd(Eigen::SparseMatrix mat, + NumericVector mu, + NumericVector sd, + double vmax, + bool display_progress); +NumericVector RowVar(Eigen::Map x); +//---------------------------------------------------- + +#endif//DATA_MANIPULATION diff --git a/src/impute.cpp b/src/impute.cpp new file mode 100644 index 0000000..c259539 --- /dev/null +++ b/src/impute.cpp @@ -0,0 +1,55 @@ +#include + +using namespace Rcpp; +// [[Rcpp::export]] +void ImputeKnn(IntegerMatrix knn_idx, IntegerVector ref_idx, IntegerVector cell_idx, IntegerVector gene_idx, NumericMatrix dat, NumericMatrix impute_dat,Nullable w_mat_, bool transpose_input, bool transpose_output) +{ + NumericMatrix* w_mat = NULL; + float w = 1.0/knn_idx.ncol(); + if(w_mat_.isNotNull()){ + w_mat = new NumericMatrix(w_mat_); + } + + //gene_idx = gene_idx - 1; + //knn_idx = knn_idx - 1; + //ref_idx = ref_idx - 1; + //cell_idx = cell_idx - 1; + + + for(int i=0; i < cell_idx.length(); i++){ + int cell_id = cell_idx[i] - 1; + for(int j=0; j < knn_idx.ncol();j++){ + int knn_id = knn_idx(i, j) - 1; + int ref_id = ref_idx[knn_id] -1 ; + if(w_mat!=NULL){ + w = (*w_mat)(i,j); + } + for(IntegerVector::iterator g = gene_idx.begin(); g!=gene_idx.end(); g++){ + //Reset impute value to be zero. + int g_id = *g - 1; + if(j==0){ + if(transpose_output){ + impute_dat(cell_id, g_id) = 0; + } + else{ + impute_dat(g_id, cell_id) = 0; + } + } + float knn_val = 0; + if(transpose_input){ + knn_val = dat(ref_id, g_id); + } + else{ + knn_val = dat(g_id, ref_id); + } + if(transpose_output){ + impute_dat(cell_id, g_id) = impute_dat(cell_id,g_id) + knn_val * w; + } + else{ + impute_dat(g_id, cell_id) = impute_dat(g_id,cell_id) + knn_val * w; + } + } + } + } +} + diff --git a/src/snn.cpp b/src/snn.cpp new file mode 100644 index 0000000..f0ce183 --- /dev/null +++ b/src/snn.cpp @@ -0,0 +1,73 @@ +#include +#include "data_manipulation.h" +#include +#include +#include +#include +#include +#include + +using namespace Rcpp; +// [[Rcpp::depends(RcppEigen)]] +// [[Rcpp::depends(RcppProgress)]] + +typedef Eigen::Triplet T; +//[[Rcpp::export]] +Eigen::SparseMatrix ComputeSNN(Eigen::MatrixXd nn_ranked, double prune) { + std::vector tripletList; + int k = nn_ranked.cols(); + tripletList.reserve(nn_ranked.rows() * nn_ranked.cols()); + int max_n=0; + for(int j=0; j max_n){ + max_n = nn_ranked(i,j); + } + } + } + Eigen::SparseMatrix SNN(nn_ranked.rows(), max_n); + SNN.setFromTriplets(tripletList.begin(), tripletList.end()); + SNN = SNN * (SNN.transpose()); + for (int i=0; i < SNN.outerSize(); ++i){ + for (Eigen::SparseMatrix::InnerIterator it(SNN, i); it; ++it){ + it.valueRef() = it.value()/(k + (k - it.value())); + if(it.value() < prune){ + it.valueRef() = 0; + } + } + } + SNN.prune(0.0); // actually remove pruned values + return SNN; +} + +//[[Rcpp::export]] +void WriteEdgeFile(Eigen::SparseMatrix snn, String filename, bool display_progress){ + if (display_progress == true) { + Rcpp::Rcerr << "Writing SNN as edge file" << std::endl; + } + // Write out lower triangle + std::ofstream output; + output.open(filename); + Progress p(snn.outerSize(), display_progress); + for (int k=0; k < snn.outerSize(); ++k){ + p.increment(); + for (Eigen::SparseMatrix::InnerIterator it(snn, k); it; ++it){ + if(it.col() >= it.row()){ + continue; + } + output << std::setprecision(15) << it.col() << "\t" << it.row() << "\t" << it.value() << "\n"; + } + } + output.close(); +} + +// Wrapper function so that we don't have to go back into R before writing to file +//[[Rcpp::export]] +Eigen::SparseMatrix DirectSNNToFile(Eigen::MatrixXd nn_ranked, + double prune, bool display_progress, + String filename) { + Eigen::SparseMatrix SNN = ComputeSNN(nn_ranked, prune); + WriteEdgeFile(SNN, filename, display_progress); + return SNN; +} diff --git a/src/snn.h b/src/snn.h new file mode 100644 index 0000000..16dba77 --- /dev/null +++ b/src/snn.h @@ -0,0 +1,21 @@ +#ifndef SNN +#define SNN + +#include +#include "data_manipulation.h" +#include +#include +#include +#include +#include +#include + +using namespace Rcpp; + +//---------------------------------------------------- +Eigen::SparseMatrix ComputeSNN(Eigen::MatrixXd nn_ranked); +void WriteEdgeFile(Eigen::SparseMatrix snn, String filename, bool display_progress); +Eigen::SparseMatrix DirectSNNToFile(Eigen::MatrixXd nn_ranked, double prune, bool display_progress, String filename); +//---------------------------------------------------- + +#endif//SNN