diff --git a/.Rhistory b/.Rhistory index 07a9d36..9059bf2 100644 --- a/.Rhistory +++ b/.Rhistory @@ -67,8 +67,8 @@ complexity.limits = c(NA,NA), mad.complexity.limits = c(5,NA), topNgenes.limits = c(NA,NA), mad.topNgenes.limits = c(5,5), -n.topgnes=20, -do.doublets.fitler=T +n.topgenes=20, +do.doublets.filter=T ) ggsave(SO_filtered$plots$PostFilterCombined, filename = "./images/QC1.png", width = 10, height = 10) ggsave(SO_filtered$plots$ViolinPlotCombine, filename = "./images/QC2.png", width = 10, height = 10) @@ -315,12 +315,12 @@ dev.off() modScore MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","M1","M2" ) -ms_threshold=c("Macrophages .40","M1 .25","M2 .14"), +use.columns = c("Macrophages","M1","M2" ) +ms.threshold=c("Macrophages .40","M1 .25","M2 .14"), MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","M1","M2" ), -ms_threshold=c("Macrophages .40","M1 .25","M2 .14"), +use.columns = c("Macrophages","M1","M2" ), +ms.threshold=c("Macrophages .40","M1 .25","M2 .14"), use_assay = "SCT", general.class=c("Macrophages"), lvl.vec = c('Macrophages-M1','Macrophages-M2'), @@ -333,8 +333,8 @@ step.size = 0.1 modScore MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","M1","M2" ), -ms_threshold=c("Macrophages .40","M1 .25","M2 .14"), +use.columns = c("Macrophages","M1","M2" ), +ms.threshold=c("Macrophages .40","M1 .25","M2 .14"), use_assay = "SCT", general.class=c("Macrophages"), multi.lvl = FALSE, @@ -347,8 +347,8 @@ step.size = 0.1 modScore MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","M1","M2" ), -ms_threshold=c("Macrophages .40","M1 .25","M2 .14"), +use.columns = c("Macrophages","M1","M2" ), +ms.threshold=c("Macrophages .40","M1 .25","M2 .14"), general.class=c("Macrophages"), multi.lvl = FALSE, reduction = "umap", @@ -359,8 +359,8 @@ step.size = 0.1 ) MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","M1","M2" ), -ms_threshold=c("Macrophages .40","M1 .25","M2 .14"), +use.columns = c("Macrophages","M1","M2" ), +ms.threshold=c("Macrophages .40","M1 .25","M2 .14"), multi.lvl = FALSE, reduction = "umap", nbins = 10, @@ -370,8 +370,8 @@ step.size = 0.1 ) MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","M1","M2" ), -ms_threshold=c("Macrophages .40","M1 .25","M2 .14"), +use.columns = c("Macrophages","M1","M2" ), +ms.threshold=c("Macrophages .40","M1 .25","M2 .14"), general.class=c("Macrophages","M1","M2"), multi.lvl = FALSE, reduction = "umap", @@ -383,8 +383,8 @@ step.size = 0.1 Marker_Table MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","Monocytes","CD8_T" ), -ms_threshold=c("Macrophages .40","Monocytes .25","CD8_T .14"), +use.columns = c("Macrophages","Monocytes","CD8_T" ), +ms.threshold=c("Macrophages .40","Monocytes .25","CD8_T .14"), general.class=c("Macrophages","Monocytes","CD8_T"), multi.lvl = FALSE, reduction = "umap", @@ -395,8 +395,8 @@ step.size = 0.1 ) MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Macrophages","Neutrophils","CD8_T" ), -ms_threshold=c("Macrophages .40","Neutrophils .25","CD8_T .14"), +use.columns = c("Macrophages","Neutrophils","CD8_T" ), +ms.threshold=c("Macrophages .40","Neutrophils .25","CD8_T .14"), general.class=c("Macrophages","Neutrophils","CD8_T"), multi.lvl = FALSE, reduction = "umap", @@ -407,8 +407,8 @@ step.size = 0.1 ) MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, -use_columns = c("Neutrophils","Macrophages","CD8_T" ), -ms_threshold=c("Neutrophils .25","Macrophages .40","CD8_T .14"), +use.columns = c("Neutrophils","Macrophages","CD8_T" ), +ms.threshold=c("Neutrophils .25","Macrophages .40","CD8_T .14"), general.class=c("Neutrophils","Macrophages","CD8_T"), multi.lvl = FALSE, reduction = "umap", diff --git a/.gitignore b/.gitignore index fdd4445..d878017 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,7 @@ inst/doc *.rds /doc/ /Meta/ + +.github +.github.zip +decision_log.md \ No newline at end of file diff --git a/DESCRIPTION b/DESCRIPTION index e74cdc5..38364a5 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -92,4 +92,5 @@ Imports: htmlwidgets, scDblFinder , BiocParallel + , patchwork Config/testthat/edition: 3 diff --git a/NAMESPACE b/NAMESPACE index 6e6b355..49bc794 100755 --- a/NAMESPACE +++ b/NAMESPACE @@ -14,11 +14,11 @@ export(dotPlotMet) export(dualLabeling) export(filterQC) export(filterSeuratObjectByMetadata) +export(harmonyBatchCorrect) export(heatmapSC) export(launch_module_score_app) export(modScore) export(nameClusters) -export(object) export(palantir_api_call) export(plotMetadata) export(processRawData) @@ -46,12 +46,16 @@ import(httr) import(jsonlite) import(magrittr) import(parallel) +importFrom(tidyr, pivot_longer) import(plotly) import(quantmod) import(reshape2) import(rlang) import(scales) +importFrom(stringr, str_split) +import(stringr) import(tibble) +import(tidyr) import(tidyverse) import(tools) import(utils) @@ -135,6 +139,7 @@ importFrom(gridExtra,arrangeGrob) importFrom(gridExtra,tableGrob) importFrom(htmlwidgets,saveWidget) importFrom(magrittr,"%>%") +importFrom(patchwork,plot_layout) importFrom(plotly,as_widget) importFrom(plotly,ggplotly) importFrom(plotly,plot_ly) diff --git a/R/3D_tSNE.R b/R/3D_tSNE.R index fb8ab05..9896cc5 100644 --- a/R/3D_tSNE.R +++ b/R/3D_tSNE.R @@ -19,6 +19,20 @@ #' @importFrom htmlwidgets saveWidget #' #' @export +#' +#' @return A list with a plotly 3D TSNE plot (`figure`) and TSNE coordinates +#' (`tsne.df`). +#' +#' @examples +#' \dontrun{ +#' out <- tSNE3D( +#' object = seurat_obj, +#' color.variable = "cell_type", +#' label.variable = "orig.ident", +#' npcs = 15, +#' save.plot = FALSE +#' ) +#' } tSNE3D <- function(object, color.variable, diff --git a/R/AggregateCounts.R b/R/AggregateCounts.R index 7fc9f0b..699dab1 100644 --- a/R/AggregateCounts.R +++ b/R/AggregateCounts.R @@ -1,33 +1,44 @@ -##' @title Aggregate Counts (Pseudobulk) -##' @description Compute pseudobulk expression by averaging expression across groups -##' defined by one or more metadata columns, and return a tidy table. -##' @details Uses Seurat's `AverageExpression()` on the `SCT` assay to compute -##' group-wise average expression for each feature. Also produces a -##' bar plot (via `ggplot2`/`plotly`) showing the number of cells per -##' pseudobulk group and warns if any group contains only one cell. -##' -##' @param object Seurat-class object. -##' @param var.group Character vector of metadata column names used to define -##' pseudobulk groups. When multiple columns are supplied, an -##' interaction of these columns defines the groups. -##' @param slot Character name of the assay data layer passed to -##' `AverageExpression()` (e.g., "data", "counts", or "scale.data"). -##' -##' @return A data.frame of pseudobulk expression with columns `Gene` followed by -##' one column per pseudobulk group. Column names are sanitized to -##' contain only alphanumeric/underscore characters. -##' -##' @import Seurat -##' @import tidyverse -##' @import ggplot2 -##' @import plotly -##' @importFrom dplyr select -##' -##' @export +#' @title Aggregate Counts (Pseudobulk) +#' @description Compute pseudobulk expression by averaging expression across groups +#' defined by one or more metadata columns, and return a tidy table. +#' @details Uses Seurat's `AverageExpression()` on the `SCT` assay to compute +#' group-wise average expression for each feature. Also produces a +#' bar plot (via `ggplot2`/`plotly`) showing the number of cells per +#' pseudobulk group and warns if any group contains only one cell. +#' +#' @param object Seurat-class object. +#' @param var.group Character vector of metadata column names used to define +#' pseudobulk groups. When multiple columns are supplied, an +#' interaction of these columns defines the groups. +#' @param slot Character name of the assay data layer passed to +#' `AverageExpression()` (e.g., "data", "counts", or "scale.data"). +#' @param interactive If TRUE, draw plotly plot (default is FALSE) +#' +#' @import Seurat +#' @import tidyverse +#' @import ggplot2 +#' @import plotly +#' @importFrom dplyr select +#' +#' @export +#' +#' @return A data.frame of pseudobulk expression with columns `Gene` followed by +#' one column per pseudobulk group. Column names are sanitized to +#' contain only alphanumeric/underscore characters. +#' +#' @examples +#' \dontrun{ +#' out <- aggregateCounts( +#' object = seurat_obj, +#' var.group = c("orig.ident", "condition"), +#' slot = "data" +#' ) +#' } aggregateCounts <- function(object, var.group, - slot){ + slot="data", + interactive=FALSE){ ## --------------- ## @@ -73,16 +84,19 @@ aggregateCounts <- function(object, )) } - p <- ggplotly(ggplot(df, aes(x = pseudobulk_group, y = Freq)) + + p <- ggplot(df, aes(x = pseudobulk_group, y = Freq)) + geom_bar(stat = "identity", position = "stack") + labs(y = "Counts", x = "Pseudobulk Groups", title = "Number of Cells in each Pseudobulk Group") + - theme(axis.text.x = element_text(angle = 90, hjust = 1))) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) - print(p) + if(interactive==T){ + p <- ggplotly(p) + } } else { stop("All columns in var.group must be factors or characters") } - return(pseudobulk) + return(list(data=pseudobulk, + plots=p)) } \ No newline at end of file diff --git a/R/Annotate_Cell_Types.R b/R/Annotate_Cell_Types.R index 8a8cf0a..bbdc84b 100755 --- a/R/Annotate_Cell_Types.R +++ b/R/Annotate_Cell_Types.R @@ -1,8 +1,7 @@ -#' @title Annotating cell types using SingleR module -#' @description SingleR is an automatic annotation method for single-cell -#' RNA sequencing (scRNAseq) data (Aran et al. 2019). Given a reference dataset -#' of samples (single-cell or bulk) with known labels, it labels new cells -#' from a test dataset based on similarity to the reference. +#' @title Cell Type Annotation with SingleR [CCBR] [scRNA-seq] +#' @description Annotate the cell types of your cells using SingleR (Aran et al., 2019). This +#' function takes a combined Seurat object after PC reduction and assigns cells +#' to a category (for example, stem cells or T cells) based on genomic profile. #' @details This function is Step 5 of the basic Single-Cell RNA-seq workflow. #' It is the starting point for downstream visualization, subsetting, and #' analysis. It takes a combined seurat object as input, such as the one created @@ -22,8 +21,7 @@ #' Default is NULL #' @param use.clusters Provide cluster identities for each cell. #' Default is NULL - - +#' #' #' @import Seurat #' @import cowplot @@ -36,9 +34,17 @@ #' @export #' #' @return a Seurat object with additional metadata - - - +#' +#' @examples +#' \dontrun{ +#' out <- annotateCellTypes( +#' object = combined_so, +#' species = "Human", +#' reduction.type = "umap" +#' ) +#' } +#' +#' annotateCellTypes <- function(object, species = "Mouse", reduction.type = "umap", diff --git a/R/Color_by_Gene.R b/R/Color_by_Gene.R index 3ddaab9..82e96dd 100644 --- a/R/Color_by_Gene.R +++ b/R/Color_by_Gene.R @@ -35,8 +35,17 @@ #' @export #' #' @return a Seurat object with additional metadata or gene table and plot - - +#' +#' @examples +#' \dontrun{ +#' out <- colorByGene( +#' object = anno_so, +#' samples.to.include = c("sample1", "sample2"), +#' gene = c("CD3D", "MS4A1"), +#' reduction.type = "umap" +#' ) +#' } +#' colorByGene <- function(object, samples.to.include, @@ -65,16 +74,14 @@ colorByGene <- function(object, ## --------------- ## - print(object) # checking for samples - if(any(grepl('c\\(|\\[\\]',samples))) { - samples = eval(parse(text = gsub('\\[\\]', 'c()', samples))) - }else{ - samples=samples + if (is.character(samples.to.include) && length(samples.to.include) == 1 && + grepl('c\\(|\\[\\]', samples.to.include)) { + samples.to.include <- eval(parse(text = gsub('\\[\\]', 'c()', samples.to.include))) } # if none specified, using ALL - if (length(samples) == 0) { - samples = unique(object@meta.data$orig.ident) + if (length(samples.to.include) == 0) { + samples.to.include = unique(object@meta.data$orig.ident) } # Fix for underscore @@ -85,13 +92,13 @@ colorByGene <- function(object, names(sample.name) = names(object@active.ident) object@active.ident <- as.factor(vector()) object@active.ident <- sample.name - object.sub = subset(object, ident = samples) + object.sub = subset(object, ident = samples.to.include) } else { sample.name = as.factor(object@meta.data$orig.ident) names(sample.name) = names(object@active.ident) object@active.ident <- as.factor(vector()) object@active.ident <- sample.name - object.sub = subset(object, ident = samples) + object.sub = subset(object, ident = samples.to.include) } #Check input for missing genes diff --git a/R/Color_by_Genes_Automatic.R b/R/Color_by_Genes_Automatic.R index d81409b..88bff98 100644 --- a/R/Color_by_Genes_Automatic.R +++ b/R/Color_by_Genes_Automatic.R @@ -46,17 +46,21 @@ #' @return arranged grob of dimension reduction plots colored by individual #' marker expression -colorByMarkerTable <- function (object, samples.subset, samples.to.display, - manual.genes = c(), marker.table, - cells.of.interest, protein.presence = FALSE, assay = "SCT", slot = "scale.data", - reduction.type = "umap", point.transparency = 0.5, point.shape = 16, - cite.seq = FALSE){ +colorByMarkerTable <- function(object, + samples.subset, + samples.to.display, + manual.genes = c(), + marker.table, + cells.of.interest, + protein.presence = FALSE, + assay = "SCT", + slot = "scale.data", + reduction.type = "umap", + point.transparency = 0.5, + point.shape = 16, + cite.seq = FALSE + ){ - library(ggplot2) - library(Seurat) - library(stringr) - library(grid) - library(gridExtra) .plotMarkers <- function(markers) { if (is.na(markers) == TRUE) { @@ -211,10 +215,12 @@ colorByMarkerTable <- function (object, samples.subset, samples.to.display, }) } - results <- list( - overall = cons.gg.storage, - celltype = indv_arranged, - manual_entry = manual.arranged) + results <- list("plots"=list( + "overall" = cons.gg.storage, + "celltype" = indv_arranged, + "manual_entry" = manual.arranged + ) + ) return(results) } diff --git a/R/Combine_and_Normalize.R b/R/Combine_and_Normalize.R index 98e8f65..ec351e3 100755 --- a/R/Combine_and_Normalize.R +++ b/R/Combine_and_Normalize.R @@ -92,6 +92,16 @@ #' #' @return Seurat Objects and QC plots #' +#' @examples +#' \dontrun{ +#' out <- combineNormalize( +#' object = filtered_so_list, +#' npcs = 30, +#' draw.umap = TRUE, +#' draw.tsne = TRUE +#' ) +#' } +#' combineNormalize <- function(object, diff --git a/R/Compare_Cell_Populations.R b/R/Compare_Cell_Populations.R index d427394..56fe700 100644 --- a/R/Compare_Cell_Populations.R +++ b/R/Compare_Cell_Populations.R @@ -249,8 +249,8 @@ compareCellPopulations <- function( # Return results result <- list( - 'Plots' = list('Barplot' = p2, 'Boxplot' = p2_Box), - 'Table' = ColTables$OutTable + 'plots' = list('Barplot' = p2, 'Boxplot' = p2_Box), + 'data' = ColTables$OutTable ) return(result) diff --git a/R/DEG_Gene_Expression_Markers.R b/R/DEG_Gene_Expression_Markers.R index 321333c..463c507 100755 --- a/R/DEG_Gene_Expression_Markers.R +++ b/R/DEG_Gene_Expression_Markers.R @@ -1,7 +1,7 @@ -#' @title DEG (Gene Expression Markers) -#' @description This function performs a DEG (differential expression of genes) -#' analysis on a merged Seurat object to identify expression markers -#' between different groups of cells (contrasts). +#' @title DE with Find Markers [CCBR] [scRNA-seq] +#' @description This function performs DE (differential expression) analysis on +#' a merged Seurat object to identify expression markers between different +#' groups of cells (contrasts). #' @details The recommended input is a merged Seurat object #' with SingleR annotations, along with its associated sample names and metadata #' @@ -20,8 +20,8 @@ #' Default is FALSE #' @param assay.to.use The assay to use for your DEG analysis. #' Default is SCT, but can use linearly scaled data by selecting RNA instead - - +#' +#' #' @import Seurat #' @import ggplot2 #' @import RColorBrewer @@ -41,9 +41,19 @@ #' @export #' #' @return a dataframe with DEG. - - - +#' +#' @examples +#' \dontrun{ +#' deg <- degGeneExpressionMarkers( +#' object = anno_so, +#' samples = c("sample1", "sample2"), +#' contrasts = c("A-B"), +#' parameter.to.test = "cluster" +#' ) +#' } +#' +#' +#' degGeneExpressionMarkers <- function (object, samples, contrasts, parameter.to.test = "orig_ident", test.to.use = "MAST", log.fc.threshold = 0.25, use.spark = FALSE, assay.to.use = "SCT") diff --git a/R/Dotplot_by_Metadata.R b/R/Dotplot_by_Metadata.R index f5beed2..d7f87ad 100644 --- a/R/Dotplot_by_Metadata.R +++ b/R/Dotplot_by_Metadata.R @@ -19,11 +19,23 @@ #' @param cell.reverse.sort If TRUE, Reverse plot order of metadata category #' factors (default is FALSE) #' @param dot.color Dot color (default is "dark blue") +#' #' @importFrom tidyr pivot_wider #' @importFrom Seurat Idents DotPlot +#' #' @export #' #' @return Dotplot with markers and cell types. +#' +#' @examples +#' \dontrun{ +#' p <- dotPlotMet( +#' object = anno_so, +#' metadata = "celltype", +#' cells = c("T cell", "B cell"), +#' markers = c("CD3D", "MS4A1") +#' ) +#' } dotPlotMet <- function(object, metadata, diff --git a/R/Dual_Labeling.R b/R/Dual_Labeling.R index b4ef133..9e0f906 100755 --- a/R/Dual_Labeling.R +++ b/R/Dual_Labeling.R @@ -1,33 +1,30 @@ -#' @title Plot coexpression of 2 markers using transcript and/or protein -#' expression values -#' @description This method provides visualization of coexpression of 2 genes -#' (or proteins) and additional methods for filtering for cells with gene -#' expression values that are above or below thresholds set for one or both -#' markers. The method allows for filtering (optional) of the Seurat object -#' using manually set expression thresholds. +#' @title Cell Annotation with Co-Expression [CCBR] [scRNA-seq] +#' @description Display co-expression of two chosen markers in your Seurat +#' object. Creates a metadata column containing annotations for cells that +#' correspond to marker expression thresholds. #' #' @param object Seurat-class object #' @param samples Samples to be included in the analysis #' @param marker.1 First gene/marker for coexpression analysis #' @param marker.2 Second gene/marker for coexpression analysis #' @param marker.1.type Slot to use for first marker. Choices are "SCT", -#' "protein","HTO" (default is "SCT") +#' "protein","HTO", or "Spatial" (default is "SCT") #' @param marker.2.type Slot to use for second marker. Choices are "SCT", -#' "protein","HTO" (default is "SCT") +#' "protein","HTO", or "Spatial" (default is "SCT") #' @param data.reduction Dimension Reduction method to use for image. Options -#' are "umap" or "tsne" (default is "umap") +#' are "umap", "tsne", or "both" (default is "both") #' @param point.size Point size for image (default is 0.5) #' @param point.shape Point shape for image (default is 16) #' @param point.transparency Point transparency for image (default is 0.5) -#' @param add.marker.thresholds Add marker thresholds on plot (default is FALSE) +#' @param add.marker.thresholds Add marker thresholds on plot (default is TRUE) #' @param marker.1.threshold Threshold set for first marker (default is 0.5) #' @param marker.2.threshold Threshold set for second marker (default is 0.5) #' @param filter.data Add new parameter column to metadata annotating where #' marker thresholds are applied (default is TRUE) -#' @param M1.filter.direction Annotate cells that have gene expression levels +#' @param marker.1.filter.direction Annotate cells that have gene expression levels #' for marker 1 using the marker 1 threshold. Choices are "greater than" #' or "less than" (default is "greater than") -#' @param M2.filter.direction Annotate cells that have gene expression levels +#' @param marker.2.filter.direction Annotate cells that have gene expression levels #' for marker 2 using the marker 2 threshold. Choices are "greater than" #' or "less than" (default is "greater than") #' @param apply.filter.1 If TRUE, apply the first filter (default is TRUE) @@ -35,19 +32,17 @@ #' @param filter.condition If TRUE, apply both filters 1 and 2 and take #' intersection. If FALSE, apply both filters and take the union. #' @param parameter.name Name for metadata column for new marker filters -#' (Default is "Marker") +#' (default is "My_CoExp") #' @param trim.marker.1 Trim top and bottom percentile of marker 1 signal to #' pre-scale trim values (below) to remove extremely low and high values -#' (Default is TRUE) +#' (default is FALSE) #' @param trim.marker.2 Trim top and bottom percentile of marker 2 signal to #' pre-scale trim values (below) to remove extremely low and high values -#' (Default is TRUE) -#' @param pre.scale.trim Set trimming percentile values (Defalut is 0.99) -#' @param density.heatmap Creates a additional heatmap showing the density -#' distribution of cells. (Default is FALSE) +#' (default is FALSE) +#' @param pre.scale.trim Set trimming percentile value (default is 0.99) #' @param display.unscaled.values Set to TRUE if you want to view the unscaled -#' gene/protein expression values (Default is FALSE) - +#' gene/protein expression values (default is FALSE) +#' #' @import Seurat #' @importFrom scales rescale #' @importFrom gridExtra arrangeGrob tableGrob @@ -63,7 +58,18 @@ #' @return a seurat object with optional additional metadata for cells that are #' positive or negative for gene markers, a coexpression plot and contingency #' table showing sum of cells filtered. - +#' +#' @examples +#' \dontrun{ +#' out <- dualLabeling( +#' object = anno_so, +#' samples = c("sample1"), +#' marker.1 = "CD3D", +#' marker.2 = "MS4A1", +#' data.reduction = "umap" +#' ) +#' } +#' dualLabeling <- function (object, samples, marker.1, @@ -568,16 +574,26 @@ dualLabeling <- function (object, } - if (data.reduction=='tsne'|data.reduction=='umap') { + if (data.reduction=='tsne') { result.list <- list("object" = so.sub, + "data"=list("plot_table" = g), "plots"=list( - "plot" = grob, - "plot_densityHM" = grobHM, - "plot_table" = g) + 'tsne' = grob, + "densityHM" = grobHM) ) - } else if (data.reduction=='both'){ + }else if (data.reduction=='umap') { + + result.list <- list("object" = so.sub, + "data"=list("plot_table" = g), + "plots"=list( + 'umap' = grob, + "densityHM" = grobHM) + ) + + + }else if (data.reduction=='both'){ result.list <- list("object" = so.sub, "data"=list("plot_table" = g), diff --git a/R/Filter_QC.R b/R/Filter_QC.R index e9a13a7..9592e76 100755 --- a/R/Filter_QC.R +++ b/R/Filter_QC.R @@ -1,6 +1,7 @@ -#' @title Filter & QC Samples -#' @description Filters cells and Genes for each sample and generates QC Plots -#' to evaluate data before and after filtering. +#' @title Filter Low Quality Cells (CCBR scRNA-seq) +#' @description Filters cells and genes across various criteria for each sample. +#' Multiple cell and gene filters can be selected to remove poor quality data +#' and noise while generating QC plots before and after filtering. #' @details This is Step 2 in the basic Single-Cell RNA-seq workflow. Multiple #' cell and gene filters can be selected to remove poor quality data and noise. #' Workflows can use this downstream of any Seurat Object. This tool is @@ -71,18 +72,18 @@ #' Usage c(lower limit, Upper Limit). E.g. setting to c(NA,50) will not set a #' lower limit and remove cells with greater than 50% of reads in the top N #' genes. (Default: c(NA,NA)) -#' @param mad.topNgenes.limitsSet Filter limits based on how many Median +#' @param mad.topNgenes.limits Filter limits based on how many Median #' Absolute Deviations an outlier cell will have. Calculated from the Median #' percentage of counts in the top N Genes. #' Usage c(lower limit, Upper Limit). E.g. setting to c(5,5) will remove all #' cells with more than 5 absolute deviations greater than or 5 absolute #' deviations less than the median percentage. (Default: c(5,5)) -#' @param n.topgnes Select the number of top highly expressed genes used to +#' @param n.topgenes Select the number of top highly expressed genes used to #' calculate the percentage of reads found in these genes. #' E.g. a value of 20 calculates the percentage of reads found in the top 20 #' most highly expressed Genes. #' (Default: 20) -#' @param do.doublets.fitler Use scDblFinder to identify and remove doublet +#' @param do.doublets.filter Use scDblFinder to identify and remove doublet #' cells. Doublets are defined as two cells that are sequenced under the same #' cellular barcode, for example, if they were captured in the same droplet. #' (Default: TRUE) @@ -104,12 +105,22 @@ #' @importFrom stringr str_split_fixed #' @importFrom stats mad median #' @importFrom grid grobHeight textGrob grid.newpage gTree grid.draw - +#' #' #' @export #' #' @return Seurat Object and QC plots - +#' +#' @examples +#' \dontrun{ +#' out <- filterQC( +#' object = so_list, +#' min.cells = 20, +#' n.topgenes = 20, +#' do.doublets.filter = TRUE +#' ) +#' } +#' filterQC <- function(object, ## Filter Samples @@ -125,8 +136,8 @@ filterQC <- function(object, mad.complexity.limits = c(5,NA), topNgenes.limits = c(NA,NA), mad.topNgenes.limits = c(5,5), - n.topgnes=20, - do.doublets.fitler=T, + n.topgenes=20, + do.doublets.filter=TRUE, ## dim Reduction settings plot.outliers="None", #options(None,UMAP,tSNE) @@ -138,7 +149,7 @@ filterQC <- function(object, high.cut.disp = 100000, selection.method = "vst", npcs = 30, - vars_to_regress=NULL, + vars.to.regress=NULL, seed.for.PCA = 42, seed.for.TSNE = 1, seed.for.UMAP = 42 @@ -155,7 +166,7 @@ filterQC <- function(object, ### Helper Functions ##### - .topNGenes <- function(so,n.topgnes) { + .topNGenes <- function(so,n.topgenes) { ##Extract counts table counts_matrix = GetAssayData(so, slot="counts") @@ -163,7 +174,7 @@ filterQC <- function(object, tbl= apply(counts_matrix,2,function(i){ cnts=i[order(i,decreasing=T)] - t20=sum(cnts[1:n.topgnes]) + t20=sum(cnts[1:n.topgenes]) total=sum(cnts) pertop20=(t20/total)*100 @@ -214,7 +225,7 @@ filterQC <- function(object, .plotViolin2=function(count.df,value){ axis.lab = unique(count.df$filt) ylabs=gsub(" \\(", "\n\\(",value) - ylabs=gsub(paste0(" Top",n.topgnes), paste0("\nTop",n.topgnes),ylabs) + ylabs=gsub(paste0(" Top",n.topgenes), paste0("\nTop",n.topgenes),ylabs) ### Set up table fore cut off lines ## clean up cutoff values @@ -301,7 +312,7 @@ filterQC <- function(object, # count.df$filt=factor(count.df$filt,levels = c('filt','raw')) count.df$filt=factor(count.df$filt,levels = c('raw','filt')) ylabs=gsub(" \\(", "\n\\(",value) - ylabs=gsub(paste0(" Top",n.topgnes), paste0("\nTop",n.topgnes),ylabs) + ylabs=gsub(paste0(" Top",n.topgenes), paste0("\nTop",n.topgenes),ylabs) ### Set up table fore cut off lines ## clean up cutoff values @@ -469,7 +480,7 @@ filterQC <- function(object, xlab = as.character(xaxis) ylab = as.character(yaxis) ylab=gsub(" \\(", "\n\\(",ylab) - ylab=gsub(paste0(" Top",n.topgnes), paste0("\nTop",n.topgnes),ylab) + ylab=gsub(paste0(" Top",n.topgenes), paste0("\nTop",n.topgenes),ylab) name = paste(ylab,"vs.",xlab) g =ggplot(count.df, aes(x=.data[[xaxis]], y=.data[[yaxis]],color = Sample))+ @@ -510,7 +521,7 @@ filterQC <- function(object, .plotViolinPost2=function(count.df,yaxis){ axis.lab = unique(count.df$Sample) ylabs=gsub(" \\(", "\n\\(",yaxis) - ylabs=gsub(paste0(" Top",n.topgnes), paste0("\nTop",n.topgnes),ylabs) + ylabs=gsub(paste0(" Top",n.topgenes), paste0("\nTop",n.topgenes),ylabs) g=ggplot(count.df, aes(x=Sample, y=(.data[[yaxis]]))) + @@ -548,7 +559,7 @@ filterQC <- function(object, if(plot.outliers!="none"){ so.nf.qcFiltr <- SCTransform(so.nf,do.correct.umi = TRUE, - vars.to.regress=vars_to_regress, + vars.to.regress=vars.to.regress, return.only.var.genes = FALSE) so.nf.qcFiltr = FindVariableFeatures(object = so.nf.qcFiltr, nfeatures = nfeatures, @@ -625,7 +636,7 @@ filterQC <- function(object, ## Caluclate filter Metrics ## calculate Counts in Top 20 Genes - so=.topNGenes(so,n.topgnes) + so=.topNGenes(so,n.topgenes) ## Counts(umi) Filter mad.ncounts.limits=.madCalc(so,'nCount_RNA',mad.ncounts.limits) @@ -700,7 +711,7 @@ filterQC <- function(object, ) ## doublets Filter - if(do.doublets.fitler==T){ + if(do.doublets.filter==T){ doublets.fitler <- so@meta.data$Doublet%in%"singlet" }else{ doublets.fitler=rep(TRUE,nrow(so@meta.data)) @@ -749,7 +760,7 @@ filterQC <- function(object, filtSum[,"Cells before Filtering"]=nrow(filter_matrix) filtSum[,"Cells after all Filters"]=sum(filterIndex) filtSum[,"Percent Remaining"]=perc.remain - topN.filterRename=paste0('% Counts in Top',n.topgnes,' Genes filter') + topN.filterRename=paste0('% Counts in Top',n.topgenes,' Genes filter') filtTbl=colSums(filter_matrix==F)%>%t()%>%as.data.frame() filtTbl=rename(filtTbl, 'UMI Count (nCount_RNA)' = 'ncounts.filter', @@ -767,7 +778,7 @@ filterQC <- function(object, ########################################################## # ## create Filter Limits table - topN.filterRename=paste0('% Counts in Top',n.topgnes,' Genes') + topN.filterRename=paste0('% Counts in Top',n.topgenes,' Genes') cat('VDJ Genes Removed: ',length(VDJgenesOut), '\n') cat('Minimum Cells per Gene: ',min.cells,'\n') cat('UMI Count (nCount_RNA) Limits: ',ncounts.limits,'\n') @@ -780,7 +791,7 @@ filterQC <- function(object, cat('MAD Complexity (log10GenesPerUMI) Limits: ',mad.complexity.limits,'\n') cat(topN.filterRename,' Limits: ',topNgenes.limits,'\n') cat('MAD ',topN.filterRename,' Limits: ',mad.topNgenes.limits,'\n') - cat('Doublets Filter: ',do.doublets.fitler,'\n') + cat('Doublets Filter: ',do.doublets.filter,'\n') @@ -821,7 +832,7 @@ filterQC <- function(object, paste0(c("Low:","High:"),topNgenes.limits)%>%paste(collapse = "\n") FiltLmts[,paste0('MAD ',topN.filterRename,'')]= paste0(c("Low:","High:"),mad.topNgenes.limits)%>%paste(collapse = "\n") - FiltLmts[,'DoubletFinder (scDblFinder)']=do.doublets.fitler + FiltLmts[,'DoubletFinder (scDblFinder)']=do.doublets.filter rownames(FiltLmts)=i ### Apply Filters #### @@ -878,13 +889,13 @@ filterQC <- function(object, ## calculate Counts in Top 20 Genes ##calculated after min.cell filter as well - so=.topNGenes(so,n.topgnes) + so=.topNGenes(so,n.topgenes) ## Annotate Doublets: #### ## Gene filter does not effect doublet ident and so not recalculated - if( do.doublets.fitler==T){ + if( do.doublets.filter==T){ sce <- as.SingleCellExperiment(so) set.seed(123) @@ -995,7 +1006,7 @@ filterQC <- function(object, table.meta$nFeature_RNA=as.numeric(table.meta$nFeature_RNA) table.meta$filt=factor(table.meta$filt,levels = c('raw','filt')) - topN.filterRename=paste0('% Counts in Top',n.topgnes,' Genes') + topN.filterRename=paste0('% Counts in Top',n.topgenes,' Genes') table.meta=rename(table.meta, 'UMI Count (nCount_RNA)' = 'nCount_RNA', diff --git a/R/Filter_Seurat_Object_by_Metadata.R b/R/Filter_Seurat_Object_by_Metadata.R index 2d76180..7b4a7a6 100644 --- a/R/Filter_Seurat_Object_by_Metadata.R +++ b/R/Filter_Seurat_Object_by_Metadata.R @@ -1,5 +1,6 @@ -#' @title Filter Seurat Object by Metadata -#' @description Filter and subset your Seurat object based on metadata column +#' @title Subset Seurat Object [CCBR] [scRNA-seq] +#' @description This function subsets your Seurat object by selecting a +#' metadata column and values matching the cells to pass forward in analysis. #' @details This is a downstream template that should be loaded after #' Step 5 of the pipeline (SingleR Annotations on Seurat Object) #' @@ -32,7 +33,7 @@ #' which have been highlighted. Default is 0.5 #' @param use.cite.seq.data TRUE if you would like to plot Antibody clusters #' from CITEseq instead of scRNA. - +#' #' #' @import Seurat #' @import ggplot2 @@ -49,8 +50,19 @@ #' @export #' #' @return a subset Seurat object - - +#' +#' @examples +#' \dontrun{ +#' out <- filterSeuratObjectByMetadata( +#' object = anno_so, +#' samples.to.include = c("sample1", "sample2"), +#' sample.name = "orig.ident", +#' category.to.filter = "celltype", +#' values.to.filter = c("T cell", "B cell") +#' ) +#' } +#' +#' filterSeuratObjectByMetadata <- function(object, samples.to.include, sample.name, diff --git a/R/Harmony.R b/R/Harmony.R index 85401dc..619eb1f 100644 --- a/R/Harmony.R +++ b/R/Harmony.R @@ -5,13 +5,16 @@ #' (SCT scale.data) to obtain PCA embeddings. Performs harmony on #' decomposed embedding and adjusts decomposed gene expression values #' by harmonized embedding. -#' @param seurat_object Seurat-class object +#' @param object Seurat-class object containing gene expression data and +#' metadata with the batch variable. #' @param nvar Number of variable genes to subset the gene expression data by #' (Default: 2000) #' @param genes.to.add Add genes that might not be found among variably #' expressed genes #' @param group.by.var Which variable should be accounted for when running #' batch correction +#' @param return.lognorm Logical; if TRUE, retain log-normalized assay behavior +#' in downstream handling. (Default: TRUE) #' @param npc Number of principal components to use when running Harmony #' (Default: 20) @@ -20,6 +23,7 @@ #' @import gridExtra #' @import RColorBrewer #' @import ggplot2 +#' @importFrom patchwork plot_layout #' #' @export #' @examples @@ -36,20 +40,13 @@ #' @return A list: adj.object with harmony-adjusted gene expression (SCT slot) #' adj.tsne: harmonized tSNE plot -object = readRDS('tests/testthat/fixtures/BRCA/BRCA_Combine_and_Renormalize_SO_downsample.rds') - harmonyBatchCorrect <- function(object, nvar = 2000, genes.to.add = c(), group.by.var, - return_lognorm = T, + return.lognorm = T, npc = 30) { -library(patchwork) -library(harmony) -library(Seurat) -library(ggplot2) -library(RColorBrewer) # Error and Warning Messages if(is.null(genes.to.add)){ @@ -145,14 +142,10 @@ library(RColorBrewer) object@reductions$pca@stdev <- pppca$d # Store original log-normalized data and scaling parameters for back-calculation - if (return_lognorm) { + if (return.lognorm) { library(Matrix) # Get log-normalized data for the variable features lognorm_data <- object@assays$SCT@data[mvf, , drop = FALSE] - print(str(object)) - print("hello") - print(class(lognorm_data)) - print(dim(lognorm_data)) # Calculate scaling parameters from the original scaled data #scale_center <- Matrix::rowMeans(lognorm_data) @@ -216,16 +209,17 @@ library(RColorBrewer) guides(colour = guide_legend(override.aes = list(size=5, alpha = 1))) + annotate("text", x = Inf, y = -Inf, label = "Harmonized UMAP", hjust = 1.1, vjust = -1, size = 5) - print((orig.tsne + harm.tsne) + plot_layout(ncol = 2)) - print((orig.umap + harm.umap) + plot_layout(ncol = 2)) - + + tsneComb=(orig.tsne + harm.tsne) + plot_layout(ncol = 2) + umapComb=(orig.umap + harm.umap) + plot_layout(ncol = 2) + # Calculate adjusted gene expression from embeddings harm.embeds <- object@reductions$harmony@cell.embeddings harm.lvl.backcalc.scaled <- harm.embeds %*% t(ppldngs) # Store batch-corrected scaled data in Harmony assay - if (return_lognorm) { + if (return.lognorm) { # Fast conversion back to log-normalized space # Direct vectorized operations on the transposed matrix harm.lvl.backcalc.lognorm <- t(harm.lvl.backcalc.scaled) * scaling_params$scale[mvf] + scaling_params$center[mvf] @@ -237,19 +231,28 @@ library(RColorBrewer) print("Batch-corrected scaled data stored in object@assays$Harmony@scale.data") } - # Insert back-calculated data into seurat + # Insert back-calculated data into seurat + print( "Insert back-calculated data into seurat") object[["Harmony"]] <- CreateAssayObject(data = harm.lvl.backcalc.lognorm) #object[["Harmony"]] <- CreateAssayObject(data = Matrix::Matrix(t(harm.lvl.backcalc.lognorm), sparse = TRUE)) object@assays$Harmony@scale.data <- t(harm.lvl.backcalc.scaled) + print( "Scale Harmony data") object <- ScaleData(object, assay = "Harmony", verbose = FALSE) + print( "re-run PCA on harmony") # re-run PCA on harmony embeddings using top variable genes (mvf) object <- RunPCA(object, assay = "Harmony", verbose = FALSE, features = rownames(object)) object <- FindNeighbors(object, reduction = "harmony", dims = 1:10, assay = "Harmony") + return( - list("object"=object) - ) + list("object"=object, + "plots"=list( + "tsne"=tsneComb, + "umap"=umapComb + ) + ) + ) } diff --git a/R/Heatmap.R b/R/Heatmap.R index 077bea8..0c50340 100755 --- a/R/Heatmap.R +++ b/R/Heatmap.R @@ -7,6 +7,8 @@ #' @param sample.names Sample names #' @param metadata Metadata column to plot #' @param transcripts Transcripts to plot +#' @param use.assay Assay to use for transcript expression values. Choices are +#' "SCT" or "Harmony" (default is "SCT") #' @param proteins Proteins to plot (default is NULL) #' @param heatmap.color Color for heatmap. Choices are "Cyan to Mustard", #' "Blue to Red", "Red to Vanilla", "Violet to Pink", "Bu Yl Rd", @@ -27,8 +29,8 @@ #' @param trim.outliers Remove outlier data (default is TRUE) #' @param trim.outliers.percentage Set outlier percentage (default is 0.01) #' @param order.heatmap.rows Order heatmap rows (default is FALSE) -#' @param row.order Gene vector to set row order. If NULL, use cluster order -#' (default is NULL) +#' @param row.order Gene vector to set row order. If empty, use cluster order +#' (default is empty vector) #' #' @import Seurat #' @importFrom ComplexHeatmap pheatmap @@ -47,11 +49,21 @@ #' @return This function returns a heatmap plot and the data underlying the #' heatmap. #' +#' @examples +#' \dontrun{ +#' out <- heatmapSC( +#' object = anno_so, +#' sample.names = c("sample1", "sample2"), +#' metadata = "celltype", +#' transcripts = c("CD3D", "MS4A1") +#' ) +#' } +#' heatmapSC <- function(object, sample.names, metadata, transcripts, - use_assay = 'SCT', + use.assay = 'SCT', proteins = NULL, heatmap.color = "Bu Yl Rd", plot.title = "Heatmap", @@ -314,21 +326,21 @@ heatmapSC <- function(object, df.mat1 = NULL if (length(transcripts) > 0) { if (length(transcripts) == 1) { - if(use_assay == 'SCT'){ + if(use.assay == 'SCT'){ df.mat1 <- vector(mode = "numeric", length = length(object$SCT@scale.data[transcripts,])) df.mat1 <- object$SCT@scale.data[transcripts,] - } else if (use_assay == 'Harmony'){ + } else if (use.assay == 'Harmony'){ df.mat1 <- vector(mode = "numeric", length = length(object$Harmony@scale.data[transcripts,])) df.mat1 <- object$Harmony@scale.data[transcripts,] } } else { - if(use_assay == 'SCT'){ + if(use.assay == 'SCT'){ df.mat1 <- as.matrix(object$SCT@scale.data[transcripts,]) - } else if (use_assay == 'Harmony'){ + } else if (use.assay == 'Harmony'){ df.mat1 <- as.matrix(object$Harmony@scale.data[transcripts,]) } } diff --git a/R/ModuleScore.R b/R/ModuleScore.R index ed57712..4839763 100644 --- a/R/ModuleScore.R +++ b/R/ModuleScore.R @@ -11,11 +11,13 @@ #' as the column names, and marker(s) as the entries #' in each column. #' Requires SCT@data to be present within Seurat Object -#' @param use_columns Select specific columns within Marker Table to analyze. +#' @param group.var Metadata column used for grouping in diagnostic plots. +#' (Default: "orig.ident") +#' @param use.columns Select specific columns within Marker Table to analyze. #' Markers from unselected columns won't be included. -#' @param ms_threshold Allow user-specified module score thresholds. +#' @param ms.threshold Allow user-specified module score thresholds. #' Provide one threshold for each Celltype you included -#' in the "use_columns" parameter. +#' in the "use.columns" parameter. #' For each Celltype, provide the Celltype name, #' then a space, then type your threshold for that Celltype. #' This threshold must be a number between 0.0 and 1.0. @@ -68,6 +70,7 @@ #' @import grid #' @import data.table #' @import utils +#' @import stringr str_split #' @importFrom dplyr select #' #' @export @@ -76,8 +79,8 @@ #' modScore( #' object = seuratObject, #' marker.table = immuneCellMarkers, -#' use_columns = c("CD4_T", "Treg", "Monocytes"), -#' ms_threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), +#' use.columns = c("CD4_T", "Treg", "Monocytes"), +#' ms.threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), #' general.class = c("CD4_T", "Monocytes"), #' multi.lvl = FALSE #' ) @@ -85,8 +88,8 @@ #' modScore( #' object = seuratObject, #' marker.table = immuneCellMarkers, -#' use_columns = c("CD4_T", "Treg", "Monocytes"), -#' ms_threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), +#' use.columns = c("CD4_T", "Treg", "Monocytes"), +#' ms.threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), #' general.class = c("CD4_T", "Monocytes"), #' multi.lvl = TRUE, #' lvl.df = parentChildTable @@ -99,9 +102,9 @@ modScore <- function(object, marker.table, - group_var = "orig.ident", - use_columns, - ms_threshold, + group.var = "orig.ident", + use.columns, + ms.threshold, general.class, multi.lvl = FALSE, lvl.df=NULL, @@ -111,18 +114,12 @@ modScore <- function(object, violin.ft.size = 6, step.size = 0.1) { - library(Seurat) - library(gridExtra) - library(grid) - library(dplyr) - library(stringr) - library(ggplot2) # Function for separating and calling cells by bimodal thresholds - .modScoreCall <- function(ms.meta, numeric_threshold, reject) { + .modScoreCall <- function(ms.meta, numeric.threshold, reject) { thres.ls <- list() for (i in 1:ncol(ms.meta)) { - thres.ls[[i]] <- rep(numeric_threshold[i], nrow(ms.meta)) + thres.ls[[i]] <- rep(numeric.threshold[i], nrow(ms.meta)) } thres.df <- data.frame(matrix(unlist(thres.ls), nrow = nrow(ms.meta))) thres.filter <- ms.meta > thres.df @@ -138,7 +135,7 @@ modScore <- function(object, # Upstream processing # String split celltype_thresholds - numeric portion - numeric_threshold <- sapply(stringr::str_split(ms_threshold, " "), function(x) as.numeric(x[2])) + numeric.threshold <- sapply(stringr::str_split(ms.threshold, " "), function(x) as.numeric(x[2])) if (!"Barcode" %in% colnames(object@meta.data)) { object@meta.data$Barcode <- rownames(object@meta.data) @@ -147,12 +144,12 @@ modScore <- function(object, colnames(object@meta.data)) # Marker table processing - marker.table <- marker.table[,use_columns] + marker.table <- marker.table[,use.columns] marker.tab <- unlist(marker.table) - celltypes <- sapply(str_split(ms_threshold, " "), function(x) as.character(x[1])) + celltypes <- sapply(str_split(ms.threshold, " "), function(x) as.character(x[1])) - if (any(!celltypes %in% use_columns)){ - unmatched_celltypes <- celltypes[!celltypes %in% use_columns] + if (any(!celltypes %in% use.columns)){ + unmatched_celltypes <- celltypes[!celltypes %in% use.columns] celltype_mismatch_message <- paste0("Labels from thresholds does not match columns from marker table: ",paste(unmatched_celltypes, collapse = ", ")) stop(celltype_mismatch_message) } @@ -163,9 +160,9 @@ modScore <- function(object, 0) { stop("No genes from list was found in data") } - if (length(numeric_threshold) != length(celltypes)) { - if (sum(numeric_threshold) == 0) { - numeric_threshold <- rep(0, length(celltypes)) + if (length(numeric.threshold) != length(celltypes)) { + if (sum(numeric.threshold) == 0) { + numeric.threshold <- rep(0, length(celltypes)) print("Module Score threshold set to zero - outputing preliminary data") } else { stop("Threshold length does not match # celltypes to analyze") @@ -173,7 +170,7 @@ modScore <- function(object, } # For each celltype, print out present / nonpresent genes, calculate MS and generate plots - names(numeric_threshold) <- celltypes + names(numeric.threshold) <- celltypes figures <- list() exclude_cells <- c() h = 0 @@ -238,26 +235,26 @@ modScore <- function(object, umap.pos <- clusmat %>% group_by(clusid) %>% dplyr::summarise(umap1.mean = mean(umap1), umap2.mean = mean(umap2)) title = as.character(m) clusmat <- clusmat %>% dplyr::arrange(clusid) - clusid.df <- data.frame(id = object@meta.data[[group_var]], + clusid.df <- data.frame(id = object@meta.data[[group.var]], ModuleScore = object@meta.data[[m]]) g <- ggplot(clusmat, aes(x = umap1, y = umap2)) + theme_bw() + theme(legend.title = element_blank()) + geom_point(aes(colour = sample_clusid), alpha = 0.5, shape = 20, size = 1) + scale_color_gradientn(colours = c("blue4", "lightgrey", "red"), values = scales::rescale(c(0, - numeric_threshold[celltype_name]/2, numeric_threshold[celltype_name], (numeric_threshold[celltype_name] + 1)/2, + numeric.threshold[celltype_name]/2, numeric.threshold[celltype_name], (numeric.threshold[celltype_name] + 1)/2, 1), limits = c(0, 1))) + guides(colour = guide_legend(override.aes = list(size = 5, alpha = 1))) + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.background = element_blank()) + xlab("tsne-1") + ylab("tsne-2") - g1 <- RidgePlot(object, features = m, group.by = group_var) + + g1 <- RidgePlot(object, features = m, group.by = group.var) + theme(legend.position = "none", title = element_blank(), axis.text.x = element_text(size = gradient.ft.size)) + - geom_vline(xintercept = numeric_threshold[celltype_name], linetype = "dashed", + geom_vline(xintercept = numeric.threshold[celltype_name], linetype = "dashed", color = "red3") + scale_x_continuous(breaks = seq(0, 1, step.size)) g2 <- ggplot(clusid.df, aes(x = id, y = ModuleScore)) + geom_violin(aes(fill = id)) + theme_classic() + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), legend.title = element_blank(), panel.background = element_blank(), axis.text.x = element_blank(), legend.text = element_text(size = rel(0.8)), legend.position = "top", axis.text.y = element_text(size = violin.ft.size)) + guides(colour = guide_legend(override.aes = list(size = 5, - alpha = 1))) + geom_hline(yintercept = numeric_threshold[celltype_name], + alpha = 1))) + geom_hline(yintercept = numeric.threshold[celltype_name], linetype = "dashed", color = "red3") + scale_y_continuous(breaks = seq(0, 1, step.size)) g3 <- ggplot(data.frame(x = d$x, y = d$y), aes(x, y)) + @@ -265,9 +262,9 @@ modScore <- function(object, geom_segment(aes(xend = d$x, yend = 0, colour = x)) + scale_y_log10() + scale_color_gradientn(colours = c("blue4", "lightgrey", "red"), values = scales::rescale(c(0, - numeric_threshold[celltype_name]/2, numeric_threshold[celltype_name], (numeric_threshold[celltype_name] + 1)/2, - 1), limits = c(0, 1))) + geom_vline(xintercept = numeric_threshold[celltype_name], - linetype = "dashed", color = "red3") + geom_vline(xintercept = numeric_threshold[celltype_name], linetype = "dashed", color = "red3") + scale_x_continuous(breaks = seq(0, 1, step.size)) + theme(legend.title = element_blank(), + numeric.threshold[celltype_name]/2, numeric.threshold[celltype_name], (numeric.threshold[celltype_name] + 1)/2, + 1), limits = c(0, 1))) + geom_vline(xintercept = numeric.threshold[celltype_name], + linetype = "dashed", color = "red3") + geom_vline(xintercept = numeric.threshold[celltype_name], linetype = "dashed", color = "red3") + scale_x_continuous(breaks = seq(0, 1, step.size)) + theme(legend.title = element_blank(), axis.text.x = element_text(size = 6)) figures[[celltype_name]] = arrangeGrob(g, g1, g2, g3, ncol = 2, top = textGrob(paste0(celltype_name," (General Class)"), gp = gpar(fontsize = 14, fontface = "bold"))) @@ -281,7 +278,7 @@ modScore <- function(object, # Heirarchical classification: general.class > subtypes general.class <- general.class[general.class %in% colnames(object@meta.data)] trunc.meta.gen <- object@meta.data[general.class] - gen.thrs.vec <- numeric_threshold[general.class] + gen.thrs.vec <- numeric.threshold[general.class] call.res <- .modScoreCall(trunc.meta.gen, gen.thrs.vec, reject = "unknown") call.res$Barcode <- rownames(call.res) @@ -313,14 +310,14 @@ modScore <- function(object, figures <- append(figures, list(NA), after = gap_ind) - figures[[gap_ind+1]] <- ggplot(trunc.meta.parent, aes_string(x = child)) + geom_density() + ggtitle(plot.title) + geom_vline(xintercept = numeric_threshold[child], linetype = "dashed", color = "red3") + theme_classic() + figures[[gap_ind+1]] <- ggplot(trunc.meta.parent, aes_string(x = child)) + geom_density() + ggtitle(plot.title) + geom_vline(xintercept = numeric.threshold[child], linetype = "dashed", color = "red3") + theme_classic() names(figures)[gap_ind+1] <- child } trunc.meta.no.parent <- call.res[!call.res$MS_Celltype == parent, ] non.parent <- rownames(trunc.meta.no.parent) - child.thres.vec <- numeric_threshold[children_class] + child.thres.vec <- numeric.threshold[children_class] sub.class.call[[match(parent, parent.class)]] <- .modScoreCall(trunc.meta.parent, child.thres.vec, reject = parent) %>% select(MS_Celltype)} @@ -338,7 +335,7 @@ modScore <- function(object, return( list("object"=object, - "figures" = figures) + "plots" = figures) ) } - \ No newline at end of file + diff --git a/R/ModuleScoreHelpers.R b/R/ModuleScoreHelpers.R index 462e582..2e55b43 100644 --- a/R/ModuleScoreHelpers.R +++ b/R/ModuleScoreHelpers.R @@ -9,13 +9,23 @@ #' @importFrom ggplot2 scale_y_continuous geom_line geom_segment scale_y_log10 scale_x_continuous #' @importFrom gridExtra arrangeGrob #' @importFrom grid textGrob gpar -NULL - +#' +#' +#' @examples +#' \dontrun{ +#' res <- compute_modscore_data( +#' object = seurat_obj, +#' marker.list = list(Tcell = c("CD3D", "TRBC1")), +#' use.columns = c("Tcell"), +#' reduction = "umap" +#' ) +#' } +#' #' @export -compute_modscore_data <- function(object, marker_list, use_columns, +compute_modscore_data <- function(object, marker.list, use.columns, reduction = c("tsne","umap","pca"), nbins = 10, - group_var = "orig.ident") { + group.var = "orig.ident") { reduction <- match.arg(reduction) if (!"Barcode" %in% colnames(object@meta.data)) { @@ -30,8 +40,8 @@ compute_modscore_data <- function(object, marker_list, use_columns, # Build per-celltype data res <- list() - for (celltype_name in use_columns) { - genes <- marker_list[[celltype_name]] + for (celltype_name in use.columns) { + genes <- marker.list[[celltype_name]] if (is.null(genes)) next object <- Seurat::AddModuleScore(object, list(genes), name = celltype_name, nbin = nbins, assay = "SCT") @@ -60,7 +70,7 @@ compute_modscore_data <- function(object, marker_list, use_columns, coords <- dplyr::mutate(coords, sample_clusid = coords$clusid) coords <- dplyr::arrange(coords, clusid) - clusid_df <- data.frame(id = object@meta.data[[group_var]], + clusid.df <- data.frame(id = object@meta.data[[group.var]], ModuleScore = object@meta.data[[m]], stringsAsFactors = FALSE) @@ -68,7 +78,7 @@ compute_modscore_data <- function(object, marker_list, use_columns, object = object, m = m, coords = coords, - clusid_df = clusid_df, + clusid.df = clusid.df, density = d ) } @@ -77,9 +87,9 @@ compute_modscore_data <- function(object, marker_list, use_columns, } #' @export -build_modscore_plots <- function(object, m, coords, clusid_df, d, threshold, - gradient_ft_size = 6, violin_ft_size = 6, step_size = 0.1, - group_var = "orig.ident", +build_modscore_plots <- function(object, m, coords, clusid.df, d, threshold, + gradient.ft.size = 6, violin.ft.size = 6, step.size = 0.1, + group.var = "orig.ident", reduction = c("tsne","umap","pca")) { reduction <- match.arg(reduction) @@ -93,10 +103,10 @@ build_modscore_plots <- function(object, m, coords, clusid_df, d, threshold, ggplot2::xlab(if (reduction == "tsne") "tsne-1" else if (reduction == "umap") "umap-1" else "pc-1") + ggplot2::ylab(if (reduction == "tsne") "tsne-2" else if (reduction == "umap") "umap-2" else "pc-2") - g1 <- Seurat::RidgePlot(object, features = m, group.by = group_var) + - ggplot2::theme(legend.position = "none", title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = gradient_ft_size)) + + g1 <- Seurat::RidgePlot(object, features = m, group.by = group.var) + + ggplot2::theme(legend.position = "none", title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = gradient.ft.size)) + ggplot2::geom_vline(xintercept = threshold, linetype = "dashed", color = "red3") + - ggplot2::scale_x_continuous(breaks = seq(0, 1, step_size)) + ggplot2::scale_x_continuous(breaks = seq(0, 1, step.size)) g3 <- ggplot2::ggplot(data.frame(x = d$x, y = d$y), ggplot2::aes(x, y)) + ggplot2::xlab("ModuleScore") + ggplot2::ylab("Density") + ggplot2::geom_line() + @@ -104,7 +114,7 @@ build_modscore_plots <- function(object, m, coords, clusid_df, d, threshold, ggplot2::scale_color_gradientn(colours = c("blue4", "lightgrey", "red"), values = scales::rescale(c(0, threshold/2, threshold, (threshold + 1)/2, 1), limits = c(0, 1))) + ggplot2::geom_vline(xintercept = threshold, linetype = "dashed", color = "red3") + - ggplot2::scale_x_continuous(breaks = seq(0, 1, step_size)) + ggplot2::theme(legend.title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = 6)) + ggplot2::scale_x_continuous(breaks = seq(0, 1, step.size)) + ggplot2::theme(legend.title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = 6)) arranged <- gridExtra::arrangeGrob(g, g1, g3, ncol = 2, top = grid::textGrob(m, gp = grid::gpar(fontsize = 14, fontface = "bold"))) list(g = g, g1 = g1, g3 = g3, arranged = arranged) diff --git a/R/ModuleScoreHelpers_011726.R b/R/ModuleScoreHelpers_011726.R index 6a76384..24a6e82 100644 --- a/R/ModuleScoreHelpers_011726.R +++ b/R/ModuleScoreHelpers_011726.R @@ -12,10 +12,10 @@ NULL #' @export -compute_modscore_data <- function(object, marker_list, use_columns, +compute_modscore_data <- function(object, marker.list, use.columns, reduction = c("tsne","umap","pca"), nbins = 10, - group_var = "orig.ident") { + group.var = "orig.ident") { reduction <- match.arg(reduction) if (!"Barcode" %in% colnames(object@meta.data)) { @@ -30,8 +30,8 @@ compute_modscore_data <- function(object, marker_list, use_columns, # Build per-celltype data res <- list() - for (celltype_name in use_columns) { - genes <- marker_list[[celltype_name]] + for (celltype_name in use.columns) { + genes <- marker.list[[celltype_name]] if (is.null(genes)) next object <- Seurat::AddModuleScore(object, list(genes), name = celltype_name, nbin = nbins, assay = "SCT") @@ -60,7 +60,7 @@ compute_modscore_data <- function(object, marker_list, use_columns, coords <- dplyr::mutate(coords, sample_clusid = coords$clusid) coords <- dplyr::arrange(coords, clusid) - clusid_df <- data.frame(id = object@meta.data[[group_var]], + clusid.df <- data.frame(id = object@meta.data[[group.var]], ModuleScore = object@meta.data[[m]], stringsAsFactors = FALSE) @@ -68,7 +68,7 @@ compute_modscore_data <- function(object, marker_list, use_columns, object = object, m = m, coords = coords, - clusid_df = clusid_df, + clusid.df = clusid.df, density = d ) } @@ -77,9 +77,9 @@ compute_modscore_data <- function(object, marker_list, use_columns, } #' @export -build_modscore_plots <- function(object, m, coords, clusid_df, d, threshold, - gradient_ft_size = 6, violin_ft_size = 6, step_size = 0.1, - group_var = "orig.ident", +build_modscore_plots <- function(object, m, coords, clusid.df, d, threshold, + gradient.ft.size = 6, violin.ft.size = 6, step.size = 0.1, + group.var = "orig.ident", reduction = c("tsne","umap","pca")) { reduction <- match.arg(reduction) @@ -93,10 +93,10 @@ build_modscore_plots <- function(object, m, coords, clusid_df, d, threshold, ggplot2::xlab(if (reduction == "tsne") "tsne-1" else if (reduction == "umap") "umap-1" else "pc-1") + ggplot2::ylab(if (reduction == "tsne") "tsne-2" else if (reduction == "umap") "umap-2" else "pc-2") - g1 <- Seurat::RidgePlot(object, features = m, group.by = group_var) + - ggplot2::theme(legend.position = "none", title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = gradient_ft_size)) + + g1 <- Seurat::RidgePlot(object, features = m, group.by = group.var) + + ggplot2::theme(legend.position = "none", title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = gradient.ft.size)) + ggplot2::geom_vline(xintercept = threshold, linetype = "dashed", color = "red3") + - ggplot2::scale_x_continuous(breaks = seq(0, 1, step_size)) + ggplot2::scale_x_continuous(breaks = seq(0, 1, step.size)) g3 <- ggplot2::ggplot(data.frame(x = d$x, y = d$y), ggplot2::aes(x, y)) + ggplot2::xlab("ModuleScore") + ggplot2::ylab("Density") + ggplot2::geom_line() + @@ -104,7 +104,7 @@ build_modscore_plots <- function(object, m, coords, clusid_df, d, threshold, ggplot2::scale_color_gradientn(colours = c("blue4", "lightgrey", "red"), values = scales::rescale(c(0, threshold/2, threshold, (threshold + 1)/2, 1), limits = c(0, 1))) + ggplot2::geom_vline(xintercept = threshold, linetype = "dashed", color = "red3") + - ggplot2::scale_x_continuous(breaks = seq(0, 1, step_size)) + ggplot2::theme(legend.title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = 6)) + ggplot2::scale_x_continuous(breaks = seq(0, 1, step.size)) + ggplot2::theme(legend.title = ggplot2::element_blank(), axis.text.x = ggplot2::element_text(size = 6)) arranged <- gridExtra::arrangeGrob(g, g1, g3, ncol = 2, top = grid::textGrob(m, gp = grid::gpar(fontsize = 14, fontface = "bold"))) list(g = g, g1 = g1, g3 = g3, arranged = arranged) diff --git a/R/Name_Clusters_by_Enriched_Cell_Type.R b/R/Name_Clusters_by_Enriched_Cell_Type.R index 52a1a08..aa7af4d 100644 --- a/R/Name_Clusters_by_Enriched_Cell_Type.R +++ b/R/Name_Clusters_by_Enriched_Cell_Type.R @@ -7,13 +7,16 @@ #' #' @param object Seurat-class object with cluster IDs column and cell type #' column present -#' @param cluster.numbers Vector containing cluster numbers that match the -#' (numeric) cluster ID's in the cluster.column in Seurat Object metadata -#' @param cluster.names Vector containing custom cluster labels #' @param cluster.column Column name containing cluster ID in the metadata slot #' in the object #' @param labels.column Column name containing labels (usually cell type) in the #' metadata slot in the object +#' @param cluster.identities.table Data frame containing cluster IDs and custom +#' cluster labels +#' @param cluster.numbers Column name in cluster.identities.table +#' containing cluster numbers that match values in cluster.column +#' @param cluster.names Column name in cluster.identities.table +#' containing custom cluster labels #' @param order.clusters.by Vector containing order of clusters in graph. Can #' contain a subset of cluster numbers to plot that match at least some of #' the values in the cluster.column. If NULL, use default order @@ -36,13 +39,29 @@ #' @export #' @return Returns Seurat-class object with updated meta.data slot containing #' custom cluster annotation and a plot +#' +#' @examples +#' \dontrun{ +#' map_tbl <- data.frame( +#' cluster_id = c("0", "1"), +#' label = c("T cell", "B cell") +#' ) +#' out <- nameClusters( +#' object = anno_so, +#' cluster.column = "seurat_clusters", +#' labels.column = "celltype", +#' cluster.identities.table = map_tbl, +#' cluster.numbers = "cluster_id", +#' cluster.names = "label" +#' ) +#' } nameClusters <- function(object, + cluster.column, + labels.column, cluster.identities.table, cluster.numbers, cluster.names, - cluster.column, - labels.column, order.clusters.by = NULL, order.celltypes.by = NULL, interactive = FALSE) diff --git a/R/Plot_Metadata.R b/R/Plot_Metadata.R index 2003c62..3f591de 100644 --- a/R/Plot_Metadata.R +++ b/R/Plot_Metadata.R @@ -41,19 +41,31 @@ #' @export #' #' @return a data.frame extracted from the Seurat object and plot +#' +#' @examples +#' \dontrun{ +#' out <- plotMetadata( +#' object = anno_so, +#' samples.to.include = c("sample1", "sample2"), +#' metadata.to.plot = c("celltype", "orig.ident"), +#' columns.to.summarize = c(), +#' reduction.type = "umap" +#' ) +#' } -plotMetadata <- function(#Basic Parameters: - object, - samples.to.include, - metadata.to.plot, - columns.to.summarize, - summarization.cut.off = 5, - reduction.type = "tsne", - use.cite.seq = FALSE, - show.labels = FALSE, - legend.text.size = 1, - legend.position = "right", - dot.size = 0.01 +plotMetadata <- function( + #Basic Parameters: + object, + samples.to.include, + metadata.to.plot, + columns.to.summarize, + summarization.cut.off = 5, + reduction.type = "tsne", + use.cite.seq = FALSE, + show.labels = FALSE, + legend.text.size = 1, + legend.position = "right", + dot.size = 0.01 ) { ################### @@ -358,15 +370,14 @@ plotMetadata <- function(#Basic Parameters: summarize.cut.off <- min(summarization.cut.off, 20) # checking for samples included: - if(any(grepl('c\\(|\\[\\]',samples))) { - samples = eval(parse(text = gsub('\\[\\]', 'c()', samples))) - }else{ - samples=samples + samples <- samples.to.include + if (is.character(samples) && any(grepl('c\\(|\\[\\]', samples))) { + samples <- eval(parse(text = gsub('\\[\\]', 'c()', samples))) } if (length(samples) == 0) { print("No samples specified. Using all samples...") - samples = unique(object@meta.data$sample_name) + samples = unique(object@meta.data$orig.ident) } ## Goal is to have column 1 of the new metadata be named "orig.ident" @@ -416,7 +427,7 @@ plotMetadata <- function(#Basic Parameters: # checking metadata for sanity - if(any(grepl('c\\(|\\[\\]',samples))) { + if (is.character(metadata.to.plot) && any(grepl('c\\(|\\[\\]', metadata.to.plot))) { m = eval(parse(text = gsub('\\[\\]', 'c()', metadata.to.plot))) }else{ m=metadata.to.plot @@ -452,7 +463,7 @@ plotMetadata <- function(#Basic Parameters: col <- meta.df[[i]] val.count <- length(unique(col)) - if ((val.count >= summarizeCutOff) & + if ((val.count >= summarize.cut.off) & (i != 'Barcode') & (!is.element(class(meta.df[[i]][1]), c("numeric", "integer")))) { freq.vals <- as.data.frame(-sort(-table(col)))$col[1:summarize.cut.off] diff --git a/R/Process_Raw_Data.R b/R/Process_Raw_Data.R index 4ba759d..43a8176 100755 --- a/R/Process_Raw_Data.R +++ b/R/Process_Raw_Data.R @@ -52,6 +52,15 @@ #' @export #' #' @return Seurat Object and QC plots +#' +#' @examples +#' \dontrun{ +#' out <- processRawData( +#' input = c("sample1_filtered_feature_bc_matrix.h5"), +#' organism = "Human", +#' do.normalize.data = TRUE +#' ) +#' } processRawData <- function(input, sample.metadata.table=NULL, diff --git a/R/Violin_Plots_by_Metadata.R b/R/Violin_Plots_by_Metadata.R index 290f78c..2b81d02 100644 --- a/R/Violin_Plots_by_Metadata.R +++ b/R/Violin_Plots_by_Metadata.R @@ -9,16 +9,17 @@ #' @param layer Slot to extract gene expression data from (Default: scale.data) #' @param genes Genes to visualize on the violin plot #' @param group Split violin plot based on metadata group -#' @param facet_by Split violin plot based on a second metadata group -#' @param filter_outliers Filter outliers from the data (TRUE/FALSE) -#' @param outlier_low Filter lower bound outliers (Default = 0.05) -#' @param outlier_high Filter upper bound outliers (Default = 0.95) -#' @param jitter_points Scatter points on the plot (TRUE/FALSE) -#' @param jitter_dot_size Set size of individual points - +#' @param facet.by Split violin plot based on a second metadata group +#' @param filter.outliers Filter outliers from the data (TRUE/FALSE) +#' @param outlier.low Filter lower bound outliers (Default = 0.05) +#' @param outlier.high Filter upper bound outliers (Default = 0.95) +#' @param jitter.points Scatter points on the plot (TRUE/FALSE) +#' @param jitter.dot.size Set size of individual points +#' #' @import Seurat #' @import reshape2 #' @import tidyverse +#' @importFrom tidyr pivot_longer #' @import cowplot #' @import rlang #' @import ggplot2 @@ -32,10 +33,10 @@ #' layer = "data", #' genes = c("Cd4", "Cd8a"), #' group = "celltype", -#' facet_by = "orig.ident", -#' filter_outliers = TRUE, -#' jitter_points = TRUE, -#' jitter_dot_size = 0.5 +#' facet.by = "orig.ident", +#' filter.outliers = TRUE, +#' jitter.points = TRUE, +#' jitter.dot.size = 0.5 #' ) #' } @@ -46,21 +47,15 @@ violinPlot <- function (object, layer, genes, group, - facet_by = "", - filter_outliers = F, - outlier_low = 0.05, - outlier_high = 0.95, - jitter_points, - jitter_dot_size) + facet.by = "", + filter.outliers = F, + outlier.low = 0.05, + outlier.high = 0.95, + jitter.points, + jitter.dot.size) { - library(Seurat) - library(ggplot2) - library(gridExtra) - library(tidyr) - library(dplyr) - library(broom) - - facet_data = facet_by != "" + + facet_data = facet.by != "" # for handling orig ident if (group == "orig.ident" | group == "orig_ident"){ @@ -96,7 +91,7 @@ violinPlot <- function (object, genes.present <- genes[genes %in% rownames(gene_mtx)] if(facet_data){ - meta_sub <- object@meta.data[,c(group,facet_by)] + meta_sub <- object@meta.data[,c(group,facet.by)] } else { meta_sub <- object@meta.data[c(group)] } @@ -111,7 +106,7 @@ violinPlot <- function (object, data_df$Gene <- factor(data_df$Gene, levels = genes.present) if(facet_data){ - unique_facets <- unique(object@meta.data[,facet_by]) + unique_facets <- unique(object@meta.data[,facet.by]) } else{ unique_facets <- NULL } @@ -126,18 +121,18 @@ violinPlot <- function (object, # Define the outlier removal function .removeOutliers <- function(x, na.rm = TRUE){ - qnt <- quantile(x, probs = c(outlier_low, outlier_high), na.rm = na.rm) + qnt <- quantile(x, probs = c(outlier.low, outlier.high), na.rm = na.rm) H <- 1.5 * IQR(x, na.rm = na.rm) x[x < (qnt[1] - H) | x > (qnt[2] + H)] <- NA x } # Apply only if filtering is enabled - if (filter_outliers) { - group_vars <- colnames(data_df)[colnames(data_df) != 'Expression'] + if (filter.outliers) { + group.vars <- colnames(data_df)[colnames(data_df) != 'Expression'] data_df <- data_df %>% - group_by(across(all_of(group_vars))) %>% + group_by(across(all_of(group.vars))) %>% mutate(Expression = .removeOutliers(Expression)) %>% ungroup() } @@ -148,7 +143,7 @@ violinPlot <- function (object, color_mapping <- setNames(rep(available_colors, length.out = length(unique_facets)), unique_facets) # Set up the common elements of the plot - g <- ggplot(data_df, aes(x = .data[[group]], y = Expression, fill = .data[[facet_by]])) + + g <- ggplot(data_df, aes(x = .data[[group]], y = Expression, fill = .data[[facet.by]])) + geom_violin(scale = "width", position = position_dodge(width = 0.9), trim = TRUE) + geom_boxplot(width = 0.2, position = position_dodge(width = 0.9), outlier.shape = NA) + scale_fill_manual(values = color_mapping) + @@ -180,9 +175,9 @@ violinPlot <- function (object, } # Add jitter points conditionally - if (jitter_points) { - g <- g + geom_jitter(size = jitter_dot_size, shape = 1, position = position_dodge(width = 0.9), alpha = 0.5) + if (jitter.points) { + g <- g + geom_jitter(size = jitter.dot.size, shape = 1, position = position_dodge(width = 0.9), alpha = 0.5) } - return(list(plots=g)) + return(list("plots"=g)) } diff --git a/docs/articles/SCWorkflow-Annotations.html b/docs/articles/SCWorkflow-Annotations.html index a545672..3feac25 100644 --- a/docs/articles/SCWorkflow-Annotations.html +++ b/docs/articles/SCWorkflow-Annotations.html @@ -101,62 +101,10 @@

Cell Type Annotation with SingleR use.clusters = NULL )

-


- -
-

Add External Cell Annotations -

-
-

This function will merge an external table of cell annotations into -an existing Seurat Object’s metadata table. The input external metadata -table must have a column named “Barcode” that contains barcodes matching -those found in the metadata already present in the input Seurat Object. -The output will be a new Seurat Object with metadata that now includes -the additional columns from the external table.

-
-
-CellType_Anno_Table=read.csv("./images/PerCell_Metadata.csv")
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BarcodeCell.Type
PBS_AAACCTGCAAGGTTTC-1Monocytes
PBS_AAACCTGGTCTAGCGC-1Monocytes
PBS_AAACCTGTCACTTACT-1Monocytes
PBS_AAACCTGTCAGCGATT-1Monocytes
PBS_AAACCTGTCAGCTGGC-1Macrophages
PBS_AAACCTGTCGGCTTGG-1Macrophages
-
-
-ExtAnno_SO=ExternalAnnotation(object = Anno_SO$object,
-                              external_metadata = CellType_Anno_Table,
-                              seurat_object_filename = "seurat_object.rds",
-                              barcode_column = "Barcode",
-                              external_cols_to_add = c("Cell Type"),
-                              col_to_viz = "Cell Type"
-                             )
+ + + +


@@ -179,8 +127,8 @@

Cell Annotation with Co-Expression -
-grep('Cd4',rownames(Anno_SO$object@assays$RNA),ignore.case = T,value=T)
+
+grep("Cd4",rownames(Anno_SO$object@assays$RNA),ignore.case = T,value=T)
 
 DLAnno_SO=dualLabeling(object = Anno_SO$object, 
                         samples <- c("PBS","CD8dep","ENT","NHSIL12","Combo"), 
@@ -239,9 +187,9 @@ 

Color by Gene Lists
+
 Marker_Table <- read.csv("Marker_Table_demo.csv")
-
+
     
         colorByMarkerTable(object=Anno_SO$object,
                            samples.subset=c("PBS","ENT","NHSIL12", "Combo","CD8dep" ),
@@ -300,12 +248,12 @@ 

Module Score Cell ClassificationOutput: An updated scRNA-seq object with new cell type labels.

-
+
 
 MS_object=modScore(object=Anno_SO$object, 
                    marker.table=Marker_Table,
-                   use_columns = c("Neutrophils","Macrophages","CD8_T" ),
-                   ms_threshold=c("Neutrophils .25","Macrophages .40","CD8_T .14"), 
+                   use.columns = c("Neutrophils","Macrophages","CD8_T" ),
+                   ms.threshold=c("Neutrophils .25","Macrophages .40","CD8_T .14"), 
                    general.class=c("Neutrophils","Macrophages","CD8_T"), 
                    multi.lvl = FALSE, 
                    reduction = "umap",
@@ -353,7 +301,7 @@ 

Rename Clusters by Cell Type
+
 
 clstrTable <- read.table(file = "./images/Cluster_Names.txt",  sep = '\t',header = T)
@@ -396,7 +344,7 @@

Rename Clusters by Cell Type
+
 
 RNC_object=nameClusters(object=Anno_SO$object,
                          cluster.identities.table=clstrTable,
@@ -408,7 +356,7 @@ 

Rename Clusters by Cell Type= NULL, interactive = FALSE )

-
+
 
 # DimPlot(MS_object, group.by = "SCT_snn_res.0.2", label = T, reduction = 'umap')
 # DimPlot(MS_object, group.by = "mouseRNAseq_main", label = T, reduction = 'umap')
@@ -452,7 +400,7 @@ 

Dot Plot of Genes by Metadata
+
 
 FigOut=dotPlotMet(object=Anno_SO$object,
                    metadata="orig.ident",
diff --git a/docs/articles/SCWorkflow-DEG.html b/docs/articles/SCWorkflow-DEG.html
index 84fc771..2d6a8fc 100644
--- a/docs/articles/SCWorkflow-DEG.html
+++ b/docs/articles/SCWorkflow-DEG.html
@@ -208,61 +208,272 @@ 

Aggregate Seurat Counts
-aggregateCounts(object=so,
-               var.group=var_group,
-               slot=slot)
-

-
-

Statistical Analysis using Limma -

-

Given a matrix (typically log-normalized gene expression) and a -metadata table, this will run one- and two-factor statistical analyses -on groups using linear or mixed effects models with limma. -Reference.

-

There are 2 ways for treating Donor or Patient - one as a random -effect and the other as a fixed effect

-

When Using a Mixed Effects Model (Donor as random effect):

-

Add Donor column to the Donor Variable Column Do not add the Donor -variable under Covariate Columns. It will be handled separately in the -Donor Variable Column as a random effect. The Covariate Columns field -should include any other variables except the Donor. When Using a Basic -Linear Model (Donor as fixed effect):

-

You can add the Donor column as a covariate under Covariate Columns, -where it will be treated as a fixed effect. Additional variables can be -included under Covariate Columns Ensure the Donor Variable Column is -left blank. This function is a Beta version and is undergoing active -development. If you encounter problems, please contact CCBR

-
-Pseudobulk_LimmaStats()
-
-

-
-

Visualizations -

-
-
-

Volcano Plot - Enhanced -

-

This function utilizes the EnhancedVolcano R Bioconductor -package to generate publication-ready volcano plots for differential -expression analyses, offering a number of customizable visualization -options and optimizing gene label placement to avoid clutter

-

Methodology A volcano plot is a type of scatterplot -that shows statistical significance (P value) versus magnitude of change -(fold change). It enables quick visual identification of genes with -large fold changes that are also statistically significant. These may be -the most biologically significant features (such as genes, isoforms, -peptides and so on). Here, we are using a highly-configurable function -“EnhancedVolcano” that produces publication-ready volcano plots.

-
    -
  1. Maria Doyle, 2021 Visualization of RNA-Seq results with Volcano Plot -(Galaxy Training Materials). https://training.galaxyproject.org/training-material/topics/transcriptomics/tutorials/rna-seq-viz-with-volcanoplot/tutorial.html -Online; accessed Mon Aug 01 2022
  2. -
  3. Batut et al., 2018 Community-Driven Data Analysis Training for -Biology Cell Systems 10.1016/j.cels.2018.05.012
  4. -
  5. Blighe, K, S Rana, and M Lewis. 2018. EnhancedVolcano: -Publication-ready volcano plots with enhanced coloring and labeling. https://github.com/kevinblighe/EnhancedVolcano.
  6. -
+AggOut=aggregateCounts(object=Anno_SO$object, + var.group=c( "orig.ident"), + slot="data")
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

@@ -240,7 +239,7 @@

Combine, Normalize, and Cluster Data high.cut = 8, low.cut.disp = 1, high.cut.disp = 100000, - selection.method = 'vst', + selection.method = "vst", # Dim Reduction only.var.genes = FALSE, draw.umap = TRUE, @@ -262,7 +261,7 @@

Combine, Normalize, and Cluster Data exclude.sample = NULL, cell.count.limit= 35000, reduce.so = FALSE, - project.name = 'scRNAProject', + project.name = "scRNAProject", cell.hashing.data = FALSE )

diff --git a/docs/articles/SCWorkflow-SubsetReclust.html b/docs/articles/SCWorkflow-SubsetReclust.html index 9e7a9a9..b901d0a 100644 --- a/docs/articles/SCWorkflow-SubsetReclust.html +++ b/docs/articles/SCWorkflow-SubsetReclust.html @@ -85,9 +85,9 @@

Subset Seurat Objectfilter_SO=filterSeuratObjectByMetadata( object = Anno_SO$object, samples.to.include = c("PBS","ENT","NHSIL12","Combo","CD8dep"), - sample.name = 'orig.ident', - category.to.filter = 'immgen_main', - values.to.filter = c('Monocytes','Macrophages','DC'), + sample.name = "orig.ident", + category.to.filter = "immgen_main", + values.to.filter = c("Monocytes","Macrophages","DC"), keep.or.remove = FALSE, greater.less.than = "greater than", colors = c( diff --git a/docs/articles/SCWorkflow-Visualizations.html b/docs/articles/SCWorkflow-Visualizations.html index 4db36dc..deb01e0 100644 --- a/docs/articles/SCWorkflow-Visualizations.html +++ b/docs/articles/SCWorkflow-Visualizations.html @@ -91,7 +91,7 @@

Color by MetadataFigOut=plotMetadata( object=Anno_SO$object, samples.to.include=c("PBS","ENT","NHSIL12","Combo","CD8dep" ), - metadata.to.plot=c('SCT_snn_res.0.4','Phase'), + metadata.to.plot=c("SCT_snn_res.0.4","Phase"), columns.to.summarize=NULL, summarization.cut.off = 5, reduction.type = "umap", @@ -144,8 +144,8 @@

Plot 3D Dimensionality Reduction FigOut=tSNE3D( object=Anno_SO$object, - color.variable='SCT_snn_res.0.4', - label.variable='SCT_snn_res.0.4', + color.variable="SCT_snn_res.0.4", + label.variable="SCT_snn_res.0.4", dot.size = 4, legend = TRUE, colors = c("darkblue","purple4","green","red","darkcyan", @@ -176,7 +176,7 @@

Color by GenesFigOut=colorByGene( object=Anno_SO$object, samples.to.include=c("PBS","ENT","NHSIL12","Combo","CD8dep" ), - gene='Itgam', + gene="Itgam", reduction.type = "umap", number.of.rows = 0, return.seurat.object = FALSE, @@ -218,16 +218,16 @@

Violin Plot from Seurat Object FigOut=violinPlot( object=Anno_SO$object, - assay='SCT', - layer='scale.data', - genes=c('Itgam','Cd38'), - group='SCT_snn_res.0.4', - facet_by = "", - filter_outliers = F, - outlier_low = 0.05, - outlier_high = 0.95, - jitter_points = TRUE, - jitter_dot_size = 1 + assay="SCT", + layer="scale.data", + genes=c("Itgam","Cd38"), + group="SCT_snn_res.0.4", + facet.by = "", + filter.outliers = F, + outlier.low = 0.05, + outlier.high = 0.95, + jitter.points = TRUE, + jitter.dot.size = 1 )


@@ -276,9 +276,9 @@

HeatmapFigOut=heatmapSC( object=Anno_SO$object, sample.names=c("PBS","ENT","NHSIL12","Combo","CD8dep" ), - metadata='SCT_snn_res.0.4', - transcripts=c('Cd163','Cd38','Itgam','Cd4','Cd8a','Pdcd1','Ctla4'), - use_assay = 'SCT', + metadata="SCT_snn_res.0.4", + transcripts=c("Cd163","Cd38","Itgam","Cd4","Cd8a","Pdcd1","Ctla4"), + use.assay = "SCT", proteins = NULL, heatmap.color = "Bu Yl Rd", plot.title = "Heatmap", @@ -345,9 +345,9 @@

Dot Plot of Genes by Metadata FigOut=dotPlotMet( object=Anno_SO$object, - metadata='SCT_snn_res.0.4', + metadata="SCT_snn_res.0.4", cells=unique(Anno_SO$object$SCT_snn_res.0.4), - markers=c('Itgam','Cd163','Cd38','Cd4','Cd8a','Pdcd1','Ctla4'), + markers=c("Itgam","Cd163","Cd38","Cd4","Cd8a","Pdcd1","Ctla4"), plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = "darkblue" @@ -389,9 +389,9 @@

Compare Cell Populations FigOut=compareCellPopulations( object=Anno_SO$object, - metadata.table=Anno_SO$object@meta.data, - annotation.column='immgen_main', - group.column='Treatment', + annotation.column="immgen_main", + group.column="Treatment", + sample.column = "orig.ident", counts.type = "Frequency", group.order = NULL, wrap.ncols = 5 diff --git a/docs/articles/images/Anno1.png b/docs/articles/images/Anno1.png index d7b6443..77aadc5 100644 Binary files a/docs/articles/images/Anno1.png and b/docs/articles/images/Anno1.png differ diff --git a/docs/articles/images/Anno2.png b/docs/articles/images/Anno2.png index 5cbcee0..07b6c6e 100644 Binary files a/docs/articles/images/Anno2.png and b/docs/articles/images/Anno2.png differ diff --git a/docs/articles/images/DL1.png b/docs/articles/images/DL1.png index d773c20..6c7a940 100644 Binary files a/docs/articles/images/DL1.png and b/docs/articles/images/DL1.png differ diff --git a/docs/articles/images/DL2.png b/docs/articles/images/DL2.png index a09d734..d115a0c 100644 Binary files a/docs/articles/images/DL2.png and b/docs/articles/images/DL2.png differ diff --git a/docs/articles/images/DPM.png b/docs/articles/images/DPM.png index 763d7fc..b046d7a 100644 Binary files a/docs/articles/images/DPM.png and b/docs/articles/images/DPM.png differ diff --git a/docs/articles/images/ProcessInputData1.png b/docs/articles/images/ProcessInputData1.png index de0eb06..96c1dbe 100644 Binary files a/docs/articles/images/ProcessInputData1.png and b/docs/articles/images/ProcessInputData1.png differ diff --git a/docs/articles/images/ProcessInputData2.png b/docs/articles/images/ProcessInputData2.png index 7f07fe9..12ecdb3 100644 Binary files a/docs/articles/images/ProcessInputData2.png and b/docs/articles/images/ProcessInputData2.png differ diff --git a/docs/articles/images/QC1.png b/docs/articles/images/QC1.png index 35c9f78..3b30e3f 100644 Binary files a/docs/articles/images/QC1.png and b/docs/articles/images/QC1.png differ diff --git a/docs/articles/images/QC2.png b/docs/articles/images/QC2.png index 369953e..951361a 100644 Binary files a/docs/articles/images/QC2.png and b/docs/articles/images/QC2.png differ diff --git a/docs/articles/images/QC3.png b/docs/articles/images/QC3.png index 3668caf..567ff97 100644 Binary files a/docs/articles/images/QC3.png and b/docs/articles/images/QC3.png differ diff --git a/docs/articles/images/RNC.png b/docs/articles/images/RNC.png index bd47367..c849208 100644 Binary files a/docs/articles/images/RNC.png and b/docs/articles/images/RNC.png differ diff --git a/docs/articles/images/SubRec_recl.png b/docs/articles/images/SubRec_recl.png index 4e993a7..81ad2eb 100644 Binary files a/docs/articles/images/SubRec_recl.png and b/docs/articles/images/SubRec_recl.png differ diff --git a/docs/articles/images/SubRec_sub2.png b/docs/articles/images/SubRec_sub2.png index 09a9ca9..6a1db85 100644 Binary files a/docs/articles/images/SubRec_sub2.png and b/docs/articles/images/SubRec_sub2.png differ diff --git a/docs/articles/images/Vis_3D.html b/docs/articles/images/Vis_3D.html index 1313685..182a5b0 100644 --- a/docs/articles/images/Vis_3D.html +++ b/docs/articles/images/Vis_3D.html @@ -3,26 +3,6 @@ plotly - + +
- +
+
+
+
+//# sourceMappingURL=crosstalk.min.js.map
+
- + + diff --git a/docs/articles/images/Vis_CBG.png b/docs/articles/images/Vis_CBG.png index e48f85c..453044b 100644 Binary files a/docs/articles/images/Vis_CBG.png and b/docs/articles/images/Vis_CBG.png differ diff --git a/docs/articles/images/Vis_CBM.png b/docs/articles/images/Vis_CBM.png index d98c553..a0bf1ca 100644 Binary files a/docs/articles/images/Vis_CBM.png and b/docs/articles/images/Vis_CBM.png differ diff --git a/docs/articles/images/Vis_CCPbar.png b/docs/articles/images/Vis_CCPbar.png index 231e5ad..46f47d3 100644 Binary files a/docs/articles/images/Vis_CCPbar.png and b/docs/articles/images/Vis_CCPbar.png differ diff --git a/docs/articles/images/Vis_DEGAggBar.png b/docs/articles/images/Vis_DEGAggBar.png new file mode 100644 index 0000000..9c77538 Binary files /dev/null and b/docs/articles/images/Vis_DEGAggBar.png differ diff --git a/docs/articles/images/Vis_DPM.png b/docs/articles/images/Vis_DPM.png index e39d493..a994770 100644 Binary files a/docs/articles/images/Vis_DPM.png and b/docs/articles/images/Vis_DPM.png differ diff --git a/docs/articles/images/Vis_Violin.png b/docs/articles/images/Vis_Violin.png index 438ebaf..43e0338 100644 Binary files a/docs/articles/images/Vis_Violin.png and b/docs/articles/images/Vis_Violin.png differ diff --git a/docs/deps/bootstrap-5.3.1/font.css b/docs/deps/bootstrap-5.3.1/font.css deleted file mode 100644 index fa85d55..0000000 --- a/docs/deps/bootstrap-5.3.1/font.css +++ /dev/null @@ -1,1452 +0,0 @@ -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 500; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* hebrew */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2'); - unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F; -} -/* math */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2'); - unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF; -} -/* symbols */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2'); - unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA88, U+1FA90-1FABD, U+1FABF-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8, U+1FB00-1FBFF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-stretch: 100%; - font-display: swap; - src: url(fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2) format('woff2'); - unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2) format('woff2'); - unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2) format('woff2'); - unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url(fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} diff --git a/docs/deps/bootstrap-5.3.1/fonts/07d40e985ad7c747025dabb9f22142c4.woff2 b/docs/deps/bootstrap-5.3.1/fonts/07d40e985ad7c747025dabb9f22142c4.woff2 deleted file mode 100644 index a45f477..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/07d40e985ad7c747025dabb9f22142c4.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyC0ITw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyC0ITw.woff2 deleted file mode 100644 index 6478b9a..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyC0ITw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCAIT5lu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCAIT5lu.woff2 deleted file mode 100644 index dee82d4..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCAIT5lu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCIIT5lu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCIIT5lu.woff2 deleted file mode 100644 index b566478..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCIIT5lu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCMIT5lu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCMIT5lu.woff2 deleted file mode 100644 index e0d6538..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCMIT5lu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCkIT5lu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCkIT5lu.woff2 deleted file mode 100644 index 1005b7c..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/1Ptug8zYS_SKggPNyCkIT5lu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/1f5e011d6aae0d98fc0518e1a303e99a.woff2 b/docs/deps/bootstrap-5.3.1/fonts/1f5e011d6aae0d98fc0518e1a303e99a.woff2 deleted file mode 100644 index 8f9ec7c..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/1f5e011d6aae0d98fc0518e1a303e99a.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcQ72j00.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcQ72j00.woff2 deleted file mode 100644 index e5cdc99..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcQ72j00.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcg72j00.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcg72j00.woff2 deleted file mode 100644 index 3804815..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcg72j00.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcw72j00.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcw72j00.woff2 deleted file mode 100644 index b52cff9..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKcw72j00.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKew72j00.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKew72j00.woff2 deleted file mode 100644 index cb672f2..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKew72j00.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfA72j00.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfA72j00.woff2 deleted file mode 100644 index dc3c295..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfA72j00.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfw72.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfw72.woff2 deleted file mode 100644 index 8070e4f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCs6KVjbNBYlgoKfw72.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2 deleted file mode 100644 index 926a1e6..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2 deleted file mode 100644 index 2c08bc6..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjsGyN.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2 deleted file mode 100644 index 6d732de..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2 deleted file mode 100644 index d2fb863..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2 deleted file mode 100644 index 5386e80..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2 b/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2 deleted file mode 100644 index 0d62144..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/626330658504e338ee86aec8e957426b.woff2 b/docs/deps/bootstrap-5.3.1/fonts/626330658504e338ee86aec8e957426b.woff2 deleted file mode 100644 index 381d41f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/626330658504e338ee86aec8e957426b.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7jsDJT9g.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7jsDJT9g.woff2 deleted file mode 100644 index 2bcdb32..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7jsDJT9g.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7ksDJT9g.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7ksDJT9g.woff2 deleted file mode 100644 index 6a8b92a..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7ksDJT9g.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDI.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDI.woff2 deleted file mode 100644 index 5d4d718..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDI.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7osDJT9g.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7osDJT9g.woff2 deleted file mode 100644 index c930035..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7osDJT9g.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7psDJT9g.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7psDJT9g.woff2 deleted file mode 100644 index 190e8ac..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7psDJT9g.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7qsDJT9g.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7qsDJT9g.woff2 deleted file mode 100644 index 7b21aa8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7qsDJT9g.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7rsDJT9g.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7rsDJT9g.woff2 deleted file mode 100644 index 180e76d..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7rsDJT9g.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2 deleted file mode 100644 index f991527..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2 deleted file mode 100644 index 69d26d8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lqDY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2 deleted file mode 100644 index 5c9f701..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lqDY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2 deleted file mode 100644 index a61ec91..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2 deleted file mode 100644 index 33145f9..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lqDY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2 deleted file mode 100644 index b1986c2..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2 deleted file mode 100644 index 2462c51..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lqDY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2 deleted file mode 100644 index ccf6b8e..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2 deleted file mode 100644 index 8b03f91..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2 deleted file mode 100644 index 3ca3e26..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2 deleted file mode 100644 index daa4396..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2 deleted file mode 100644 index 7916a32..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2 deleted file mode 100644 index 5cf0998..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2 deleted file mode 100644 index de50d2b..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwkxduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwkxduz8A.woff2 deleted file mode 100644 index cd3f159..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwkxduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBduz8A.woff2 deleted file mode 100644 index d0a493f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2 deleted file mode 100644 index 134cce1..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2 deleted file mode 100644 index 29fb399..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2 deleted file mode 100644 index 889d871..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmhduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmhduz8A.woff2 deleted file mode 100644 index b5e72d1..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmhduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmxduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmxduz8A.woff2 deleted file mode 100644 index d62d6fc..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmxduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxduz8A.woff2 deleted file mode 100644 index 9f2cdfc..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBduz8A.woff2 deleted file mode 100644 index 51260e3..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu.woff2 deleted file mode 100644 index 86e4779..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBduz8A.woff2 deleted file mode 100644 index e538c26..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRduz8A.woff2 deleted file mode 100644 index 0a9a520..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhduz8A.woff2 deleted file mode 100644 index fa70af3..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxduz8A.woff2 b/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxduz8A.woff2 deleted file mode 100644 index 47872fb..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxduz8A.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNReuQ.woff2 b/docs/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNReuQ.woff2 deleted file mode 100644 index 81e1476..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNReuQ.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNpeudwk.woff2 b/docs/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNpeudwk.woff2 deleted file mode 100644 index 3d9ec07..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNpeudwk.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fO4KTet_.woff2 b/docs/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fO4KTet_.woff2 deleted file mode 100644 index 12c485e..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fO4KTet_.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKTQ.woff2 b/docs/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKTQ.woff2 deleted file mode 100644 index c58efa8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKTQ.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2 deleted file mode 100644 index 5a5cd9c..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvQlMIXxw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2 deleted file mode 100644 index a455e2b..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvUlMI.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2 deleted file mode 100644 index b455dfe..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvXlMIXxw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2 deleted file mode 100644 index 6fbd85a..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvYlMIXxw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2 deleted file mode 100644 index df5f193..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvZlMIXxw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2 deleted file mode 100644 index 29531f4..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvalMIXxw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2 deleted file mode 100644 index 36428b1..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_QiYsKILxRpg3hIP6sJ7fM7PqlONvblMIXxw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2 deleted file mode 100644 index 51cc963..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlM-vWjMY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2 deleted file mode 100644 index 1059d86..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMOvWjMY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2 deleted file mode 100644 index 82b2771..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMevWjMY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2 deleted file mode 100644 index 959a059..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlMuvWjMY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2 deleted file mode 100644 index b52412f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlOevWjMY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 deleted file mode 100644 index 92ec082..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPevW.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2 deleted file mode 100644 index a15fcd8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/HI_SiYsKILxRpg3hIP6sJ7fM7PqlPuvWjMY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2 b/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2 deleted file mode 100644 index 5379c12..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2 b/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2 deleted file mode 100644 index 4b7bc4a..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2 b/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2 deleted file mode 100644 index 6ec3730..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2 b/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2 deleted file mode 100644 index 7669127..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2 deleted file mode 100644 index 6122800..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 deleted file mode 100644 index cb5834f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 deleted file mode 100644 index 29342a8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 deleted file mode 100644 index 0933dfe..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 deleted file mode 100644 index 064e94b..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 deleted file mode 100644 index 8571683..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 deleted file mode 100644 index 68f094c..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 deleted file mode 100644 index 6b0b4af..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 deleted file mode 100644 index 9d7fb7f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 deleted file mode 100644 index 6068138..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 deleted file mode 100644 index b289f00..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 deleted file mode 100644 index 87711c0..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 deleted file mode 100644 index 0f6e60b..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 deleted file mode 100644 index 91231c9..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 deleted file mode 100644 index c009987..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 deleted file mode 100644 index 1bb7737..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 deleted file mode 100644 index 771fbec..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 deleted file mode 100644 index cb9bfa7..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 deleted file mode 100644 index a0d68e2..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 deleted file mode 100644 index 6399552..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 deleted file mode 100644 index 94ab5fb..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 deleted file mode 100644 index 3c45011..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 deleted file mode 100644 index fc71d94..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 deleted file mode 100644 index 020729e..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 deleted file mode 100644 index 47da362..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 deleted file mode 100644 index 22ddee9..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 deleted file mode 100644 index 8a8de61..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 deleted file mode 100644 index 6284d2e..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 deleted file mode 100644 index 72ce0e9..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhN.woff2 b/docs/deps/bootstrap-5.3.1/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhN.woff2 deleted file mode 100644 index 5b052bb..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhN.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAUi-qJCY.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAUi-qJCY.woff2 deleted file mode 100644 index 15be816..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAUi-qJCY.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAXC-q.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAXC-q.woff2 deleted file mode 100644 index 851630f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6u8w4BMUTPHjxsAXC-q.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2 deleted file mode 100644 index 2c8aaa8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwaPGR_p.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2 deleted file mode 100644 index 11de83f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh6UVSwiPGQ.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwaPGR_p.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwaPGR_p.woff2 deleted file mode 100644 index 486d3ec..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwaPGR_p.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwiPGQ.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwiPGQ.woff2 deleted file mode 100644 index aad98a3..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6u9w4BMUTPHh7USSwiPGQ.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjx4wXg.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjx4wXg.woff2 deleted file mode 100644 index ff60934..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjx4wXg.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 b/docs/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 deleted file mode 100644 index edb9fa6..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2 deleted file mode 100644 index b655a43..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa0ZL7SUc.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2 deleted file mode 100644 index 4025543..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2 deleted file mode 100644 index eb38b38..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1pL7SUc.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2 deleted file mode 100644 index 3df865d..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7SUc.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2 deleted file mode 100644 index a61a0be..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2 deleted file mode 100644 index 9117b5b..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2ZL7SUc.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2 b/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2 deleted file mode 100644 index ce21ca1..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2pL7SUc.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIMeaBXso.woff2 b/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIMeaBXso.woff2 deleted file mode 100644 index 9807404..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIMeaBXso.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofINeaB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofINeaB.woff2 deleted file mode 100644 index 042b9ab..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofINeaB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIO-aBXso.woff2 b/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIO-aBXso.woff2 deleted file mode 100644 index 28fc6f2..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIO-aBXso.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIOOaBXso.woff2 b/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIOOaBXso.woff2 deleted file mode 100644 index 4e2a182..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIOOaBXso.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIOuaBXso.woff2 b/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIOuaBXso.woff2 deleted file mode 100644 index af0abf2..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/XRXV3I6Li01BKofIOuaBXso.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/c2f002b3a87d3f9bfeebb23d32cfd9f8.woff2 b/docs/deps/bootstrap-5.3.1/fonts/c2f002b3a87d3f9bfeebb23d32cfd9f8.woff2 deleted file mode 100644 index ff27550..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/c2f002b3a87d3f9bfeebb23d32cfd9f8.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/ee91700cdbf7ce16c054c2bb8946c736.woff2 b/docs/deps/bootstrap-5.3.1/fonts/ee91700cdbf7ce16c054c2bb8946c736.woff2 deleted file mode 100644 index b0e2c35..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/ee91700cdbf7ce16c054c2bb8946c736.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 deleted file mode 100644 index c787ad8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqW106F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 deleted file mode 100644 index f3b2c4d..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWt06F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 deleted file mode 100644 index 87f0364..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtE6F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 deleted file mode 100644 index 3f5ef09..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtU6F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 deleted file mode 100644 index f762e91..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWtk6F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 deleted file mode 100644 index 7404f02..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWu06F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 deleted file mode 100644 index 8e05a7f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuU6F.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 deleted file mode 100644 index 7d385f3..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWuk6F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 deleted file mode 100644 index 387470b..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWvU6F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 deleted file mode 100644 index f53b8df..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memtYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWqWxU6F15M.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 deleted file mode 100644 index 0beab54..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 deleted file mode 100644 index e1ce55f..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 deleted file mode 100644 index 9c609c8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 deleted file mode 100644 index 7cd1174..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 deleted file mode 100644 index b852126..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 deleted file mode 100644 index 612ff5d..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 deleted file mode 100644 index f482ce1..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 deleted file mode 100644 index b7bc862..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 deleted file mode 100644 index 18862e8..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 b/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 deleted file mode 100644 index 35bac5d..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfuQltOxU.woff2 b/docs/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfuQltOxU.woff2 deleted file mode 100644 index 28852db..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfuQltOxU.woff2 and /dev/null differ diff --git a/docs/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfvQlt.woff2 b/docs/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfvQlt.woff2 deleted file mode 100644 index 886c2d7..0000000 Binary files a/docs/deps/bootstrap-5.3.1/fonts/q5uGsou0JOdh94bfvQlt.woff2 and /dev/null differ diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index 861503f..9c8cbac 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -10,7 +10,7 @@ articles: SCWorkflow-SubsetReclust: SCWorkflow-SubsetReclust.html SCWorkflow-Usage: SCWorkflow-Usage.html SCWorkflow-Visualizations: SCWorkflow-Visualizations.html -last_built: 2026-03-18T00:35Z +last_built: 2026-03-26T00:47Z urls: reference: https://nidap-community.github.io/SCWorkflow/reference article: https://nidap-community.github.io/SCWorkflow/articles diff --git a/docs/reference/aggregateCounts.html b/docs/reference/aggregateCounts.html index 5e6ebc3..c6a8eef 100644 --- a/docs/reference/aggregateCounts.html +++ b/docs/reference/aggregateCounts.html @@ -52,7 +52,7 @@

Aggregate Counts (Pseudobulk)

Usage

-
aggregateCounts(object, var.group, slot)
+
aggregateCounts(object, var.group, slot = "data", interactive = FALSE)
@@ -73,6 +73,10 @@

Arguments + +
interactive
+

If TRUE, draw plotly plot (default is FALSE)

+

Value

@@ -88,6 +92,17 @@

Details

+
+

Examples

+
if (FALSE) { # \dontrun{
+out <- aggregateCounts(
+  object = seurat_obj,
+  var.group = c("orig.ident", "condition"),
+  slot = "data"
+)
+} # }
+
+
diff --git a/docs/reference/annotateCellTypes.html b/docs/reference/annotateCellTypes.html index 4942a24..1007966 100644 --- a/docs/reference/annotateCellTypes.html +++ b/docs/reference/annotateCellTypes.html @@ -1,11 +1,9 @@ -Annotating cell types using SingleR module — annotateCellTypes • SCWorkflow +Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes • SCWorkflow Skip to contents @@ -44,16 +42,15 @@
-

SingleR is an automatic annotation method for single-cell -RNA sequencing (scRNAseq) data (Aran et al. 2019). Given a reference dataset -of samples (single-cell or bulk) with known labels, it labels new cells -from a test dataset based on similarity to the reference.

+

Annotate the cell types of your cells using SingleR (Aran et al., 2019). This +function takes a combined Seurat object after PC reduction and assigns cells +to a category (for example, stem cells or T cells) based on genomic profile.

@@ -120,6 +117,19 @@

Details

+
+

Examples

+
if (FALSE) { # \dontrun{
+out <- annotateCellTypes(
+  object = combined_so,
+  species = "Human",
+  reduction.type = "umap"
+)
+} # }
+
+
+
+
diff --git a/docs/reference/colorByGene.html b/docs/reference/colorByGene.html index 5844e6b..b75e5de 100644 --- a/docs/reference/colorByGene.html +++ b/docs/reference/colorByGene.html @@ -140,6 +140,19 @@

Details +
+

Examples

+
if (FALSE) { # \dontrun{
+out <- colorByGene(
+  object = anno_so,
+  samples.to.include = c("sample1", "sample2"),
+  gene = c("CD3D", "MS4A1"),
+  reduction.type = "umap"
+)
+} # }
+
+
+
diff --git a/docs/reference/combineNormalize.html b/docs/reference/combineNormalize.html index 774259d..04dd561 100644 --- a/docs/reference/combineNormalize.html +++ b/docs/reference/combineNormalize.html @@ -261,6 +261,19 @@

Details +
+

Examples

+
if (FALSE) { # \dontrun{
+out <- combineNormalize(
+  object = filtered_so_list,
+  npcs = 30,
+  draw.umap = TRUE,
+  draw.tsne = TRUE
+)
+} # }
+
+
+
diff --git a/docs/reference/compareCellPopulations.html b/docs/reference/compareCellPopulations.html index 546dc14..fe6a475 100644 --- a/docs/reference/compareCellPopulations.html +++ b/docs/reference/compareCellPopulations.html @@ -57,13 +57,11 @@

Compare Cell Populations

Usage

compareCellPopulations(
   object,
-  metadata.table,
   annotation.column,
   group.column,
   sample.column = "orig.ident",
   counts.type = "Frequency",
   group.order = NULL,
-  seurat.object.filename = "seurat_object.rds",
   wrap.ncols = 5
 )
@@ -76,11 +74,6 @@

Argumentsmetadata.table -

A data.frame containing metadata (typically from -Seurat object's meta.data slot)

- -
annotation.column

Character string specifying the metadata column containing cell type annotations to summarize in the bar plot

@@ -106,15 +99,15 @@

Argumentsseurat.object.filename -

Character string for the Seurat object -filename. Default is "seurat_object.rds"

- -
wrap.ncols

Integer specifying number of columns for facet wrapping in box plots. Default is 5

+ +
seurat.object.filename
+

Character string for the Seurat object +filename. Default is "seurat_object.rds"

+

Value

@@ -138,7 +131,6 @@

Examples# Compare cell populations by treatment group results <- compareCellPopulations( object = seurat_obj, - metadata.table = seurat_obj@meta.data, annotation.column = "cell_type", group.column = "treatment", sample.column = "sample_id", diff --git a/docs/reference/compute_modscore_data.html b/docs/reference/compute_modscore_data.html new file mode 100644 index 0000000..fb34f28 --- /dev/null +++ b/docs/reference/compute_modscore_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/reference/degGeneExpressionMarkers.html b/docs/reference/degGeneExpressionMarkers.html index 74b6d1c..c0cf05d 100644 --- a/docs/reference/degGeneExpressionMarkers.html +++ b/docs/reference/degGeneExpressionMarkers.html @@ -1,9 +1,9 @@ -DEG (Gene Expression Markers) — degGeneExpressionMarkers • SCWorkflow +DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers • SCWorkflow Skip to contents @@ -42,15 +42,15 @@
-

This function performs a DEG (differential expression of genes) -analysis on a merged Seurat object to identify expression markers -between different groups of cells (contrasts).

+

This function performs DE (differential expression) analysis on +a merged Seurat object to identify expression markers between different +groups of cells (contrasts).

@@ -120,6 +120,21 @@

Details

+
+

Examples

+
if (FALSE) { # \dontrun{
+deg <- degGeneExpressionMarkers(
+  object = anno_so,
+  samples = c("sample1", "sample2"),
+  contrasts = c("A-B"),
+  parameter.to.test = "cluster"
+)
+} # }
+
+
+
+
+
diff --git a/docs/reference/dotPlotMet.html b/docs/reference/dotPlotMet.html index c9d6613..e3cea9d 100644 --- a/docs/reference/dotPlotMet.html +++ b/docs/reference/dotPlotMet.html @@ -113,6 +113,18 @@

Details

+
+

Examples

+
if (FALSE) { # \dontrun{
+p <- dotPlotMet(
+  object = anno_so,
+  metadata = "celltype",
+  cells = c("T cell", "B cell"),
+  markers = c("CD3D", "MS4A1")
+)
+} # }
+
+
diff --git a/docs/reference/dualLabeling.html b/docs/reference/dualLabeling.html index c033779..fd9f404 100644 --- a/docs/reference/dualLabeling.html +++ b/docs/reference/dualLabeling.html @@ -1,13 +1,9 @@ -Plot coexpression of 2 markers using transcript and/or protein expression values — dualLabeling • SCWorkflow +Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling • SCWorkflow Skip to contents @@ -46,17 +42,15 @@
-

This method provides visualization of coexpression of 2 genes -(or proteins) and additional methods for filtering for cells with gene -expression values that are above or below thresholds set for one or both -markers. The method allows for filtering (optional) of the Seurat object -using manually set expression thresholds.

+

Display co-expression of two chosen markers in your Seurat +object. Creates a metadata column containing annotations for cells that +correspond to marker expression thresholds.

@@ -111,17 +105,17 @@

Argumentsmarker.1.type

Slot to use for first marker. Choices are "SCT", -"protein","HTO" (default is "SCT")

+"protein","HTO", or "Spatial" (default is "SCT")

marker.2.type

Slot to use for second marker. Choices are "SCT", -"protein","HTO" (default is "SCT")

+"protein","HTO", or "Spatial" (default is "SCT")

data.reduction

Dimension Reduction method to use for image. Options -are "umap" or "tsne" (default is "umap")

+are "umap", "tsne", or "both" (default is "both")

point.size
@@ -137,7 +131,7 @@

Argumentsadd.marker.thresholds -

Add marker thresholds on plot (default is FALSE)

+

Add marker thresholds on plot (default is TRUE)

marker.1.threshold
@@ -153,6 +147,18 @@

Argumentsmarker.1.filter.direction +

Annotate cells that have gene expression levels +for marker 1 using the marker 1 threshold. Choices are "greater than" +or "less than" (default is "greater than")

+ + +
marker.2.filter.direction
+

Annotate cells that have gene expression levels +for marker 2 using the marker 2 threshold. Choices are "greater than" +or "less than" (default is "greater than")

+ +
apply.filter.1

If TRUE, apply the first filter (default is TRUE)

@@ -168,45 +174,28 @@

Argumentsparameter.name

Name for metadata column for new marker filters -(Default is "Marker")

+(default is "My_CoExp")

trim.marker.1

Trim top and bottom percentile of marker 1 signal to pre-scale trim values (below) to remove extremely low and high values -(Default is TRUE)

+(default is FALSE)

trim.marker.2

Trim top and bottom percentile of marker 2 signal to pre-scale trim values (below) to remove extremely low and high values -(Default is TRUE)

+(default is FALSE)

pre.scale.trim
-

Set trimming percentile values (Defalut is 0.99)

+

Set trimming percentile value (default is 0.99)

display.unscaled.values

Set to TRUE if you want to view the unscaled -gene/protein expression values (Default is FALSE)

- - -
M1.filter.direction
-

Annotate cells that have gene expression levels -for marker 1 using the marker 1 threshold. Choices are "greater than" -or "less than" (default is "greater than")

- - -
M2.filter.direction
-

Annotate cells that have gene expression levels -for marker 2 using the marker 2 threshold. Choices are "greater than" -or "less than" (default is "greater than")

- - -
density.heatmap
-

Creates a additional heatmap showing the density -distribution of cells. (Default is FALSE)

+gene/protein expression values (default is FALSE)

@@ -216,6 +205,20 @@

Value

+
+

Examples

+
if (FALSE) { # \dontrun{
+out <- dualLabeling(
+  object = anno_so,
+  samples = c("sample1"),
+  marker.1 = "CD3D",
+  marker.2 = "MS4A1",
+  data.reduction = "umap"
+)
+} # }
+
+
+
diff --git a/docs/reference/filterQC.html b/docs/reference/filterQC.html index cf29e03..5a46323 100644 --- a/docs/reference/filterQC.html +++ b/docs/reference/filterQC.html @@ -1,7 +1,9 @@ -Filter & QC Samples — filterQC • SCWorkflow +Filter Low Quality Cells CCBR scRNA-seq — filterQC • SCWorkflow Skip to contents @@ -40,14 +42,15 @@
-

Filters cells and Genes for each sample and generates QC Plots -to evaluate data before and after filtering.

+

Filters cells and genes across various criteria for each sample. +Multiple cell and gene filters can be selected to remove poor quality data +and noise while generating QC plots before and after filtering.

@@ -66,8 +69,8 @@

Usage mad.complexity.limits = c(5, NA), topNgenes.limits = c(NA, NA), mad.topNgenes.limits = c(5, 5), - n.topgnes = 20, - do.doublets.fitler = T, + n.topgenes = 20, + do.doublets.filter = TRUE, plot.outliers = "None", group.column = NA, nfeatures = 2000, @@ -77,7 +80,7 @@

Usage high.cut.disp = 1e+05, selection.method = "vst", npcs = 30, - vars_to_regress = NULL, + vars.to.regress = NULL, seed.for.PCA = 42, seed.for.TSNE = 1, seed.for.UMAP = 42 @@ -189,7 +192,16 @@

Argumentsn.topgnes +
mad.topNgenes.limits
+

Filter limits based on how many Median +Absolute Deviations an outlier cell will have. Calculated from the Median +percentage of counts in the top N Genes. +Usage c(lower limit, Upper Limit). E.g. setting to c(5,5) will remove all +cells with more than 5 absolute deviations greater than or 5 absolute +deviations less than the median percentage. (Default: c(5,5))

+ + +
n.topgenes

Select the number of top highly expressed genes used to calculate the percentage of reads found in these genes. E.g. a value of 20 calculates the percentage of reads found in the top 20 @@ -197,21 +209,12 @@

Argumentsdo.doublets.fitler +
do.doublets.filter

Use scDblFinder to identify and remove doublet cells. Doublets are defined as two cells that are sequenced under the same cellular barcode, for example, if they were captured in the same droplet. (Default: TRUE)

- -
mad.topNgenes.limitsSet
-

Filter limits based on how many Median -Absolute Deviations an outlier cell will have. Calculated from the Median -percentage of counts in the top N Genes. -Usage c(lower limit, Upper Limit). E.g. setting to c(5,5) will remove all -cells with more than 5 absolute deviations greater than or 5 absolute -deviations less than the median percentage. (Default: c(5,5))

-

Value

@@ -225,6 +228,19 @@

Details

+
+

Examples

+
if (FALSE) { # \dontrun{
+out <- filterQC(
+  object = so_list,
+  min.cells = 20,
+  n.topgenes = 20,
+  do.doublets.filter = TRUE
+)
+} # }
+
+
+
diff --git a/docs/reference/filterSeuratObjectByMetadata.html b/docs/reference/filterSeuratObjectByMetadata.html index a9dcb49..df03a91 100644 --- a/docs/reference/filterSeuratObjectByMetadata.html +++ b/docs/reference/filterSeuratObjectByMetadata.html @@ -1,5 +1,7 @@ -Filter Seurat Object by Metadata — filterSeuratObjectByMetadata • SCWorkflow +Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata • SCWorkflow Skip to contents @@ -38,13 +40,14 @@
-

Filter and subset your Seurat object based on metadata column

+

This function subsets your Seurat object by selecting a +metadata column and values matching the cells to pass forward in analysis.

@@ -180,6 +183,21 @@

Details

+
+

Examples

+
if (FALSE) { # \dontrun{
+out <- filterSeuratObjectByMetadata(
+  object = anno_so,
+  samples.to.include = c("sample1", "sample2"),
+  sample.name = "orig.ident",
+  category.to.filter = "celltype",
+  values.to.filter = c("T cell", "B cell")
+)
+} # }
+
+
+
+
diff --git a/docs/reference/harmonyBatchCorrect.html b/docs/reference/harmonyBatchCorrect.html new file mode 100644 index 0000000..b9b0e93 --- /dev/null +++ b/docs/reference/harmonyBatchCorrect.html @@ -0,0 +1,144 @@ + +Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect • SCWorkflow + Skip to contents + + +
+
+
+ +
+

Adjusts cell embeddings and gene expression data to account for +variations due to user specified variable

+
+ +
+

Usage

+
harmonyBatchCorrect(
+  object,
+  nvar = 2000,
+  genes.to.add = c(),
+  group.by.var,
+  return.lognorm = T,
+  npc = 30
+)
+
+ +
+

Arguments

+ + +
object
+

Seurat-class object containing gene expression data and +metadata with the batch variable.

+ + +
nvar
+

Number of variable genes to subset the gene expression data by +(Default: 2000)

+ + +
genes.to.add
+

Add genes that might not be found among variably +expressed genes

+ + +
group.by.var
+

Which variable should be accounted for when running +batch correction

+ + +
return.lognorm
+

Logical; if TRUE, retain log-normalized assay behavior +in downstream handling. (Default: TRUE)

+ + +
npc
+

Number of principal components to use when running Harmony +(Default: 20)

+ +
+
+

Value

+

A list: adj.object with harmony-adjusted gene expression (SCT slot) +adj.tsne: harmonized tSNE plot

+
+
+

Details

+

Runs singular value decomposition on pearson residuals +(SCT scale.data) to obtain PCA embeddings. Performs harmony on +decomposed embedding and adjusts decomposed gene expression values +by harmonized embedding.

+
+ +
+

Examples

+
if (FALSE) { # \dontrun{
+harmonyBatchCorrect(
+  object = seurat,
+  nvar = 2000,
+  genes.to.add = c("Cd4", "Cd8a"),
+  group.by.var = "Mouse_Origin",
+  npc = 20
+)
+} # }
+
+
+
+ + +
+ + + +
+ + + + + + + diff --git a/docs/reference/heatmapSC.html b/docs/reference/heatmapSC.html index cd3e1ed..3d17e15 100644 --- a/docs/reference/heatmapSC.html +++ b/docs/reference/heatmapSC.html @@ -60,7 +60,7 @@

Usage sample.names, metadata, transcripts, - use_assay = "SCT", + use.assay = "SCT", proteins = NULL, heatmap.color = "Bu Yl Rd", plot.title = "Heatmap", @@ -103,6 +103,11 @@

Argumentsuse.assay +

Assay to use for transcript expression values. Choices are +"SCT" or "Harmony" (default is "SCT")

+ +
proteins

Proteins to plot (default is NULL)

@@ -178,8 +183,8 @@

Argumentsrow.order -

Gene vector to set row order. If NULL, use cluster order -(default is NULL)

+

Gene vector to set row order. If empty, use cluster order +(default is empty vector)

@@ -188,6 +193,19 @@

Value

+
+

Examples

+
if (FALSE) { # \dontrun{
+out <- heatmapSC(
+  object = anno_so,
+  sample.names = c("sample1", "sample2"),
+  metadata = "celltype",
+  transcripts = c("CD3D", "MS4A1")
+)
+} # }
+
+
+
diff --git a/docs/reference/index.html b/docs/reference/index.html index 8a6df93..2810705 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -63,7 +63,7 @@

All functionsannotateCellTypes() -
Annotating cell types using SingleR module
+
Cell Type Annotation with SingleR CCBR scRNA-seq
appendMetadataToSeuratObject() @@ -99,7 +99,7 @@

All functionsdegGeneExpressionMarkers()

-
DEG (Gene Expression Markers)
+
DE with Find Markers CCBR scRNA-seq
dotPlotMet() @@ -111,19 +111,25 @@

All functionsdualLabeling()

-
Plot coexpression of 2 markers using transcript and/or protein expression values
+
Cell Annotation with Co-Expression CCBR scRNA-seq
filterQC()
-
Filter & QC Samples
+
Filter Low Quality Cells CCBR scRNA-seq
filterSeuratObjectByMetadata()
-
Filter Seurat Object by Metadata
+
Subset Seurat Object CCBR scRNA-seq
+
+ + harmonyBatchCorrect() + +
+
Harmony Batch Correction from Singular Value Decomposed PCA
heatmapSC() @@ -150,12 +156,6 @@

All functionsobject - -

-
Harmony Batch Correction from Singular Value Decomposed PCA
-
- palantir_api_call()
diff --git a/docs/reference/modScore.html b/docs/reference/modScore.html index c49f3d3..90d13be 100644 --- a/docs/reference/modScore.html +++ b/docs/reference/modScore.html @@ -55,9 +55,9 @@

Usage
modScore(
   object,
   marker.table,
-  group_var = "orig.ident",
-  use_columns,
-  ms_threshold,
+  group.var = "orig.ident",
+  use.columns,
+  ms.threshold,
   general.class,
   multi.lvl = FALSE,
   lvl.df = NULL,
@@ -86,15 +86,20 @@ 

Argumentsuse_columns +
group.var
+

Metadata column used for grouping in diagnostic plots. +(Default: "orig.ident")

+ + +
use.columns

Select specific columns within Marker Table to analyze. Markers from unselected columns won't be included.

-
ms_threshold
+
ms.threshold

Allow user-specified module score thresholds. Provide one threshold for each Celltype you included -in the "use_columns" parameter. +in the "use.columns" parameter. For each Celltype, provide the Celltype name, then a space, then type your threshold for that Celltype. This threshold must be a number between 0.0 and 1.0. @@ -183,8 +188,8 @@

ExamplesmodScore( object = seuratObject, marker.table = immuneCellMarkers, - use_columns = c("CD4_T", "Treg", "Monocytes"), - ms_threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), + use.columns = c("CD4_T", "Treg", "Monocytes"), + ms.threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), general.class = c("CD4_T", "Monocytes"), multi.lvl = FALSE ) @@ -192,8 +197,8 @@

ExamplesmodScore( object = seuratObject, marker.table = immuneCellMarkers, - use_columns = c("CD4_T", "Treg", "Monocytes"), - ms_threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), + use.columns = c("CD4_T", "Treg", "Monocytes"), + ms.threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), general.class = c("CD4_T", "Monocytes"), multi.lvl = TRUE, lvl.df = parentChildTable diff --git a/docs/reference/modscore-imports.html b/docs/reference/modscore-imports.html index 13588fe..8711b18 100644 --- a/docs/reference/modscore-imports.html +++ b/docs/reference/modscore-imports.html @@ -47,9 +47,34 @@

Helpers for ModuleScore Shiny app

Precompute module scores per celltype and build plots from cached data.

+
+

Usage

+
compute_modscore_data(
+  object,
+  marker.list,
+  use.columns,
+  reduction = c("tsne", "umap", "pca"),
+  nbins = 10,
+  group.var = "orig.ident"
+)
+
- +
+

Examples

+
if (FALSE) { # \dontrun{
+res <- compute_modscore_data(
+  object = seurat_obj,
+  marker.list = list(Tcell = c("CD3D", "TRBC1")),
+  use.columns = c("Tcell"),
+  reduction = "umap"
+)
+} # }
+
+
+
+
diff --git a/docs/reference/plotMetadata.html b/docs/reference/plotMetadata.html index 25890a9..c2ba695 100644 --- a/docs/reference/plotMetadata.html +++ b/docs/reference/plotMetadata.html @@ -132,6 +132,19 @@

Details +
+

Examples

+
if (FALSE) { # \dontrun{
+out <- plotMetadata(
+  object = anno_so,
+  samples.to.include = c("sample1", "sample2"),
+  metadata.to.plot = c("celltype", "orig.ident"),
+  columns.to.summarize = c(),
+  reduction.type = "umap"
+)
+} # }
+
+
diff --git a/docs/reference/processRawData.html b/docs/reference/processRawData.html index 4062d57..b7399bf 100644 --- a/docs/reference/processRawData.html +++ b/docs/reference/processRawData.html @@ -144,6 +144,17 @@

Details +
+

Examples

+
if (FALSE) { # \dontrun{
+out <- processRawData(
+  input = c("sample1_filtered_feature_bc_matrix.h5"),
+  organism = "Human",
+  do.normalize.data = TRUE
+)
+} # }
+
+
diff --git a/docs/reference/tSNE3D.html b/docs/reference/tSNE3D.html index 79eb34a..12628f7 100644 --- a/docs/reference/tSNE3D.html +++ b/docs/reference/tSNE3D.html @@ -110,7 +110,25 @@

Arguments +

Value

+

A list with a plotly 3D TSNE plot (figure) and TSNE coordinates +(tsne.df).

+ +
+

Examples

+
if (FALSE) { # \dontrun{
+out <- tSNE3D(
+  object = seurat_obj,
+  color.variable = "cell_type",
+  label.variable = "orig.ident",
+  npcs = 15,
+  save.plot = FALSE
+)
+} # }
+
+
diff --git a/docs/reference/violinPlot.html b/docs/reference/violinPlot.html index d02a471..5f29a89 100644 --- a/docs/reference/violinPlot.html +++ b/docs/reference/violinPlot.html @@ -55,12 +55,12 @@

Usage layer, genes, group, - facet_by = "", - filter_outliers = F, - outlier_low = 0.05, - outlier_high = 0.95, - jitter_points, - jitter_dot_size + facet.by = "", + filter.outliers = F, + outlier.low = 0.05, + outlier.high = 0.95, + jitter.points, + jitter.dot.size ) @@ -88,27 +88,27 @@

Argumentsfacet_by +
facet.by

Split violin plot based on a second metadata group

-
filter_outliers
+
filter.outliers

Filter outliers from the data (TRUE/FALSE)

-
outlier_low
+
outlier.low

Filter lower bound outliers (Default = 0.05)

-
outlier_high
+
outlier.high

Filter upper bound outliers (Default = 0.95)

-
jitter_points
+
jitter.points

Scatter points on the plot (TRUE/FALSE)

-
jitter_dot_size
+
jitter.dot.size

Set size of individual points

@@ -132,10 +132,10 @@

Examples layer = "data", genes = c("Cd4", "Cd8a"), group = "celltype", - facet_by = "orig.ident", - filter_outliers = TRUE, - jitter_points = TRUE, - jitter_dot_size = 0.5 + facet.by = "orig.ident", + filter.outliers = TRUE, + jitter.points = TRUE, + jitter.dot.size = 0.5 ) } # } diff --git a/docs/search.json b/docs/search.json index e6ba8f0..67c6ad1 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -[{"path":[]},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"feature","dir":"","previous_headings":"v1.0.3 (in development)","what":"Feature","title":"CHANGELOG","text":"Visualizes cell population frequencies absolute counts across multiple groups Generates alluvial flow bar plots faceted box plots Supports custom group ordering color palettes Added ggalluvial dependency flow visualizations Generated JSON template using json2r.prompt.md instructions","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"fix","dir":"","previous_headings":"v1.0.2 (2024-02-01)","what":"Fix","title":"CHANGELOG","text":"fix: update package name action file (00c816c)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"unknown","dir":"","previous_headings":"v1.0.2 (2024-02-01)","what":"Unknown","title":"CHANGELOG","text":"Merge pull request #53 NIDAP-Community/dev fix: update package name action file (1ea1b0c) Merge pull request #52 NIDAP-Community/CDupdate fix: update package name action file (3956593)","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"build","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Build","title":"CHANGELOG","text":"build: update conda recipe action file (32f800c)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"documentation","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Documentation","title":"CHANGELOG","text":"docs(version): Automatic development release (0548007) docs: Adding changelog (34b1e0b) docs(version): Automatic development release (184b4f9) docs(version): Automatic development release (b8b41d3) docs(version): Automatic development release (f420a3b) docs(version): Automatic development release (8b5cc98)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"feature-1","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Feature","title":"CHANGELOG","text":"feat: Update test-annotation supress warnings (3d5cf8f) feat: test (4c4cee7) feat: test (c8274f9) feat: test (3aff107) feat: test harmony (6c2830b) feat: enable CD (3696c4b)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"fix-1","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Fix","title":"CHANGELOG","text":"fix: add skip CI harmony (55c1c0d) fix: Suppress warning celldex, move CI handle test Harmony, add png page creation (406594a) fix: Revise version format (7992d22) fix: update readme (d8d4013)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"test","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Test","title":"CHANGELOG","text":"test: Adding variant Action skip (b0bea4c) test: update meta.ymal (1abd118) test: update meta.ymal (46ba936) test: mute line42 test-Process_Raw_Data (75dbd06)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"unknown-1","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Unknown","title":"CHANGELOG","text":"Merge pull request #51 NIDAP-Community/dev Update test files Harmony Annotation, add GitHub page image (5c19124) Merge pull request #50 NIDAP-Community/CDupdate fix: add skip CI harmony (3268a82) Merge pull request #49 NIDAP-Community/CDupdate fix: Suppress warning celldex, move CI handle test Harmony, … (30de884) Merge pull request #47 NIDAP-Community/dev Update CD (76e59b4) Merge pull request #46 NIDAP-Community/CDupdate docs: Adding changelog (7c5bcf2) Merge pull request #45 NIDAP-Community/dev Update repo structure CD implementation (ca27382) Merge pull request #44 NIDAP-Community/CDupdate Update repo structure Continuous Deployment implementation (fab9424) Merge remote-tracking branch 'origin/main' dev (c850a61) Merge pull request #43 NIDAP-Community/revert-42-testCD2 Revert \"Test cd2\" (dbd1511) Revert \"Test cd2\" (82c3208) Merge pull request #42 ruiheesi/testCD2 Test cd2 (696718c) Merge pull request #17 ruiheesi/release_dev Release dev (93dac20) Merge pull request #16 ruiheesi/dev Dev (f094e92) Merge pull request #15 ruiheesi/testCD2 Test cd2 (89850c1) Merge remote-tracking branch 'origin/dev' testCD2 (429581c) feat :test (10b3e05) Merge pull request #14 ruiheesi/dev Dev (c932c71) Merge pull request #13 ruiheesi/testCD2 Test cd2 (da01ac7) Merge pull request #12 ruiheesi/release_dev Release dev (447457a) Merge pull request #11 ruiheesi/dev Dev (e4a2987) Merge pull request #10 ruiheesi/testCD2 fix: update readme (a3f0d9c) Merge pull request #9 ruiheesi/release_dev Release dev (4026e1a) Merge pull request #8 ruiheesi/dev Dev (4364548) Merge pull request #7 ruiheesi/testCD test: update meta.ymal (fe470f9) Merge pull request #6 ruiheesi/dev Dev (4e75a9f) Merge pull request #5 ruiheesi/testCD test: update meta.ymal (caed439) Merge pull request #4 ruiheesi/dev Dev (9f27de1) Merge pull request #3 ruiheesi/testCD test: mute line42 test-Process_Raw_Data (abef880) Merge pull request #1 ruiheesi/testCD feat: enable CD (0194dd9) Merge pull request #38 NIDAP-Community/main Updating dev avoid potential lost progress (8936388) Merge pull request #37 NIDAP-Community/8_4_tutorial 8 4 tutorial (c640c8f) Merge branch '8_4_tutorial' https://github.com/NIDAP-Community/SCWorkflow 8_4_tutorial (be8b11f) Just tutorial (b667bb0) test (d8bc63c) Fixing visualization \"\" plot (d7bb90f) Merge pull request #36 NIDAP-Community/dev Dev (0b66085) Merge pull request #35 NIDAP-Community/heatmap_fix Fix heatmap (49f0486) Fix heatmap (db3ee4e) Merge pull request #34 NIDAP-Community/release_6_15_test Update DESCRIPTION file author info short package description (31a4d13) Merge pull request #33 NIDAP-Community/update_DES Update DESCRIPTION file (df2abd7) Update DESCRIPTION file (5e43253) Adding auto-generated files (14ff346) Merge pull request #31 NIDAP-Community/release_6_13 Update 6 13 Alexei (e2297c6) Merge pull request #30 NIDAP-Community/release_test Run unit tests (407ca8f) Merge pull request #28 NIDAP-Community/main Update (2891614) Merge pull request #27 NIDAP-Community/phil_6_6_no_NG Modify package function load (370522e) Including \"NULL\" \"seurat_cluster\" tests (8cb6a23) Introducing \"cluster\" variable functionality (e26f2aa) Modify package function load (fe7ad65) Adding auto-generated files (e65ad6b) Merge pull request #26 NIDAP-Community/release_test Passed tests (4a40802) Merge pull request #25 NIDAP-Community/phil_6_6_no_NG Run unit test (4979266) Update Plot_Metadata (573b57a) Update ModuleScore (4367b28) Update NAMESPACE (77240ed) Merge changes (b9226e0) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: NAMESPACE tests/testthat/fixtures/downsample_SO.R (d4b92fe) update documentation (19b7179) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (ca74b58) delete old files (b5b2d1d) Removed test-Pseudobulk_DEG.R test-Sample_Names.R (877fa28) Removed test-Meta_Data.R (975face) Merge branch 'main' phil_6_6_no_NG (f638db9) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (77c1f03) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main need update violinPlot subset function (41f805e) update violinPlot subset function (0609899) Remove old tests (6ca9164) udate PBMC sing Filtered rds (516a9df) Fix Test Error (7641655) fix Test error (e97494a) Merge branch 'main' phil_6_6_no_NG (d7fd7c8) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (1e52f51) Setting add.gene..protein TRUE - error FALSE (2e0a153) Merge branch 'main' phil_6_6_no_NG (d61ce1d) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (cd90fbb) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (b44581b) bug fix heatmap sort annotation (8d09781) Merge branch 'main' phil_6_6_no_NG (986bcdf) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8fab93f) changed select_crobject selectCRObject (b7446a6) Update Seurate importing method process raw (846ac5d) Trigger check update latest main (2b575eb) Merge branch 'main' phil_6_6_no_NG (aab0562) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (b786ed1) Removed gene Seurat (d5d17ac) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (e7f08eb) Bug fix dual labeling (9eede5b) Fixed bug Dual Labeling added one plot output (contingency table) (0b17248) Test direct import seurat process raw (3bd763b) Trigger action, updated process raw import Seurat (2e46082) Trigger action, updated cc.gene (84acd38) Trigger action, updated NAMESPACE (a968d2d) Trigger action (b38dd32) Trigger action (05e9be4) Update NAMESPACE (d7015e6) Merge branch 'main' phil_6_6_no_NG (d9ba725) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (5559288) Trigger unit tests (99ae357) Add Filtered rds (666c3d8) update Variable descriptions (43e05f5) update Variable descriptions (3fd169b) reverting clusters barcodes merging (f561e2f) Trigger unit test (a668ef9) Trigger unit test (1c48c37) Merge branch 'main' phil_6_6_no_NG (ada4aab) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (aa254f1) Update NAMESPACE (dc6152b) rn h5 test (d398586) Fixing \"\" cluster label (18bbdc8) Removing \"latent variable\" test script (1839cdd) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: NAMESPACE R/Combine_and_Renormalize.R R/Filter_and_QC.R R/PCA_and_Normalization.R R/Post_filter_QC_Plots.R tests/testthat/fixtures/NSCLC_Single/NSCLC_Single_Filtered_PCA_Norm_SO_downsample.rds tests/testthat/fixtures/NSCLC_Single/NSCLC_Single_Filtered_SO_downsample.rds tests/testthat/fixtures/NSCLC_Single/NSCLCsingle_Filtered_PCA_Norm_SO_downsample.rds tests/testthat/fixtures/NSCLC_Single/NSCLCsingle_Filtered_SO_downsample.rds tests/testthat/fixtures/PBMC_Single/PBMC_Single_Filtered_PCA_Norm_SO_downsample.rds tests/testthat/fixtures/PBMC_Single/PBMC_Single_Filtered_SO_downsample.rds tests/testthat/fixtures/downsample_SO.R tests/testthat/test_Combine_and_Renormalize.R tests/testthat/test_Filter_and_QC.R tests/testthat/test_PCA_and_Normalization.R tests/testthat/test_Post_Filter_QC.R (92eae54) FiltQC Variable Descriptions (4aa0674) New RAW filtQC CombNorm (7aa1a24) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: NAMESPACE R/Post_filter_QC_Plots.R tests/testthat/test_Post_Filter_QC.R (4fd27d2) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: man/Combine_and_Renormalize.Rd man/Post_filter_QC.Rd (159af06) skip ci reticulate pacakge (549f205) skip ci reticulate pacakge (75412d7) Edited snapshot tests (a316ad3) Edited snapshot tests (cf00505) update pseudobulk helper (fd0a506) update pseudobulk helper (7f8060e) add pseudobulk helper test scripts (122f072) add pseudobulk helper test scripts (27a49ec) update functions tests (c7ddbf8) update functions tests (c201dd7) Removing \"latent var\" replacing second.clust (67c3aea) Removing \"latent var\" replacing second.clust (9c16231) Quick test CI (e71339c) Quick test CI (73c62ca) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (b600bf0) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8bb7502) Added color selection 3D-tsne Plotter (2882b76) Added color selection 3D-tsne Plotter (f7decbc) Added \"cached\" CellDex option (2cabb8d) Added \"cached\" CellDex option (c913672) fixed NAMESPACE conflicts (f2aa02f) fixed NAMESPACE conflicts (797ab6d) Changed pheatmap ComplexHeatmap::pheatmap (5c9316b) Changed pheatmap ComplexHeatmap::pheatmap (414723d) Code Review (03f4392) Code Review (b2724c8) Removed LICENCE file description (e2affa9) Removed LICENCE file description (8c3154e) Minor fixes R CMD CHECK (134523f) Minor fixes R CMD CHECK (c1eb410) Fix syntax error line 200, fix syntax error \"=\" \"==\" (2916381) Fix syntax error line 200, fix syntax error \"=\" \"==\" (d909584) Helper Recluster, Sprint 7 compliant. (d5181f9) Helper Recluster, Sprint 7 compliant. (8f28252) New test Recluster correct name. (bf252e2) New test Recluster correct name. (0d88348) Old file w bad name gone. New file good. (e903ca0) Old file w bad name gone. New file good. (0e0d81e) Re-arranged new Sprint 7 formatting functions. (2c07bcb) Re-arranged new Sprint 7 formatting functions. (e670fe9) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main need push updated code main (20f0ab7) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main need push updated code main (189075c) push updated scripts main (ed4b682) push updated scripts main (f70b090) Restructured according new requirements (94b0170) Restructured according new requirements (797d5be) Restructured according new requirements (495be93) Restructured according new requirements (7e53872) Restructured according new requirements (6043df1) Restructured according new requirements (5efd01d) Restructured according new requirements (8465a9e) Restructured according new requirements (75be9d0) Restructured according new requirements (8c4739b) Restructured according new requirements (8a39e82) Restructured according new requirements (2ccad56) Restructured according new requirements (4770cf7) Restructured according new requirements (8762e39) Restructured according new requirements (c21ca07) Restructured according new requirements (b9dfed4) Restructured according new requirements (9cc27d3) Restructured according new requirements (656b12e) Restructured according new requirements (2989dbe) Restructured according new requirements (bf8dcb1) Restructured according new requirements (d11a692) Restructured according new requirements (95693f6) Restructured according new requirements (da04b19) Restructured according new requirements (6dca0bf) Restructured according new requirements (de6b4da) Restructured according new requirements (8f4ea59) Restructured according new requirements (1741342) Restructured according new requirements (f522e45) Restructured according new requirements (dc8cfe2) Restructured according new requirements (b2235b0) Restructured according new requirements (6f4bd6d) Delete test-DegGeneExpressionMarkers.R Replaced newer, renamed version (237eacf) Delete test-DegGeneExpressionMarkers.R Replaced newer, renamed version (ee510b7) Accepted changes Namespace (b0ef9e7) Accepted changes Namespace (70d880f) Removed ticks dotplot code (d6599be) Removed ticks dotplot code (3b4a6e0) Added select dplyr import (1311aae) Added select dplyr import (c860639) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8759676) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (28e310b) Added snapshot file tests Name clusters (1a0c530) Added snapshot file tests Name clusters (de98847) Added snapshot tests heatmap (3f138a4) Added snapshot tests heatmap (1fe2d7b) Additional snapshot file tests dual labeling (8d92fcf) Additional snapshot file tests dual labeling (580ab8d) Additional tests dotplot metadata (fbc3ada) Additional tests dotplot metadata (b7f6c45) Adding expect snapshot file tests 3D-tSNE plotter (8f33e2b) Adding expect snapshot file tests 3D-tSNE plotter (661102c) Formatting changes helper-dual labeling (8f5da99) Formatting changes helper-dual labeling (266dec8) Formatting changes helper - Name clusters (5a6079f) Formatting changes helper - Name clusters (cfc8b69) Formatting changes helper-Heatmap (abd3f09) Formatting changes helper-Heatmap (1ca0e49) Formatting changes helper-dotplot Metadata (321e619) Formatting changes helper-dotplot Metadata (69653cb) Formatting changes helper 3D-tSNE (8be697c) Formatting changes helper 3D-tSNE (c1835c2) Formatting changes Dotplot Metadata (7dbbc99) Formatting changes Dotplot Metadata (d994b6c) Code changes Name clusters formatting (70a9fc2) Code changes Name clusters formatting (bca98aa) Formatting changes Heatmap.R (e1bd5c7) Formatting changes Heatmap.R (f47e847) Add files via upload replace image file (7bf9b80) Add files via upload replace image file (542b65d) Update README.md additional text (700ad07) Update README.md additional text (2e0feec) Update README.md Added image. (7694f8d) Update README.md Added image. (f28a6a7) Add files via upload Workflow image (f93175b) Add files via upload Workflow image (433a89d) Create README.md (70aa926) Create README.md (0b318e5) formatting dual labeling (2e7d12c) formatting dual labeling (f782199) format 3D-tSNE function (fe97cb0) format 3D-tSNE function (4ae1381) Update gitflow-R-action.yml (9bdcf6c) Update gitflow-R-action.yml (7799784) update Dotplot conflict (0ea5f42) update Dotplot conflict (e99ac9b) Update (aa71a29) Update (3dfcdb5) Adding action files dockerfiles (d215fdb) Adding action files dockerfiles (1cbab8e) Resolving git conflict Recluster. (0c70bdb) Resolving git conflict Recluster. (28d7b96) committing -progress Sugarloaf updates Recluster template. (ed03d46) committing -progress Sugarloaf updates Recluster template. (446af26) changed fixture filenames (71ebc2f) changed fixture filenames (6e3284c) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (f5590de) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (219746d) edit code formatting (1a7a120) edit code formatting (2676adc) Initial TestThat Recluster Includes tests 5 datasets testing type, well one test MouseTEC tests UMAP instead default TSNE. (4da52a7) Initial TestThat Recluster Includes tests 5 datasets testing type, well one test MouseTEC tests UMAP instead default TSNE. (da7c560) Initial R4 functionalization. (7558379) Initial R4 functionalization. (84acb8c) Add files via upload Initial release (3eca944) Add files via upload Initial release (deafd1c) Add files via upload Initial release (77b96a6) Add files via upload Initial release (91b7594) Add files via upload Initial commit (4a74c89) Add files via upload Initial commit (9d694ae) Add files via upload Initial release (fa2e7c3) Add files via upload Initial release (25d5857) Add files via upload Initial release (69d1dcf) Add files via upload Initial release (900ab4c) Delete DEG_Gene_Expression_Markers.R (5496f85) Delete DEG_Gene_Expression_Markers.R (fe406ea) Add files via upload Initial release (ea9b264) Add files via upload Initial release (45fd8d2) Add files via upload Initial release (c2e8e8c) Add files via upload Initial release (fee817b) Add files via upload Initial release (55fd6c9) Add files via upload Initial release (a59a2bc) Add files via upload Initial release (ad72a95) Add files via upload Initial release (aac8353) Add files via upload Initial release (a0c5606) Add files via upload Initial release (c31a9f2) Delete DeletMeAgain (d2436b6) Delete DeletMeAgain (4514dae) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (9ce4628) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (2a53ebc) CommLine Test (82aa0fa) CommLine Test (811846c) Delete Delete.Following orders (6b41c15) Delete Delete.Following orders (1f82ca7) Add files via upload DELETE IMMEDIATELY!!! (986326c) Add files via upload DELETE IMMEDIATELY!!! (ea68f0a) Initial release (2c12ea5) Initial release (a294bd3) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (a276a80) Recover code past commit (184c917) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main update function parameter names. (83fbdd1) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main update function parameter names. (6f46e6e) reformat function parameter names (0dfca6c) reformat function parameter names (c81712f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (eac38ce) Merge pull request #9 NIDAP-Community/Rui_resolve_conflict Resolve conflicts (7fa7db9) Merge pull request #9 NIDAP-Community/Rui_resolve_conflict Resolve conflicts (7839aba) Resolve conflicts (d516cd2) Resolve conflicts (8c776b1) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (0a5942a) Update main local branch (b27d7af) Merge pull request #8 NIDAP-Community/phi_test Phi test (2d5e7ec) Merge pull request #8 NIDAP-Community/phi_test Phi test (87fdb1a) resolve conflict (b4d8548) resolve conflict (a3ddae1) Merge branch 'main' phi_test (e22b5e6) Add ignore h5 files gitignore (55c3167) resolve conflicts (43976ba) resolve error (d59173b) Update current directory (f7e242b) Downsampled CITEseq (bdfa1f3) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Correct CITEseq Downsmple (4d643f4) correct CITEseq Downsample (3f032fd) helper script 3D-tsne (12ee9f3) helper script 3D-tsne (30b7146) helper script 3D-tsne (a901830) new tests (1ce5664) new tests (29d75bc) new tests (9cb29d2) unit test Jing templates (bb48481) unit test Jing templates (63a6636) unit test Jing templates (97d74ca) NSCLCmulti (3d42d4a) NSCLCmulti (540bdf3) NSCLCmulti (6e8e596) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Update Chariou Single R BRCA combin Renormalize (e851077) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Update Chariou Single R BRCA combin Renormalize (072096f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Update Chariou Single R BRCA combin Renormalize (1a8fbf8) BRCA comb_Renorm (5e3985b) BRCA comb_Renorm (9fb63a3) BRCA comb_Renorm (6d4c05a) unit tests Name Clusters (95cf6f5) unit tests Name Clusters (c7ed110) unit tests Name Clusters (43859bd) unit test dual labeling (46dd45e) unit test dual labeling (3f07269) unit test dual labeling (5c85127) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main merging new changes (b8b1eda) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main merging new changes (09c8f46) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main merging new changes (729b051) unit tests heatmap, dotplot (7659b83) unit tests heatmap, dotplot (b81287c) unit tests heatmap, dotplot (5414455) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main adding NSCLC_Single SOs (152cf11) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main adding NSCLC_Single SOs (b0ea506) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main adding NSCLC_Single SOs (d83c561) NSCLC_single (df265cd) NSCLC_single (ad62924) NSCLC_single (7d0b242) add dotplot tests (57166ba) add dotplot tests (b2bd01e) add dotplot tests (69fec28) unit test Dotplot (a94f7ba) unit test Dotplot (13fb938) unit test Dotplot (9c67e81) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main new error messaging added (b09cb64) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main new error messaging added (d266d5e) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main new error messaging added (c0aaa1b) new error messaging dotplot (9742c5f) new error messaging dotplot (a9bf495) new error messaging dotplot (93a3a06) changes dotplot (1849346) changes dotplot (b52dc29) changes dotplot (d4c0824) Charou (dccaf54) Charou (95b3421) Charou (1f3ca66) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: .gitignore DESCRIPTION tests/testthat/test_Filter_and_QC.R (c58b92e) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: .gitignore DESCRIPTION tests/testthat/test_Filter_and_QC.R (8a845be) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: .gitignore DESCRIPTION tests/testthat/test_Filter_and_QC.R (bb18f4c) TEC (08d1f47) TEC (11f66b3) TEC (c40054d) NAMESPACE removed merge conda package build requires NAMESPACE file added, ignored dev cycle. (e7ac125) NAMESPACE removed merge conda package build requires NAMESPACE file added, ignored dev cycle. (0027492) NAMESPACE removed merge conda package build requires NAMESPACE file added, ignored dev cycle. (4f3bbc8) Merge pull request #7 NIDAP-Community/dev_release_dec_13_22 Dev release dec 13 22 (02999db) Merge pull request #7 NIDAP-Community/dev_release_dec_13_22 Dev release dec 13 22 (6ec32fa) Merge pull request #7 NIDAP-Community/dev_release_dec_13_22 Dev release dec 13 22 (2e0f434) Initial Commit sprint 5 Functions. Including change DESCRIPTION file (4384dd1) Initial Commit sprint 5 Functions. Including change DESCRIPTION file (eeb7741) Initial Commit sprint 5 Functions. Including change DESCRIPTION file (90120cb) Minor fix codes pass Check (3b4f7ee) Minor fix codes pass Check (29de7d6) Minor fix codes pass Check (b65e314) Updated tests (733e2ec) Updated tests (c9ed47b) Updated tests (97e18e5) update NameClusters function test (128fbb4) update NameClusters function test (3f90257) update NameClusters function test (c88161e) update test-Metadata_Table.R (a37474b) update test-Metadata_Table.R (4257cc6) update test-Metadata_Table.R (7b2f599) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (78fc249) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (cce3673) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (986e82b) small changes 3D plotter testing (74364db) small changes 3D plotter testing (a60aa38) small changes 3D plotter testing (7ac6a75) changed heatmap test added library heatmap (cb33cf2) changed heatmap test added library heatmap (bcab3c2) changed heatmap test added library heatmap (20f7260) revised test dual labeling (b5caf02) revised test dual labeling (0f39220) revised test dual labeling (d1b47d6) new doc dotplot (b986ccc) new doc dotplot (800edc4) new doc dotplot (acd4514) changes test added color option (493b745) changes test added color option (b66d7fa) changes test added color option (69c3c15) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8863d0d) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (63fc3f6) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8fa25f6) add original citation Pseudobulk.R (4293f96) add original citation Pseudobulk.R (53add2e) add original citation Pseudobulk.R (7b99980) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (9abcb98) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (940e610) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (fb13a18) add functions heatmap, dotplot, 3d-tsne dual-labeling (0ed4df7) add functions heatmap, dotplot, 3d-tsne dual-labeling (74fe2ad) add functions heatmap, dotplot, 3d-tsne dual-labeling (44338d2) update ModScore Pseudobulk DESCRIPTION (aefedde) update ModScore Pseudobulk DESCRIPTION (abe0919) update ModScore Pseudobulk DESCRIPTION (ec95f0c) fix NAMESPACE @importFrom methods empty (756de4e) fix NAMESPACE @importFrom methods empty (2f2bd5a) fix NAMESPACE @importFrom methods empty (5984060) Update Description (3dcc872) Update Description (968b204) Update Description (1f05120) Merge pull request #6 NIDAP-Community/rui Rui (c09fa3f) Merge pull request #6 NIDAP-Community/rui Rui (5d3d3b2) Merge pull request #6 NIDAP-Community/rui Rui (e71621d) update man docs (bf9fb25) update man docs (c08890f) update man docs (98e86e3) add NameCluster function tests (dbe4d15) add NameCluster function tests (5812a98) add NameCluster function tests (233dd75) update MetadataTable & SampleNames (b3f19d8) update MetadataTable & SampleNames (175fa43) update MetadataTable & SampleNames (1d921a2) drop unused factor levels SO_moduleScore.rds (3a39fcf) drop unused factor levels SO_moduleScore.rds (133d872) drop unused factor levels SO_moduleScore.rds (ea6df85) Jing templates fixtures (08532bf) Jing templates fixtures (9f84531) Jing templates fixtures (150df39) add SampleNames .R .Rd files (9f16588) add SampleNames .R .Rd files (780b298) add SampleNames .R .Rd files (446d631) update MetadataTable (615afdc) update MetadataTable (44abfce) update MetadataTable (a27296a) Unit test added 3d tsne function (3ab8d75) Unit test added 3d tsne function (6dc17bd) Unit test added 3d tsne function (e032618) rui update 1 (9011356) rui update 1 (81793d8) rui update 1 (7006ac8) add man/MetadataTable.Rd (af8eedf) add man/MetadataTable.Rd (7830b05) add man/MetadataTable.Rd (61457e8) upload fixtures/SO_moduleScore.rds (78caf56) upload fixtures/SO_moduleScore.rds (07bc42d) upload fixtures/SO_moduleScore.rds (b3b3dc4) correct DESCRIPTION tibble (57847f5) correct DESCRIPTION tibble (fe89882) correct DESCRIPTION tibble (90dd394) update DESCRIPTION (f55cf25) update DESCRIPTION (fcf6d26) update DESCRIPTION (7d3e4ef) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (be5cff8) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (0d74815) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (58aa02a) add MetadataTable function (42c3569) add MetadataTable function (50e3af0) add MetadataTable function (09b995d) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (01921d5) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (795043f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (70082b0) removed NAMESPACE repo (dc422fa) removed NAMESPACE repo (d528f76) removed NAMESPACE repo (f7f5da5) removed Rcheck.txt (8b70481) removed Rcheck.txt (e0a6384) removed Rcheck.txt (e23003a) Added Git ignore update R check results, 11_16_2022 (ce18e14) Added Git ignore update R check results, 11_16_2022 (e705893) Added Git ignore update R check results, 11_16_2022 (1d8a95c) Update DESCRIPTION (7fdea8e) Update DESCRIPTION (0d266f4) Update DESCRIPTION (5effd23) Update cc.genes calls (797aca1) Update cc.genes calls (3db02b2) Update cc.genes calls (65f805b) Update cc.genes calls (8cd8b03) Update cc.genes calls (82a4244) Update cc.genes calls (ea8e671) Update library call (423fbe9) Update library call (f52a89c) Update library call (a3d302b) Update namespace (a4230b7) Update namespace (d35dc0e) Update namespace (0a8e2a9) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (272c0ec) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8558d4f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (83f6f23) Update namespace (9960214) Update namespace (3d85b8d) Update namespace (b8c8b0e) Merge pull request #5 NIDAP-Community/initial_filter_qc Adjusted png render method NIDAP display (33820ce) Merge pull request #5 NIDAP-Community/initial_filter_qc Adjusted png render method NIDAP display (770cb6a) Merge pull request #5 NIDAP-Community/initial_filter_qc Adjusted png render method NIDAP display (12b4ce3) Adjusted png render method NIDAP display (0b9e4d2) Adjusted png render method NIDAP display (9968f1f) Adjusted png render method NIDAP display (747b89a) Merge pull request #4 NIDAP-Community/initial_filter_qc Update namespace (bcc1c7f) Merge pull request #4 NIDAP-Community/initial_filter_qc Update namespace (61952ec) Merge pull request #4 NIDAP-Community/initial_filter_qc Update namespace (ac05afc) Update namespace (fdcfd52) Update namespace (f070d8e) Update namespace (fd74f19) Merge pull request #3 NIDAP-Community/initial_filter_qc Added license file (a3a99b6) Merge pull request #3 NIDAP-Community/initial_filter_qc Added license file (5c508c3) Merge pull request #3 NIDAP-Community/initial_filter_qc Added license file (d5113f3) Added license file (186d183) Added license file (a8bd74c) Added license file (1d7ed13) Merge pull request #2 NIDAP-Community/initial_filter_qc remove GenomeInfoDb (fe8164b) Merge pull request #2 NIDAP-Community/initial_filter_qc remove GenomeInfoDb (75ae5fd) Merge pull request #2 NIDAP-Community/initial_filter_qc remove GenomeInfoDb (8908e24) remove GenomeInfoDb (f3bb0e6) remove GenomeInfoDb (2b32d4e) remove GenomeInfoDb (b27279e) Merge pull request #1 NIDAP-Community/initial_filter_qc Initial push filter qc, demo (866a648) Merge pull request #1 NIDAP-Community/initial_filter_qc Initial push filter qc, demo (a30130b) Merge pull request #1 NIDAP-Community/initial_filter_qc Initial push filter qc, demo (b627f06) Initial push filter qc, demo (a843d4d) Initial push filter qc, demo (dcd9fef) Initial push filter qc, demo (462a39d) Update README.md Changed package name (acb154c) Update README.md Changed package name (fdffdf4) Initial commit (6f6b791) Initial commit (7a2591a)","code":""},{"path":[]},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"clone-the-repo","dir":"Articles","previous_headings":"Propose Change","what":"Clone the repo","title":"Contributing to SCWorkflow","text":"member CCBR, can clone repository computer development environment. SCWorkflow large repository may take minutes. Cloning ‘SCWorkflow’… remote: Enumerating objects: 3126, done. remote: Counting objects: 100% (734/734), done. remote: Compressing objects: 100% (191/191), done. remote: Total 3126 (delta 630), reused 545 (delta 543), pack-reused 2392 (1) Receiving objects: 100% (3126/3126), 1.04 GiB | 4.99 MiB/s, done. Resolving deltas: 100% (1754/1754), done. Updating files: 100% (306/306), done.","code":"git clone --single-branch --branch DEV https://github.com/NIDAP-Community/SCWorkflow.git cd SCWorkflow"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"install-dependencies","dir":"Articles","previous_headings":"Propose Change","what":"Install dependencies","title":"Contributing to SCWorkflow","text":"first time cloning repo may install dependencies Check R CMD: R console, make sure package passes R CMD check running: ⚠️ Note: R CMD check doesn’t pass cleanly, ’s good idea ask help continuing.","code":"devtools::check()"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"load-scworkflow","dir":"Articles","previous_headings":"Propose Change","what":"Load SCWorkflow from repo","title":"Contributing to SCWorkflow","text":"R console, load package local repo using:","code":"devtools::load_all()"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"create-branch","dir":"Articles","previous_headings":"Propose Change","what":"Create branch","title":"Contributing to SCWorkflow","text":"Create Git branch pull request (PR). Give branch descriptive name changes make. Example: Use iss-10 ’s specific issue, feature-new-plot new feature. bug fixes small changes, can branch main branch. Success: Switched new branch ‘iss-10’ new features larger changes, branch DEV branch. Success: Switched new branch ‘feature-new-plot’","code":"# Create a new branch from main and switch to it git branch iss-10 git switch iss-10 # Switch to DEV branch, create a new branch, and switch to new branch git switch DEV git branch feature-new-plot git switch feature-new-plot"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"make-changes","dir":"Articles","previous_headings":"Develop","what":"Make your changes","title":"Contributing to SCWorkflow","text":"Now ’re ready edit code, write unit tests, update documentation needed.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"code-style-guidelines","dir":"Articles","previous_headings":"Develop > Make your changes","what":"Code Style Guidelines","title":"Contributing to SCWorkflow","text":"New code follow general guidelines outlined . - Important: Don’t restyle code unrelated PR Tools help: - Use styler package apply styles Key conventions tidyverse style guide:","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"function-organization","dir":"Articles","previous_headings":"Develop > Make your changes","what":"Function Organization","title":"Contributing to SCWorkflow","text":"Structure functions like : Functions follow template. Use roxygen2 documentation:","code":"#' @title Function Title #' @description Brief description of what the function does #' @param param1 Description of first parameter #' @param param2 Description of second parameter #' @details Additional details if needed #' @importFrom package function_name #' @export #' @return Description of what the function returns yourFunction <- function(param1, param2) { ## --------- ## ## Functions ## ## --------- ## ## --------------- ## ## Main Code Block ## ## --------------- ## output_list <- list( object = SeuratObject, plots = list( 'plotTitle1' = p1, 'plotTitle2' = p2 ), data = list( 'dataframeTitle' = df1 ) ) return(output_list) }"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"commit-push","dir":"Articles","previous_headings":"Develop","what":"Commit and Push Your Changes","title":"Contributing to SCWorkflow","text":"Best practices commits: recommend following “atomic commits” principle commit contains one new feature, fix, task. Learn : Atomic Commits Guide","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"check-status","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"1️⃣ Check Status","title":"Contributing to SCWorkflow","text":"Check current state Git working directory staging area:","code":"git status"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"stage-files","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"2️⃣ Stage Files","title":"Contributing to SCWorkflow","text":"Add files changed staging area:","code":"git add path/to/changed/files/"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"make-the-commit","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"3️⃣ Make the Commit","title":"Contributing to SCWorkflow","text":"commit message follow Conventional Commits specification. Briefly, commit start one approved types feat, fix, docs, etc. followed description commit. Take look Conventional Commits specification detailed information write commit messages.","code":"git commit -m 'feat: create function for awesome feature'"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"push-your-changes-to-github","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"4️⃣ Push your changes to GitHub:","title":"Contributing to SCWorkflow","text":"first time pushing branch, may explicitly set upstream branch: recommend pushing commits often backed GitHub. can view files branch GitHub https://github.com/NIDAP-Community/SCWorkflow/tree/<-branch-name> (replace <-branch-name> actual name branch).","code":"git push git push --set-upstream origin iss-10"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"writing-tests","dir":"Articles","previous_headings":"Document and Tests","what":"Writing Tests","title":"Contributing to SCWorkflow","text":"tests matter: changes code also need unit tests demonstrate changes work intended. add tests: Use testthat create unit tests Follow organization described tidyverse test style guide Look existing code package examples","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"documentation","dir":"Articles","previous_headings":"Document and Tests","what":"Documentation","title":"Contributing to SCWorkflow","text":"update documentation: Written new function Changed API existing function Function used vignette update documentation: Use roxygen2 Markdown syntax See R Packages book detailed instructions Update relevant vignettes needed","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"check","dir":"Articles","previous_headings":"Document and Tests","what":"Check Your Work","title":"Contributing to SCWorkflow","text":"🔍 Final validation step: making changes, run following command R console make sure package still passes R CMD check: Goal: checks pass errors, warnings, notes.","code":"devtools::check()"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"create-the-pr","dir":"Articles","previous_headings":"Deploy Feature","what":"1️⃣ Create the PR","title":"Contributing to SCWorkflow","text":"branch ready, create PR GitHub: https://github.com/NIDAP-Community/SCWorkflow/pull/new/ Select branch just pushed: Edit PR title description. title briefly describe change. Follow comments template fill body PR, can delete comments (everything ) go. ’re ready, click ‘Create pull request’ open . Optionally, can mark PR draft ’re yet ready reviewed, change later ’re ready.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"wait-for-a-maintainer-to-review-your-pr","dir":"Articles","previous_headings":"Deploy Feature","what":"2️⃣ Wait for a maintainer to review your PR","title":"Contributing to SCWorkflow","text":"best follow tidyverse code review principles: https://code-review.tidyverse.org/. reviewer may suggest make changes accepting PR order improve code quality style. ’s case, continue make changes branch push GitHub, appear PR. PR approved, maintainer merge issue(s) PR links close automatically. Congratulations thank contribution!","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"after-your-pr-has-been-merged","dir":"Articles","previous_headings":"Deploy Feature","what":"3️⃣ After your PR has been merged","title":"Contributing to SCWorkflow","text":"PR merged, update local clone repo switching DEV branch pulling latest changes: ’s good idea run git pull creating new branch start recent commits main.","code":"git checkout DEV git pull"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"helpful-links-for-more-information","dir":"Articles","previous_headings":"","what":"Helpful links for more information","title":"Contributing to SCWorkflow","text":"contributing guide adapted tidyverse contributing guide GitHub Flow tidyverse style guide tidyverse code review principles reproducible examples R packages book usethis devtools testthat styler roxygen2","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/Intro.html","id":"scworkflow","dir":"Articles","previous_headings":"","what":"SCWorkflow","title":"","text":"CCBR Single-cell RNA-seq Package (SCWorkflow) allows users analyze single-cell RNA-seq datasets starting CellRanger output files (H5 mtx files, etc.).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/Intro.html","id":"installation","dir":"Articles","previous_headings":"SCWorkflow","what":"Installation","title":"","text":"can install SCWorkflow package GitHub : also Docker container available ","code":"# install.packages(\"remotes\") remotes::install_github(\"NIDAP-Community/SCWorkflow\", dependencies = TRUE)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/Intro.html","id":"usage","dir":"Articles","previous_headings":"SCWorkflow","what":"Usage","title":"","text":"Following workflow can perform steps single-cell RNA-seq analysis, : Quality Control: Import, Select, & Rename Samples Filter Cells based QC metrics Combine Samples, Cluster, Normalize Data Batch Correction using Harmony Cell Annotation: SingleR Automated Annotations Module Scores Co-Expression External Annotations Visualizations: Dimensionality Reductions (t-SNE UMAP Plots) colored Marker Expression Metadata Heatmaps Violin Plots Trajectory Differential Expression Analysis Seurat’s FindMarkers() Pseudobulk Aggregation Pathway Analysis Please see introductory vignette quick start tutorial. Take look reference documentation detailed information function package.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/README.html","id":"scworkflow","dir":"Articles","previous_headings":"","what":"SCWorkflow","title":"SCWorkflow-Intro","text":"CCBR Single-cell RNA-seq Package (SCWorkflow) allows users analyze single-cell RNA-seq datasets starting CellRanger output files (H5 mtx files, etc.).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/README.html","id":"installation","dir":"Articles","previous_headings":"SCWorkflow","what":"Installation","title":"SCWorkflow-Intro","text":"can install SCWorkflow package GitHub : also Docker container available ","code":"# install.packages(\"remotes\") remotes::install_github(\"NIDAP-Community/SCWorkflow\", dependencies = TRUE)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/README.html","id":"usage","dir":"Articles","previous_headings":"SCWorkflow","what":"Usage","title":"SCWorkflow-Intro","text":"Following workflow can perform steps single-cell RNA-seq analysis, : Quality Control: Import, Select, & Rename Samples Filter Cells based QC metrics Combine Samples, Cluster, Normalize Data Batch Correction using Harmony Cell Annotation: SingleR Automated Annotations Module Scores Co-Expression External Annotations Visualizations: Dimensionality Reductions (t-SNE UMAP Plots) colored Marker Expression Metadata Heatmaps Violin Plots Trajectory Differential Expression Analysis Seurat’s FindMarkers() Pseudobulk Aggregation Pathway Analysis Please see introductory vignette quick start tutorial. Take look reference documentation detailed information function package.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"cell-type-annotation-with-singler","dir":"Articles","previous_headings":"","what":"Cell Type Annotation with SingleR","title":"Annotations","text":"function automates cell type annotation single-cell RNA sequencing data employing SingleR [1] method, allocates labels cells within dataset according gene expression profile similarities reference dataset containing cell type labeled samples SingleR automatic annotation method single-cell RNA sequencing data uses given reference dataset samples (single-cell bulk) known labels label new cells test dataset based similarity reference. Two mouse reference datasets (MouseRNAseqData ImmGenData) two human reference datasets (HumanPrimaryCellAtlasData BlueprintEncodeData) CellDex R package [2] currently available.","code":"Anno_SO=annotateCellTypes(object=Comb_SO$object, species = \"Mouse\", reduction.type = \"umap\", legend.dot.size = 2, do.finetuning = FALSE, local.celldex = NULL, use.clusters = NULL )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"add-external-cell-annotations","dir":"Articles","previous_headings":"","what":"Add External Cell Annotations","title":"Annotations","text":"function merge external table cell annotations existing Seurat Object’s metadata table. input external metadata table must column named “Barcode” contains barcodes matching found metadata already present input Seurat Object. output new Seurat Object metadata now includes additional columns external table.","code":"CellType_Anno_Table=read.csv(\"./images/PerCell_Metadata.csv\") ExtAnno_SO=ExternalAnnotation(object = Anno_SO$object, external_metadata = CellType_Anno_Table, seurat_object_filename = \"seurat_object.rds\", barcode_column = \"Barcode\", external_cols_to_add = c(\"Cell Type\"), col_to_viz = \"Cell Type\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"cell-annotation-with-co-expression","dir":"Articles","previous_headings":"","what":"Cell Annotation with Co-Expression","title":"Annotations","text":"function display co-expression two chosen markers Seurat Object. Create metadata column containing annotations cells correspond marker expression thresholds set. function enables users visualize association two selected genes proteins according expression values various samples. association plotted, samples values specified limit can excluded. Users ability customize visualization, including choice visualization type, point size shape, transparency level. Furthermore, tool allows application filters data, setting thresholds, providing annotations notify users cells meet established thresholds. visualization can improved omitting extreme values. tool also facilitates creation heatmap represent density distribution cells exhibit raw gene/protein expression values.","code":"grep('Cd4',rownames(Anno_SO$object@assays$RNA),ignore.case = T,value=T) DLAnno_SO=dualLabeling(object = Anno_SO$object, samples <- c(\"PBS\",\"CD8dep\",\"ENT\",\"NHSIL12\",\"Combo\"), marker.1=\"Nos2\", marker.2=\"Arg1\", marker.1.type = \"SCT\", marker.2.type = \"SCT\", data.reduction = \"both\", point.size = 0.5, point.shape = 16, point.transparency = 0.5, add.marker.thresholds = TRUE, marker.1.threshold = 0.5, marker.2.threshold = 0.5, filter.data = TRUE, marker.1.filter.direction = \"greater than\", marker.2.filter.direction = \"greater than\", apply.filter.1 = TRUE, apply.filter.2 = TRUE, filter.condition = TRUE, parameter.name = \"My_CoExp\", trim.marker.1 = FALSE, trim.marker.2 = FALSE, pre.scale.trim = 0.99, display.unscaled.values = FALSE ) plot(DLAnno_SO$plots$tsne) plot(DLAnno_SO$plots$umap)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"color-by-gene-lists","dir":"Articles","previous_headings":"","what":"Color by Gene Lists","title":"Annotations","text":"function generates plots visualize expression specific markers (genes) single-cell RNA sequencing (scRNA-seq) data. Gene plots generated order appear input list (provided present data). function takes number inputs create detailed plots showing activity certain genes. can customize based specific samples genes interest point transparency. code built-system alert issues chosen inputs. particular gene missing, return empty plot. gene present, perform several steps adjust data better visualization analysis, normalizing data creating reduction plot (type plot helps visualize complex data). code also makes sure display chosen samples, creates caption plot indicating samples shown, colors points based gene activity levels, adjusts plot’s visual elements like transparency, size, labels. haven’t selected specific samples, use available samples data. also checks presence chosen genes data processes ensure uniformity across different cell types. output function detailed figure showing activity chosen genes across different cell types. useful identifying distinct groups cells based gene activity levels.","code":"Marker_Table <- read.csv(\"Marker_Table_demo.csv\") colorByMarkerTable(object=Anno_SO$object, samples.subset=c(\"PBS\",\"ENT\",\"NHSIL12\", \"Combo\",\"CD8dep\" ), samples.to.display=c(\"PBS\",\"ENT\",\"NHSIL12\", \"Combo\",\"CD8dep\" ), marker.table=Marker_Table, cells.of.interest=c(\"Neutrophils\",\"Macrophages\",\"CD8_T\" ), protein.presence = FALSE, assay = \"SCT\", reduction.type = \"umap\", point.transparency = 0.5, point.shape = 16, cite.seq = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"module-score-cell-classification","dir":"Articles","previous_headings":"","what":"Module Score Cell Classification","title":"Annotations","text":"Screens data cells based user-specified cell markers. Outputs seurat object metadata averaged marker scores annotated “Likely_CellType” column. function can used quantify expression marker sets individual cell (optionally) hierarchical manner, helping identify different cell types potential subpopulations. function aids identifying cell types based average gene expression. uses feature Seurat software known AddModuleScore function. function calculates gene expression specific sets records within designated area Seurat object. program forecasts cell identities comparing recorded scores across various gene sets. ability adjust identification process designating cutoff points bimodal distribution parameter known manual threshold. thresholds cutoff considered identification process. Inputs: program takes several inputs. include single-cell RNA sequencing (scRNA-seq) object, selection samples analysis, table gene markers different cell types, optionally, hierarchical table directing order cell classification. Data Preparation: program prepares scRNA-seq object, assigns names samples, selects data based specified samples. Module Score Calculation: program calculates module scores, measure gene set activity expression [3], cell type based provided marker table. Visualization: Density distribution plots colored reduction plots generated help visualize module scores, relationship cell types, sample identities. Thresholding: Users can select threshold values aid classification cells. Cells scores designated threshold labeled “unknown”. Subclass Identification: desired, program can identify subclasses within cell types analyzing subpopulations. Updating Cell Type Labels: program appends “Likely_CellType” column metadata scRNA-seq object, based results module score analysis. Output: updated scRNA-seq object new cell type labels.","code":"MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, use_columns = c(\"Neutrophils\",\"Macrophages\",\"CD8_T\" ), ms_threshold=c(\"Neutrophils .25\",\"Macrophages .40\",\"CD8_T .14\"), general.class=c(\"Neutrophils\",\"Macrophages\",\"CD8_T\"), multi.lvl = FALSE, reduction = \"umap\", nbins = 10, gradient.ft.size = 6, violin.ft.size = 6, step.size = 0.1 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"rename-clusters-by-cell-type","dir":"Articles","previous_headings":"","what":"Rename Clusters by Cell Type","title":"Annotations","text":"function creates dot plot Cell Types Renamed Clusters outputs Seurat Object new metadata column containing New Cluster Names. Cell Types often determined looking Module Score Cell Classification calls made upstream Module Score Cell Classification (see MS_Celltype metadata column). must provide table column containing unique Cluster IDs upstream clustering analysis (e.g. one SCT_snn_res_* columns input Seurat Object metadata) column containing corresponding New Cluster Names chosen. dot plot display unique Cell Types x-axis Renamed Clusters y-axis. size dots show percentage cells row (Renamed Cluster) classified Cell Type. comparison dot sizes within row may provide insights cluster’s primary Cell Type. new metadata column named “Clusternames” added output Seurat Object contains New Cluster Names. Methodology function creates dot plot visualization cell types metadata category (usually cluster number) given dataset implemented SCWorkflow package. function allows update organize biological data cell clusters Seurat object. changing input labels, can map custom names existing cluster IDs add names new metadata column. also generates dot plot using Seurat’s Dotplot function [4], providing visual representation percentage various cell types within cluster. Typically, cluster can distinctively named predominant cell type seen dotplot. plot’s order can customized clusters cell types. specific order provided, function uses default order. optional parameter allows user make plot interactive. function returns updated Seurat object plot.","code":"clstrTable <- read.table(file = \"./images/Cluster_Names.txt\", sep = '\\t',header = T) RNC_object=nameClusters(object=Anno_SO$object, cluster.identities.table=clstrTable, cluster.numbers= 'OriginalClusterIDs', cluster.names='NewClusterNames', cluster.column =\"SCT_snn_res.0.2\", labels.column = \"mouseRNAseq_main\", order.clusters.by = NULL, order.celltypes.by = NULL, interactive = FALSE ) # DimPlot(MS_object, group.by = \"SCT_snn_res.0.2\", label = T, reduction = 'umap') # DimPlot(MS_object, group.by = \"mouseRNAseq_main\", label = T, reduction = 'umap') ggsave(RNC_object$plots, filename = \"./images/RNC.png\", width = 9, height = 6)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"dot-plot-of-genes-by-metadata","dir":"Articles","previous_headings":"","what":"Dot Plot of Genes by Metadata","title":"Annotations","text":"function creates dot plot average gene expression values set genes cell subpopulations defined metadata annotation columns. input table contains single column genes (“Genes column”) single column category (“Category labels plot” column). values “Category labels plot” column match values provided metadata function (Metadata Category Plot). plot order genes (x-axis, left right) Categories (y-axis, top bottom) order appears input table. category entries omitted plotted. Dotplot size reflect percentage cells expressing gene color reflect average expression gene. table showing values plot (either percentage cells expressing gene, average expression scaled) returned, selected user. Methodology function creates dot plot visualization gene expression metadata given dataset. uses Seurat package create plots. size dot represents percentage cells expressing particular gene (frequency), color dot indicates average gene expression level. function ensures unique valid genes categories used. categories genes found dataset, appropriate warnings issued. plot drawn option reverse x y-axes reverse order metadata categories. colors can also customized. addition plot, function provides tabular format dot plot data, can useful analysis reporting. choice returning either tables representing percent cells expressing gene average expression level genes. function can useful exploratory data analysis visualizing differences gene expression across different conditions groups cells. Aran, D., . P. Looney, L. Liu, E. Wu, V. Fong, . Hsu, S. Chak, et al. 2019. “Reference-based analysis lung single-cell sequencing reveals transitional profibrotic macrophage.” Nat. Immunol. 20 (2): 163–72. http://bioconductor.org/packages/release/data/experiment/html/celldex.html https://satijalab.org/seurat/reference/addmodulescore Hao Y et al. Integrated analysis multimodal single-cell data. Cell. 2021 Jun 24;184(13):3573-3587.e29. doi: 10.1016/j.cell.2021.04.048. Epub 2021 May 31. PMID: 34062119; PMCID: PMC8238499.","code":"FigOut=dotPlotMet(object=Anno_SO$object, metadata=\"orig.ident\", cells=c(\"PBS\",\"ENT\",\"NHSIL12\", \"Combo\",\"CD8dep\" ), markers=Marker_Table$Macrophages, plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = \"darkblue\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html","id":"de-with-find-markers","dir":"Articles","previous_headings":"","what":"DE with Find Markers","title":"Differential Expression Analysis","text":"function performs DE (differential expression) analysis merged Seurat object identify expression markers different groups cells (contrasts). analysis uses FindMarkers() function Seurat Workflow. Methodology Differential expression analysis (DEG) fundamental technique single-cell genomics research. goal DEG analysis identify genes exhibit significant changes expression levels different groups cells conditions, thereby uncovering potential markers distinguish groups. function takes merged Seurat object [1] input, expected contain single-cell data multiple samples, along relevant metadata SingleR annotations, provide information cell identity. perform DEG analysis, user can choose various statistical algorithms, MAST [2], wilcox [3], bimod [4], , accommodate different types experimental designs assumptions data. user can control sensitivity analysis setting minimum fold-change gene expression groups considered significant. Additionally, users can specify assay used analysis, whether scaled data (SCT) raw RNA counts. best results, recommended use function well-curated preprocessed single-cell data, ensuring Seurat object contains relevant metadata SingleR annotations. Users carefully select samples contrasts based experimental design research questions. Additionally, exploring different statistical algorithms adjusting threshold can fine-tune DEG analysis reveal accurate gene expression markers. https://satijalab.org/seurat/ https://rglab.github.io/MAST/ Dalgaard, Peter (2008). Introductory Statistics R. Springer Science & Business Media. pp. 99–100 https://en.wikipedia.org/wiki/Multimodal_distribution","code":"DEG_table=degGeneExpressionMarkers(object = Anno_SO$object, samples = c(\"PBS\", \"ENT\", \"NHSIL12\", \"Combo\", \"CD8dep\" ), contrasts = c(\"0-1\"), parameter.to.test = \"SCT_snn_res_0_2\", test.to.use = \"MAST\", log.fc.threshold = 0.25, assay.to.use = \"SCT\", use.spark = F )"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html","id":"aggregate-seurat-counts","dir":"Articles","previous_headings":"Pseudo Bulk Method","what":"Aggregate Seurat Counts","title":"Differential Expression Analysis","text":"function first step Pseudobulk analysis scRNA-seq dataset. groups cells based chosen categorical variable(s) Seurat Object’s Metadata aggregates counts gene group. output table aggregate expression rows genes columns values found chosen Pseudobulk variable. select multiple categories aggregate (e.g. Category1: ,B,C Category2: D,E,F), cells grouped combinations category variables (e.g. A_D, A_E, A_F, B_D, B_E, B_F). default, gene counts averaged across cells group.","code":"aggregateCounts(object=so, var.group=var_group, slot=slot)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html","id":"statistical-analysis-using-limma","dir":"Articles","previous_headings":"Pseudo Bulk Method","what":"Statistical Analysis using Limma","title":"Differential Expression Analysis","text":"Given matrix (typically log-normalized gene expression) metadata table, run one- two-factor statistical analyses groups using linear mixed effects models limma. Reference. 2 ways treating Donor Patient - one random effect fixed effect Using Mixed Effects Model (Donor random effect): Add Donor column Donor Variable Column add Donor variable Covariate Columns. handled separately Donor Variable Column random effect. Covariate Columns field include variables except Donor. Using Basic Linear Model (Donor fixed effect): can add Donor column covariate Covariate Columns, treated fixed effect. Additional variables can included Covariate Columns Ensure Donor Variable Column left blank. function Beta version undergoing active development. encounter problems, please contact CCBR NCICCBRNIDAP@mail.nih.gov","code":"Pseudobulk_LimmaStats()"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html","id":"volcano-plot---enhanced","dir":"Articles","previous_headings":"Visualizations","what":"Volcano Plot - Enhanced","title":"Differential Expression Analysis","text":"function utilizes EnhancedVolcano R Bioconductor package generate publication-ready volcano plots differential expression analyses, offering number customizable visualization options optimizing gene label placement avoid clutter Methodology volcano plot type scatterplot shows statistical significance (P value) versus magnitude change (fold change). enables quick visual identification genes large fold changes also statistically significant. may biologically significant features (genes, isoforms, peptides ). , using highly-configurable function “EnhancedVolcano” produces publication-ready volcano plots. Maria Doyle, 2021 Visualization RNA-Seq results Volcano Plot (Galaxy Training Materials). https://training.galaxyproject.org/training-material/topics/transcriptomics/tutorials/rna-seq-viz--volcanoplot/tutorial.html Online; accessed Mon Aug 01 2022 Batut et al., 2018 Community-Driven Data Analysis Training Biology Cell Systems 10.1016/j.cels.2018.05.012 Blighe, K, S Rana, M Lewis. 2018. EnhancedVolcano: Publication-ready volcano plots enhanced coloring labeling. https://github.com/kevinblighe/EnhancedVolcano.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html","id":"process-input-data","dir":"Articles","previous_headings":"","what":"Process Input Data","title":"Import Data and Quality Control","text":"package designed work general Seurat Workflow. begin using SCWorkflow tools process h5 files generated Cell Ranger software 10x genomics platform create list Seurat Objects[1] corresponding h5 file. Seurat Object basic data structure Seurat Single Cell analysis tool supports standard scRNAseq, CITE-Seq, TCR-Seq assays. Samples prepared cell hashing protocol (HTOs) can also processed produce Seurat Object split corresponding experimental design strategy. h5 files containing multiple samples can also processed create Seurat objects split based values orig.ident column. corresponding Metadata table can used add sample level information Seurat object. table format Sample names first Column sample metadata additional columns. Metadata table can also used rename samples including alternative sample name Column metadata table. Samples can also excluded final Seurat object using REGEX strategy identify samples included/excluded. explain based newnames final Seurat Object contain assay slot log2 normalized counts. QC figures individual samples also produced help evaluate samples quality.","code":"SampleMetadataTable <- read.table(file = \"./images/Sample_Metadata.txt\", sep = '\\t',header = T) files=list.files(path=\"../tests/testthat/fixtures/Chariou/h5files\",full.names = T) SOlist=processRawData(input=files, sample.metadata.table=SampleMetadataTable, sample.name.column='Sample_Name', organism=\"Mouse\", rename.col='Rename', keep=T, file.filter.regex=c(), split.h5=F, cell.hash=F, tcr.summarize.topN=10, do.normalize.data=T )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html","id":"filter-low-quality-cells","dir":"Articles","previous_headings":"","what":"Filter Low Quality Cells","title":"Import Data and Quality Control","text":"function filter genes cells based multiple metrics available Seurat Object metadata slot. detailed guide single cell quality filtering can found Xi Li, 2021 [2]. First, genes can filtered setting minimum number cells needed keep gene removing VDJ Add descriptiopn VDJ genes. Next, cells can filtered setting thresholds individual metric. Cells meet designated criteria removed final filtered Seurat Object . Filter limits can set using absolute values median absolute deviations (MADs) criteria. absolute MAD values set single filter, least extreme value (.e. lowest value upper limits highest value lower limits) selected. filter values used metric printed log output. filters default values can turned setting limits NA. individual filtering criteria used tool listed . total number molecules detected within cell (nCount_RNA) number genes detected cell (nFeature_RNA) complexity genes ( log10(nFeature_RNA)/log10(nCount_RNA) Percent mitochondrial Genes Percent counts top 20 Genes Doublets calculated scDblFinder (using package default parameters) [3] function return filtered Seurat Object various figures showing metrics filtering. figures can used help evaluate effects filtering criteria whether filtering limits need adjusted.","code":"SO_filtered=filterQC(object=SOlist$object, ## Filter Genes min.cells = 20, filter.vdj.genes=F, ## Filter Cells nfeature.limits=c(NA,NA), mad.nfeature.limits=c(5,5), ncounts.limits=c(NA,NA), mad.ncounts.limits=c(5,5), mitoch.limits = c(NA,25), mad.mitoch.limits = c(NA,3), complexity.limits = c(NA,NA), mad.complexity.limits = c(5,NA), topNgenes.limits = c(NA,NA), mad.topNgenes.limits = c(5,5), n.topgnes=20, do.doublets.fitler=T )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html","id":"combine-normalize-and-cluster-data","dir":"Articles","previous_headings":"","what":"Combine, Normalize, and Cluster Data","title":"Import Data and Quality Control","text":"functions combines multiple sample level Seurat Objects single Seurat Object normalizes combined dataset. multi-dimensionality data summarized set “principal components” visualized UMAP tSNE projections. graph-based clustering approach identify cell clusters data. Hao Y et al. Integrated analysis multimodal single-cell data. Cell. 2021 Jun 24;184(13):3573-3587.e29. doi: 10.1016/j.cell.2021.04.048. Epub 2021 May 31. PMID: 34062119; PMCID: PMC8238499. Heumos, L., Schaar, .C., Lance, C. et al. Best practices single-cell analysis across modalities. Nat Rev Genet (2023). https://doi.org/10.1038/s41576-023-00586-w Germain P, Lun , Macnair W, Robinson M (2021). “Doublet identification single-cell sequencing data using scDblFinder.” f1000research. doi:10.12688/f1000research.73600.1.","code":"Comb_SO=combineNormalize( object=SO_filtered$object, # Nomralization variables npcs = 21, SCT.level=\"Merged\", vars.to.regress = c(\"percent.mt\"), # FindVariableFeatures nfeatures = 2000, low.cut = 0.1, high.cut = 8, low.cut.disp = 1, high.cut.disp = 100000, selection.method = 'vst', # Dim Reduction only.var.genes = FALSE, draw.umap = TRUE, draw.tsne = TRUE, seed.for.pca = 42, seed.for.tsne = 1, seed.for.umap = 42, # Clustering Varables clust.res.low = 0.2, clust.res.high = 1.2, clust.res.bin = 0.2, # Select PCs methods.pca = NULL, var.threshold = 0.1, pca.reg.plot = FALSE, jackstraw = FALSE, jackstraw.dims=5, # Other exclude.sample = NULL, cell.count.limit= 35000, reduce.so = FALSE, project.name = 'scRNAProject', cell.hashing.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-SubsetReclust.html","id":"subset-seurat-object","dir":"Articles","previous_headings":"","what":"Subset Seurat Object","title":"Subset and Recluster","text":"function subsets Seurat object. Select metadata column values matching cells pass forward analysis.","code":"filter_SO=filterSeuratObjectByMetadata( object = Anno_SO$object, samples.to.include = c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\"), sample.name = 'orig.ident', category.to.filter = 'immgen_main', values.to.filter = c('Monocytes','Macrophages','DC'), keep.or.remove = FALSE, greater.less.than = \"greater than\", colors = c( \"aquamarine3\", \"salmon1\", \"lightskyblue3\"), seed = 10, cut.off = 0.5, legend.position = \"right\", reduction = \"umap\", plot.as.interactive.plot = FALSE, legend.symbol.size = 2, dot.size = 0.1, number.of.legend.columns = 1, dot.size.highlighted.cells = 0.5, use.cite.seq.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-SubsetReclust.html","id":"recluster-seurat-object","dir":"Articles","previous_headings":"","what":"Recluster Seurat Object","title":"Subset and Recluster","text":"function provides mechanism re-clustering filtered Seurat object, common task single-cell RNA sequencing analysis. function provides options choose number principal components, range clustering resolution, type dimensionality reduction, several parameters. function finds variable features performs Principal Component Analysis (PCA). Next, dimensionality reduction performed using UMAP t-SNE based PCA, followed identification nearest neighbors. performs clustering different resolutions within provided range, creating new clustering columns Seurat object. also retains old clustering information, plots clusters resolution returns list containing re-clustered Seurat object grid clustering plots. function can helpful experimenting different clustering parameters especially filtering visually inspect results. Methodology function uses methods Seurat package [1]. Seurat uses graph-based clustering method inspired previous strategies, particularly Macosko et al [3]. uses methods like SNN-Cliq PhenoGraph [4.5], represent cells graph structure based similarities feature expression patterns. aim divide graph highly connected communities clusters. process begins building K-nearest neighbor (KNN) graph using Euclidean distance PCA space. algorithm refines edge weights cells according local neighborhood overlap, calculated using Jaccard similarity measure. performed using predefined dimensions dataset, first 10 Principal Components (PCs). cluster cells, Seurat uses modularity optimization techniques like Louvain [4] algorithm SLM [5]. ‘resolution’ parameter can adjusted control granularity downstream clustering; higher resolution results clusters. single-cell datasets approximately 3K cells, recommended range parameter 0.4 1.2, larger datasets typically require higher resolution. Seurat Clustering method https://satijalab.org/seurat/articles/pbmc3k_tutorial.html Macosko EZ, Basu , Satija R, Nemesh J, Shekhar K, Goldman M, Tirosh , Bialas AR, Kamitaki N, Martersteck EM, Trombetta JJ, Weitz DA, Sanes JR, Shalek AK, Regev , McCarroll SA. Highly Parallel Genome-wide Expression Profiling Individual Cells Using Nanoliter Droplets. Cell. 2015 May 21;161(5):1202-1214. Xu, Chen, Zhengchang Su. Identification cell types single-cell transcriptomes using novel clustering method. Bioinformatics 31.12 (2015): 1974-1980. Levine, Jacob H., et al. Data-driven phenotypic dissection AML reveals progenitor-like cells correlate prognosis. Cell 162.1 (2015): 184-197. Blondel, Vincent D., et al. Fast unfolding communities large networks.”Journal statistical mechanics: theory experiment 2008.10 (2008): P10008. Waltman, Ludo, Nees Jan Van Eck. smart local moving algorithm large-scale modularity-based community detection. European physical journal B 86 (2013): 1-14","code":"reClust_SO=reclusterSeuratObject( object = filter_SO$object, prepend.txt = \"old\", old.columns.to.save=c(\"orig_ident\",\"Sample_Name\",\"nCount_RNA\",\"nFeature_RNA\",\"percent_mt\", \"log10GenesPerUMI\",\"S_Score\",\"G2M_Score\",\"Phase\",\"CC_Difference\",\"Treatment\", \"pct_counts_in_top_N_genes\",\"Doublet\",\"nCount_SCT\",\"nFeature_SCT\", \"mouseRNAseq_main\",\"mouseRNAseq\",\"immgen_main\",\"immgen\" ), number.of.pcs = 50, cluster.resolution.low.range = 0.2, cluster.resolution.high.range = 1.2, cluster.resolution.range.bins = 0.2, reduction.type = \"umap\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"use-scworkflow-container","dir":"Articles","previous_headings":"","what":"Use SCWorkflow Container","title":"Getting Started","text":"SCWorkflow docker container available Biowulf can used RStudio organize rune SCWorkflow package. need 2 shells (terminals) set RStudio Biowulf.","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"log-in-to-biowulf","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"1. Log in to Biowulf","title":"Getting Started","text":"Open terminal login biowulf call interactive session","code":"ssh username@helix.nih.gov sinteractive --tunnel --time=12:00:00 --mem=50g --cpus-per-task=16 --gres=lscratch:50"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"get-the-port-number-for-termal-2","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"2. Get the PORT number for termal 2","title":"Getting Started","text":"","code":"echo $PORT1 example port is 46137"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"load-the-container","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"3. Load the Container","title":"Getting Started","text":"single cell container emulate environments NIDAP","code":"source /data/CCBR/NIDAP/container_singlecell.sh"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"connect-your-local-shell-to-the-rstudio-server-on-biowulf-using-ssh-tunneling-","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"4. Connect your local shell to the RStudio server on Biowulf using SSH tunneling.","title":"Getting Started","text":"Use $PORT number terminal 1 (step 2).","code":"ssh -N -L $PORT:localhost:$PORT yourusername@biowulf.nih.gov login with nih password"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"open-rstudio-in-your-local-web-browser","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"5. Open RStudio in your local web browser","title":"Getting Started","text":"Open web browser go : Use $PORT number terminal 1 (step 2) open Rstudio browser connected biowulf container opened step 3.","code":"localhost:$PORT"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"log-into-helix","dir":"Articles","previous_headings":"Copy Files from Rstuido server to Helix","what":"1. Log into Helix","title":"Getting Started","text":"","code":"ssh username@helix.nih.gov"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"connect-to-rstuido-server-to-copy-files-to-biowulf","dir":"Articles","previous_headings":"Copy Files from Rstuido server to Helix","what":"3. connect to Rstuido Server to copy files to Biowulf","title":"Getting Started","text":"","code":"sftp username@ nciws-d2335-v.nci.nih.gov"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"copy-files-to-biowulf","dir":"Articles","previous_headings":"Copy Files from Rstuido server to Helix","what":"4. copy files to biowulf","title":"Getting Started","text":"Examples: files: Rscipts:","code":"mget -r * mget -r *R"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"install-package","dir":"Articles","previous_headings":"","what":"Install Package","title":"Getting Started","text":"general use SCWorkflow can installed Rlibrary","code":"# install.packages(\"remotes\") # remotes::install_github(\"NIDAP-Community/SCWorkflow\", dependencies = TRUE) library(SCWorkflow)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"color-by-metadata","dir":"Articles","previous_headings":"","what":"Color by Metadata","title":"Visualizations","text":"Use Function color dimensionality reduction (TSNE & UMAP) different columns Metadata Table. can select one columns Metadata Table, column selected, function produce plot (t-SNE & UMAP) using data column color cells. function visualizes plot based selected metadata. Users can customize want visualize data, including type visualization used, size shape points, level transparency.","code":"FigOut=plotMetadata( object=Anno_SO$object, samples.to.include=c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\" ), metadata.to.plot=c('SCT_snn_res.0.4','Phase'), columns.to.summarize=NULL, summarization.cut.off = 5, reduction.type = \"umap\", use.cite.seq = FALSE, show.labels = FALSE, legend.text.size = 1, legend.position = \"right\", dot.size = 0.01 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"plot-3d-dimensionality-reduction","dir":"Articles","previous_headings":"","what":"Plot 3D Dimensionality Reduction","title":"Visualizations","text":"Function creates 3D interactive UMAP t-SNE plot. plot saved output folder HTML file can downloaded. function designed generate 3D t-SNE visualization based given Seurat Object. output includes interactive plot dataframe containing t-SNE coordinates. function accepts several parameters, Seurat Object, metadata column color, metadata column labeling, dot size plot, legend display option, colors color variable, filename saving plot, number principal components t-SNE calculations, option save plot widget HTML file. Initially, function executes t-SNE Seurat Object obtain 3D coordinates. Subsequently, constructs dataframe Plotly visualization, incorporating t-SNE coordinates, color variable, label variable. function generates 3D scatter plot using t-SNE coordinates. Finally, function saves plot embedded Plotly image HTML file. Methodology t-Distributed Stochastic Neighbor Embedding (t-SNE) sophisticated dimensionality reduction technique frequently employed visualization high-dimensional data [1]. effectively displays relationships individual cells based gene expression profiles. compute t-SNE, algorithm constructs probability distribution representing similarities data points high-dimensional space. Subsequently, generates lower-dimensional representation, typically two three dimensions, wherein distances data points reflect similarities high-dimensional space. algorithm employs iterative process adjust positions cells lower-dimensional space, aiming minimize discrepancies original high-dimensional similarities lower-dimensional space. approach enables algorithm capture global local structures within data, effectively revealing clusters groups similar cells.","code":"FigOut=tSNE3D( object=Anno_SO$object, color.variable='SCT_snn_res.0.4', label.variable='SCT_snn_res.0.4', dot.size = 4, legend = TRUE, colors = c(\"darkblue\",\"purple4\",\"green\",\"red\",\"darkcyan\", \"magenta2\",\"orange\",\"yellow\",\"black\"), filename = \"plot.html\", save.plot = FALSE, npcs = 15 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"color-by-genes","dir":"Articles","previous_headings":"","what":"Color by Genes","title":"Visualizations","text":"function visualizes gene expression intensities provided Genes across cells. gene found dataset, Log report . Otherwise, see one plot (TSNE UMAP, choice) per gene name provided. intensity red color relative expression gene cell. Final Potomac Compatible Version: v98. Sugarloaf V1: v103. [View Methodology function visualizes expression values chosen gene protein different samples. Users can customize want visualize data, including type visualization used, size shape points, level transparency.","code":"FigOut=colorByGene( object=Anno_SO$object, samples.to.include=c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\" ), gene='Itgam', reduction.type = \"umap\", number.of.rows = 0, return.seurat.object = FALSE, color = \"red\", point.size = 1, point.shape = 16, point.transparency = 0.5, use.cite.seq.data = FALSE, assay = \"SCT\")"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"violin-plot-from-seurat-object","dir":"Articles","previous_headings":"","what":"Violin Plot from Seurat Object","title":"Visualizations","text":"Function allows generation customized violin plots visualize transcriptional changes interactions single-cell RNA-seq data, providing insights cellular heterogeneity dynamics within dataset. Methodology Function organizes data based specific groups choose Seurat Object metadata. gathers information activity levels specific genes ’re interested . can, wish, change names order groups based column specify data. feature lets tailor analysis closely needs. code also function removes odd data points might distort results, adjusts data make easier visualize jittered points overlaying boxplot displaying quantile information. , code creates violin plots, allows see activity levels genes vary within group [2]. graph customizable, letting set various options limit values vertical axis, displaying individual data points, converting scales logarithmic, showing boxplots. can choose plot looks - whether ’s laid like grid, rows, customized labels.","code":"FigOut=violinPlot( object=Anno_SO$object, assay='SCT', layer='scale.data', genes=c('Itgam','Cd38'), group='SCT_snn_res.0.4', facet_by = \"\", filter_outliers = F, outlier_low = 0.05, outlier_high = 0.95, jitter_points = TRUE, jitter_dot_size = 1 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"heatmap","dir":"Articles","previous_headings":"","what":"Heatmap","title":"Visualizations","text":"Function provides comprehensive method visualizing single cell transcript /protein expression data form heatmap. data obtained Seurat object, user can specify set genes analysis. Function allows optional ordering metadata (categorical) gene/protein expression levels. Visualization customization options include color choices heatmap, addition gene protein annotations, optional arrangement metadata. Key features include: - Options adding gene protein annotations, metadata arrangement, specifying row column names. - Customizable visualization settings including font sizes rows, columns, legend, row height, heatmap colors. - Ability trim outlier data, perform z-scaling rows, set row order. Function returns heatmap plot along underlying data used generate . also allows user set seed color generation specify outlier data parameters. function particularly useful exploratory data analysis preliminary data visualization single cell studies. Methodology method, two hierarchical clustering processes performed: one rows one columns dataset unless ordered annotations. Hierarchical clustering method cluster analysis aims build hierarchy clusters. result tree-like diagram called dendrogram, similar data points (e.g., genes samples) joined together clusters “branches”, based mathematical measure similarity Euclidean Manhattan distance. heatmap produced package called ComplexHeatmap [3] presents data matrix rows represent individual genes (proteins, metabolites, etc.) columns represent different samples (e.g., tissue samples, cells, experimental conditions). color position grid corresponds expression level gene particular sample, one color representing upregulation (higher expression), another representing downregulation (lower expression), usually neutral color representing change. allows easy visual interpretation patterns correlations data.","code":"FigOut=heatmapSC( object=Anno_SO$object, sample.names=c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\" ), metadata='SCT_snn_res.0.4', transcripts=c('Cd163','Cd38','Itgam','Cd4','Cd8a','Pdcd1','Ctla4'), use_assay = 'SCT', proteins = NULL, heatmap.color = \"Bu Yl Rd\", plot.title = \"Heatmap\", add.gene.or.protein = FALSE, protein.annotations = NULL, rna.annotations = NULL, arrange.by.metadata = TRUE, add.row.names = TRUE, add.column.names = FALSE, row.font = 5, col.font = 5, legend.font = 5, row.height = 15, set.seed = 6, scale.data = TRUE, trim.outliers = TRUE, trim.outliers.percentage = 0.01, order.heatmap.rows = FALSE, row.order = c() )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"dot-plot-of-genes-by-metadata","dir":"Articles","previous_headings":"","what":"Dot Plot of Genes by Metadata","title":"Visualizations","text":"function creates dot plot average gene expression values set genes cell subpopulations defined metadata annotation columns. input table contains single column genes (“Genes column”) single column category (“Category labels plot” column). values “Category labels plot” column match values provided metadata function (Metadata Category Plot). plot order genes (x-axis, left right) Categories (y-axis, top bottom) order appears input table. category entries omitted plotted. Dotplot size reflect percentage cells expressing gene color reflect average expression gene. table showing values plot (either percentage cells expressing gene, average expression scaled) returned, selected user. Methodology function creates dot plot visualization gene expression metadata given dataset. uses Seurat package create plots. size dot represents percentage cells expressing particular gene (frequency), color dot indicates average gene expression level. function ensures unique valid genes categories used. categories genes found dataset, appropriate warnings issued. plot drawn option reverse x y-axes reverse order metadata categories. colors can also customized. addition plot, function provides tabular format dot plot data, can useful analysis reporting. choice returning either tables representing percent cells expressing gene average expression level genes. function can useful exploratory data analysis visualizing differences gene expression across different conditions groups cells. Seurat package Dotplot Documentation https://satijalab.org/seurat/reference/dotplot","code":"FigOut=dotPlotMet( object=Anno_SO$object, metadata='SCT_snn_res.0.4', cells=unique(Anno_SO$object$SCT_snn_res.0.4), markers=c('Itgam','Cd163','Cd38','Cd4','Cd8a','Pdcd1','Ctla4'), plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = \"darkblue\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"compare-cell-populations","dir":"Articles","previous_headings":"","what":"Compare Cell Populations","title":"Visualizations","text":"function compares cell population composition across experimental groups (example sample, treatment, timepoints, donor cohorts) using metadata already stored Seurat object. useful clustering annotation, want quantify specific cell populations shift conditions. function supports Frequency (percent) Counts (absolute cell numbers) modes. biological comparisons unequal total cell recovery across samples, frequency mode preferred interpretation. Counts mode can useful QC yield-focused assessments. Methodology method first aggregates metadata annotation group compute percentages counts. links summaries sample-level metadata generates composition-focused barplot sample-level variability. Together, plots help distinguish overall compositional shifts replicate-level dispersion. Seurat Documentation t-SNE Analysis https://satijalab.org/seurat/reference/runtsne https://ggplot2.tidyverse.org/reference/ Complex Heatmap Reference Book https://jokergoo.github.io/ComplexHeatmap-reference/book/","code":"FigOut=compareCellPopulations( object=Anno_SO$object, metadata.table=Anno_SO$object@meta.data, annotation.column='immgen_main', group.column='Treatment', counts.type = \"Frequency\", group.order = NULL, wrap.ncols = 5 )"},{"path":"https://nidap-community.github.io/SCWorkflow/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Maggie Cam. Author. Thomas Meyer. Author, maintainer. Jing Bian. Author. Alexandra Michalowski. Author. Alexei Lobanov. Author. Philip Homan. Author. Rui . Author.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Cam M, Meyer T, Bian J, Michalowski , Lobanov , Homan P, R (2026). SCWorkflow: SCWorkflow NIDAP. R package version 1.0.2.","code":"@Manual{, title = {SCWorkflow: SCWorkflow from NIDAP}, author = {Maggie Cam and Thomas Meyer and Jing Bian and Alexandra Michalowski and Alexei Lobanov and Philip Homan and Rui He}, year = {2026}, note = {R package version 1.0.2}, }"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"project-overview","dir":"","previous_headings":"","what":"Project Overview","title":"SCWorkflow AI Coding Instructions","text":"SCWorkflow R package single-cell RNA-seq analysis built Seurat framework. ’s designed analyzing multimodal 10x Genomics data, support CITE-Seq, cell hashing, TCR-seq data. package deployed R package Docker container use NIDAP (Palantir Foundry) Biowulf HPC environments.","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"sequential-workflow-pattern","dir":"","previous_headings":"Core Architecture","what":"Sequential Workflow Pattern","title":"SCWorkflow AI Coding Instructions","text":"Functions follow numbered workflow sequence: 1. processRawData() - Process H5 files Seurat objects 2. filterQC() - Quality control filtering 3. combineNormalize() - Merge samples, normalize, dimension reduction 4. Harmony integration (optional) - Batch correction 5. annotateCellTypes() - Automatic cell type annotation via SingleR 6. Analysis functions - DEG, visualization, clustering","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"seurat-object-as-central-data-structure","dir":"","previous_headings":"Core Architecture","what":"Seurat Object as Central Data Structure","title":"SCWorkflow AI Coding Instructions","text":"functions expect/return Seurat objects primary data containers Functions often modify objects -place return modified versions Metadata heavily used sample tracking analysis parameters Multiple assays supported: RNA, SCT (SCTransform), ADT (CITE-seq), etc.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"function-design-patterns","dir":"","previous_headings":"Core Architecture","what":"Function Design Patterns","title":"SCWorkflow AI Coding Instructions","text":"Comprehensive parameter lists: functions 15-30+ parameters sensible defaults Conditional workflows: Functions check input types (H5 vs Seurat) adapt behavior Multi-sample handling: Functions can process lists Seurat objects file paths Plotting integration: analysis functions return data visualization outputs","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"file-organization","dir":"","previous_headings":"Key Conventions","what":"File Organization","title":"SCWorkflow AI Coding Instructions","text":"R/ contains one function per file, named descriptively (e.g., Process_Raw_Data.R) Function names use camelCase: processRawData(), annotateCellTypes() File names use Snake_Case capitalization: Process_Raw_Data.R","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"parameter-naming-patterns","dir":"","previous_headings":"Key Conventions","what":"Parameter Naming Patterns","title":"SCWorkflow AI Coding Instructions","text":"object - Primary Seurat object input samples..include - Character vector sample subsetting reduction.type - Visualization method (“umap”, “tsne”, “pca”) organism - Species specification (“Human” “Mouse”) Boolean parameters use . separator: .normalize.data, draw.umap","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"documentation-standards","dir":"","previous_headings":"Key Conventions","what":"Documentation Standards","title":"SCWorkflow AI Coding Instructions","text":"Extensive roxygen2 documentation @details sections explaining workflow step numbers @importFrom statements specific function imports @export user-facing functions Parameter descriptions include defaults valid options","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"output-standards","dir":"","previous_headings":"","what":"Output standards","title":"SCWorkflow AI Coding Instructions","text":"Generate R CMD check friendly code. Use roxygen2 exported functions. Add utils::globalVariables() NSE variables. Prefer explicit namespaces (dplyr::, ggplot2::). Avoid side effects tests.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"template-conventions","dir":"","previous_headings":"Output standards","what":"Template conventions","title":"SCWorkflow AI Coding Instructions","text":"JSON templates live inst/extdata/NIDAPjson/. JSON source--truth arguments, defaults, behavior. orderedMustacheKeys defines argument order.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"testing-structure","dir":"","previous_headings":"Output standards","what":"Testing Structure","title":"SCWorkflow AI Coding Instructions","text":"Comprehensive tests/testthat/ unit tests integration tests fixtures/ directory contains real Seurat objects testing Helper functions helper-*.R files test setup Tests follow naming convention: test-Function_Name.R","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"deliverables","dir":"","previous_headings":"Output standards","what":"Deliverables","title":"SCWorkflow AI Coding Instructions","text":"Update CHANGELOG.md, decision_log.md, docs/session_notes.md. Add testthat tests generated function.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"docker-development","dir":"","previous_headings":"Output standards","what":"Docker Development","title":"SCWorkflow AI Coding Instructions","text":"Base image: nciccbr/ccbr_ubuntu_22.04:v4 Conda-based R environment (R 4.3.2) Multi-stage build supporting development production Container designed HPC environments (Biowulf) cloud platforms (NIDAP)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"cicd-integration","dir":"","previous_headings":"Output standards","what":"CI/CD Integration","title":"SCWorkflow AI Coding Instructions","text":"GitFlow-based R package workflow via gitflow-R-action.yml Automatic NIDAP deployment successful builds pkgdown documentation generation Docker image building deployment","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"bioconductorseurat-ecosystem","dir":"","previous_headings":"Critical Dependencies and Integration Points","what":"Bioconductor/Seurat Ecosystem","title":"SCWorkflow AI Coding Instructions","text":"Seurat 4.1.1+: Core framework single-cell analysis SingleR: Automated cell type annotation MAST/limma/edgeR: Differential expression analysis Harmony: Batch effect correction integration","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"external-api-integration","dir":"","previous_headings":"Critical Dependencies and Integration Points","what":"External API Integration","title":"SCWorkflow AI Coding Instructions","text":"palantir_api_call.R: Custom integration Palantir Foundry APIs Designed NIDAP cloud environment deployment Handles authentication data transfer patterns specific NIH infrastructure","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"memory-management-patterns","dir":"","previous_headings":"Critical Dependencies and Integration Points","what":"Memory Management Patterns","title":"SCWorkflow AI Coding Instructions","text":"cell.count.limit parameters (default: 35000) trigger memory conservation .var.genes option reduces memory footprint large datasets SCTransform normalization levels: sample-wise vs merged strategies","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"data-type-handling","dir":"","previous_headings":"Common Debugging Areas","what":"Data Type Handling","title":"SCWorkflow AI Coding Instructions","text":"Functions check H5 vs Seurat object inputs: (input, \"Seurat\") Cell filtering can drastically reduce object sizes - verify cell counts Assay availability: functions may require specific assays (RNA, SCT, ADT)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"visualization-rendering","dir":"","previous_headings":"Common Debugging Areas","what":"Visualization Rendering","title":"SCWorkflow AI Coding Instructions","text":"Plot functions return Seurat objects plot objects reduction.type must match available reductions object Color palettes automatically generated can overridden","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"environment-specific-issues","dir":"","previous_headings":"Common Debugging Areas","what":"Environment-Specific Issues","title":"SCWorkflow AI Coding Instructions","text":"Package designed local R containerized environments File path handling differs NIDAP, Biowulf, local development functions environment-specific conditional logic","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"quick-start-for-ai-agents","dir":"","previous_headings":"","what":"Quick Start for AI Agents","title":"SCWorkflow AI Coding Instructions","text":"working codebase: 1. Always check input Seurat object: class(object) 2. Verify required reductions exist: object@reductions 3. Check available assays: names(object@assays) 4. Use str(object@meta.data) understand metadata structure 5. Test functions start small datasets tests/testthat/fixtures/","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/decision_log.html","id":null,"dir":"","previous_headings":"","what":"Decision Log","title":"Decision Log","text":"document tracks major design decisions SCWorkflow package.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/decision_log.html","id":"id_2026-02-17-comparecellpopulations-function","dir":"","previous_headings":"","what":"2026-02-17: compareCellPopulations() Function","title":"Decision Log","text":"Context: Need visualizing cell population distributions across experimental groups (treatments, timepoints, conditions). Decision: Implemented dual visualization approach alluvial flow plots box plots. Rationale: - Alluvial flow plots show proportional relationships across groups maintaining visibility sample composition - Box plots provide statistical distribution view individual data points - visualizations complement : flows overall trends, boxes statistical variance - Flexible frequency vs. counts mode supports different analytical needs Implementation Details: - Uses ggalluvial flow visualizations (Sankey-style plots) - ggpubr box plot styling statistical comparisons - Internal helper createAnnoTable() aggregates frequencies/counts sample - Supports custom color palettes auto-generates RColorBrewer - Handles group ordering controlled presentation Alternatives Considered: 1. Single bar plot visualization - rejected insufficient showing sample-level variation 2. Stacked area plots - rejected due difficulty comparing non-adjacent categories 3. Separate samples flow plots - rejected due visual clutter many samples Trade-offs: - Alluvial plots can busy many cell types (>10-15) - Box plots require sufficient samples per group meaningful statistics - Two separate plots increase figure space requirements provide complementary insights Generated : JSON template Compare_Cell_Populations.code-template.json using json2r.prompt.md instructions","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/index.html","id":null,"dir":"","previous_headings":"","what":"SCWorkflow from NIDAP","title":"SCWorkflow from NIDAP","text":"R package Single Cell analysis Single Cell Workflow streamlines analysis multimodal Single Cell RNA-Seq data produced 10x Genomics. can run docker container, biologists, user-friendly web-based interactive notebooks (NIDAP, Palantir Foundry). Much based Seurat workflow Bioconductor, supports CITE-Seq data. incorporates cell identification step (ModScore) utilizes module scores obtained Seurat also includes Harmony batch correction.","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/index.html","id":"sequential-workflow","dir":"","previous_headings":"Key Functions","what":"Sequential Workflow","title":"SCWorkflow from NIDAP","text":"processRawData() - Process H5 files Seurat objects filterQC() - Quality control filtering combineNormalize() - Merge samples, normalize, dimension reduction Harmony integration (optional) - Batch correction annotateCellTypes() - Automatic cell type annotation via SingleR","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/index.html","id":"analysis--visualization","dir":"","previous_headings":"Key Functions","what":"Analysis & Visualization","title":"SCWorkflow from NIDAP","text":"compareCellPopulations() - Compare cell population distributions across groups degGeneExpressionMarkers() - Differential expression analysis reclusterSeuratObject() / reclusterFilteredSeuratObject() - Subset re-cluster colorByGene(), heatmapSC(), violinPlot_mod() - Visualization functions plotMetadata(), dotPlotMet() - Metadata visualization documentation see detailed Docs Website Future Developments include addition support multiomics (TCR-Seq, ATAC-Seq) single cell data integration spatial transcriptomics data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":null,"dir":"Reference","previous_headings":"","what":"Aggregate Counts (Pseudobulk) — aggregateCounts","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"Compute pseudobulk expression averaging expression across groups defined one metadata columns, return tidy table.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"","code":"aggregateCounts(object, var.group, slot)"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"object Seurat-class object. var.group Character vector metadata column names used define pseudobulk groups. multiple columns supplied, interaction columns defines groups. slot Character name assay data layer passed AverageExpression() (e.g., \"data\", \"counts\", \"scale.data\").","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"data.frame pseudobulk expression columns Gene followed one column per pseudobulk group. Column names sanitized contain alphanumeric/underscore characters.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"Uses Seurat's AverageExpression() SCT assay compute group-wise average expression feature. Also produces bar plot (via ggplot2/plotly) showing number cells per pseudobulk group warns group contains one cell.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":null,"dir":"Reference","previous_headings":"","what":"Annotating cell types using SingleR module — annotateCellTypes","title":"Annotating cell types using SingleR module — annotateCellTypes","text":"SingleR automatic annotation method single-cell RNA sequencing (scRNAseq) data (Aran et al. 2019). Given reference dataset samples (single-cell bulk) known labels, labels new cells test dataset based similarity reference.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Annotating cell types using SingleR module — annotateCellTypes","text":"","code":"annotateCellTypes( object, species = \"Mouse\", reduction.type = \"umap\", legend.dot.size = 2, do.finetuning = FALSE, local.celldex = NULL, use.clusters = NULL )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Annotating cell types using SingleR module — annotateCellTypes","text":"object Object class Seurat (combined Seurat Object PC reduction performed) species species samples (\"Human\" \"Mouse\"). Default \"Mouse\" reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\") legend.dot.size size colored dots chart legend. Default 2 .finetuning Performs SingleR fine-tuning function. Default FALSE local.celldex Provide local copy CellDex library. Default NULL use.clusters Provide cluster identities cell. Default NULL","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Annotating cell types using SingleR module — annotateCellTypes","text":"Seurat object additional metadata","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Annotating cell types using SingleR module — annotateCellTypes","text":"function Step 5 basic Single-Cell RNA-seq workflow. starting point downstream visualization, subsetting, analysis. takes combined seurat object input, one created Combined&Renormalized function end Filter&QC Path","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"template appends sample metadata input table Seurat object, creating new metadata columns labeling cells sample new metadata values.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"","code":"appendMetadataToSeuratObject(object, metadata.to.append, sample.name.column)"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"object input Seurat Object list Seurat Objects wish add metadata. metadata..append table sample metadata want append already-existing metadata within input Seurat Object(s). sample.name.column column input metadata..append table contains sample names matching orig.idents input object(s).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"Function returns Seurat Object Objects additional metadata columns containing appended metadata now annotated cell sample name (orig.ident).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"template appends sample metadata input table Seurat object, creating new metadata columns labeling cells sample new metadata values.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":null,"dir":"Reference","previous_headings":"","what":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"see one plot (TSNE UMAP, choice) per gene name provided. intensity red color relative expression gene cell","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"","code":"colorByGene( object, samples.to.include, gene, reduction.type = \"umap\", number.of.rows = 0, return.seurat.object = FALSE, color = \"red\", point.size = 1, point.shape = 16, point.transparency = 0.5, use.cite.seq.data = FALSE, assay = \"SCT\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"object Object class Seurat samples..include Samples included analysis gene Genes like visualize reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\"). Default \"umap\" number..rows number rows want arrange plots return.seurat.object Set FALSE want geneset (Seurat object) returned color color want use heatmap (default \"red\") point.size size points representing cell visualization. Default 1 point.shape code point shape (R \"pch\" argument). Default 16 point.transparency Set transparency. Default 0.5 use.cite.seq.data TRUE like plot Antibody clusters CITEseq instead scRNA. assay Select Assay Plot (default SCT)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"Seurat object additional metadata gene table plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"function must run downstream Sample Names function, well provided combined Seurat Object one produced SingleR Cell Annotation function","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":null,"dir":"Reference","previous_headings":"","what":"Color by Gene List — colorByMarkerTable","title":"Color by Gene List — colorByMarkerTable","text":"Returns panel reduction plots colored marker expression","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Color by Gene List — colorByMarkerTable","text":"","code":"colorByMarkerTable( object, samples.subset, samples.to.display, manual.genes = c(), marker.table, cells.of.interest, protein.presence = FALSE, assay = \"SCT\", slot = \"scale.data\", reduction.type = \"umap\", point.transparency = 0.5, point.shape = 16, cite.seq = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Color by Gene List — colorByMarkerTable","text":"object Seurat-class object samples.subset List samples subset data samples..display List samples depict dimension plot, samples list colored gray background manual.genes additional list genes display marker.table Table marker genes celltype (column names table), append \"_prot\" \"_neg\" proteins negative markers cells..interest Celltypes geneset_dataframe screen protein.presence Set TRUE protein markers used assay Assay extract gene expression data (Default: \"SCT\") slot Slot within assay extract expression data (Default: \"scale.data\") reduction.type Choose among tsne, umap, pca (Default: \"umap\") point.transparency Set lower values see points dimension plot (Default: 0.5) point.shape Change shape points visualization (Default: 16) cite.seq Set TRUE use CITE-seq embedding dimension reduction","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Color by Gene List — colorByMarkerTable","text":"arranged grob dimension reduction plots colored individual marker expression","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Color by Gene List — colorByMarkerTable","text":"Takes gene table inputted user, displays panel tsne, umap, pca colored marker expression. panel organized similar format gene table, omission genes found data","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Color by Gene List — colorByMarkerTable","text":"","code":"if (FALSE) { # \\dontrun{ colorByMarkerTable( object = seurat, samples.subset = c(\"mouse1\", \"mouse2\"), samples.to.display = c(\"mouse1\"), marker.table = immuneCellMarkers, cells.of.interest = c(\"CD4\", \"Treg\") ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":null,"dir":"Reference","previous_headings":"","what":"Combine & Normalize — combineNormalize","title":"Combine & Normalize — combineNormalize","text":"Scales Normalizes data, Combines samples, runs Dimensional Reduction, Clusters, returns combined Seurat Object.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combine & Normalize — combineNormalize","text":"","code":"combineNormalize( object, npcs = 30, SCT.level = \"Merged\", vars.to.regress = NULL, nfeatures = 2000, low.cut = 0.1, high.cut = 8, low.cut.disp = 1, high.cut.disp = 1e+05, selection.method = \"vst\", only.var.genes = FALSE, draw.umap = TRUE, draw.tsne = TRUE, seed.for.pca = 42, seed.for.tsne = 1, seed.for.umap = 42, clust.res.low = 0.2, clust.res.high = 1.2, clust.res.bin = 0.2, methods.pca = \"none\", var.threshold = 0.1, pca.reg.plot = FALSE, jackstraw = FALSE, jackstraw.dims = 5, exclude.sample = NULL, cell.count.limit = 35000, reduce.so = FALSE, project.name = \"scRNAProject\", cell.hashing.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combine & Normalize — combineNormalize","text":"object list seurat objects sample. npcs Select number principal components analysis. Please see elbow plot previous template figure number PCs explains variance cut-. example, elbow plot point (15,0.02), means 15 PCs encapsulate 98% variance data.(Default: 30) SCT.level Select stage apply SCtransform nomalization. Merged: Merge samples apply SCTransfrom merged object. Sample: Apply SCTranform individual samples merge single Seurat object. (Default: \"Merged\") vars..regress Subtract (‘regress ’) source heterogeneity data. example, Subtract mitochondrial effects, input \"percent.mt.\" Options: percent.mt, nCount.RNA, S.Score, G2M.Score, CC.Difference. (Default: NULL) nfeatures Number variable features. (Default: 2000) low.cut Set low cutoff calculate feature means Seurat::FindVariableFeatures. (Default: 0.1) high.cut Set high cutoff calculate feature means Seurat::FindVariableFeatures. (Default: 8) low.cut.disp Set low cutoff calculate feature dispersions Seurat::FindVariableFeatures.(Default: 1) high.cut.disp Set high cutoff calculate feature dispersions Seurat::FindVariableFeatures. (Default: 100000) selection.method Method choose top variable features. Options: vst, mean.var.plot, dispersion. (Default: 'vst') .var.genes dataset larger ~40k filtered cells, set TRUE. TRUE, variable genes available downstream analysis. dataset larger number cells set \"Conserve Memory Max Cell Limit\" \"Variable Genes\" automatically set TRUE. (Default: FALSE) draw.umap TRUE, draw UMAP plot. (Default: TRUE) draw.tsne TRUE, draw TSNE plot. (Default: TRUE) seed..pca Set random seed PCA calculation. (Default: 42) seed..tsne Set random seed TSNE calculation. (Default: 1) seed..umap Set random seed UMAP calculation. (Default: 42) clust.res.low Select minimum resolution clustering plots. lower set , FEWER clusters generated. (Default: 0.2) clust.res.high Select maximum resolution clustering. higher set number, clusters produced. (Default: 1.2) clust.res.bin Select bins cluster plots. example, input 0.2 bin, low/high resolution ranges 0.2 0.6, template produce cluster plots resolutions 0.2, 0.4 0.6. (Default: 0.2) methods.pca Methods available: Marchenko-Pastur: use eigenvalue null upper bound URD, Elbow: Find threshold percent change variation consecutive PCs less X% (set var.threshold). none selected (regardless selections) plot generated. (Default: 'none') var.threshold Elbow method, set percent change threshold variation consecutive PCs. (Default: 0.1) pca.reg.plot Opt visualize effect regression variables PCA plot. plot create PCA plots without regression variables applied can used help determine regression necessary properly normalize data. (Default: FALSE) jackstraw Opt visualize data Jackstraw plot. Jackstraw plot can add description elbow plot compute intensive process may suitable larger datasets. (Default: FALSE) jackstraw.dims Recommended max 10.(Default: 5) exclude.sample Exclude unwanted samples merge step. Include sample names removed. want exclude several samples, separate sample number comma (e.g. sample1,sample2,sample3,sample4). (Default: NULL) cell.count.limit total number cell exceeds limit conserve memory option SCTransform used return Variable Genes. (Default: 35000) reduce.Remove additional assays input Seurat Objects except original RNA Assay. option used input Seurat Object created outside NIDAP pipeline. (Default: FALSE) project.name Add project name Seurat object metadata. (Default: 'scRNAProject') cell.hashing.data Set \"TRUE\" using cell-hashed data. (Default: FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combine & Normalize — combineNormalize","text":"Seurat Objects QC plots","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Combine & Normalize — combineNormalize","text":"Step 3 basic Single-Cell RNA-seq workflow. template summarize multi-dimensionality data set \"principal components\" allow easier analysis.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":null,"dir":"Reference","previous_headings":"","what":"Compare Cell Populations — compareCellPopulations","title":"Compare Cell Populations — compareCellPopulations","text":"Compare cell population distributions across different groups using bar plots box plots. Creates visualizations showing cell type frequencies counts across user-defined groupings.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compare Cell Populations — compareCellPopulations","text":"","code":"compareCellPopulations( object, metadata.table, annotation.column, group.column, sample.column = \"orig.ident\", counts.type = \"Frequency\", group.order = NULL, seurat.object.filename = \"seurat_object.rds\", wrap.ncols = 5 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compare Cell Populations — compareCellPopulations","text":"object Seurat object containing single-cell data metadata.table data.frame containing metadata (typically Seurat object's meta.data slot) annotation.column Character string specifying metadata column containing cell type annotations summarize bar plot group.column Character string specifying metadata column defining groups compare (e.g., treatment conditions) sample.column Character string specifying metadata column containing sample identifiers. Default \"orig.ident\" counts.type Character string specifying plot data type: \"Frequency\" (percentages) \"Counts\" (absolute numbers). Default \"Frequency\" group.order Character vector specifying order groups plots. NULL, uses natural order data. Default NULL seurat.object.filename Character string Seurat object filename. Default \"seurat_object.rds\" wrap.ncols Integer specifying number columns facet wrapping box plots. Default 5","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compare Cell Populations — compareCellPopulations","text":"list containing: Plots - list two ggplot objects: Barplot - Stacked bar plot alluvial flows Boxplot - Faceted box plots cell type (counts.type=\"Frequency\") Table - data.frame cell counts percentages","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Compare Cell Populations — compareCellPopulations","text":"function generates comparative visualizations cell populations Seurat object. can display data either frequency percentages absolute counts, creates stacked bar plots (alluvial flow connections) grouped box plots comparison across samples conditions.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compare Cell Populations — compareCellPopulations","text":"","code":"if (FALSE) { # \\dontrun{ # Compare cell populations by treatment group results <- compareCellPopulations( object = seurat_obj, metadata.table = seurat_obj@meta.data, annotation.column = \"cell_type\", group.column = \"treatment\", sample.column = \"sample_id\", counts.type = \"Frequency\" ) # Display plots plot(results$Plots$Barplot) plot(results$Plots$Boxplot) # View summary table head(results$Table) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":null,"dir":"Reference","previous_headings":"","what":"DEG (Gene Expression Markers) — degGeneExpressionMarkers","title":"DEG (Gene Expression Markers) — degGeneExpressionMarkers","text":"function performs DEG (differential expression genes) analysis merged Seurat object identify expression markers different groups cells (contrasts).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DEG (Gene Expression Markers) — degGeneExpressionMarkers","text":"","code":"degGeneExpressionMarkers( object, samples, contrasts, parameter.to.test = \"orig_ident\", test.to.use = \"MAST\", log.fc.threshold = 0.25, use.spark = FALSE, assay.to.use = \"SCT\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DEG (Gene Expression Markers) — degGeneExpressionMarkers","text":"object Seurat-class object samples Samples included analysis contrasts Contrasts \"-B\" format parameter..test Select metadata column like use perform DEG analysis construct contrasts . Default \"orig_ident\" test..use kind algorithm like use perform DEG analysis. Default MAST algorithm (wilcox,bimod,roc,t,negbinom,poisson,LR,MAST,DESeq2). log.fc.threshold minimum log fold-change contrasts like analyze. Default 0.25 use.spark Opt use Spark parallelize computations. Default FALSE assay..use assay use DEG analysis. Default SCT, can use linearly scaled data selecting RNA instead","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"DEG (Gene Expression Markers) — degGeneExpressionMarkers","text":"dataframe DEG.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"DEG (Gene Expression Markers) — degGeneExpressionMarkers","text":"recommended input merged Seurat object SingleR annotations, along associated sample names metadata","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":null,"dir":"Reference","previous_headings":"","what":"Dotplot of Gene Expression by Metadata — dotPlotMet","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"function uses Dotplot function Seurat plots average gene expression values percent expressed set genes.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"","code":"dotPlotMet( object, metadata, cells, markers, plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = \"darkblue\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"object Seurat Object metadata Metadata column Seurat Object plot cells Vector metadata category factors plot found metadata column. Order plotting follow exact order entered. markers Vector genes plot. Order plotting follow exact order entered plot.reverse TRUE, set metadata categories x-axis genes y-axis (default FALSE) cell.reverse.sort TRUE, Reverse plot order metadata category factors (default FALSE) dot.color Dot color (default \"dark blue\")","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"Dotplot markers cell types.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"method provides dotplot showing percent frequency gene-positive cells size dot degree expression color dot.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot coexpression of 2 markers using transcript and/or protein expression values — dualLabeling","title":"Plot coexpression of 2 markers using transcript and/or protein expression values — dualLabeling","text":"method provides visualization coexpression 2 genes (proteins) additional methods filtering cells gene expression values thresholds set one markers. method allows filtering (optional) Seurat object using manually set expression thresholds.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot coexpression of 2 markers using transcript and/or protein expression values — dualLabeling","text":"","code":"dualLabeling( object, samples, marker.1, marker.2, marker.1.type = \"SCT\", marker.2.type = \"SCT\", data.reduction = \"both\", point.size = 0.5, point.shape = 16, point.transparency = 0.5, add.marker.thresholds = TRUE, marker.1.threshold = 0.5, marker.2.threshold = 0.5, filter.data = TRUE, marker.1.filter.direction = \"greater than\", marker.2.filter.direction = \"greater than\", apply.filter.1 = TRUE, apply.filter.2 = TRUE, filter.condition = TRUE, parameter.name = \"My_CoExp\", trim.marker.1 = FALSE, trim.marker.2 = FALSE, pre.scale.trim = 0.99, display.unscaled.values = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot coexpression of 2 markers using transcript and/or protein expression values — dualLabeling","text":"object Seurat-class object samples Samples included analysis marker.1 First gene/marker coexpression analysis marker.2 Second gene/marker coexpression analysis marker.1.type Slot use first marker. Choices \"SCT\", \"protein\",\"HTO\" (default \"SCT\") marker.2.type Slot use second marker. Choices \"SCT\", \"protein\",\"HTO\" (default \"SCT\") data.reduction Dimension Reduction method use image. Options \"umap\" \"tsne\" (default \"umap\") point.size Point size image (default 0.5) point.shape Point shape image (default 16) point.transparency Point transparency image (default 0.5) add.marker.thresholds Add marker thresholds plot (default FALSE) marker.1.threshold Threshold set first marker (default 0.5) marker.2.threshold Threshold set second marker (default 0.5) filter.data Add new parameter column metadata annotating marker thresholds applied (default TRUE) apply.filter.1 TRUE, apply first filter (default TRUE) apply.filter.2 TRUE, apply second filter (default TRUE) filter.condition TRUE, apply filters 1 2 take intersection. FALSE, apply filters take union. parameter.name Name metadata column new marker filters (Default \"Marker\") trim.marker.1 Trim top bottom percentile marker 1 signal pre-scale trim values () remove extremely low high values (Default TRUE) trim.marker.2 Trim top bottom percentile marker 2 signal pre-scale trim values () remove extremely low high values (Default TRUE) pre.scale.trim Set trimming percentile values (Defalut 0.99) display.unscaled.values Set TRUE want view unscaled gene/protein expression values (Default FALSE) M1.filter.direction Annotate cells gene expression levels marker 1 using marker 1 threshold. Choices \"greater \" \"less \" (default \"greater \") M2.filter.direction Annotate cells gene expression levels marker 2 using marker 2 threshold. Choices \"greater \" \"less \" (default \"greater \") density.heatmap Creates additional heatmap showing density distribution cells. (Default FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot coexpression of 2 markers using transcript and/or protein expression values — dualLabeling","text":"seurat object optional additional metadata cells positive negative gene markers, coexpression plot contingency table showing sum cells filtered.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter & QC Samples — filterQC","title":"Filter & QC Samples — filterQC","text":"Filters cells Genes sample generates QC Plots evaluate data filtering.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter & QC Samples — filterQC","text":"","code":"filterQC( object, min.cells = 20, filter.vdj.genes = F, nfeature.limits = c(NA, NA), mad.nfeature.limits = c(5, 5), ncounts.limits = c(NA, NA), mad.ncounts.limits = c(5, 5), mitoch.limits = c(NA, 25), mad.mitoch.limits = c(NA, 3), complexity.limits = c(NA, NA), mad.complexity.limits = c(5, NA), topNgenes.limits = c(NA, NA), mad.topNgenes.limits = c(5, 5), n.topgnes = 20, do.doublets.fitler = T, plot.outliers = \"None\", group.column = NA, nfeatures = 2000, low.cut = 0.1, high.cut = 8, low.cut.disp = 1, high.cut.disp = 1e+05, selection.method = \"vst\", npcs = 30, vars_to_regress = NULL, seed.for.PCA = 42, seed.for.TSNE = 1, seed.for.UMAP = 42 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter & QC Samples — filterQC","text":"object list seurat objects sample. min.cells Filter genes found less number cells. E.g. Setting 20 remove genes found fewer 3 cells sample. (Default: 20) filter.vdj.genes FALSE remove VDJ genes scRNA transcriptome assay. prevent clustering bias T-cells clonotype. recommended also TCR-seq. (Default: FALSE) nfeature.limits Filter cells number genes found cell exceed selected lower upper limits. Usage c(lower limit, Upper Limit). E.g. setting c(200,1000) remove cells fewer 200 genes 1000 genes sample. (Default: c(NA, NA)) mad.nfeature.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated median gene number cells sample. Usage c(lower limit, Upper Limit) E.g. setting c(3,5) remove cells 3 absolute deviations less median 5 absolute deviations greater median. (Default: c(5,5)) ncounts.limits Filter cells total number molecules (umi) detected within cell exceed selected limits. Usage c(lower limit, Upper Limit). E.g. setting c(200,100000) remove cells fewer 200 greater 100000 molecules. (Default: c(NA, NA)) mad.ncounts.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated median number molecules cells sample. Usage c(lower limit, Upper Limit) E.g. setting c(3,5) remove cells 3 absolute deviations less median 5 absolute deviations greater median. (Default: c(5,5)) mitoch.limits Filter cells whose proportion mitochondrial genes exceed selected lower upper limits. Usage c(lower limit, Upper Limit). E.g. setting c(0,8) set lower limit removes cells 8% mitochondrial RNA. (Default: c(NA,25)) mad.mitoch.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated Median percentage mitochondrial RNA cells sample. Usage c(lower limit, Upper Limit). E.g. setting c(NA,3) set lower limit remove cells 3 absolute deviations greater median. (Default: c(NA,3)) complexity.limits Complexity represents Number genes detected per UMI. genes detected per UMI, complex data. Filter cells whose Complexity exceed selected lower upper limits. Cells high number UMIs low number genes dying cells, also represent population low complexity cell type (.e red blood cells). suggest set lower limit 0.8 samples suspected RBC contamination. Usage c(lower limit, Upper Limit). E.g. setting c(0.8,0) set upper limit removes cells complexity less 0.8. (Default: c(NA,NA)) mad.complexity.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated Median complexity cells sample. Usage c(lower limit, Upper Limit). E.g. setting c(5,NA) set upper limit remove cells 5 absolute deviations less median. (Default: c(5,NA)) topNgenes.limits Filter Cells based percentage total counts top N highly expressed genes. Outlier cells high percentage counts just genes removed. considerations outlined \"complexity.limits\" taken filter. Usage c(lower limit, Upper Limit). E.g. setting c(NA,50) set lower limit remove cells greater 50% reads top N genes. (Default: c(NA,NA)) n.topgnes Select number top highly expressed genes used calculate percentage reads found genes. E.g. value 20 calculates percentage reads found top 20 highly expressed Genes. (Default: 20) .doublets.fitler Use scDblFinder identify remove doublet cells. Doublets defined two cells sequenced cellular barcode, example, captured droplet. (Default: TRUE) mad.topNgenes.limitsSet Filter limits based many Median Absolute Deviations outlier cell . Calculated Median percentage counts top N Genes. Usage c(lower limit, Upper Limit). E.g. setting c(5,5) remove cells 5 absolute deviations greater 5 absolute deviations less median percentage. (Default: c(5,5))","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter & QC Samples — filterQC","text":"Seurat Object QC plots","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Filter & QC Samples — filterQC","text":"Step 2 basic Single-Cell RNA-seq workflow. Multiple cell gene filters can selected remove poor quality data noise. Workflows can use downstream Seurat Object. tool typically second step Single Cell Workflow.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter Seurat Object by Metadata — filterSeuratObjectByMetadata","title":"Filter Seurat Object by Metadata — filterSeuratObjectByMetadata","text":"Filter subset Seurat object based metadata column","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter Seurat Object by Metadata — filterSeuratObjectByMetadata","text":"","code":"filterSeuratObjectByMetadata( object, samples.to.include, sample.name, category.to.filter, values.to.filter, keep.or.remove = TRUE, greater.less.than = \"greater than\", seed = 10, cut.off = 0.5, legend.position = \"top\", reduction = \"umap\", plot.as.interactive.plot = FALSE, legend.symbol.size = 2, colors = c(\"aquamarine3\", \"salmon1\", \"lightskyblue3\", \"plum3\", \"darkolivegreen3\", \"goldenrod1\", \"burlywood2\", \"gray70\", \"firebrick2\", \"steelblue\", \"palegreen4\", \"orchid4\", \"darkorange1\", \"yellow\", \"sienna\", \"palevioletred1\", \"gray60\", \"cyan4\", \"darkorange3\", \"mediumpurple3\", \"violetred2\", \"olivedrab\", \"darkgoldenrod2\", \"darkgoldenrod\", \"gray40\", \"palegreen3\", \"thistle3\", \"khaki1\", \"deeppink2\", \"chocolate3\", \"paleturquoise3\", \"wheat1\", \"lightsteelblue\", \"salmon\", \"sandybrown\", \"darkolivegreen2\", \"thistle2\", \"gray85\", \"orchid3\", \"darkseagreen1\", \"lightgoldenrod1\", \"lightskyblue2\", \"dodgerblue3\", \"darkseagreen3\", \"forestgreen\", \"lightpink2\", \"mediumpurple4\", \"lightpink1\", \"thistle\", \"navajowhite\", \"lemonchiffon\", \"bisque2\", \"mistyrose\", \"gray95\", \"lightcyan3\", \"peachpuff2\", \"lightsteelblue2\", \"lightyellow2\", \"moccasin\", \"gray80\", \"antiquewhite2\", \"lightgrey\"), dot.size = 0.1, number.of.legend.columns = 1, dot.size.highlighted.cells = 0.5, use.cite.seq.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter Seurat Object by Metadata — filterSeuratObjectByMetadata","text":"object dataset containing SingleR annotated/merged seurat object samples..include Select samples include sample.name Sample Name Column category..filter kind metadata want subset . one column Metadata table values..filter One values want filter keep..remove TRUE filter selected values, FALSE filter selected values. Default TRUE greater.less.Decide want keep cells threshold. Default \"greater \" seed Set seed colors cut.cut-want use greater /less filter. Default os 0.5 legend.position Select \"none\" legend takes much space plot. Default \"top\" reduction kind clustering visualization like use summary plot (umap, tsne, pca, protein_tsne, protein_umap, protein_pca). Default \"umap\" plot..interactive.plot TRUE interactive, FALSE static legend.symbol.size legend symbol size. Default 2 colors User-selected colors palette 62 unique colors ColorBrewer. dot.size Size dots TSNE/UMAP projection plot. Default 0.1 number..legend.columns Default 1. legend long, provide legend columns dot.size.highlighted.cells Dot size cells -filter plot highlighted. Default 0.5 use.cite.seq.data TRUE like plot Antibody clusters CITEseq instead scRNA.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter Seurat Object by Metadata — filterSeuratObjectByMetadata","text":"subset Seurat object","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Filter Seurat Object by Metadata — filterSeuratObjectByMetadata","text":"downstream template loaded Step 5 pipeline (SingleR Annotations Seurat Object)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":null,"dir":"Reference","previous_headings":"","what":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"method provides heatmap single cell data Seurat object given set genes optionally orders various metadata /gene protein expression levels. Method based ComplexHeatmap::pheatmap","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"","code":"heatmapSC( object, sample.names, metadata, transcripts, use_assay = \"SCT\", proteins = NULL, heatmap.color = \"Bu Yl Rd\", plot.title = \"Heatmap\", add.gene.or.protein = FALSE, protein.annotations = NULL, rna.annotations = NULL, arrange.by.metadata = TRUE, add.row.names = TRUE, add.column.names = FALSE, row.font = 5, col.font = 5, legend.font = 5, row.height = 15, set.seed = 6, scale.data = TRUE, trim.outliers = TRUE, trim.outliers.percentage = 0.01, order.heatmap.rows = FALSE, row.order = c() )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"object Seurat-class object sample.names Sample names metadata Metadata column plot transcripts Transcripts plot proteins Proteins plot (default NULL) heatmap.color Color heatmap. Choices \"Cyan Mustard\", \"Blue Red\", \"Red Vanilla\", \"Violet Pink\", \"Bu Yl Rd\", \"Bu Wt Rd\" (default \"Bu Yl Rd\") plot.title Title plot (default \"Heatmap\") add.gene..protein Add Gene protein annotations (default FALSE) protein.annotations Protein annotations add (defulat NULL) rna.annotations Gene annotations add (default NULL) arrange..metadata Arrange metadata (default TRUE) add.row.names Add row names (default TRUE) add.column.names Add column names (default FALSE) row.font Font size rows (default 5) col.font Font size columns (default 5) legend.font Font size legend (default 5) row.height Height row. NA, adjust plot size (default 15) set.seed Seed colors (default 6) scale.data Perform z-scaling rows (default TRUE) trim.outliers Remove outlier data (default TRUE) trim.outliers.percentage Set outlier percentage (default 0.01) order.heatmap.rows Order heatmap rows (default FALSE) row.order Gene vector set row order. NULL, use cluster order (default NULL)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"function returns heatmap plot data underlying heatmap.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html","id":null,"dir":"Reference","previous_headings":"","what":"Launch the ModuleScore Shiny App — launch_module_score_app","title":"Launch the ModuleScore Shiny App — launch_module_score_app","text":"Opens interactive app explore ModuleScores adjust thresholds.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Launch the ModuleScore Shiny App — launch_module_score_app","text":"","code":"launch_module_score_app()"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Launch the ModuleScore Shiny App — launch_module_score_app","text":"result shiny::runApp()","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute ModScore — modScore","title":"Compute ModScore — modScore","text":"Returns Seurat-class object metadata containing ModuleScores Likely_CellType calls","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute ModScore — modScore","text":"","code":"modScore( object, marker.table, group_var = \"orig.ident\", use_columns, ms_threshold, general.class, multi.lvl = FALSE, lvl.df = NULL, reduction = \"tsne\", nbins = 10, gradient.ft.size = 6, violin.ft.size = 6, step.size = 0.1 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute ModScore — modScore","text":"object Seurat-class object marker.table table lists gene/protein markers categories cells want detect. table formatted cell type(s) column names, marker(s) entries column. Requires SCT@data present within Seurat Object use_columns Select specific columns within Marker Table analyze. Markers unselected columns included. ms_threshold Allow user-specified module score thresholds. Provide one threshold Celltype included \"use_columns\" parameter. Celltype, provide Celltype name, space, type threshold Celltype. threshold must number 0.0 1.0. E.g. \"Tcells 0.2\", \"Macrophages 0.37\". best results, follow steps: (1) Set thresholds 0.0 preliminary view data. (2) Use resulting visualizations estimate correct thresholds Celltype. (3) Adjust thresholds based saw visualizations. (4) Re-run template new thresholds. (5) Review visualizations repeat Steps 1-5 think thresholds can improved. general.class Select classes (.e. columns) Marker Table represent General Classes. general class class subtype another class. multi.lvl set True multiple subclasses cells like classify. Note: requires manual entry table columns specifying levels comparisons. column table represent one level subclass within General Classes. value within column two Class names separated dash (-) showing General--SubClass relationship. Example: classify T-cells attempt classify T-cells either CD8 CD4 T-cells, write column named \"Level_1\", add \"T_cell-CD8_T\" \"T_cell-CD4_T\" column. Note example, \"T_cell\" General Class \"CD8_T\" \"CD4_T\" . lvl.df Dataframe containing levels information well parent-children designation (E.g. Tcells-CD4). Required Multi Level Classification turned .#' reduction Choose among tsne, umap, pca (Default: tsne) nbins Number bins storing control features analyzing average expression (Default: 10) gradient.ft.size Set size axis labels gradient density plot ModuleScore distribution (Default: 6) violin.ft.size Set size axis labels violin plot ModuleScore distribution (Default: 6) step.size Set step size distribution plots (Default: 0.1)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute ModScore — modScore","text":"List containing annotated dimension plot ModuleScore distribution cell marker gene, Seurat Object cell classification metadata","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Compute ModScore — modScore","text":"Analyzed features binned based averaged expression; control features randomly selected bin.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compute ModScore — modScore","text":"","code":"if (FALSE) { # \\dontrun{ modScore( object = seuratObject, marker.table = immuneCellMarkers, use_columns = c(\"CD4_T\", \"Treg\", \"Monocytes\"), ms_threshold = c(\"CD4_T 0.1\", \"Treg 0.4\", \"Monocytes 0.3\"), general.class = c(\"CD4_T\", \"Monocytes\"), multi.lvl = FALSE ) modScore( object = seuratObject, marker.table = immuneCellMarkers, use_columns = c(\"CD4_T\", \"Treg\", \"Monocytes\"), ms_threshold = c(\"CD4_T 0.1\", \"Treg 0.4\", \"Monocytes 0.3\"), general.class = c(\"CD4_T\", \"Monocytes\"), multi.lvl = TRUE, lvl.df = parentChildTable ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modscore-imports-011726.html","id":null,"dir":"Reference","previous_headings":"","what":"Helpers for ModuleScore Shiny app — modscore-imports-011726","title":"Helpers for ModuleScore Shiny app — modscore-imports-011726","text":"Precompute module scores per celltype build plots cached data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modscore-imports.html","id":null,"dir":"Reference","previous_headings":"","what":"Helpers for ModuleScore Shiny app — modscore-imports","title":"Helpers for ModuleScore Shiny app — modscore-imports","text":"Precompute module scores per celltype build plots cached data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":null,"dir":"Reference","previous_headings":"","what":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"Maps custom cluster names Seurat Object cluster IDs adds cluster names new metadata column called Clusternames. Provides dotplot percentage cell types within cluster.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"","code":"nameClusters( object, cluster.identities.table, cluster.numbers, cluster.names, cluster.column, labels.column, order.clusters.by = NULL, order.celltypes.by = NULL, interactive = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"object Seurat-class object cluster IDs column cell type column present cluster.numbers Vector containing cluster numbers match (numeric) cluster ID's cluster.column Seurat Object metadata cluster.names Vector containing custom cluster labels cluster.column Column name containing cluster ID metadata slot object labels.column Column name containing labels (usually cell type) metadata slot object order.clusters.Vector containing order clusters graph. Can contain subset cluster numbers plot match least values cluster.column. NULL, use default order (default NULL) order.celltypes.Vector containing order cell types graph. Can contain subset cell types plot match least values labels.column. NULL, use default order (default NULL) interactive TRUE, draw plotly plot (default FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"Returns Seurat-class object updated meta.data slot containing custom cluster annotation plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":null,"dir":"Reference","previous_headings":"","what":"Harmony Batch Correction from Singular Value Decomposed PCA — object","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"Adjusts cell embeddings gene expression data account variations due user specified variable","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"","code":"object"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"object class Seurat 3000 rows 2000 columns.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"seurat_object Seurat-class object nvar Number variable genes subset gene expression data (Default: 2000) genes..add Add genes might found among variably expressed genes group..var variable accounted running batch correction npc Number principal components use running Harmony (Default: 20)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"list: adj.object harmony-adjusted gene expression (SCT slot) adj.tsne: harmonized tSNE plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"Runs singular value decomposition pearson residuals (SCT scale.data) obtain PCA embeddings. Performs harmony decomposed embedding adjusts decomposed gene expression values harmonized embedding.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"","code":"if (FALSE) { # \\dontrun{ harmonyBatchCorrect( object = seurat, nvar = 2000, genes.to.add = c(\"Cd4\", \"Cd8a\"), group.by.var = \"Mouse_Origin\", npc = 20 ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":null,"dir":"Reference","previous_headings":"","what":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"palantir_api_call Utility function 3D tSNE Coordinate Template v 75#'","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"","code":"palantir_api_call(service, path, token, data, method)"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"service NIDAP API service call path path NIDAP API service token NIDAP user toekn. data Data uploaded NIDAP API calls. method Method used, including POST, GET, DELETE","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"return content API calls","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":null,"dir":"Reference","previous_headings":"","what":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"column selected, template produce plot (UMAP/TSNE/PCA; choice) using data column color cells","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"","code":"plotMetadata( object, samples.to.include, metadata.to.plot, columns.to.summarize, summarization.cut.off = 5, reduction.type = \"tsne\", use.cite.seq = FALSE, show.labels = FALSE, legend.text.size = 1, legend.position = \"right\", dot.size = 0.01 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"object combined Seurat Object metadata plot samples..include samples like include metadata..plot metadata columns Metadata table like plot columns..summarize columns like summarize summarization.cut.Select number categories want display, marking cells \".\" Default 5 reduction.type kind visualization like use plot cells metadata (tsne, umap, pca). Default tsne use.cite.seq TRUE like plot Antibody clusters CITEseq instead scRNA. Default FALSE show.labels Whether add labels reduction map. Default FALSE legend.text.size Customize size legend text charts. Default 1 legend.position Select want align legend. Default \"right\" dot.size size dots displayed plot. Default os 0.01","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"data.frame extracted Seurat object plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"downstream template Single-cell RNA-seq workflow (requires dataset Filter/QC/SingleR annotations run first)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":null,"dir":"Reference","previous_headings":"","what":"Process Raw Data — processRawData","title":"Process Raw Data — processRawData","text":"Creates list Seurat Objects h5 files. log normalize produce QC figures individual samples","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Process Raw Data — processRawData","text":"","code":"processRawData( input, sample.metadata.table = NULL, sample.name.column = NULL, organism, rename.col = NULL, keep = T, file.filter.regex = c(), split.h5 = F, cell.hash = F, tcr.summarize.topN = 10, do.normalize.data = T )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Process Raw Data — processRawData","text":"input Input can vector .h5 files, list seurat objects sample. TCRseq Metadata .csv files can also included added corrisponding sample seurat object. Vector files include entire file path. sample.metadata.table table sample metadata want append already-existing metadata within input Seurat Object(s). (optional) sample.name.column column input metadata..append table contains sample names matching orig.idents input object(s). (optional) organism Please select species. Choices Human Mouse. (Default: Human). rename.col Select column name metadata table contains new samples name (optional). keep TRUE, keep files pattern found sample name. FALSE, remove files pattern found sample name. pattern set file.filter.regex parameter (). file.filter.regex Pattern regular expression sample name. Use 'keep' parameter keep remove fi les contain pattern. samples renamed set regular expression based new names split.h5 TRUE, split H5 individual files. (Default: FALSE) cell.hash TRUE, dataset contains cell hashtags. (Default: FALSE) tcr.summarize.topN Select number top identified TCR clonotypes included summary column. clonotypes top N populated classified \"\". (Default: 10) .normalize.data TRUE counts table log2 normalized. input contains counts already normalzed set FALSE. (Default: TRUE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Process Raw Data — processRawData","text":"Seurat Object QC plots","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Process Raw Data — processRawData","text":"Step 1 basic Single-Cell RNA-seq workflow. Returns data Seurat Object, basic data structure Seurat Single Cell analysis.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"template reclusters filtered Seurat object.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"","code":"reclusterFilteredSeuratObject( object, prepend.txt = \"old\", old.columns.to.save, number.of.pcs = 50, cluster.resolution.low.range = 0.2, cluster.resolution.high.range = 1.2, cluster.resolution.range.bins = 0.2, reduction.type = \"tsne\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"object input Seurat Object. prepend.txt Text prepend old columns make unique new. Default \"old\". old.columns..save Old seurat clustering columns (e.g. SCT_snn_res.0.4) save. number..pcs Select number principal components analysis. Set 0 automatically decide. Default 50. cluster.resolution.low.range Select minimum resolution clustering plots. lower set , FEWER clusters generated. Default 0.2. cluster.resolution.high.range Select maximum resolution clustering plots. higher set , clusters generated. Default 1.2. cluster.resolution.range.bins Select bins cluster plots. example, input 0.2 bin, low/high resolution ranges 0.2 0.6, template produce cluster plots resolutions 0.2, 0.4 0.6. Default 0.2. reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\"). Default \"tsne\".","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"Function returns reclustered Seurat Object new clustering columns renamed original clustering columns, along plot new dimsensionality reduction.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"method reclusters filtered , preserving original SCT clustering columns prepended prefix, making new SCT clustering columns based reclustering. image returned reclustered project.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Recluster Seurat Object. — reclusterSeuratObject","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"template reclusters Seurat object.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"","code":"reclusterSeuratObject( object, prepend.txt = \"old\", old.columns.to.save, number.of.pcs = 50, cluster.resolution.low.range = 0.2, cluster.resolution.high.range = 1.2, cluster.resolution.range.bins = 0.2, reduction.type = \"tsne\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"object input Seurat Object. prepend.txt Text prepend old columns make unique new. Default \"old\". old.columns..save Old seurat clustering columns (e.g. SCT_snn_res.0.4) save. number..pcs Select number principal components analysis. Set 0 automatically decide. Default 50. cluster.resolution.low.range Select minimum resolution clustering plots. lower set , FEWER clusters generated. Default 0.2. cluster.resolution.high.range Select maximum resolution clustering plots. higher set , clusters generated. Default 1.2. cluster.resolution.range.bins Select bins cluster plots. example, input 0.2 bin, low/high resolution ranges 0.2 0.6, template produce cluster plots resolutions 0.2, 0.4 0.6. Default 0.2. reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\"). Default \"tsne\".","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"Function returns reclustered Seurat Object new clustering columns renamed original clustering columns, along plot new dimsensionality reduction.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"method reclusters input , preserving original SCT clustering columns prepended prefix, making new SCT clustering columns based reclustering. image returned reclustered project.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"method provides visualization 3D-tSNE plot given Seurat Object returns plotly plot dataframe TSNE coordinates. optionally saves plotly image embedded html file.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"","code":"tSNE3D( object, color.variable, label.variable, dot.size = 4, legend = TRUE, colors = c(\"darkblue\", \"purple4\", \"green\", \"red\", \"darkcyan\", \"magenta2\", \"orange\", \"yellow\", \"black\"), filename = \"plot.html\", save.plot = FALSE, npcs = 15 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"object Seurat-class object color.variable Metadata column Seurat Object use color label.variable Metadata column Seurat Object use label dot.size Dot size plot (default 4) legend TRUE, show legend (default TRUE) colors Colors used color.variable filename Filename saving plot (default \"plot.html\") save.plot Save plot widget html file (default FALSE) npcs Number principal components used tSNE calculations (default 15)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":null,"dir":"Reference","previous_headings":"","what":"Violin Plot by Metadata — violinPlot","title":"Violin Plot by Metadata — violinPlot","text":"Create violin plot gene expression data across groups","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Violin Plot by Metadata — violinPlot","text":"","code":"violinPlot( object, assay, layer, genes, group, facet_by = \"\", filter_outliers = F, outlier_low = 0.05, outlier_high = 0.95, jitter_points, jitter_dot_size )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Violin Plot by Metadata — violinPlot","text":"object Seurat-class object assay Assay extract gene expression data (Default: SCT) layer Slot extract gene expression data (Default: scale.data) genes Genes visualize violin plot group Split violin plot based metadata group facet_by Split violin plot based second metadata group filter_outliers Filter outliers data (TRUE/FALSE) outlier_low Filter lower bound outliers (Default = 0.05) outlier_high Filter upper bound outliers (Default = 0.95) jitter_points Scatter points plot (TRUE/FALSE) jitter_dot_size Set size individual points","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Violin Plot by Metadata — violinPlot","text":"violin ggplot2 object","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Violin Plot by Metadata — violinPlot","text":"Takes list genes inputted user, displays violin plots genes across groups layer-assay (optional) outliers removed. Can also choose scale transform expression data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Violin Plot by Metadata — violinPlot","text":"","code":"if (FALSE) { # \\dontrun{ violinPlot( object = seurat, assay = \"SCT\", layer = \"data\", genes = c(\"Cd4\", \"Cd8a\"), group = \"celltype\", facet_by = \"orig.ident\", filter_outliers = TRUE, jitter_points = TRUE, jitter_dot_size = 0.5 ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html","id":null,"dir":"Reference","previous_headings":"","what":"Violin Plot by Metadata — violinPlot_mod","title":"Violin Plot by Metadata — violinPlot_mod","text":"Create violin plot gene expression data across groups","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Violin Plot by Metadata — violinPlot_mod","text":"","code":"violinPlot_mod( object, assay, layer, genes, group, facet_by = \"\", filter_outliers = F, outlier_low = 0.05, outlier_high = 0.95, jitter_points, jitter_dot_size )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Violin Plot by Metadata — violinPlot_mod","text":"object Seurat-class object assay Assay extract gene expression data (Default: SCT) layer Slot extract gene expression data (Default: scale.data) genes Genes visualize violin plot group Split violin plot based metadata group facet_by Split violin plot based second metadata group filter_outliers Filter outliers data (TRUE/FALSE) outlier_low Filter lower bound outliers (Default = 0.05) outlier_high Filter upper bound outliers (Default = 0.95) jitter_points Scatter points plot (TRUE/FALSE) jitter_dot_size Set size individual points","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Violin Plot by Metadata — violinPlot_mod","text":"violin ggplot2 object","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Violin Plot by Metadata — violinPlot_mod","text":"Takes list genes inputted user, displays violin plots genes across groups layer-assay (optional) outliers removed. Can also choose scale transform expression data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Violin Plot by Metadata — violinPlot_mod","text":"","code":"if (FALSE) { # \\dontrun{ violinPlot_mod( object = seurat, assay = \"SCT\", layer = \"data\", genes = c(\"Cd4\", \"Cd8a\"), group = \"celltype\", facet_by = \"orig.ident\", filter_outliers = TRUE, jitter_points = TRUE, jitter_dot_size = 0.5 ) } # }"}] +[{"path":[]},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"feature","dir":"","previous_headings":"v1.0.3 (in development)","what":"Feature","title":"CHANGELOG","text":"Visualizes cell population frequencies absolute counts across multiple groups Generates alluvial flow bar plots faceted box plots Supports custom group ordering color palettes Added ggalluvial dependency flow visualizations Generated JSON template using json2r.prompt.md instructions","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"fix","dir":"","previous_headings":"v1.0.2 (2024-02-01)","what":"Fix","title":"CHANGELOG","text":"fix: update package name action file (00c816c)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"unknown","dir":"","previous_headings":"v1.0.2 (2024-02-01)","what":"Unknown","title":"CHANGELOG","text":"Merge pull request #53 NIDAP-Community/dev fix: update package name action file (1ea1b0c) Merge pull request #52 NIDAP-Community/CDupdate fix: update package name action file (3956593)","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"build","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Build","title":"CHANGELOG","text":"build: update conda recipe action file (32f800c)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"documentation","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Documentation","title":"CHANGELOG","text":"docs(version): Automatic development release (0548007) docs: Adding changelog (34b1e0b) docs(version): Automatic development release (184b4f9) docs(version): Automatic development release (b8b41d3) docs(version): Automatic development release (f420a3b) docs(version): Automatic development release (8b5cc98)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"feature-1","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Feature","title":"CHANGELOG","text":"feat: Update test-annotation supress warnings (3d5cf8f) feat: test (4c4cee7) feat: test (c8274f9) feat: test (3aff107) feat: test harmony (6c2830b) feat: enable CD (3696c4b)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"fix-1","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Fix","title":"CHANGELOG","text":"fix: add skip CI harmony (55c1c0d) fix: Suppress warning celldex, move CI handle test Harmony, add png page creation (406594a) fix: Revise version format (7992d22) fix: update readme (d8d4013)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"test","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Test","title":"CHANGELOG","text":"test: Adding variant Action skip (b0bea4c) test: update meta.ymal (1abd118) test: update meta.ymal (46ba936) test: mute line42 test-Process_Raw_Data (75dbd06)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/CHANGELOG.html","id":"unknown-1","dir":"","previous_headings":"v1.0.1 (2024-02-01)","what":"Unknown","title":"CHANGELOG","text":"Merge pull request #51 NIDAP-Community/dev Update test files Harmony Annotation, add GitHub page image (5c19124) Merge pull request #50 NIDAP-Community/CDupdate fix: add skip CI harmony (3268a82) Merge pull request #49 NIDAP-Community/CDupdate fix: Suppress warning celldex, move CI handle test Harmony, … (30de884) Merge pull request #47 NIDAP-Community/dev Update CD (76e59b4) Merge pull request #46 NIDAP-Community/CDupdate docs: Adding changelog (7c5bcf2) Merge pull request #45 NIDAP-Community/dev Update repo structure CD implementation (ca27382) Merge pull request #44 NIDAP-Community/CDupdate Update repo structure Continuous Deployment implementation (fab9424) Merge remote-tracking branch 'origin/main' dev (c850a61) Merge pull request #43 NIDAP-Community/revert-42-testCD2 Revert \"Test cd2\" (dbd1511) Revert \"Test cd2\" (82c3208) Merge pull request #42 ruiheesi/testCD2 Test cd2 (696718c) Merge pull request #17 ruiheesi/release_dev Release dev (93dac20) Merge pull request #16 ruiheesi/dev Dev (f094e92) Merge pull request #15 ruiheesi/testCD2 Test cd2 (89850c1) Merge remote-tracking branch 'origin/dev' testCD2 (429581c) feat :test (10b3e05) Merge pull request #14 ruiheesi/dev Dev (c932c71) Merge pull request #13 ruiheesi/testCD2 Test cd2 (da01ac7) Merge pull request #12 ruiheesi/release_dev Release dev (447457a) Merge pull request #11 ruiheesi/dev Dev (e4a2987) Merge pull request #10 ruiheesi/testCD2 fix: update readme (a3f0d9c) Merge pull request #9 ruiheesi/release_dev Release dev (4026e1a) Merge pull request #8 ruiheesi/dev Dev (4364548) Merge pull request #7 ruiheesi/testCD test: update meta.ymal (fe470f9) Merge pull request #6 ruiheesi/dev Dev (4e75a9f) Merge pull request #5 ruiheesi/testCD test: update meta.ymal (caed439) Merge pull request #4 ruiheesi/dev Dev (9f27de1) Merge pull request #3 ruiheesi/testCD test: mute line42 test-Process_Raw_Data (abef880) Merge pull request #1 ruiheesi/testCD feat: enable CD (0194dd9) Merge pull request #38 NIDAP-Community/main Updating dev avoid potential lost progress (8936388) Merge pull request #37 NIDAP-Community/8_4_tutorial 8 4 tutorial (c640c8f) Merge branch '8_4_tutorial' https://github.com/NIDAP-Community/SCWorkflow 8_4_tutorial (be8b11f) Just tutorial (b667bb0) test (d8bc63c) Fixing visualization \"\" plot (d7bb90f) Merge pull request #36 NIDAP-Community/dev Dev (0b66085) Merge pull request #35 NIDAP-Community/heatmap_fix Fix heatmap (49f0486) Fix heatmap (db3ee4e) Merge pull request #34 NIDAP-Community/release_6_15_test Update DESCRIPTION file author info short package description (31a4d13) Merge pull request #33 NIDAP-Community/update_DES Update DESCRIPTION file (df2abd7) Update DESCRIPTION file (5e43253) Adding auto-generated files (14ff346) Merge pull request #31 NIDAP-Community/release_6_13 Update 6 13 Alexei (e2297c6) Merge pull request #30 NIDAP-Community/release_test Run unit tests (407ca8f) Merge pull request #28 NIDAP-Community/main Update (2891614) Merge pull request #27 NIDAP-Community/phil_6_6_no_NG Modify package function load (370522e) Including \"NULL\" \"seurat_cluster\" tests (8cb6a23) Introducing \"cluster\" variable functionality (e26f2aa) Modify package function load (fe7ad65) Adding auto-generated files (e65ad6b) Merge pull request #26 NIDAP-Community/release_test Passed tests (4a40802) Merge pull request #25 NIDAP-Community/phil_6_6_no_NG Run unit test (4979266) Update Plot_Metadata (573b57a) Update ModuleScore (4367b28) Update NAMESPACE (77240ed) Merge changes (b9226e0) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: NAMESPACE tests/testthat/fixtures/downsample_SO.R (d4b92fe) update documentation (19b7179) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (ca74b58) delete old files (b5b2d1d) Removed test-Pseudobulk_DEG.R test-Sample_Names.R (877fa28) Removed test-Meta_Data.R (975face) Merge branch 'main' phil_6_6_no_NG (f638db9) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (77c1f03) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main need update violinPlot subset function (41f805e) update violinPlot subset function (0609899) Remove old tests (6ca9164) udate PBMC sing Filtered rds (516a9df) Fix Test Error (7641655) fix Test error (e97494a) Merge branch 'main' phil_6_6_no_NG (d7fd7c8) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (1e52f51) Setting add.gene..protein TRUE - error FALSE (2e0a153) Merge branch 'main' phil_6_6_no_NG (d61ce1d) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (cd90fbb) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (b44581b) bug fix heatmap sort annotation (8d09781) Merge branch 'main' phil_6_6_no_NG (986bcdf) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8fab93f) changed select_crobject selectCRObject (b7446a6) Update Seurate importing method process raw (846ac5d) Trigger check update latest main (2b575eb) Merge branch 'main' phil_6_6_no_NG (aab0562) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (b786ed1) Removed gene Seurat (d5d17ac) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (e7f08eb) Bug fix dual labeling (9eede5b) Fixed bug Dual Labeling added one plot output (contingency table) (0b17248) Test direct import seurat process raw (3bd763b) Trigger action, updated process raw import Seurat (2e46082) Trigger action, updated cc.gene (84acd38) Trigger action, updated NAMESPACE (a968d2d) Trigger action (b38dd32) Trigger action (05e9be4) Update NAMESPACE (d7015e6) Merge branch 'main' phil_6_6_no_NG (d9ba725) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (5559288) Trigger unit tests (99ae357) Add Filtered rds (666c3d8) update Variable descriptions (43e05f5) update Variable descriptions (3fd169b) reverting clusters barcodes merging (f561e2f) Trigger unit test (a668ef9) Trigger unit test (1c48c37) Merge branch 'main' phil_6_6_no_NG (ada4aab) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (aa254f1) Update NAMESPACE (dc6152b) rn h5 test (d398586) Fixing \"\" cluster label (18bbdc8) Removing \"latent variable\" test script (1839cdd) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: NAMESPACE R/Combine_and_Renormalize.R R/Filter_and_QC.R R/PCA_and_Normalization.R R/Post_filter_QC_Plots.R tests/testthat/fixtures/NSCLC_Single/NSCLC_Single_Filtered_PCA_Norm_SO_downsample.rds tests/testthat/fixtures/NSCLC_Single/NSCLC_Single_Filtered_SO_downsample.rds tests/testthat/fixtures/NSCLC_Single/NSCLCsingle_Filtered_PCA_Norm_SO_downsample.rds tests/testthat/fixtures/NSCLC_Single/NSCLCsingle_Filtered_SO_downsample.rds tests/testthat/fixtures/PBMC_Single/PBMC_Single_Filtered_PCA_Norm_SO_downsample.rds tests/testthat/fixtures/PBMC_Single/PBMC_Single_Filtered_SO_downsample.rds tests/testthat/fixtures/downsample_SO.R tests/testthat/test_Combine_and_Renormalize.R tests/testthat/test_Filter_and_QC.R tests/testthat/test_PCA_and_Normalization.R tests/testthat/test_Post_Filter_QC.R (92eae54) FiltQC Variable Descriptions (4aa0674) New RAW filtQC CombNorm (7aa1a24) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: NAMESPACE R/Post_filter_QC_Plots.R tests/testthat/test_Post_Filter_QC.R (4fd27d2) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: man/Combine_and_Renormalize.Rd man/Post_filter_QC.Rd (159af06) skip ci reticulate pacakge (549f205) skip ci reticulate pacakge (75412d7) Edited snapshot tests (a316ad3) Edited snapshot tests (cf00505) update pseudobulk helper (fd0a506) update pseudobulk helper (7f8060e) add pseudobulk helper test scripts (122f072) add pseudobulk helper test scripts (27a49ec) update functions tests (c7ddbf8) update functions tests (c201dd7) Removing \"latent var\" replacing second.clust (67c3aea) Removing \"latent var\" replacing second.clust (9c16231) Quick test CI (e71339c) Quick test CI (73c62ca) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (b600bf0) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8bb7502) Added color selection 3D-tsne Plotter (2882b76) Added color selection 3D-tsne Plotter (f7decbc) Added \"cached\" CellDex option (2cabb8d) Added \"cached\" CellDex option (c913672) fixed NAMESPACE conflicts (f2aa02f) fixed NAMESPACE conflicts (797ab6d) Changed pheatmap ComplexHeatmap::pheatmap (5c9316b) Changed pheatmap ComplexHeatmap::pheatmap (414723d) Code Review (03f4392) Code Review (b2724c8) Removed LICENCE file description (e2affa9) Removed LICENCE file description (8c3154e) Minor fixes R CMD CHECK (134523f) Minor fixes R CMD CHECK (c1eb410) Fix syntax error line 200, fix syntax error \"=\" \"==\" (2916381) Fix syntax error line 200, fix syntax error \"=\" \"==\" (d909584) Helper Recluster, Sprint 7 compliant. (d5181f9) Helper Recluster, Sprint 7 compliant. (8f28252) New test Recluster correct name. (bf252e2) New test Recluster correct name. (0d88348) Old file w bad name gone. New file good. (e903ca0) Old file w bad name gone. New file good. (0e0d81e) Re-arranged new Sprint 7 formatting functions. (2c07bcb) Re-arranged new Sprint 7 formatting functions. (e670fe9) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main need push updated code main (20f0ab7) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main need push updated code main (189075c) push updated scripts main (ed4b682) push updated scripts main (f70b090) Restructured according new requirements (94b0170) Restructured according new requirements (797d5be) Restructured according new requirements (495be93) Restructured according new requirements (7e53872) Restructured according new requirements (6043df1) Restructured according new requirements (5efd01d) Restructured according new requirements (8465a9e) Restructured according new requirements (75be9d0) Restructured according new requirements (8c4739b) Restructured according new requirements (8a39e82) Restructured according new requirements (2ccad56) Restructured according new requirements (4770cf7) Restructured according new requirements (8762e39) Restructured according new requirements (c21ca07) Restructured according new requirements (b9dfed4) Restructured according new requirements (9cc27d3) Restructured according new requirements (656b12e) Restructured according new requirements (2989dbe) Restructured according new requirements (bf8dcb1) Restructured according new requirements (d11a692) Restructured according new requirements (95693f6) Restructured according new requirements (da04b19) Restructured according new requirements (6dca0bf) Restructured according new requirements (de6b4da) Restructured according new requirements (8f4ea59) Restructured according new requirements (1741342) Restructured according new requirements (f522e45) Restructured according new requirements (dc8cfe2) Restructured according new requirements (b2235b0) Restructured according new requirements (6f4bd6d) Delete test-DegGeneExpressionMarkers.R Replaced newer, renamed version (237eacf) Delete test-DegGeneExpressionMarkers.R Replaced newer, renamed version (ee510b7) Accepted changes Namespace (b0ef9e7) Accepted changes Namespace (70d880f) Removed ticks dotplot code (d6599be) Removed ticks dotplot code (3b4a6e0) Added select dplyr import (1311aae) Added select dplyr import (c860639) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8759676) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (28e310b) Added snapshot file tests Name clusters (1a0c530) Added snapshot file tests Name clusters (de98847) Added snapshot tests heatmap (3f138a4) Added snapshot tests heatmap (1fe2d7b) Additional snapshot file tests dual labeling (8d92fcf) Additional snapshot file tests dual labeling (580ab8d) Additional tests dotplot metadata (fbc3ada) Additional tests dotplot metadata (b7f6c45) Adding expect snapshot file tests 3D-tSNE plotter (8f33e2b) Adding expect snapshot file tests 3D-tSNE plotter (661102c) Formatting changes helper-dual labeling (8f5da99) Formatting changes helper-dual labeling (266dec8) Formatting changes helper - Name clusters (5a6079f) Formatting changes helper - Name clusters (cfc8b69) Formatting changes helper-Heatmap (abd3f09) Formatting changes helper-Heatmap (1ca0e49) Formatting changes helper-dotplot Metadata (321e619) Formatting changes helper-dotplot Metadata (69653cb) Formatting changes helper 3D-tSNE (8be697c) Formatting changes helper 3D-tSNE (c1835c2) Formatting changes Dotplot Metadata (7dbbc99) Formatting changes Dotplot Metadata (d994b6c) Code changes Name clusters formatting (70a9fc2) Code changes Name clusters formatting (bca98aa) Formatting changes Heatmap.R (e1bd5c7) Formatting changes Heatmap.R (f47e847) Add files via upload replace image file (7bf9b80) Add files via upload replace image file (542b65d) Update README.md additional text (700ad07) Update README.md additional text (2e0feec) Update README.md Added image. (7694f8d) Update README.md Added image. (f28a6a7) Add files via upload Workflow image (f93175b) Add files via upload Workflow image (433a89d) Create README.md (70aa926) Create README.md (0b318e5) formatting dual labeling (2e7d12c) formatting dual labeling (f782199) format 3D-tSNE function (fe97cb0) format 3D-tSNE function (4ae1381) Update gitflow-R-action.yml (9bdcf6c) Update gitflow-R-action.yml (7799784) update Dotplot conflict (0ea5f42) update Dotplot conflict (e99ac9b) Update (aa71a29) Update (3dfcdb5) Adding action files dockerfiles (d215fdb) Adding action files dockerfiles (1cbab8e) Resolving git conflict Recluster. (0c70bdb) Resolving git conflict Recluster. (28d7b96) committing -progress Sugarloaf updates Recluster template. (ed03d46) committing -progress Sugarloaf updates Recluster template. (446af26) changed fixture filenames (71ebc2f) changed fixture filenames (6e3284c) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (f5590de) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (219746d) edit code formatting (1a7a120) edit code formatting (2676adc) Initial TestThat Recluster Includes tests 5 datasets testing type, well one test MouseTEC tests UMAP instead default TSNE. (4da52a7) Initial TestThat Recluster Includes tests 5 datasets testing type, well one test MouseTEC tests UMAP instead default TSNE. (da7c560) Initial R4 functionalization. (7558379) Initial R4 functionalization. (84acb8c) Add files via upload Initial release (3eca944) Add files via upload Initial release (deafd1c) Add files via upload Initial release (77b96a6) Add files via upload Initial release (91b7594) Add files via upload Initial commit (4a74c89) Add files via upload Initial commit (9d694ae) Add files via upload Initial release (fa2e7c3) Add files via upload Initial release (25d5857) Add files via upload Initial release (69d1dcf) Add files via upload Initial release (900ab4c) Delete DEG_Gene_Expression_Markers.R (5496f85) Delete DEG_Gene_Expression_Markers.R (fe406ea) Add files via upload Initial release (ea9b264) Add files via upload Initial release (45fd8d2) Add files via upload Initial release (c2e8e8c) Add files via upload Initial release (fee817b) Add files via upload Initial release (55fd6c9) Add files via upload Initial release (a59a2bc) Add files via upload Initial release (ad72a95) Add files via upload Initial release (aac8353) Add files via upload Initial release (a0c5606) Add files via upload Initial release (c31a9f2) Delete DeletMeAgain (d2436b6) Delete DeletMeAgain (4514dae) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (9ce4628) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (2a53ebc) CommLine Test (82aa0fa) CommLine Test (811846c) Delete Delete.Following orders (6b41c15) Delete Delete.Following orders (1f82ca7) Add files via upload DELETE IMMEDIATELY!!! (986326c) Add files via upload DELETE IMMEDIATELY!!! (ea68f0a) Initial release (2c12ea5) Initial release (a294bd3) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (a276a80) Recover code past commit (184c917) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main update function parameter names. (83fbdd1) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main update function parameter names. (6f46e6e) reformat function parameter names (0dfca6c) reformat function parameter names (c81712f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (eac38ce) Merge pull request #9 NIDAP-Community/Rui_resolve_conflict Resolve conflicts (7fa7db9) Merge pull request #9 NIDAP-Community/Rui_resolve_conflict Resolve conflicts (7839aba) Resolve conflicts (d516cd2) Resolve conflicts (8c776b1) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (0a5942a) Update main local branch (b27d7af) Merge pull request #8 NIDAP-Community/phi_test Phi test (2d5e7ec) Merge pull request #8 NIDAP-Community/phi_test Phi test (87fdb1a) resolve conflict (b4d8548) resolve conflict (a3ddae1) Merge branch 'main' phi_test (e22b5e6) Add ignore h5 files gitignore (55c3167) resolve conflicts (43976ba) resolve error (d59173b) Update current directory (f7e242b) Downsampled CITEseq (bdfa1f3) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Correct CITEseq Downsmple (4d643f4) correct CITEseq Downsample (3f032fd) helper script 3D-tsne (12ee9f3) helper script 3D-tsne (30b7146) helper script 3D-tsne (a901830) new tests (1ce5664) new tests (29d75bc) new tests (9cb29d2) unit test Jing templates (bb48481) unit test Jing templates (63a6636) unit test Jing templates (97d74ca) NSCLCmulti (3d42d4a) NSCLCmulti (540bdf3) NSCLCmulti (6e8e596) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Update Chariou Single R BRCA combin Renormalize (e851077) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Update Chariou Single R BRCA combin Renormalize (072096f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Update Chariou Single R BRCA combin Renormalize (1a8fbf8) BRCA comb_Renorm (5e3985b) BRCA comb_Renorm (9fb63a3) BRCA comb_Renorm (6d4c05a) unit tests Name Clusters (95cf6f5) unit tests Name Clusters (c7ed110) unit tests Name Clusters (43859bd) unit test dual labeling (46dd45e) unit test dual labeling (3f07269) unit test dual labeling (5c85127) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main merging new changes (b8b1eda) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main merging new changes (09c8f46) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main merging new changes (729b051) unit tests heatmap, dotplot (7659b83) unit tests heatmap, dotplot (b81287c) unit tests heatmap, dotplot (5414455) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main adding NSCLC_Single SOs (152cf11) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main adding NSCLC_Single SOs (b0ea506) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main adding NSCLC_Single SOs (d83c561) NSCLC_single (df265cd) NSCLC_single (ad62924) NSCLC_single (7d0b242) add dotplot tests (57166ba) add dotplot tests (b2bd01e) add dotplot tests (69fec28) unit test Dotplot (a94f7ba) unit test Dotplot (13fb938) unit test Dotplot (9c67e81) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main new error messaging added (b09cb64) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main new error messaging added (d266d5e) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main new error messaging added (c0aaa1b) new error messaging dotplot (9742c5f) new error messaging dotplot (a9bf495) new error messaging dotplot (93a3a06) changes dotplot (1849346) changes dotplot (b52dc29) changes dotplot (d4c0824) Charou (dccaf54) Charou (95b3421) Charou (1f3ca66) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: .gitignore DESCRIPTION tests/testthat/test_Filter_and_QC.R (c58b92e) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: .gitignore DESCRIPTION tests/testthat/test_Filter_and_QC.R (8a845be) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main Conflicts: .gitignore DESCRIPTION tests/testthat/test_Filter_and_QC.R (bb18f4c) TEC (08d1f47) TEC (11f66b3) TEC (c40054d) NAMESPACE removed merge conda package build requires NAMESPACE file added, ignored dev cycle. (e7ac125) NAMESPACE removed merge conda package build requires NAMESPACE file added, ignored dev cycle. (0027492) NAMESPACE removed merge conda package build requires NAMESPACE file added, ignored dev cycle. (4f3bbc8) Merge pull request #7 NIDAP-Community/dev_release_dec_13_22 Dev release dec 13 22 (02999db) Merge pull request #7 NIDAP-Community/dev_release_dec_13_22 Dev release dec 13 22 (6ec32fa) Merge pull request #7 NIDAP-Community/dev_release_dec_13_22 Dev release dec 13 22 (2e0f434) Initial Commit sprint 5 Functions. Including change DESCRIPTION file (4384dd1) Initial Commit sprint 5 Functions. Including change DESCRIPTION file (eeb7741) Initial Commit sprint 5 Functions. Including change DESCRIPTION file (90120cb) Minor fix codes pass Check (3b4f7ee) Minor fix codes pass Check (29de7d6) Minor fix codes pass Check (b65e314) Updated tests (733e2ec) Updated tests (c9ed47b) Updated tests (97e18e5) update NameClusters function test (128fbb4) update NameClusters function test (3f90257) update NameClusters function test (c88161e) update test-Metadata_Table.R (a37474b) update test-Metadata_Table.R (4257cc6) update test-Metadata_Table.R (7b2f599) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (78fc249) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (cce3673) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (986e82b) small changes 3D plotter testing (74364db) small changes 3D plotter testing (a60aa38) small changes 3D plotter testing (7ac6a75) changed heatmap test added library heatmap (cb33cf2) changed heatmap test added library heatmap (bcab3c2) changed heatmap test added library heatmap (20f7260) revised test dual labeling (b5caf02) revised test dual labeling (0f39220) revised test dual labeling (d1b47d6) new doc dotplot (b986ccc) new doc dotplot (800edc4) new doc dotplot (acd4514) changes test added color option (493b745) changes test added color option (b66d7fa) changes test added color option (69c3c15) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8863d0d) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (63fc3f6) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8fa25f6) add original citation Pseudobulk.R (4293f96) add original citation Pseudobulk.R (53add2e) add original citation Pseudobulk.R (7b99980) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (9abcb98) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (940e610) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (fb13a18) add functions heatmap, dotplot, 3d-tsne dual-labeling (0ed4df7) add functions heatmap, dotplot, 3d-tsne dual-labeling (74fe2ad) add functions heatmap, dotplot, 3d-tsne dual-labeling (44338d2) update ModScore Pseudobulk DESCRIPTION (aefedde) update ModScore Pseudobulk DESCRIPTION (abe0919) update ModScore Pseudobulk DESCRIPTION (ec95f0c) fix NAMESPACE @importFrom methods empty (756de4e) fix NAMESPACE @importFrom methods empty (2f2bd5a) fix NAMESPACE @importFrom methods empty (5984060) Update Description (3dcc872) Update Description (968b204) Update Description (1f05120) Merge pull request #6 NIDAP-Community/rui Rui (c09fa3f) Merge pull request #6 NIDAP-Community/rui Rui (5d3d3b2) Merge pull request #6 NIDAP-Community/rui Rui (e71621d) update man docs (bf9fb25) update man docs (c08890f) update man docs (98e86e3) add NameCluster function tests (dbe4d15) add NameCluster function tests (5812a98) add NameCluster function tests (233dd75) update MetadataTable & SampleNames (b3f19d8) update MetadataTable & SampleNames (175fa43) update MetadataTable & SampleNames (1d921a2) drop unused factor levels SO_moduleScore.rds (3a39fcf) drop unused factor levels SO_moduleScore.rds (133d872) drop unused factor levels SO_moduleScore.rds (ea6df85) Jing templates fixtures (08532bf) Jing templates fixtures (9f84531) Jing templates fixtures (150df39) add SampleNames .R .Rd files (9f16588) add SampleNames .R .Rd files (780b298) add SampleNames .R .Rd files (446d631) update MetadataTable (615afdc) update MetadataTable (44abfce) update MetadataTable (a27296a) Unit test added 3d tsne function (3ab8d75) Unit test added 3d tsne function (6dc17bd) Unit test added 3d tsne function (e032618) rui update 1 (9011356) rui update 1 (81793d8) rui update 1 (7006ac8) add man/MetadataTable.Rd (af8eedf) add man/MetadataTable.Rd (7830b05) add man/MetadataTable.Rd (61457e8) upload fixtures/SO_moduleScore.rds (78caf56) upload fixtures/SO_moduleScore.rds (07bc42d) upload fixtures/SO_moduleScore.rds (b3b3dc4) correct DESCRIPTION tibble (57847f5) correct DESCRIPTION tibble (fe89882) correct DESCRIPTION tibble (90dd394) update DESCRIPTION (f55cf25) update DESCRIPTION (fcf6d26) update DESCRIPTION (7d3e4ef) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (be5cff8) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (0d74815) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (58aa02a) add MetadataTable function (42c3569) add MetadataTable function (50e3af0) add MetadataTable function (09b995d) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (01921d5) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (795043f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (70082b0) removed NAMESPACE repo (dc422fa) removed NAMESPACE repo (d528f76) removed NAMESPACE repo (f7f5da5) removed Rcheck.txt (8b70481) removed Rcheck.txt (e0a6384) removed Rcheck.txt (e23003a) Added Git ignore update R check results, 11_16_2022 (ce18e14) Added Git ignore update R check results, 11_16_2022 (e705893) Added Git ignore update R check results, 11_16_2022 (1d8a95c) Update DESCRIPTION (7fdea8e) Update DESCRIPTION (0d266f4) Update DESCRIPTION (5effd23) Update cc.genes calls (797aca1) Update cc.genes calls (3db02b2) Update cc.genes calls (65f805b) Update cc.genes calls (8cd8b03) Update cc.genes calls (82a4244) Update cc.genes calls (ea8e671) Update library call (423fbe9) Update library call (f52a89c) Update library call (a3d302b) Update namespace (a4230b7) Update namespace (d35dc0e) Update namespace (0a8e2a9) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (272c0ec) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (8558d4f) Merge branch 'main' https://github.com/NIDAP-Community/SCWorkflow main (83f6f23) Update namespace (9960214) Update namespace (3d85b8d) Update namespace (b8c8b0e) Merge pull request #5 NIDAP-Community/initial_filter_qc Adjusted png render method NIDAP display (33820ce) Merge pull request #5 NIDAP-Community/initial_filter_qc Adjusted png render method NIDAP display (770cb6a) Merge pull request #5 NIDAP-Community/initial_filter_qc Adjusted png render method NIDAP display (12b4ce3) Adjusted png render method NIDAP display (0b9e4d2) Adjusted png render method NIDAP display (9968f1f) Adjusted png render method NIDAP display (747b89a) Merge pull request #4 NIDAP-Community/initial_filter_qc Update namespace (bcc1c7f) Merge pull request #4 NIDAP-Community/initial_filter_qc Update namespace (61952ec) Merge pull request #4 NIDAP-Community/initial_filter_qc Update namespace (ac05afc) Update namespace (fdcfd52) Update namespace (f070d8e) Update namespace (fd74f19) Merge pull request #3 NIDAP-Community/initial_filter_qc Added license file (a3a99b6) Merge pull request #3 NIDAP-Community/initial_filter_qc Added license file (5c508c3) Merge pull request #3 NIDAP-Community/initial_filter_qc Added license file (d5113f3) Added license file (186d183) Added license file (a8bd74c) Added license file (1d7ed13) Merge pull request #2 NIDAP-Community/initial_filter_qc remove GenomeInfoDb (fe8164b) Merge pull request #2 NIDAP-Community/initial_filter_qc remove GenomeInfoDb (75ae5fd) Merge pull request #2 NIDAP-Community/initial_filter_qc remove GenomeInfoDb (8908e24) remove GenomeInfoDb (f3bb0e6) remove GenomeInfoDb (2b32d4e) remove GenomeInfoDb (b27279e) Merge pull request #1 NIDAP-Community/initial_filter_qc Initial push filter qc, demo (866a648) Merge pull request #1 NIDAP-Community/initial_filter_qc Initial push filter qc, demo (a30130b) Merge pull request #1 NIDAP-Community/initial_filter_qc Initial push filter qc, demo (b627f06) Initial push filter qc, demo (a843d4d) Initial push filter qc, demo (dcd9fef) Initial push filter qc, demo (462a39d) Update README.md Changed package name (acb154c) Update README.md Changed package name (fdffdf4) Initial commit (6f6b791) Initial commit (7a2591a)","code":""},{"path":[]},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"clone-the-repo","dir":"Articles","previous_headings":"Propose Change","what":"Clone the repo","title":"Contributing to SCWorkflow","text":"member CCBR, can clone repository computer development environment. SCWorkflow large repository may take minutes. Cloning ‘SCWorkflow’… remote: Enumerating objects: 3126, done. remote: Counting objects: 100% (734/734), done. remote: Compressing objects: 100% (191/191), done. remote: Total 3126 (delta 630), reused 545 (delta 543), pack-reused 2392 (1) Receiving objects: 100% (3126/3126), 1.04 GiB | 4.99 MiB/s, done. Resolving deltas: 100% (1754/1754), done. Updating files: 100% (306/306), done.","code":"git clone --single-branch --branch DEV https://github.com/NIDAP-Community/SCWorkflow.git cd SCWorkflow"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"install-dependencies","dir":"Articles","previous_headings":"Propose Change","what":"Install dependencies","title":"Contributing to SCWorkflow","text":"first time cloning repo may install dependencies Check R CMD: R console, make sure package passes R CMD check running: ⚠️ Note: R CMD check doesn’t pass cleanly, ’s good idea ask help continuing.","code":"devtools::check()"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"load-scworkflow","dir":"Articles","previous_headings":"Propose Change","what":"Load SCWorkflow from repo","title":"Contributing to SCWorkflow","text":"R console, load package local repo using:","code":"devtools::load_all()"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"create-branch","dir":"Articles","previous_headings":"Propose Change","what":"Create branch","title":"Contributing to SCWorkflow","text":"Create Git branch pull request (PR). Give branch descriptive name changes make. Example: Use iss-10 ’s specific issue, feature-new-plot new feature. bug fixes small changes, can branch main branch. Success: Switched new branch ‘iss-10’ new features larger changes, branch DEV branch. Success: Switched new branch ‘feature-new-plot’","code":"# Create a new branch from main and switch to it git branch iss-10 git switch iss-10 # Switch to DEV branch, create a new branch, and switch to new branch git switch DEV git branch feature-new-plot git switch feature-new-plot"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"make-changes","dir":"Articles","previous_headings":"Develop","what":"Make your changes","title":"Contributing to SCWorkflow","text":"Now ’re ready edit code, write unit tests, update documentation needed.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"code-style-guidelines","dir":"Articles","previous_headings":"Develop > Make your changes","what":"Code Style Guidelines","title":"Contributing to SCWorkflow","text":"New code follow general guidelines outlined . - Important: Don’t restyle code unrelated PR Tools help: - Use styler package apply styles Key conventions tidyverse style guide:","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"function-organization","dir":"Articles","previous_headings":"Develop > Make your changes","what":"Function Organization","title":"Contributing to SCWorkflow","text":"Structure functions like : Functions follow template. Use roxygen2 documentation:","code":"#' @title Function Title #' @description Brief description of what the function does #' @param param1 Description of first parameter #' @param param2 Description of second parameter #' @details Additional details if needed #' @importFrom package function_name #' @export #' @return Description of what the function returns yourFunction <- function(param1, param2) { ## --------- ## ## Functions ## ## --------- ## ## --------------- ## ## Main Code Block ## ## --------------- ## output_list <- list( object = SeuratObject, plots = list( 'plotTitle1' = p1, 'plotTitle2' = p2 ), data = list( 'dataframeTitle' = df1 ) ) return(output_list) }"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"commit-push","dir":"Articles","previous_headings":"Develop","what":"Commit and Push Your Changes","title":"Contributing to SCWorkflow","text":"Best practices commits: recommend following “atomic commits” principle commit contains one new feature, fix, task. Learn : Atomic Commits Guide","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"check-status","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"1️⃣ Check Status","title":"Contributing to SCWorkflow","text":"Check current state Git working directory staging area:","code":"git status"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"stage-files","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"2️⃣ Stage Files","title":"Contributing to SCWorkflow","text":"Add files changed staging area:","code":"git add path/to/changed/files/"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"make-the-commit","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"3️⃣ Make the Commit","title":"Contributing to SCWorkflow","text":"commit message follow Conventional Commits specification. Briefly, commit start one approved types feat, fix, docs, etc. followed description commit. Take look Conventional Commits specification detailed information write commit messages.","code":"git commit -m 'feat: create function for awesome feature'"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"push-your-changes-to-github","dir":"Articles","previous_headings":"Develop > Step-by-Step Process:","what":"4️⃣ Push your changes to GitHub:","title":"Contributing to SCWorkflow","text":"first time pushing branch, may explicitly set upstream branch: recommend pushing commits often backed GitHub. can view files branch GitHub https://github.com/NIDAP-Community/SCWorkflow/tree/<-branch-name> (replace <-branch-name> actual name branch).","code":"git push git push --set-upstream origin iss-10"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"writing-tests","dir":"Articles","previous_headings":"Document and Tests","what":"Writing Tests","title":"Contributing to SCWorkflow","text":"tests matter: changes code also need unit tests demonstrate changes work intended. add tests: Use testthat create unit tests Follow organization described tidyverse test style guide Look existing code package examples","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"documentation","dir":"Articles","previous_headings":"Document and Tests","what":"Documentation","title":"Contributing to SCWorkflow","text":"update documentation: Written new function Changed API existing function Function used vignette update documentation: Use roxygen2 Markdown syntax See R Packages book detailed instructions Update relevant vignettes needed","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"check","dir":"Articles","previous_headings":"Document and Tests","what":"Check Your Work","title":"Contributing to SCWorkflow","text":"🔍 Final validation step: making changes, run following command R console make sure package still passes R CMD check: Goal: checks pass errors, warnings, notes.","code":"devtools::check()"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"create-the-pr","dir":"Articles","previous_headings":"Deploy Feature","what":"1️⃣ Create the PR","title":"Contributing to SCWorkflow","text":"branch ready, create PR GitHub: https://github.com/NIDAP-Community/SCWorkflow/pull/new/ Select branch just pushed: Edit PR title description. title briefly describe change. Follow comments template fill body PR, can delete comments (everything ) go. ’re ready, click ‘Create pull request’ open . Optionally, can mark PR draft ’re yet ready reviewed, change later ’re ready.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"wait-for-a-maintainer-to-review-your-pr","dir":"Articles","previous_headings":"Deploy Feature","what":"2️⃣ Wait for a maintainer to review your PR","title":"Contributing to SCWorkflow","text":"best follow tidyverse code review principles: https://code-review.tidyverse.org/. reviewer may suggest make changes accepting PR order improve code quality style. ’s case, continue make changes branch push GitHub, appear PR. PR approved, maintainer merge issue(s) PR links close automatically. Congratulations thank contribution!","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"after-your-pr-has-been-merged","dir":"Articles","previous_headings":"Deploy Feature","what":"3️⃣ After your PR has been merged","title":"Contributing to SCWorkflow","text":"PR merged, update local clone repo switching DEV branch pulling latest changes: ’s good idea run git pull creating new branch start recent commits main.","code":"git checkout DEV git pull"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html","id":"helpful-links-for-more-information","dir":"Articles","previous_headings":"","what":"Helpful links for more information","title":"Contributing to SCWorkflow","text":"contributing guide adapted tidyverse contributing guide GitHub Flow tidyverse style guide tidyverse code review principles reproducible examples R packages book usethis devtools testthat styler roxygen2","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/Intro.html","id":"scworkflow","dir":"Articles","previous_headings":"","what":"SCWorkflow","title":"","text":"CCBR Single-cell RNA-seq Package (SCWorkflow) allows users analyze single-cell RNA-seq datasets starting CellRanger output files (H5 mtx files, etc.).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/Intro.html","id":"installation","dir":"Articles","previous_headings":"SCWorkflow","what":"Installation","title":"","text":"can install SCWorkflow package GitHub : also Docker container available ","code":"# install.packages(\"remotes\") remotes::install_github(\"NIDAP-Community/SCWorkflow\", dependencies = TRUE)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/Intro.html","id":"usage","dir":"Articles","previous_headings":"SCWorkflow","what":"Usage","title":"","text":"Following workflow can perform steps single-cell RNA-seq analysis, : Quality Control: Import, Select, & Rename Samples Filter Cells based QC metrics Combine Samples, Cluster, Normalize Data Batch Correction using Harmony Cell Annotation: SingleR Automated Annotations Module Scores Co-Expression External Annotations Visualizations: Dimensionality Reductions (t-SNE UMAP Plots) colored Marker Expression Metadata Heatmaps Violin Plots Trajectory Differential Expression Analysis Seurat’s FindMarkers() Pseudobulk Aggregation Pathway Analysis Please see introductory vignette quick start tutorial. Take look reference documentation detailed information function package.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/README.html","id":"scworkflow","dir":"Articles","previous_headings":"","what":"SCWorkflow","title":"SCWorkflow-Intro","text":"CCBR Single-cell RNA-seq Package (SCWorkflow) allows users analyze single-cell RNA-seq datasets starting CellRanger output files (H5 mtx files, etc.).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/README.html","id":"installation","dir":"Articles","previous_headings":"SCWorkflow","what":"Installation","title":"SCWorkflow-Intro","text":"can install SCWorkflow package GitHub : also Docker container available ","code":"# install.packages(\"remotes\") remotes::install_github(\"NIDAP-Community/SCWorkflow\", dependencies = TRUE)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/README.html","id":"usage","dir":"Articles","previous_headings":"SCWorkflow","what":"Usage","title":"SCWorkflow-Intro","text":"Following workflow can perform steps single-cell RNA-seq analysis, : Quality Control: Import, Select, & Rename Samples Filter Cells based QC metrics Combine Samples, Cluster, Normalize Data Batch Correction using Harmony Cell Annotation: SingleR Automated Annotations Module Scores Co-Expression External Annotations Visualizations: Dimensionality Reductions (t-SNE UMAP Plots) colored Marker Expression Metadata Heatmaps Violin Plots Trajectory Differential Expression Analysis Seurat’s FindMarkers() Pseudobulk Aggregation Pathway Analysis Please see introductory vignette quick start tutorial. Take look reference documentation detailed information function package.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"cell-type-annotation-with-singler","dir":"Articles","previous_headings":"","what":"Cell Type Annotation with SingleR","title":"Annotations","text":"function automates cell type annotation single-cell RNA sequencing data employing SingleR [1] method, allocates labels cells within dataset according gene expression profile similarities reference dataset containing cell type labeled samples SingleR automatic annotation method single-cell RNA sequencing data uses given reference dataset samples (single-cell bulk) known labels label new cells test dataset based similarity reference. Two mouse reference datasets (MouseRNAseqData ImmGenData) two human reference datasets (HumanPrimaryCellAtlasData BlueprintEncodeData) CellDex R package [2] currently available.","code":"Anno_SO=annotateCellTypes(object=Comb_SO$object, species = \"Mouse\", reduction.type = \"umap\", legend.dot.size = 2, do.finetuning = FALSE, local.celldex = NULL, use.clusters = NULL )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"cell-annotation-with-co-expression","dir":"Articles","previous_headings":"","what":"Cell Annotation with Co-Expression","title":"Annotations","text":"function display co-expression two chosen markers Seurat Object. Create metadata column containing annotations cells correspond marker expression thresholds set. function enables users visualize association two selected genes proteins according expression values various samples. association plotted, samples values specified limit can excluded. Users ability customize visualization, including choice visualization type, point size shape, transparency level. Furthermore, tool allows application filters data, setting thresholds, providing annotations notify users cells meet established thresholds. visualization can improved omitting extreme values. tool also facilitates creation heatmap represent density distribution cells exhibit raw gene/protein expression values.","code":"grep(\"Cd4\",rownames(Anno_SO$object@assays$RNA),ignore.case = T,value=T) DLAnno_SO=dualLabeling(object = Anno_SO$object, samples <- c(\"PBS\",\"CD8dep\",\"ENT\",\"NHSIL12\",\"Combo\"), marker.1=\"Nos2\", marker.2=\"Arg1\", marker.1.type = \"SCT\", marker.2.type = \"SCT\", data.reduction = \"both\", point.size = 0.5, point.shape = 16, point.transparency = 0.5, add.marker.thresholds = TRUE, marker.1.threshold = 0.5, marker.2.threshold = 0.5, filter.data = TRUE, marker.1.filter.direction = \"greater than\", marker.2.filter.direction = \"greater than\", apply.filter.1 = TRUE, apply.filter.2 = TRUE, filter.condition = TRUE, parameter.name = \"My_CoExp\", trim.marker.1 = FALSE, trim.marker.2 = FALSE, pre.scale.trim = 0.99, display.unscaled.values = FALSE ) plot(DLAnno_SO$plots$tsne) plot(DLAnno_SO$plots$umap)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"color-by-gene-lists","dir":"Articles","previous_headings":"","what":"Color by Gene Lists","title":"Annotations","text":"function generates plots visualize expression specific markers (genes) single-cell RNA sequencing (scRNA-seq) data. Gene plots generated order appear input list (provided present data). function takes number inputs create detailed plots showing activity certain genes. can customize based specific samples genes interest point transparency. code built-system alert issues chosen inputs. particular gene missing, return empty plot. gene present, perform several steps adjust data better visualization analysis, normalizing data creating reduction plot (type plot helps visualize complex data). code also makes sure display chosen samples, creates caption plot indicating samples shown, colors points based gene activity levels, adjusts plot’s visual elements like transparency, size, labels. haven’t selected specific samples, use available samples data. also checks presence chosen genes data processes ensure uniformity across different cell types. output function detailed figure showing activity chosen genes across different cell types. useful identifying distinct groups cells based gene activity levels.","code":"Marker_Table <- read.csv(\"Marker_Table_demo.csv\") colorByMarkerTable(object=Anno_SO$object, samples.subset=c(\"PBS\",\"ENT\",\"NHSIL12\", \"Combo\",\"CD8dep\" ), samples.to.display=c(\"PBS\",\"ENT\",\"NHSIL12\", \"Combo\",\"CD8dep\" ), marker.table=Marker_Table, cells.of.interest=c(\"Neutrophils\",\"Macrophages\",\"CD8_T\" ), protein.presence = FALSE, assay = \"SCT\", reduction.type = \"umap\", point.transparency = 0.5, point.shape = 16, cite.seq = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"module-score-cell-classification","dir":"Articles","previous_headings":"","what":"Module Score Cell Classification","title":"Annotations","text":"Screens data cells based user-specified cell markers. Outputs seurat object metadata averaged marker scores annotated “Likely_CellType” column. function can used quantify expression marker sets individual cell (optionally) hierarchical manner, helping identify different cell types potential subpopulations. function aids identifying cell types based average gene expression. uses feature Seurat software known AddModuleScore function. function calculates gene expression specific sets records within designated area Seurat object. program forecasts cell identities comparing recorded scores across various gene sets. ability adjust identification process designating cutoff points bimodal distribution parameter known manual threshold. thresholds cutoff considered identification process. Inputs: program takes several inputs. include single-cell RNA sequencing (scRNA-seq) object, selection samples analysis, table gene markers different cell types, optionally, hierarchical table directing order cell classification. Data Preparation: program prepares scRNA-seq object, assigns names samples, selects data based specified samples. Module Score Calculation: program calculates module scores, measure gene set activity expression [3], cell type based provided marker table. Visualization: Density distribution plots colored reduction plots generated help visualize module scores, relationship cell types, sample identities. Thresholding: Users can select threshold values aid classification cells. Cells scores designated threshold labeled “unknown”. Subclass Identification: desired, program can identify subclasses within cell types analyzing subpopulations. Updating Cell Type Labels: program appends “Likely_CellType” column metadata scRNA-seq object, based results module score analysis. Output: updated scRNA-seq object new cell type labels.","code":"MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, use.columns = c(\"Neutrophils\",\"Macrophages\",\"CD8_T\" ), ms.threshold=c(\"Neutrophils .25\",\"Macrophages .40\",\"CD8_T .14\"), general.class=c(\"Neutrophils\",\"Macrophages\",\"CD8_T\"), multi.lvl = FALSE, reduction = \"umap\", nbins = 10, gradient.ft.size = 6, violin.ft.size = 6, step.size = 0.1 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"rename-clusters-by-cell-type","dir":"Articles","previous_headings":"","what":"Rename Clusters by Cell Type","title":"Annotations","text":"function creates dot plot Cell Types Renamed Clusters outputs Seurat Object new metadata column containing New Cluster Names. Cell Types often determined looking Module Score Cell Classification calls made upstream Module Score Cell Classification (see MS_Celltype metadata column). must provide table column containing unique Cluster IDs upstream clustering analysis (e.g. one SCT_snn_res_* columns input Seurat Object metadata) column containing corresponding New Cluster Names chosen. dot plot display unique Cell Types x-axis Renamed Clusters y-axis. size dots show percentage cells row (Renamed Cluster) classified Cell Type. comparison dot sizes within row may provide insights cluster’s primary Cell Type. new metadata column named “Clusternames” added output Seurat Object contains New Cluster Names. Methodology function creates dot plot visualization cell types metadata category (usually cluster number) given dataset implemented SCWorkflow package. function allows update organize biological data cell clusters Seurat object. changing input labels, can map custom names existing cluster IDs add names new metadata column. also generates dot plot using Seurat’s Dotplot function [4], providing visual representation percentage various cell types within cluster. Typically, cluster can distinctively named predominant cell type seen dotplot. plot’s order can customized clusters cell types. specific order provided, function uses default order. optional parameter allows user make plot interactive. function returns updated Seurat object plot.","code":"clstrTable <- read.table(file = \"./images/Cluster_Names.txt\", sep = '\\t',header = T) RNC_object=nameClusters(object=Anno_SO$object, cluster.identities.table=clstrTable, cluster.numbers= 'OriginalClusterIDs', cluster.names='NewClusterNames', cluster.column =\"SCT_snn_res.0.2\", labels.column = \"mouseRNAseq_main\", order.clusters.by = NULL, order.celltypes.by = NULL, interactive = FALSE ) # DimPlot(MS_object, group.by = \"SCT_snn_res.0.2\", label = T, reduction = 'umap') # DimPlot(MS_object, group.by = \"mouseRNAseq_main\", label = T, reduction = 'umap') ggsave(RNC_object$plots, filename = \"./images/RNC.png\", width = 9, height = 6)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html","id":"dot-plot-of-genes-by-metadata","dir":"Articles","previous_headings":"","what":"Dot Plot of Genes by Metadata","title":"Annotations","text":"function creates dot plot average gene expression values set genes cell subpopulations defined metadata annotation columns. input table contains single column genes (“Genes column”) single column category (“Category labels plot” column). values “Category labels plot” column match values provided metadata function (Metadata Category Plot). plot order genes (x-axis, left right) Categories (y-axis, top bottom) order appears input table. category entries omitted plotted. Dotplot size reflect percentage cells expressing gene color reflect average expression gene. table showing values plot (either percentage cells expressing gene, average expression scaled) returned, selected user. Methodology function creates dot plot visualization gene expression metadata given dataset. uses Seurat package create plots. size dot represents percentage cells expressing particular gene (frequency), color dot indicates average gene expression level. function ensures unique valid genes categories used. categories genes found dataset, appropriate warnings issued. plot drawn option reverse x y-axes reverse order metadata categories. colors can also customized. addition plot, function provides tabular format dot plot data, can useful analysis reporting. choice returning either tables representing percent cells expressing gene average expression level genes. function can useful exploratory data analysis visualizing differences gene expression across different conditions groups cells. Aran, D., . P. Looney, L. Liu, E. Wu, V. Fong, . Hsu, S. Chak, et al. 2019. “Reference-based analysis lung single-cell sequencing reveals transitional profibrotic macrophage.” Nat. Immunol. 20 (2): 163–72. http://bioconductor.org/packages/release/data/experiment/html/celldex.html https://satijalab.org/seurat/reference/addmodulescore Hao Y et al. Integrated analysis multimodal single-cell data. Cell. 2021 Jun 24;184(13):3573-3587.e29. doi: 10.1016/j.cell.2021.04.048. Epub 2021 May 31. PMID: 34062119; PMCID: PMC8238499.","code":"FigOut=dotPlotMet(object=Anno_SO$object, metadata=\"orig.ident\", cells=c(\"PBS\",\"ENT\",\"NHSIL12\", \"Combo\",\"CD8dep\" ), markers=Marker_Table$Macrophages, plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = \"darkblue\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html","id":"de-with-find-markers","dir":"Articles","previous_headings":"","what":"DE with Find Markers","title":"Differential Expression Analysis","text":"function performs DE (differential expression) analysis merged Seurat object identify expression markers different groups cells (contrasts). analysis uses FindMarkers() function Seurat Workflow. Methodology Differential expression analysis (DEG) fundamental technique single-cell genomics research. goal DEG analysis identify genes exhibit significant changes expression levels different groups cells conditions, thereby uncovering potential markers distinguish groups. function takes merged Seurat object [1] input, expected contain single-cell data multiple samples, along relevant metadata SingleR annotations, provide information cell identity. perform DEG analysis, user can choose various statistical algorithms, MAST [2], wilcox [3], bimod [4], , accommodate different types experimental designs assumptions data. user can control sensitivity analysis setting minimum fold-change gene expression groups considered significant. Additionally, users can specify assay used analysis, whether scaled data (SCT) raw RNA counts. best results, recommended use function well-curated preprocessed single-cell data, ensuring Seurat object contains relevant metadata SingleR annotations. Users carefully select samples contrasts based experimental design research questions. Additionally, exploring different statistical algorithms adjusting threshold can fine-tune DEG analysis reveal accurate gene expression markers. https://satijalab.org/seurat/ https://rglab.github.io/MAST/ Dalgaard, Peter (2008). Introductory Statistics R. Springer Science & Business Media. pp. 99–100 https://en.wikipedia.org/wiki/Multimodal_distribution","code":"DEG_table=degGeneExpressionMarkers(object = Anno_SO$object, samples = c(\"PBS\", \"ENT\", \"NHSIL12\", \"Combo\", \"CD8dep\" ), contrasts = c(\"0-1\"), parameter.to.test = \"SCT_snn_res_0_2\", test.to.use = \"MAST\", log.fc.threshold = 0.25, assay.to.use = \"SCT\", use.spark = F )"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html","id":"aggregate-seurat-counts","dir":"Articles","previous_headings":"Pseudo Bulk Method","what":"Aggregate Seurat Counts","title":"Differential Expression Analysis","text":"function first step Pseudobulk analysis scRNA-seq dataset. groups cells based chosen categorical variable(s) Seurat Object’s Metadata aggregates counts gene group. output table aggregate expression rows genes columns values found chosen Pseudobulk variable. select multiple categories aggregate (e.g. Category1: ,B,C Category2: D,E,F), cells grouped combinations category variables (e.g. A_D, A_E, A_F, B_D, B_E, B_F). default, gene counts averaged across cells group.","code":"AggOut=aggregateCounts(object=Anno_SO$object, var.group=c( \"orig.ident\"), slot=\"data\")"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html","id":"process-input-data","dir":"Articles","previous_headings":"","what":"Process Input Data","title":"Import Data and Quality Control","text":"package designed work general Seurat Workflow. begin using SCWorkflow tools process h5 files generated Cell Ranger software 10x genomics platform create list Seurat Objects[1] corresponding h5 file. Seurat Object basic data structure Seurat Single Cell analysis tool supports standard scRNAseq, CITE-Seq, TCR-Seq assays. Samples prepared cell hashing protocol (HTOs) can also processed produce Seurat Object split corresponding experimental design strategy. h5 files containing multiple samples can also processed create Seurat objects split based values orig.ident column. corresponding Metadata table can used add sample level information Seurat object. table format Sample names first Column sample metadata additional columns. Metadata table can also used rename samples including alternative sample name Column metadata table. Samples can also excluded final Seurat object using REGEX strategy identify samples included/excluded. explain based newnames final Seurat Object contain assay slot log2 normalized counts. QC figures individual samples also produced help evaluate samples quality.","code":"SampleMetadataTable <- read.table(file = \"./images/Sample_Metadata.txt\", sep = '\\t',header = T) files=list.files(path=\"../tests/testthat/fixtures/Chariou/h5files\",full.names = T) SOlist=processRawData(input=files, sample.metadata.table=SampleMetadataTable, sample.name.column=\"Sample_Name\", organism=\"Mouse\", rename.col=\"Rename\", keep=T, file.filter.regex=c(), split.h5=F, cell.hash=F, tcr.summarize.topN=10, do.normalize.data=T )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html","id":"filter-low-quality-cells","dir":"Articles","previous_headings":"","what":"Filter Low Quality Cells","title":"Import Data and Quality Control","text":"function filter genes cells based multiple metrics available Seurat Object metadata slot. detailed guide single cell quality filtering can found Xi Li, 2021 [2]. First, genes can filtered setting minimum number cells needed keep gene removing VDJ Add descriptiopn VDJ genes. Next, cells can filtered setting thresholds individual metric. Cells meet designated criteria removed final filtered Seurat Object . Filter limits can set using absolute values median absolute deviations (MADs) criteria. absolute MAD values set single filter, least extreme value (.e. lowest value upper limits highest value lower limits) selected. filter values used metric printed log output. filters default values can turned setting limits NA. individual filtering criteria used tool listed . total number molecules detected within cell (nCount_RNA) number genes detected cell (nFeature_RNA) complexity genes ( log10(nFeature_RNA)/log10(nCount_RNA) Percent mitochondrial Genes Percent counts top 20 Genes Doublets calculated scDblFinder (using package default parameters) [3] function return filtered Seurat Object various figures showing metrics filtering. figures can used help evaluate effects filtering criteria whether filtering limits need adjusted.","code":"SO_filtered=filterQC(object=SOlist$object, ## Filter Genes min.cells = 20, filter.vdj.genes=FALSE, ## Filter Cells nfeature.limits=c(NA,NA), mad.nfeature.limits=c(5,5), ncounts.limits=c(NA,NA), mad.ncounts.limits=c(5,5), mitoch.limits = c(NA,25), mad.mitoch.limits = c(NA,3), complexity.limits = c(NA,NA), mad.complexity.limits = c(5,NA), topNgenes.limits = c(NA,NA), mad.topNgenes.limits = c(5,5), n.topgenes=20, do.doublets.filter=TRUE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html","id":"combine-normalize-and-cluster-data","dir":"Articles","previous_headings":"","what":"Combine, Normalize, and Cluster Data","title":"Import Data and Quality Control","text":"functions combines multiple sample level Seurat Objects single Seurat Object normalizes combined dataset. multi-dimensionality data summarized set “principal components” visualized UMAP tSNE projections. graph-based clustering approach identify cell clusters data. Hao Y et al. Integrated analysis multimodal single-cell data. Cell. 2021 Jun 24;184(13):3573-3587.e29. doi: 10.1016/j.cell.2021.04.048. Epub 2021 May 31. PMID: 34062119; PMCID: PMC8238499. Heumos, L., Schaar, .C., Lance, C. et al. Best practices single-cell analysis across modalities. Nat Rev Genet (2023). https://doi.org/10.1038/s41576-023-00586-w Germain P, Lun , Macnair W, Robinson M (2021). “Doublet identification single-cell sequencing data using scDblFinder.” f1000research. doi:10.12688/f1000research.73600.1.","code":"Comb_SO=combineNormalize( object=SO_filtered$object, # Nomralization variables npcs = 21, SCT.level=\"Merged\", vars.to.regress = c(\"percent.mt\"), # FindVariableFeatures nfeatures = 2000, low.cut = 0.1, high.cut = 8, low.cut.disp = 1, high.cut.disp = 100000, selection.method = \"vst\", # Dim Reduction only.var.genes = FALSE, draw.umap = TRUE, draw.tsne = TRUE, seed.for.pca = 42, seed.for.tsne = 1, seed.for.umap = 42, # Clustering Varables clust.res.low = 0.2, clust.res.high = 1.2, clust.res.bin = 0.2, # Select PCs methods.pca = NULL, var.threshold = 0.1, pca.reg.plot = FALSE, jackstraw = FALSE, jackstraw.dims=5, # Other exclude.sample = NULL, cell.count.limit= 35000, reduce.so = FALSE, project.name = \"scRNAProject\", cell.hashing.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-SubsetReclust.html","id":"subset-seurat-object","dir":"Articles","previous_headings":"","what":"Subset Seurat Object","title":"Subset and Recluster","text":"function subsets Seurat object. Select metadata column values matching cells pass forward analysis.","code":"filter_SO=filterSeuratObjectByMetadata( object = Anno_SO$object, samples.to.include = c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\"), sample.name = \"orig.ident\", category.to.filter = \"immgen_main\", values.to.filter = c(\"Monocytes\",\"Macrophages\",\"DC\"), keep.or.remove = FALSE, greater.less.than = \"greater than\", colors = c( \"aquamarine3\", \"salmon1\", \"lightskyblue3\"), seed = 10, cut.off = 0.5, legend.position = \"right\", reduction = \"umap\", plot.as.interactive.plot = FALSE, legend.symbol.size = 2, dot.size = 0.1, number.of.legend.columns = 1, dot.size.highlighted.cells = 0.5, use.cite.seq.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-SubsetReclust.html","id":"recluster-seurat-object","dir":"Articles","previous_headings":"","what":"Recluster Seurat Object","title":"Subset and Recluster","text":"function provides mechanism re-clustering filtered Seurat object, common task single-cell RNA sequencing analysis. function provides options choose number principal components, range clustering resolution, type dimensionality reduction, several parameters. function finds variable features performs Principal Component Analysis (PCA). Next, dimensionality reduction performed using UMAP t-SNE based PCA, followed identification nearest neighbors. performs clustering different resolutions within provided range, creating new clustering columns Seurat object. also retains old clustering information, plots clusters resolution returns list containing re-clustered Seurat object grid clustering plots. function can helpful experimenting different clustering parameters especially filtering visually inspect results. Methodology function uses methods Seurat package [1]. Seurat uses graph-based clustering method inspired previous strategies, particularly Macosko et al [3]. uses methods like SNN-Cliq PhenoGraph [4.5], represent cells graph structure based similarities feature expression patterns. aim divide graph highly connected communities clusters. process begins building K-nearest neighbor (KNN) graph using Euclidean distance PCA space. algorithm refines edge weights cells according local neighborhood overlap, calculated using Jaccard similarity measure. performed using predefined dimensions dataset, first 10 Principal Components (PCs). cluster cells, Seurat uses modularity optimization techniques like Louvain [4] algorithm SLM [5]. ‘resolution’ parameter can adjusted control granularity downstream clustering; higher resolution results clusters. single-cell datasets approximately 3K cells, recommended range parameter 0.4 1.2, larger datasets typically require higher resolution. Seurat Clustering method https://satijalab.org/seurat/articles/pbmc3k_tutorial.html Macosko EZ, Basu , Satija R, Nemesh J, Shekhar K, Goldman M, Tirosh , Bialas AR, Kamitaki N, Martersteck EM, Trombetta JJ, Weitz DA, Sanes JR, Shalek AK, Regev , McCarroll SA. Highly Parallel Genome-wide Expression Profiling Individual Cells Using Nanoliter Droplets. Cell. 2015 May 21;161(5):1202-1214. Xu, Chen, Zhengchang Su. Identification cell types single-cell transcriptomes using novel clustering method. Bioinformatics 31.12 (2015): 1974-1980. Levine, Jacob H., et al. Data-driven phenotypic dissection AML reveals progenitor-like cells correlate prognosis. Cell 162.1 (2015): 184-197. Blondel, Vincent D., et al. Fast unfolding communities large networks.”Journal statistical mechanics: theory experiment 2008.10 (2008): P10008. Waltman, Ludo, Nees Jan Van Eck. smart local moving algorithm large-scale modularity-based community detection. European physical journal B 86 (2013): 1-14","code":"reClust_SO=reclusterSeuratObject( object = filter_SO$object, prepend.txt = \"old\", old.columns.to.save=c(\"orig_ident\",\"Sample_Name\",\"nCount_RNA\",\"nFeature_RNA\",\"percent_mt\", \"log10GenesPerUMI\",\"S_Score\",\"G2M_Score\",\"Phase\",\"CC_Difference\",\"Treatment\", \"pct_counts_in_top_N_genes\",\"Doublet\",\"nCount_SCT\",\"nFeature_SCT\", \"mouseRNAseq_main\",\"mouseRNAseq\",\"immgen_main\",\"immgen\" ), number.of.pcs = 50, cluster.resolution.low.range = 0.2, cluster.resolution.high.range = 1.2, cluster.resolution.range.bins = 0.2, reduction.type = \"umap\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"use-scworkflow-container","dir":"Articles","previous_headings":"","what":"Use SCWorkflow Container","title":"Getting Started","text":"SCWorkflow docker container available Biowulf can used RStudio organize rune SCWorkflow package. need 2 shells (terminals) set RStudio Biowulf.","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"log-in-to-biowulf","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"1. Log in to Biowulf","title":"Getting Started","text":"Open terminal login biowulf call interactive session","code":"ssh username@helix.nih.gov sinteractive --tunnel --time=12:00:00 --mem=50g --cpus-per-task=16 --gres=lscratch:50"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"get-the-port-number-for-termal-2","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"2. Get the PORT number for termal 2","title":"Getting Started","text":"","code":"echo $PORT1 example port is 46137"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"load-the-container","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"3. Load the Container","title":"Getting Started","text":"single cell container emulate environments NIDAP","code":"source /data/CCBR/NIDAP/container_singlecell.sh"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"connect-your-local-shell-to-the-rstudio-server-on-biowulf-using-ssh-tunneling-","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"4. Connect your local shell to the RStudio server on Biowulf using SSH tunneling.","title":"Getting Started","text":"Use $PORT number terminal 1 (step 2).","code":"ssh -N -L $PORT:localhost:$PORT yourusername@biowulf.nih.gov login with nih password"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"open-rstudio-in-your-local-web-browser","dir":"Articles","previous_headings":"Use SCWorkflow Container","what":"5. Open RStudio in your local web browser","title":"Getting Started","text":"Open web browser go : Use $PORT number terminal 1 (step 2) open Rstudio browser connected biowulf container opened step 3.","code":"localhost:$PORT"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"log-into-helix","dir":"Articles","previous_headings":"Copy Files from Rstuido server to Helix","what":"1. Log into Helix","title":"Getting Started","text":"","code":"ssh username@helix.nih.gov"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"connect-to-rstuido-server-to-copy-files-to-biowulf","dir":"Articles","previous_headings":"Copy Files from Rstuido server to Helix","what":"3. connect to Rstuido Server to copy files to Biowulf","title":"Getting Started","text":"","code":"sftp username@ nciws-d2335-v.nci.nih.gov"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"copy-files-to-biowulf","dir":"Articles","previous_headings":"Copy Files from Rstuido server to Helix","what":"4. copy files to biowulf","title":"Getting Started","text":"Examples: files: Rscipts:","code":"mget -r * mget -r *R"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Usage.html","id":"install-package","dir":"Articles","previous_headings":"","what":"Install Package","title":"Getting Started","text":"general use SCWorkflow can installed Rlibrary","code":"# install.packages(\"remotes\") # remotes::install_github(\"NIDAP-Community/SCWorkflow\", dependencies = TRUE) library(SCWorkflow)"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"color-by-metadata","dir":"Articles","previous_headings":"","what":"Color by Metadata","title":"Visualizations","text":"Use Function color dimensionality reduction (TSNE & UMAP) different columns Metadata Table. can select one columns Metadata Table, column selected, function produce plot (t-SNE & UMAP) using data column color cells. function visualizes plot based selected metadata. Users can customize want visualize data, including type visualization used, size shape points, level transparency.","code":"FigOut=plotMetadata( object=Anno_SO$object, samples.to.include=c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\" ), metadata.to.plot=c(\"SCT_snn_res.0.4\",\"Phase\"), columns.to.summarize=NULL, summarization.cut.off = 5, reduction.type = \"umap\", use.cite.seq = FALSE, show.labels = FALSE, legend.text.size = 1, legend.position = \"right\", dot.size = 0.01 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"plot-3d-dimensionality-reduction","dir":"Articles","previous_headings":"","what":"Plot 3D Dimensionality Reduction","title":"Visualizations","text":"Function creates 3D interactive UMAP t-SNE plot. plot saved output folder HTML file can downloaded. function designed generate 3D t-SNE visualization based given Seurat Object. output includes interactive plot dataframe containing t-SNE coordinates. function accepts several parameters, Seurat Object, metadata column color, metadata column labeling, dot size plot, legend display option, colors color variable, filename saving plot, number principal components t-SNE calculations, option save plot widget HTML file. Initially, function executes t-SNE Seurat Object obtain 3D coordinates. Subsequently, constructs dataframe Plotly visualization, incorporating t-SNE coordinates, color variable, label variable. function generates 3D scatter plot using t-SNE coordinates. Finally, function saves plot embedded Plotly image HTML file. Methodology t-Distributed Stochastic Neighbor Embedding (t-SNE) sophisticated dimensionality reduction technique frequently employed visualization high-dimensional data [1]. effectively displays relationships individual cells based gene expression profiles. compute t-SNE, algorithm constructs probability distribution representing similarities data points high-dimensional space. Subsequently, generates lower-dimensional representation, typically two three dimensions, wherein distances data points reflect similarities high-dimensional space. algorithm employs iterative process adjust positions cells lower-dimensional space, aiming minimize discrepancies original high-dimensional similarities lower-dimensional space. approach enables algorithm capture global local structures within data, effectively revealing clusters groups similar cells.","code":"FigOut=tSNE3D( object=Anno_SO$object, color.variable=\"SCT_snn_res.0.4\", label.variable=\"SCT_snn_res.0.4\", dot.size = 4, legend = TRUE, colors = c(\"darkblue\",\"purple4\",\"green\",\"red\",\"darkcyan\", \"magenta2\",\"orange\",\"yellow\",\"black\"), filename = \"plot.html\", save.plot = FALSE, npcs = 15 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"color-by-genes","dir":"Articles","previous_headings":"","what":"Color by Genes","title":"Visualizations","text":"function visualizes gene expression intensities provided Genes across cells. gene found dataset, Log report . Otherwise, see one plot (TSNE UMAP, choice) per gene name provided. intensity red color relative expression gene cell. Final Potomac Compatible Version: v98. Sugarloaf V1: v103. [View Methodology function visualizes expression values chosen gene protein different samples. Users can customize want visualize data, including type visualization used, size shape points, level transparency.","code":"FigOut=colorByGene( object=Anno_SO$object, samples.to.include=c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\" ), gene=\"Itgam\", reduction.type = \"umap\", number.of.rows = 0, return.seurat.object = FALSE, color = \"red\", point.size = 1, point.shape = 16, point.transparency = 0.5, use.cite.seq.data = FALSE, assay = \"SCT\")"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"violin-plot-from-seurat-object","dir":"Articles","previous_headings":"","what":"Violin Plot from Seurat Object","title":"Visualizations","text":"Function allows generation customized violin plots visualize transcriptional changes interactions single-cell RNA-seq data, providing insights cellular heterogeneity dynamics within dataset. Methodology Function organizes data based specific groups choose Seurat Object metadata. gathers information activity levels specific genes ’re interested . can, wish, change names order groups based column specify data. feature lets tailor analysis closely needs. code also function removes odd data points might distort results, adjusts data make easier visualize jittered points overlaying boxplot displaying quantile information. , code creates violin plots, allows see activity levels genes vary within group [2]. graph customizable, letting set various options limit values vertical axis, displaying individual data points, converting scales logarithmic, showing boxplots. can choose plot looks - whether ’s laid like grid, rows, customized labels.","code":"FigOut=violinPlot( object=Anno_SO$object, assay=\"SCT\", layer=\"scale.data\", genes=c(\"Itgam\",\"Cd38\"), group=\"SCT_snn_res.0.4\", facet.by = \"\", filter.outliers = F, outlier.low = 0.05, outlier.high = 0.95, jitter.points = TRUE, jitter.dot.size = 1 )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"heatmap","dir":"Articles","previous_headings":"","what":"Heatmap","title":"Visualizations","text":"Function provides comprehensive method visualizing single cell transcript /protein expression data form heatmap. data obtained Seurat object, user can specify set genes analysis. Function allows optional ordering metadata (categorical) gene/protein expression levels. Visualization customization options include color choices heatmap, addition gene protein annotations, optional arrangement metadata. Key features include: - Options adding gene protein annotations, metadata arrangement, specifying row column names. - Customizable visualization settings including font sizes rows, columns, legend, row height, heatmap colors. - Ability trim outlier data, perform z-scaling rows, set row order. Function returns heatmap plot along underlying data used generate . also allows user set seed color generation specify outlier data parameters. function particularly useful exploratory data analysis preliminary data visualization single cell studies. Methodology method, two hierarchical clustering processes performed: one rows one columns dataset unless ordered annotations. Hierarchical clustering method cluster analysis aims build hierarchy clusters. result tree-like diagram called dendrogram, similar data points (e.g., genes samples) joined together clusters “branches”, based mathematical measure similarity Euclidean Manhattan distance. heatmap produced package called ComplexHeatmap [3] presents data matrix rows represent individual genes (proteins, metabolites, etc.) columns represent different samples (e.g., tissue samples, cells, experimental conditions). color position grid corresponds expression level gene particular sample, one color representing upregulation (higher expression), another representing downregulation (lower expression), usually neutral color representing change. allows easy visual interpretation patterns correlations data.","code":"FigOut=heatmapSC( object=Anno_SO$object, sample.names=c(\"PBS\",\"ENT\",\"NHSIL12\",\"Combo\",\"CD8dep\" ), metadata=\"SCT_snn_res.0.4\", transcripts=c(\"Cd163\",\"Cd38\",\"Itgam\",\"Cd4\",\"Cd8a\",\"Pdcd1\",\"Ctla4\"), use.assay = \"SCT\", proteins = NULL, heatmap.color = \"Bu Yl Rd\", plot.title = \"Heatmap\", add.gene.or.protein = FALSE, protein.annotations = NULL, rna.annotations = NULL, arrange.by.metadata = TRUE, add.row.names = TRUE, add.column.names = FALSE, row.font = 5, col.font = 5, legend.font = 5, row.height = 15, set.seed = 6, scale.data = TRUE, trim.outliers = TRUE, trim.outliers.percentage = 0.01, order.heatmap.rows = FALSE, row.order = c() )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"dot-plot-of-genes-by-metadata","dir":"Articles","previous_headings":"","what":"Dot Plot of Genes by Metadata","title":"Visualizations","text":"function creates dot plot average gene expression values set genes cell subpopulations defined metadata annotation columns. input table contains single column genes (“Genes column”) single column category (“Category labels plot” column). values “Category labels plot” column match values provided metadata function (Metadata Category Plot). plot order genes (x-axis, left right) Categories (y-axis, top bottom) order appears input table. category entries omitted plotted. Dotplot size reflect percentage cells expressing gene color reflect average expression gene. table showing values plot (either percentage cells expressing gene, average expression scaled) returned, selected user. Methodology function creates dot plot visualization gene expression metadata given dataset. uses Seurat package create plots. size dot represents percentage cells expressing particular gene (frequency), color dot indicates average gene expression level. function ensures unique valid genes categories used. categories genes found dataset, appropriate warnings issued. plot drawn option reverse x y-axes reverse order metadata categories. colors can also customized. addition plot, function provides tabular format dot plot data, can useful analysis reporting. choice returning either tables representing percent cells expressing gene average expression level genes. function can useful exploratory data analysis visualizing differences gene expression across different conditions groups cells. Seurat package Dotplot Documentation https://satijalab.org/seurat/reference/dotplot","code":"FigOut=dotPlotMet( object=Anno_SO$object, metadata=\"SCT_snn_res.0.4\", cells=unique(Anno_SO$object$SCT_snn_res.0.4), markers=c(\"Itgam\",\"Cd163\",\"Cd38\",\"Cd4\",\"Cd8a\",\"Pdcd1\",\"Ctla4\"), plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = \"darkblue\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Visualizations.html","id":"compare-cell-populations","dir":"Articles","previous_headings":"","what":"Compare Cell Populations","title":"Visualizations","text":"function compares cell population composition across experimental groups (example sample, treatment, timepoints, donor cohorts) using metadata already stored Seurat object. useful clustering annotation, want quantify specific cell populations shift conditions. function supports Frequency (percent) Counts (absolute cell numbers) modes. biological comparisons unequal total cell recovery across samples, frequency mode preferred interpretation. Counts mode can useful QC yield-focused assessments. Methodology method first aggregates metadata annotation group compute percentages counts. links summaries sample-level metadata generates composition-focused barplot sample-level variability. Together, plots help distinguish overall compositional shifts replicate-level dispersion. Seurat Documentation t-SNE Analysis https://satijalab.org/seurat/reference/runtsne https://ggplot2.tidyverse.org/reference/ Complex Heatmap Reference Book https://jokergoo.github.io/ComplexHeatmap-reference/book/","code":"FigOut=compareCellPopulations( object=Anno_SO$object, annotation.column=\"immgen_main\", group.column=\"Treatment\", sample.column = \"orig.ident\", counts.type = \"Frequency\", group.order = NULL, wrap.ncols = 5 )"},{"path":"https://nidap-community.github.io/SCWorkflow/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Maggie Cam. Author. Thomas Meyer. Author, maintainer. Jing Bian. Author. Alexandra Michalowski. Author. Alexei Lobanov. Author. Philip Homan. Author. Rui . Author.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Cam M, Meyer T, Bian J, Michalowski , Lobanov , Homan P, R (2026). SCWorkflow: SCWorkflow NIDAP. R package version 1.0.2.","code":"@Manual{, title = {SCWorkflow: SCWorkflow from NIDAP}, author = {Maggie Cam and Thomas Meyer and Jing Bian and Alexandra Michalowski and Alexei Lobanov and Philip Homan and Rui He}, year = {2026}, note = {R package version 1.0.2}, }"},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"project-overview","dir":"","previous_headings":"","what":"Project Overview","title":"SCWorkflow AI Coding Instructions","text":"SCWorkflow R package single-cell RNA-seq analysis built Seurat framework. ’s designed analyzing multimodal 10x Genomics data, support CITE-Seq, cell hashing, TCR-seq data. package deployed R package Docker container use NIDAP (Palantir Foundry) Biowulf HPC environments.","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"sequential-workflow-pattern","dir":"","previous_headings":"Core Architecture","what":"Sequential Workflow Pattern","title":"SCWorkflow AI Coding Instructions","text":"Functions follow numbered workflow sequence: 1. processRawData() - Process H5 files Seurat objects 2. filterQC() - Quality control filtering 3. combineNormalize() - Merge samples, normalize, dimension reduction 4. Harmony integration (optional) - Batch correction 5. annotateCellTypes() - Automatic cell type annotation via SingleR 6. Analysis functions - DEG, visualization, clustering","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"seurat-object-as-central-data-structure","dir":"","previous_headings":"Core Architecture","what":"Seurat Object as Central Data Structure","title":"SCWorkflow AI Coding Instructions","text":"functions expect/return Seurat objects primary data containers Functions often modify objects -place return modified versions Metadata heavily used sample tracking analysis parameters Multiple assays supported: RNA, SCT (SCTransform), ADT (CITE-seq), etc.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"function-design-patterns","dir":"","previous_headings":"Core Architecture","what":"Function Design Patterns","title":"SCWorkflow AI Coding Instructions","text":"Comprehensive parameter lists: functions 15-30+ parameters sensible defaults Conditional workflows: Functions check input types (H5 vs Seurat) adapt behavior Multi-sample handling: Functions can process lists Seurat objects file paths Plotting integration: analysis functions return data visualization outputs","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"file-organization","dir":"","previous_headings":"Key Conventions","what":"File Organization","title":"SCWorkflow AI Coding Instructions","text":"R/ contains one function per file, named descriptively (e.g., Process_Raw_Data.R) Function names use camelCase: processRawData(), annotateCellTypes() File names use Snake_Case capitalization: Process_Raw_Data.R","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"parameter-naming-patterns","dir":"","previous_headings":"Key Conventions","what":"Parameter Naming Patterns","title":"SCWorkflow AI Coding Instructions","text":"object - Primary Seurat object input samples..include - Character vector sample subsetting reduction.type - Visualization method (“umap”, “tsne”, “pca”) organism - Species specification (“Human” “Mouse”) Boolean parameters use . separator: .normalize.data, draw.umap","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"documentation-standards","dir":"","previous_headings":"Key Conventions","what":"Documentation Standards","title":"SCWorkflow AI Coding Instructions","text":"Extensive roxygen2 documentation @details sections explaining workflow step numbers @importFrom statements specific function imports @export user-facing functions Parameter descriptions include defaults valid options","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"output-standards","dir":"","previous_headings":"","what":"Output standards","title":"SCWorkflow AI Coding Instructions","text":"Generate R CMD check friendly code. Use roxygen2 exported functions. Add utils::globalVariables() NSE variables. Prefer explicit namespaces (dplyr::, ggplot2::). Avoid side effects tests.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"template-conventions","dir":"","previous_headings":"Output standards","what":"Template conventions","title":"SCWorkflow AI Coding Instructions","text":"JSON templates live inst/extdata/NIDAPjson/. JSON source--truth arguments, defaults, behavior. orderedMustacheKeys defines argument order.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"testing-structure","dir":"","previous_headings":"Output standards","what":"Testing Structure","title":"SCWorkflow AI Coding Instructions","text":"Comprehensive tests/testthat/ unit tests integration tests fixtures/ directory contains real Seurat objects testing Helper functions helper-*.R files test setup Tests follow naming convention: test-Function_Name.R","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"deliverables","dir":"","previous_headings":"Output standards","what":"Deliverables","title":"SCWorkflow AI Coding Instructions","text":"Update CHANGELOG.md, decision_log.md, docs/session_notes.md. Add testthat tests generated function.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"docker-development","dir":"","previous_headings":"Output standards","what":"Docker Development","title":"SCWorkflow AI Coding Instructions","text":"Base image: nciccbr/ccbr_ubuntu_22.04:v4 Conda-based R environment (R 4.3.2) Multi-stage build supporting development production Container designed HPC environments (Biowulf) cloud platforms (NIDAP)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"cicd-integration","dir":"","previous_headings":"Output standards","what":"CI/CD Integration","title":"SCWorkflow AI Coding Instructions","text":"GitFlow-based R package workflow via gitflow-R-action.yml Automatic NIDAP deployment successful builds pkgdown documentation generation Docker image building deployment","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"bioconductorseurat-ecosystem","dir":"","previous_headings":"Critical Dependencies and Integration Points","what":"Bioconductor/Seurat Ecosystem","title":"SCWorkflow AI Coding Instructions","text":"Seurat 4.1.1+: Core framework single-cell analysis SingleR: Automated cell type annotation MAST/limma/edgeR: Differential expression analysis Harmony: Batch effect correction integration","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"external-api-integration","dir":"","previous_headings":"Critical Dependencies and Integration Points","what":"External API Integration","title":"SCWorkflow AI Coding Instructions","text":"palantir_api_call.R: Custom integration Palantir Foundry APIs Designed NIDAP cloud environment deployment Handles authentication data transfer patterns specific NIH infrastructure","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"memory-management-patterns","dir":"","previous_headings":"Critical Dependencies and Integration Points","what":"Memory Management Patterns","title":"SCWorkflow AI Coding Instructions","text":"cell.count.limit parameters (default: 35000) trigger memory conservation .var.genes option reduces memory footprint large datasets SCTransform normalization levels: sample-wise vs merged strategies","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"data-type-handling","dir":"","previous_headings":"Common Debugging Areas","what":"Data Type Handling","title":"SCWorkflow AI Coding Instructions","text":"Functions check H5 vs Seurat object inputs: (input, \"Seurat\") Cell filtering can drastically reduce object sizes - verify cell counts Assay availability: functions may require specific assays (RNA, SCT, ADT)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"visualization-rendering","dir":"","previous_headings":"Common Debugging Areas","what":"Visualization Rendering","title":"SCWorkflow AI Coding Instructions","text":"Plot functions return Seurat objects plot objects reduction.type must match available reductions object Color palettes automatically generated can overridden","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"environment-specific-issues","dir":"","previous_headings":"Common Debugging Areas","what":"Environment-Specific Issues","title":"SCWorkflow AI Coding Instructions","text":"Package designed local R containerized environments File path handling differs NIDAP, Biowulf, local development functions environment-specific conditional logic","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/copilot-instructions.html","id":"quick-start-for-ai-agents","dir":"","previous_headings":"","what":"Quick Start for AI Agents","title":"SCWorkflow AI Coding Instructions","text":"working codebase: 1. Always check input Seurat object: class(object) 2. Verify required reductions exist: object@reductions 3. Check available assays: names(object@assays) 4. Use str(object@meta.data) understand metadata structure 5. Test functions start small datasets tests/testthat/fixtures/","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/decision_log.html","id":null,"dir":"","previous_headings":"","what":"Decision Log","title":"Decision Log","text":"document tracks major design decisions SCWorkflow package.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/decision_log.html","id":"id_2026-02-17-comparecellpopulations-function","dir":"","previous_headings":"","what":"2026-02-17: compareCellPopulations() Function","title":"Decision Log","text":"Context: Need visualizing cell population distributions across experimental groups (treatments, timepoints, conditions). Decision: Implemented dual visualization approach alluvial flow plots box plots. Rationale: - Alluvial flow plots show proportional relationships across groups maintaining visibility sample composition - Box plots provide statistical distribution view individual data points - visualizations complement : flows overall trends, boxes statistical variance - Flexible frequency vs. counts mode supports different analytical needs Implementation Details: - Uses ggalluvial flow visualizations (Sankey-style plots) - ggpubr box plot styling statistical comparisons - Internal helper createAnnoTable() aggregates frequencies/counts sample - Supports custom color palettes auto-generates RColorBrewer - Handles group ordering controlled presentation Alternatives Considered: 1. Single bar plot visualization - rejected insufficient showing sample-level variation 2. Stacked area plots - rejected due difficulty comparing non-adjacent categories 3. Separate samples flow plots - rejected due visual clutter many samples Trade-offs: - Alluvial plots can busy many cell types (>10-15) - Box plots require sufficient samples per group meaningful statistics - Two separate plots increase figure space requirements provide complementary insights Generated : JSON template Compare_Cell_Populations.code-template.json using json2r.prompt.md instructions","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/index.html","id":null,"dir":"","previous_headings":"","what":"SCWorkflow from NIDAP","title":"SCWorkflow from NIDAP","text":"R package Single Cell analysis Single Cell Workflow streamlines analysis multimodal Single Cell RNA-Seq data produced 10x Genomics. can run docker container, biologists, user-friendly web-based interactive notebooks (NIDAP, Palantir Foundry). Much based Seurat workflow Bioconductor, supports CITE-Seq data. incorporates cell identification step (ModScore) utilizes module scores obtained Seurat also includes Harmony batch correction.","code":""},{"path":[]},{"path":"https://nidap-community.github.io/SCWorkflow/index.html","id":"sequential-workflow","dir":"","previous_headings":"Key Functions","what":"Sequential Workflow","title":"SCWorkflow from NIDAP","text":"processRawData() - Process H5 files Seurat objects filterQC() - Quality control filtering combineNormalize() - Merge samples, normalize, dimension reduction Harmony integration (optional) - Batch correction annotateCellTypes() - Automatic cell type annotation via SingleR","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/index.html","id":"analysis--visualization","dir":"","previous_headings":"Key Functions","what":"Analysis & Visualization","title":"SCWorkflow from NIDAP","text":"compareCellPopulations() - Compare cell population distributions across groups degGeneExpressionMarkers() - Differential expression analysis reclusterSeuratObject() / reclusterFilteredSeuratObject() - Subset re-cluster colorByGene(), heatmapSC(), violinPlot() - Visualization functions plotMetadata(), dotPlotMet() - Metadata visualization documentation see detailed Docs Website Future Developments include addition support multiomics (TCR-Seq, ATAC-Seq) single cell data integration spatial transcriptomics data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":null,"dir":"Reference","previous_headings":"","what":"Aggregate Counts (Pseudobulk) — aggregateCounts","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"Compute pseudobulk expression averaging expression across groups defined one metadata columns, return tidy table.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"","code":"aggregateCounts(object, var.group, slot = \"data\", interactive = FALSE)"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"object Seurat-class object. var.group Character vector metadata column names used define pseudobulk groups. multiple columns supplied, interaction columns defines groups. slot Character name assay data layer passed AverageExpression() (e.g., \"data\", \"counts\", \"scale.data\"). interactive TRUE, draw plotly plot (default FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"data.frame pseudobulk expression columns Gene followed one column per pseudobulk group. Column names sanitized contain alphanumeric/underscore characters.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"Uses Seurat's AverageExpression() SCT assay compute group-wise average expression feature. Also produces bar plot (via ggplot2/plotly) showing number cells per pseudobulk group warns group contains one cell.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/aggregateCounts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Aggregate Counts (Pseudobulk) — aggregateCounts","text":"","code":"if (FALSE) { # \\dontrun{ out <- aggregateCounts( object = seurat_obj, var.group = c(\"orig.ident\", \"condition\"), slot = \"data\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":null,"dir":"Reference","previous_headings":"","what":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","title":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","text":"Annotate cell types cells using SingleR (Aran et al., 2019). function takes combined Seurat object PC reduction assigns cells category (example, stem cells T cells) based genomic profile.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","text":"","code":"annotateCellTypes( object, species = \"Mouse\", reduction.type = \"umap\", legend.dot.size = 2, do.finetuning = FALSE, local.celldex = NULL, use.clusters = NULL )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","text":"object Object class Seurat (combined Seurat Object PC reduction performed) species species samples (\"Human\" \"Mouse\"). Default \"Mouse\" reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\") legend.dot.size size colored dots chart legend. Default 2 .finetuning Performs SingleR fine-tuning function. Default FALSE local.celldex Provide local copy CellDex library. Default NULL use.clusters Provide cluster identities cell. Default NULL","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","text":"Seurat object additional metadata","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","text":"function Step 5 basic Single-Cell RNA-seq workflow. starting point downstream visualization, subsetting, analysis. takes combined seurat object input, one created Combined&Renormalized function end Filter&QC Path","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/annotateCellTypes.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cell Type Annotation with SingleR CCBR scRNA-seq — annotateCellTypes","text":"","code":"if (FALSE) { # \\dontrun{ out <- annotateCellTypes( object = combined_so, species = \"Human\", reduction.type = \"umap\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"template appends sample metadata input table Seurat object, creating new metadata columns labeling cells sample new metadata values.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"","code":"appendMetadataToSeuratObject(object, metadata.to.append, sample.name.column)"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"object input Seurat Object list Seurat Objects wish add metadata. metadata..append table sample metadata want append already-existing metadata within input Seurat Object(s). sample.name.column column input metadata..append table contains sample names matching orig.idents input object(s).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"Function returns Seurat Object Objects additional metadata columns containing appended metadata now annotated cell sample name (orig.ident).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/appendMetadataToSeuratObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Append Metadata to Seurat Object. — appendMetadataToSeuratObject","text":"template appends sample metadata input table Seurat object, creating new metadata columns labeling cells sample new metadata values.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":null,"dir":"Reference","previous_headings":"","what":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"see one plot (TSNE UMAP, choice) per gene name provided. intensity red color relative expression gene cell","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"","code":"colorByGene( object, samples.to.include, gene, reduction.type = \"umap\", number.of.rows = 0, return.seurat.object = FALSE, color = \"red\", point.size = 1, point.shape = 16, point.transparency = 0.5, use.cite.seq.data = FALSE, assay = \"SCT\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"object Object class Seurat samples..include Samples included analysis gene Genes like visualize reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\"). Default \"umap\" number..rows number rows want arrange plots return.seurat.object Set FALSE want geneset (Seurat object) returned color color want use heatmap (default \"red\") point.size size points representing cell visualization. Default 1 point.shape code point shape (R \"pch\" argument). Default 16 point.transparency Set transparency. Default 0.5 use.cite.seq.data TRUE like plot Antibody clusters CITEseq instead scRNA. assay Select Assay Plot (default SCT)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"Seurat object additional metadata gene table plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"function must run downstream Sample Names function, well provided combined Seurat Object one produced SingleR Cell Annotation function","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByGene.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Visualize gene expression for provided Genes across your cells as a heatmap — colorByGene","text":"","code":"if (FALSE) { # \\dontrun{ out <- colorByGene( object = anno_so, samples.to.include = c(\"sample1\", \"sample2\"), gene = c(\"CD3D\", \"MS4A1\"), reduction.type = \"umap\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":null,"dir":"Reference","previous_headings":"","what":"Color by Gene List — colorByMarkerTable","title":"Color by Gene List — colorByMarkerTable","text":"Returns panel reduction plots colored marker expression","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Color by Gene List — colorByMarkerTable","text":"","code":"colorByMarkerTable( object, samples.subset, samples.to.display, manual.genes = c(), marker.table, cells.of.interest, protein.presence = FALSE, assay = \"SCT\", slot = \"scale.data\", reduction.type = \"umap\", point.transparency = 0.5, point.shape = 16, cite.seq = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Color by Gene List — colorByMarkerTable","text":"object Seurat-class object samples.subset List samples subset data samples..display List samples depict dimension plot, samples list colored gray background manual.genes additional list genes display marker.table Table marker genes celltype (column names table), append \"_prot\" \"_neg\" proteins negative markers cells..interest Celltypes geneset_dataframe screen protein.presence Set TRUE protein markers used assay Assay extract gene expression data (Default: \"SCT\") slot Slot within assay extract expression data (Default: \"scale.data\") reduction.type Choose among tsne, umap, pca (Default: \"umap\") point.transparency Set lower values see points dimension plot (Default: 0.5) point.shape Change shape points visualization (Default: 16) cite.seq Set TRUE use CITE-seq embedding dimension reduction","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Color by Gene List — colorByMarkerTable","text":"arranged grob dimension reduction plots colored individual marker expression","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Color by Gene List — colorByMarkerTable","text":"Takes gene table inputted user, displays panel tsne, umap, pca colored marker expression. panel organized similar format gene table, omission genes found data","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/colorByMarkerTable.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Color by Gene List — colorByMarkerTable","text":"","code":"if (FALSE) { # \\dontrun{ colorByMarkerTable( object = seurat, samples.subset = c(\"mouse1\", \"mouse2\"), samples.to.display = c(\"mouse1\"), marker.table = immuneCellMarkers, cells.of.interest = c(\"CD4\", \"Treg\") ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":null,"dir":"Reference","previous_headings":"","what":"Combine & Normalize — combineNormalize","title":"Combine & Normalize — combineNormalize","text":"Scales Normalizes data, Combines samples, runs Dimensional Reduction, Clusters, returns combined Seurat Object.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Combine & Normalize — combineNormalize","text":"","code":"combineNormalize( object, npcs = 30, SCT.level = \"Merged\", vars.to.regress = NULL, nfeatures = 2000, low.cut = 0.1, high.cut = 8, low.cut.disp = 1, high.cut.disp = 1e+05, selection.method = \"vst\", only.var.genes = FALSE, draw.umap = TRUE, draw.tsne = TRUE, seed.for.pca = 42, seed.for.tsne = 1, seed.for.umap = 42, clust.res.low = 0.2, clust.res.high = 1.2, clust.res.bin = 0.2, methods.pca = \"none\", var.threshold = 0.1, pca.reg.plot = FALSE, jackstraw = FALSE, jackstraw.dims = 5, exclude.sample = NULL, cell.count.limit = 35000, reduce.so = FALSE, project.name = \"scRNAProject\", cell.hashing.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Combine & Normalize — combineNormalize","text":"object list seurat objects sample. npcs Select number principal components analysis. Please see elbow plot previous template figure number PCs explains variance cut-. example, elbow plot point (15,0.02), means 15 PCs encapsulate 98% variance data.(Default: 30) SCT.level Select stage apply SCtransform nomalization. Merged: Merge samples apply SCTransfrom merged object. Sample: Apply SCTranform individual samples merge single Seurat object. (Default: \"Merged\") vars..regress Subtract (‘regress ’) source heterogeneity data. example, Subtract mitochondrial effects, input \"percent.mt.\" Options: percent.mt, nCount.RNA, S.Score, G2M.Score, CC.Difference. (Default: NULL) nfeatures Number variable features. (Default: 2000) low.cut Set low cutoff calculate feature means Seurat::FindVariableFeatures. (Default: 0.1) high.cut Set high cutoff calculate feature means Seurat::FindVariableFeatures. (Default: 8) low.cut.disp Set low cutoff calculate feature dispersions Seurat::FindVariableFeatures.(Default: 1) high.cut.disp Set high cutoff calculate feature dispersions Seurat::FindVariableFeatures. (Default: 100000) selection.method Method choose top variable features. Options: vst, mean.var.plot, dispersion. (Default: 'vst') .var.genes dataset larger ~40k filtered cells, set TRUE. TRUE, variable genes available downstream analysis. dataset larger number cells set \"Conserve Memory Max Cell Limit\" \"Variable Genes\" automatically set TRUE. (Default: FALSE) draw.umap TRUE, draw UMAP plot. (Default: TRUE) draw.tsne TRUE, draw TSNE plot. (Default: TRUE) seed..pca Set random seed PCA calculation. (Default: 42) seed..tsne Set random seed TSNE calculation. (Default: 1) seed..umap Set random seed UMAP calculation. (Default: 42) clust.res.low Select minimum resolution clustering plots. lower set , FEWER clusters generated. (Default: 0.2) clust.res.high Select maximum resolution clustering. higher set number, clusters produced. (Default: 1.2) clust.res.bin Select bins cluster plots. example, input 0.2 bin, low/high resolution ranges 0.2 0.6, template produce cluster plots resolutions 0.2, 0.4 0.6. (Default: 0.2) methods.pca Methods available: Marchenko-Pastur: use eigenvalue null upper bound URD, Elbow: Find threshold percent change variation consecutive PCs less X% (set var.threshold). none selected (regardless selections) plot generated. (Default: 'none') var.threshold Elbow method, set percent change threshold variation consecutive PCs. (Default: 0.1) pca.reg.plot Opt visualize effect regression variables PCA plot. plot create PCA plots without regression variables applied can used help determine regression necessary properly normalize data. (Default: FALSE) jackstraw Opt visualize data Jackstraw plot. Jackstraw plot can add description elbow plot compute intensive process may suitable larger datasets. (Default: FALSE) jackstraw.dims Recommended max 10.(Default: 5) exclude.sample Exclude unwanted samples merge step. Include sample names removed. want exclude several samples, separate sample number comma (e.g. sample1,sample2,sample3,sample4). (Default: NULL) cell.count.limit total number cell exceeds limit conserve memory option SCTransform used return Variable Genes. (Default: 35000) reduce.Remove additional assays input Seurat Objects except original RNA Assay. option used input Seurat Object created outside NIDAP pipeline. (Default: FALSE) project.name Add project name Seurat object metadata. (Default: 'scRNAProject') cell.hashing.data Set \"TRUE\" using cell-hashed data. (Default: FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Combine & Normalize — combineNormalize","text":"Seurat Objects QC plots","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Combine & Normalize — combineNormalize","text":"Step 3 basic Single-Cell RNA-seq workflow. template summarize multi-dimensionality data set \"principal components\" allow easier analysis.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/combineNormalize.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Combine & Normalize — combineNormalize","text":"","code":"if (FALSE) { # \\dontrun{ out <- combineNormalize( object = filtered_so_list, npcs = 30, draw.umap = TRUE, draw.tsne = TRUE ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":null,"dir":"Reference","previous_headings":"","what":"Compare Cell Populations — compareCellPopulations","title":"Compare Cell Populations — compareCellPopulations","text":"Compare cell population distributions across different groups using bar plots box plots. Creates visualizations showing cell type frequencies counts across user-defined groupings.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compare Cell Populations — compareCellPopulations","text":"","code":"compareCellPopulations( object, annotation.column, group.column, sample.column = \"orig.ident\", counts.type = \"Frequency\", group.order = NULL, wrap.ncols = 5 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compare Cell Populations — compareCellPopulations","text":"object Seurat object containing single-cell data annotation.column Character string specifying metadata column containing cell type annotations summarize bar plot group.column Character string specifying metadata column defining groups compare (e.g., treatment conditions) sample.column Character string specifying metadata column containing sample identifiers. Default \"orig.ident\" counts.type Character string specifying plot data type: \"Frequency\" (percentages) \"Counts\" (absolute numbers). Default \"Frequency\" group.order Character vector specifying order groups plots. NULL, uses natural order data. Default NULL wrap.ncols Integer specifying number columns facet wrapping box plots. Default 5 seurat.object.filename Character string Seurat object filename. Default \"seurat_object.rds\"","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compare Cell Populations — compareCellPopulations","text":"list containing: Plots - list two ggplot objects: Barplot - Stacked bar plot alluvial flows Boxplot - Faceted box plots cell type (counts.type=\"Frequency\") Table - data.frame cell counts percentages","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Compare Cell Populations — compareCellPopulations","text":"function generates comparative visualizations cell populations Seurat object. can display data either frequency percentages absolute counts, creates stacked bar plots (alluvial flow connections) grouped box plots comparison across samples conditions.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/compareCellPopulations.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compare Cell Populations — compareCellPopulations","text":"","code":"if (FALSE) { # \\dontrun{ # Compare cell populations by treatment group results <- compareCellPopulations( object = seurat_obj, annotation.column = \"cell_type\", group.column = \"treatment\", sample.column = \"sample_id\", counts.type = \"Frequency\" ) # Display plots plot(results$Plots$Barplot) plot(results$Plots$Boxplot) # View summary table head(results$Table) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":null,"dir":"Reference","previous_headings":"","what":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","title":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","text":"function performs DE (differential expression) analysis merged Seurat object identify expression markers different groups cells (contrasts).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","text":"","code":"degGeneExpressionMarkers( object, samples, contrasts, parameter.to.test = \"orig_ident\", test.to.use = \"MAST\", log.fc.threshold = 0.25, use.spark = FALSE, assay.to.use = \"SCT\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","text":"object Seurat-class object samples Samples included analysis contrasts Contrasts \"-B\" format parameter..test Select metadata column like use perform DEG analysis construct contrasts . Default \"orig_ident\" test..use kind algorithm like use perform DEG analysis. Default MAST algorithm (wilcox,bimod,roc,t,negbinom,poisson,LR,MAST,DESeq2). log.fc.threshold minimum log fold-change contrasts like analyze. Default 0.25 use.spark Opt use Spark parallelize computations. Default FALSE assay..use assay use DEG analysis. Default SCT, can use linearly scaled data selecting RNA instead","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","text":"dataframe DEG.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","text":"recommended input merged Seurat object SingleR annotations, along associated sample names metadata","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/degGeneExpressionMarkers.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"DE with Find Markers CCBR scRNA-seq — degGeneExpressionMarkers","text":"","code":"if (FALSE) { # \\dontrun{ deg <- degGeneExpressionMarkers( object = anno_so, samples = c(\"sample1\", \"sample2\"), contrasts = c(\"A-B\"), parameter.to.test = \"cluster\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":null,"dir":"Reference","previous_headings":"","what":"Dotplot of Gene Expression by Metadata — dotPlotMet","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"function uses Dotplot function Seurat plots average gene expression values percent expressed set genes.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"","code":"dotPlotMet( object, metadata, cells, markers, plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = \"darkblue\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"object Seurat Object metadata Metadata column Seurat Object plot cells Vector metadata category factors plot found metadata column. Order plotting follow exact order entered. markers Vector genes plot. Order plotting follow exact order entered plot.reverse TRUE, set metadata categories x-axis genes y-axis (default FALSE) cell.reverse.sort TRUE, Reverse plot order metadata category factors (default FALSE) dot.color Dot color (default \"dark blue\")","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"Dotplot markers cell types.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"method provides dotplot showing percent frequency gene-positive cells size dot degree expression color dot.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dotPlotMet.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Dotplot of Gene Expression by Metadata — dotPlotMet","text":"","code":"if (FALSE) { # \\dontrun{ p <- dotPlotMet( object = anno_so, metadata = \"celltype\", cells = c(\"T cell\", \"B cell\"), markers = c(\"CD3D\", \"MS4A1\") ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":null,"dir":"Reference","previous_headings":"","what":"Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling","title":"Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling","text":"Display co-expression two chosen markers Seurat object. Creates metadata column containing annotations cells correspond marker expression thresholds.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling","text":"","code":"dualLabeling( object, samples, marker.1, marker.2, marker.1.type = \"SCT\", marker.2.type = \"SCT\", data.reduction = \"both\", point.size = 0.5, point.shape = 16, point.transparency = 0.5, add.marker.thresholds = TRUE, marker.1.threshold = 0.5, marker.2.threshold = 0.5, filter.data = TRUE, marker.1.filter.direction = \"greater than\", marker.2.filter.direction = \"greater than\", apply.filter.1 = TRUE, apply.filter.2 = TRUE, filter.condition = TRUE, parameter.name = \"My_CoExp\", trim.marker.1 = FALSE, trim.marker.2 = FALSE, pre.scale.trim = 0.99, display.unscaled.values = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling","text":"object Seurat-class object samples Samples included analysis marker.1 First gene/marker coexpression analysis marker.2 Second gene/marker coexpression analysis marker.1.type Slot use first marker. Choices \"SCT\", \"protein\",\"HTO\", \"Spatial\" (default \"SCT\") marker.2.type Slot use second marker. Choices \"SCT\", \"protein\",\"HTO\", \"Spatial\" (default \"SCT\") data.reduction Dimension Reduction method use image. Options \"umap\", \"tsne\", \"\" (default \"\") point.size Point size image (default 0.5) point.shape Point shape image (default 16) point.transparency Point transparency image (default 0.5) add.marker.thresholds Add marker thresholds plot (default TRUE) marker.1.threshold Threshold set first marker (default 0.5) marker.2.threshold Threshold set second marker (default 0.5) filter.data Add new parameter column metadata annotating marker thresholds applied (default TRUE) marker.1.filter.direction Annotate cells gene expression levels marker 1 using marker 1 threshold. Choices \"greater \" \"less \" (default \"greater \") marker.2.filter.direction Annotate cells gene expression levels marker 2 using marker 2 threshold. Choices \"greater \" \"less \" (default \"greater \") apply.filter.1 TRUE, apply first filter (default TRUE) apply.filter.2 TRUE, apply second filter (default TRUE) filter.condition TRUE, apply filters 1 2 take intersection. FALSE, apply filters take union. parameter.name Name metadata column new marker filters (default \"My_CoExp\") trim.marker.1 Trim top bottom percentile marker 1 signal pre-scale trim values () remove extremely low high values (default FALSE) trim.marker.2 Trim top bottom percentile marker 2 signal pre-scale trim values () remove extremely low high values (default FALSE) pre.scale.trim Set trimming percentile value (default 0.99) display.unscaled.values Set TRUE want view unscaled gene/protein expression values (default FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling","text":"seurat object optional additional metadata cells positive negative gene markers, coexpression plot contingency table showing sum cells filtered.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Cell Annotation with Co-Expression CCBR scRNA-seq — dualLabeling","text":"","code":"if (FALSE) { # \\dontrun{ out <- dualLabeling( object = anno_so, samples = c(\"sample1\"), marker.1 = \"CD3D\", marker.2 = \"MS4A1\", data.reduction = \"umap\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":null,"dir":"Reference","previous_headings":"","what":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","title":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","text":"Filters cells genes across various criteria sample. Multiple cell gene filters can selected remove poor quality data noise generating QC plots filtering.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","text":"","code":"filterQC( object, min.cells = 20, filter.vdj.genes = F, nfeature.limits = c(NA, NA), mad.nfeature.limits = c(5, 5), ncounts.limits = c(NA, NA), mad.ncounts.limits = c(5, 5), mitoch.limits = c(NA, 25), mad.mitoch.limits = c(NA, 3), complexity.limits = c(NA, NA), mad.complexity.limits = c(5, NA), topNgenes.limits = c(NA, NA), mad.topNgenes.limits = c(5, 5), n.topgenes = 20, do.doublets.filter = TRUE, plot.outliers = \"None\", group.column = NA, nfeatures = 2000, low.cut = 0.1, high.cut = 8, low.cut.disp = 1, high.cut.disp = 1e+05, selection.method = \"vst\", npcs = 30, vars.to.regress = NULL, seed.for.PCA = 42, seed.for.TSNE = 1, seed.for.UMAP = 42 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","text":"object list seurat objects sample. min.cells Filter genes found less number cells. E.g. Setting 20 remove genes found fewer 3 cells sample. (Default: 20) filter.vdj.genes FALSE remove VDJ genes scRNA transcriptome assay. prevent clustering bias T-cells clonotype. recommended also TCR-seq. (Default: FALSE) nfeature.limits Filter cells number genes found cell exceed selected lower upper limits. Usage c(lower limit, Upper Limit). E.g. setting c(200,1000) remove cells fewer 200 genes 1000 genes sample. (Default: c(NA, NA)) mad.nfeature.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated median gene number cells sample. Usage c(lower limit, Upper Limit) E.g. setting c(3,5) remove cells 3 absolute deviations less median 5 absolute deviations greater median. (Default: c(5,5)) ncounts.limits Filter cells total number molecules (umi) detected within cell exceed selected limits. Usage c(lower limit, Upper Limit). E.g. setting c(200,100000) remove cells fewer 200 greater 100000 molecules. (Default: c(NA, NA)) mad.ncounts.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated median number molecules cells sample. Usage c(lower limit, Upper Limit) E.g. setting c(3,5) remove cells 3 absolute deviations less median 5 absolute deviations greater median. (Default: c(5,5)) mitoch.limits Filter cells whose proportion mitochondrial genes exceed selected lower upper limits. Usage c(lower limit, Upper Limit). E.g. setting c(0,8) set lower limit removes cells 8% mitochondrial RNA. (Default: c(NA,25)) mad.mitoch.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated Median percentage mitochondrial RNA cells sample. Usage c(lower limit, Upper Limit). E.g. setting c(NA,3) set lower limit remove cells 3 absolute deviations greater median. (Default: c(NA,3)) complexity.limits Complexity represents Number genes detected per UMI. genes detected per UMI, complex data. Filter cells whose Complexity exceed selected lower upper limits. Cells high number UMIs low number genes dying cells, also represent population low complexity cell type (.e red blood cells). suggest set lower limit 0.8 samples suspected RBC contamination. Usage c(lower limit, Upper Limit). E.g. setting c(0.8,0) set upper limit removes cells complexity less 0.8. (Default: c(NA,NA)) mad.complexity.limits Set filter limits based many Median Absolute Deviations outlier cell . Calculated Median complexity cells sample. Usage c(lower limit, Upper Limit). E.g. setting c(5,NA) set upper limit remove cells 5 absolute deviations less median. (Default: c(5,NA)) topNgenes.limits Filter Cells based percentage total counts top N highly expressed genes. Outlier cells high percentage counts just genes removed. considerations outlined \"complexity.limits\" taken filter. Usage c(lower limit, Upper Limit). E.g. setting c(NA,50) set lower limit remove cells greater 50% reads top N genes. (Default: c(NA,NA)) mad.topNgenes.limits Filter limits based many Median Absolute Deviations outlier cell . Calculated Median percentage counts top N Genes. Usage c(lower limit, Upper Limit). E.g. setting c(5,5) remove cells 5 absolute deviations greater 5 absolute deviations less median percentage. (Default: c(5,5)) n.topgenes Select number top highly expressed genes used calculate percentage reads found genes. E.g. value 20 calculates percentage reads found top 20 highly expressed Genes. (Default: 20) .doublets.filter Use scDblFinder identify remove doublet cells. Doublets defined two cells sequenced cellular barcode, example, captured droplet. (Default: TRUE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","text":"Seurat Object QC plots","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","text":"Step 2 basic Single-Cell RNA-seq workflow. Multiple cell gene filters can selected remove poor quality data noise. Workflows can use downstream Seurat Object. tool typically second step Single Cell Workflow.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterQC.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Filter Low Quality Cells CCBR scRNA-seq — filterQC","text":"","code":"if (FALSE) { # \\dontrun{ out <- filterQC( object = so_list, min.cells = 20, n.topgenes = 20, do.doublets.filter = TRUE ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":null,"dir":"Reference","previous_headings":"","what":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","title":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","text":"function subsets Seurat object selecting metadata column values matching cells pass forward analysis.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","text":"","code":"filterSeuratObjectByMetadata( object, samples.to.include, sample.name, category.to.filter, values.to.filter, keep.or.remove = TRUE, greater.less.than = \"greater than\", seed = 10, cut.off = 0.5, legend.position = \"top\", reduction = \"umap\", plot.as.interactive.plot = FALSE, legend.symbol.size = 2, colors = c(\"aquamarine3\", \"salmon1\", \"lightskyblue3\", \"plum3\", \"darkolivegreen3\", \"goldenrod1\", \"burlywood2\", \"gray70\", \"firebrick2\", \"steelblue\", \"palegreen4\", \"orchid4\", \"darkorange1\", \"yellow\", \"sienna\", \"palevioletred1\", \"gray60\", \"cyan4\", \"darkorange3\", \"mediumpurple3\", \"violetred2\", \"olivedrab\", \"darkgoldenrod2\", \"darkgoldenrod\", \"gray40\", \"palegreen3\", \"thistle3\", \"khaki1\", \"deeppink2\", \"chocolate3\", \"paleturquoise3\", \"wheat1\", \"lightsteelblue\", \"salmon\", \"sandybrown\", \"darkolivegreen2\", \"thistle2\", \"gray85\", \"orchid3\", \"darkseagreen1\", \"lightgoldenrod1\", \"lightskyblue2\", \"dodgerblue3\", \"darkseagreen3\", \"forestgreen\", \"lightpink2\", \"mediumpurple4\", \"lightpink1\", \"thistle\", \"navajowhite\", \"lemonchiffon\", \"bisque2\", \"mistyrose\", \"gray95\", \"lightcyan3\", \"peachpuff2\", \"lightsteelblue2\", \"lightyellow2\", \"moccasin\", \"gray80\", \"antiquewhite2\", \"lightgrey\"), dot.size = 0.1, number.of.legend.columns = 1, dot.size.highlighted.cells = 0.5, use.cite.seq.data = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","text":"object dataset containing SingleR annotated/merged seurat object samples..include Select samples include sample.name Sample Name Column category..filter kind metadata want subset . one column Metadata table values..filter One values want filter keep..remove TRUE filter selected values, FALSE filter selected values. Default TRUE greater.less.Decide want keep cells threshold. Default \"greater \" seed Set seed colors cut.cut-want use greater /less filter. Default os 0.5 legend.position Select \"none\" legend takes much space plot. Default \"top\" reduction kind clustering visualization like use summary plot (umap, tsne, pca, protein_tsne, protein_umap, protein_pca). Default \"umap\" plot..interactive.plot TRUE interactive, FALSE static legend.symbol.size legend symbol size. Default 2 colors User-selected colors palette 62 unique colors ColorBrewer. dot.size Size dots TSNE/UMAP projection plot. Default 0.1 number..legend.columns Default 1. legend long, provide legend columns dot.size.highlighted.cells Dot size cells -filter plot highlighted. Default 0.5 use.cite.seq.data TRUE like plot Antibody clusters CITEseq instead scRNA.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","text":"subset Seurat object","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","text":"downstream template loaded Step 5 pipeline (SingleR Annotations Seurat Object)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Subset Seurat Object CCBR scRNA-seq — filterSeuratObjectByMetadata","text":"","code":"if (FALSE) { # \\dontrun{ out <- filterSeuratObjectByMetadata( object = anno_so, samples.to.include = c(\"sample1\", \"sample2\"), sample.name = \"orig.ident\", category.to.filter = \"celltype\", values.to.filter = c(\"T cell\", \"B cell\") ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html","id":null,"dir":"Reference","previous_headings":"","what":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","title":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","text":"Adjusts cell embeddings gene expression data account variations due user specified variable","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","text":"","code":"harmonyBatchCorrect( object, nvar = 2000, genes.to.add = c(), group.by.var, return.lognorm = T, npc = 30 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","text":"object Seurat-class object containing gene expression data metadata batch variable. nvar Number variable genes subset gene expression data (Default: 2000) genes..add Add genes might found among variably expressed genes group..var variable accounted running batch correction return.lognorm Logical; TRUE, retain log-normalized assay behavior downstream handling. (Default: TRUE) npc Number principal components use running Harmony (Default: 20)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","text":"list: adj.object harmony-adjusted gene expression (SCT slot) adj.tsne: harmonized tSNE plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","text":"Runs singular value decomposition pearson residuals (SCT scale.data) obtain PCA embeddings. Performs harmony decomposed embedding adjusts decomposed gene expression values harmonized embedding.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Harmony Batch Correction from Singular Value Decomposed PCA — harmonyBatchCorrect","text":"","code":"if (FALSE) { # \\dontrun{ harmonyBatchCorrect( object = seurat, nvar = 2000, genes.to.add = c(\"Cd4\", \"Cd8a\"), group.by.var = \"Mouse_Origin\", npc = 20 ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":null,"dir":"Reference","previous_headings":"","what":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"method provides heatmap single cell data Seurat object given set genes optionally orders various metadata /gene protein expression levels. Method based ComplexHeatmap::pheatmap","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"","code":"heatmapSC( object, sample.names, metadata, transcripts, use.assay = \"SCT\", proteins = NULL, heatmap.color = \"Bu Yl Rd\", plot.title = \"Heatmap\", add.gene.or.protein = FALSE, protein.annotations = NULL, rna.annotations = NULL, arrange.by.metadata = TRUE, add.row.names = TRUE, add.column.names = FALSE, row.font = 5, col.font = 5, legend.font = 5, row.height = 15, set.seed = 6, scale.data = TRUE, trim.outliers = TRUE, trim.outliers.percentage = 0.01, order.heatmap.rows = FALSE, row.order = c() )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"object Seurat-class object sample.names Sample names metadata Metadata column plot transcripts Transcripts plot use.assay Assay use transcript expression values. Choices \"SCT\" \"Harmony\" (default \"SCT\") proteins Proteins plot (default NULL) heatmap.color Color heatmap. Choices \"Cyan Mustard\", \"Blue Red\", \"Red Vanilla\", \"Violet Pink\", \"Bu Yl Rd\", \"Bu Wt Rd\" (default \"Bu Yl Rd\") plot.title Title plot (default \"Heatmap\") add.gene..protein Add Gene protein annotations (default FALSE) protein.annotations Protein annotations add (defulat NULL) rna.annotations Gene annotations add (default NULL) arrange..metadata Arrange metadata (default TRUE) add.row.names Add row names (default TRUE) add.column.names Add column names (default FALSE) row.font Font size rows (default 5) col.font Font size columns (default 5) legend.font Font size legend (default 5) row.height Height row. NA, adjust plot size (default 15) set.seed Seed colors (default 6) scale.data Perform z-scaling rows (default TRUE) trim.outliers Remove outlier data (default TRUE) trim.outliers.percentage Set outlier percentage (default 0.01) order.heatmap.rows Order heatmap rows (default FALSE) row.order Gene vector set row order. empty, use cluster order (default empty vector)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"function returns heatmap plot data underlying heatmap.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Heatmap of transcript and/or protein expression values in single cells — heatmapSC","text":"","code":"if (FALSE) { # \\dontrun{ out <- heatmapSC( object = anno_so, sample.names = c(\"sample1\", \"sample2\"), metadata = \"celltype\", transcripts = c(\"CD3D\", \"MS4A1\") ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html","id":null,"dir":"Reference","previous_headings":"","what":"Launch the ModuleScore Shiny App — launch_module_score_app","title":"Launch the ModuleScore Shiny App — launch_module_score_app","text":"Opens interactive app explore ModuleScores adjust thresholds.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Launch the ModuleScore Shiny App — launch_module_score_app","text":"","code":"launch_module_score_app()"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Launch the ModuleScore Shiny App — launch_module_score_app","text":"result shiny::runApp()","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":null,"dir":"Reference","previous_headings":"","what":"Compute ModScore — modScore","title":"Compute ModScore — modScore","text":"Returns Seurat-class object metadata containing ModuleScores Likely_CellType calls","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Compute ModScore — modScore","text":"","code":"modScore( object, marker.table, group.var = \"orig.ident\", use.columns, ms.threshold, general.class, multi.lvl = FALSE, lvl.df = NULL, reduction = \"tsne\", nbins = 10, gradient.ft.size = 6, violin.ft.size = 6, step.size = 0.1 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Compute ModScore — modScore","text":"object Seurat-class object marker.table table lists gene/protein markers categories cells want detect. table formatted cell type(s) column names, marker(s) entries column. Requires SCT@data present within Seurat Object group.var Metadata column used grouping diagnostic plots. (Default: \"orig.ident\") use.columns Select specific columns within Marker Table analyze. Markers unselected columns included. ms.threshold Allow user-specified module score thresholds. Provide one threshold Celltype included \"use.columns\" parameter. Celltype, provide Celltype name, space, type threshold Celltype. threshold must number 0.0 1.0. E.g. \"Tcells 0.2\", \"Macrophages 0.37\". best results, follow steps: (1) Set thresholds 0.0 preliminary view data. (2) Use resulting visualizations estimate correct thresholds Celltype. (3) Adjust thresholds based saw visualizations. (4) Re-run template new thresholds. (5) Review visualizations repeat Steps 1-5 think thresholds can improved. general.class Select classes (.e. columns) Marker Table represent General Classes. general class class subtype another class. multi.lvl set True multiple subclasses cells like classify. Note: requires manual entry table columns specifying levels comparisons. column table represent one level subclass within General Classes. value within column two Class names separated dash (-) showing General--SubClass relationship. Example: classify T-cells attempt classify T-cells either CD8 CD4 T-cells, write column named \"Level_1\", add \"T_cell-CD8_T\" \"T_cell-CD4_T\" column. Note example, \"T_cell\" General Class \"CD8_T\" \"CD4_T\" . lvl.df Dataframe containing levels information well parent-children designation (E.g. Tcells-CD4). Required Multi Level Classification turned .#' reduction Choose among tsne, umap, pca (Default: tsne) nbins Number bins storing control features analyzing average expression (Default: 10) gradient.ft.size Set size axis labels gradient density plot ModuleScore distribution (Default: 6) violin.ft.size Set size axis labels violin plot ModuleScore distribution (Default: 6) step.size Set step size distribution plots (Default: 0.1)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Compute ModScore — modScore","text":"List containing annotated dimension plot ModuleScore distribution cell marker gene, Seurat Object cell classification metadata","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Compute ModScore — modScore","text":"Analyzed features binned based averaged expression; control features randomly selected bin.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modScore.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Compute ModScore — modScore","text":"","code":"if (FALSE) { # \\dontrun{ modScore( object = seuratObject, marker.table = immuneCellMarkers, use.columns = c(\"CD4_T\", \"Treg\", \"Monocytes\"), ms.threshold = c(\"CD4_T 0.1\", \"Treg 0.4\", \"Monocytes 0.3\"), general.class = c(\"CD4_T\", \"Monocytes\"), multi.lvl = FALSE ) modScore( object = seuratObject, marker.table = immuneCellMarkers, use.columns = c(\"CD4_T\", \"Treg\", \"Monocytes\"), ms.threshold = c(\"CD4_T 0.1\", \"Treg 0.4\", \"Monocytes 0.3\"), general.class = c(\"CD4_T\", \"Monocytes\"), multi.lvl = TRUE, lvl.df = parentChildTable ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modscore-imports-011726.html","id":null,"dir":"Reference","previous_headings":"","what":"Helpers for ModuleScore Shiny app — modscore-imports-011726","title":"Helpers for ModuleScore Shiny app — modscore-imports-011726","text":"Precompute module scores per celltype build plots cached data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modscore-imports.html","id":null,"dir":"Reference","previous_headings":"","what":"Helpers for ModuleScore Shiny app — modscore-imports","title":"Helpers for ModuleScore Shiny app — modscore-imports","text":"Precompute module scores per celltype build plots cached data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modscore-imports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Helpers for ModuleScore Shiny app — modscore-imports","text":"","code":"compute_modscore_data( object, marker.list, use.columns, reduction = c(\"tsne\", \"umap\", \"pca\"), nbins = 10, group.var = \"orig.ident\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/modscore-imports.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Helpers for ModuleScore Shiny app — modscore-imports","text":"","code":"if (FALSE) { # \\dontrun{ res <- compute_modscore_data( object = seurat_obj, marker.list = list(Tcell = c(\"CD3D\", \"TRBC1\")), use.columns = c(\"Tcell\"), reduction = \"umap\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":null,"dir":"Reference","previous_headings":"","what":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"Maps custom cluster names Seurat Object cluster IDs adds cluster names new metadata column called Clusternames. Provides dotplot percentage cell types within cluster.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"","code":"nameClusters( object, cluster.column, labels.column, cluster.identities.table, cluster.numbers, cluster.names, order.clusters.by = NULL, order.celltypes.by = NULL, interactive = FALSE )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"object Seurat-class object cluster IDs column cell type column present cluster.column Column name containing cluster ID metadata slot object labels.column Column name containing labels (usually cell type) metadata slot object cluster.identities.table Data frame containing cluster IDs custom cluster labels cluster.numbers Column name cluster.identities.table containing cluster numbers match values cluster.column cluster.names Column name cluster.identities.table containing custom cluster labels order.clusters.Vector containing order clusters graph. Can contain subset cluster numbers plot match least values cluster.column. NULL, use default order (default NULL) order.celltypes.Vector containing order cell types graph. Can contain subset cell types plot match least values labels.column. NULL, use default order (default NULL) interactive TRUE, draw plotly plot (default FALSE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"Returns Seurat-class object updated meta.data slot containing custom cluster annotation plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/nameClusters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Update metadata slot of Seurat-class object with custom labels and provide plot with percentage of cell types — nameClusters","text":"","code":"if (FALSE) { # \\dontrun{ map_tbl <- data.frame( cluster_id = c(\"0\", \"1\"), label = c(\"T cell\", \"B cell\") ) out <- nameClusters( object = anno_so, cluster.column = \"seurat_clusters\", labels.column = \"celltype\", cluster.identities.table = map_tbl, cluster.numbers = \"cluster_id\", cluster.names = \"label\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":null,"dir":"Reference","previous_headings":"","what":"Harmony Batch Correction from Singular Value Decomposed PCA — object","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"Adjusts cell embeddings gene expression data account variations due user specified variable","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"","code":"object"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"object class Seurat 3000 rows 2000 columns.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"seurat_object Seurat-class object nvar Number variable genes subset gene expression data (Default: 2000) genes..add Add genes might found among variably expressed genes group..var variable accounted running batch correction npc Number principal components use running Harmony (Default: 20)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"list: adj.object harmony-adjusted gene expression (SCT slot) adj.tsne: harmonized tSNE plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"Runs singular value decomposition pearson residuals (SCT scale.data) obtain PCA embeddings. Performs harmony decomposed embedding adjusts decomposed gene expression values harmonized embedding.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/object.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Harmony Batch Correction from Singular Value Decomposed PCA — object","text":"","code":"if (FALSE) { # \\dontrun{ harmonyBatchCorrect( object = seurat, nvar = 2000, genes.to.add = c(\"Cd4\", \"Cd8a\"), group.by.var = \"Mouse_Origin\", npc = 20 ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":null,"dir":"Reference","previous_headings":"","what":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"palantir_api_call Utility function 3D tSNE Coordinate Template v 75#'","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"","code":"palantir_api_call(service, path, token, data, method)"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"service NIDAP API service call path path NIDAP API service token NIDAP user toekn. data Data uploaded NIDAP API calls. method Method used, including POST, GET, DELETE","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/palantir_api_call.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"palantir_api_call Utility function from 3D tSNE Coordinate Template from v 75#' — palantir_api_call","text":"return content API calls","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":null,"dir":"Reference","previous_headings":"","what":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"column selected, template produce plot (UMAP/TSNE/PCA; choice) using data column color cells","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"","code":"plotMetadata( object, samples.to.include, metadata.to.plot, columns.to.summarize, summarization.cut.off = 5, reduction.type = \"tsne\", use.cite.seq = FALSE, show.labels = FALSE, legend.text.size = 1, legend.position = \"right\", dot.size = 0.01 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"object combined Seurat Object metadata plot samples..include samples like include metadata..plot metadata columns Metadata table like plot columns..summarize columns like summarize summarization.cut.Select number categories want display, marking cells \".\" Default 5 reduction.type kind visualization like use plot cells metadata (tsne, umap, pca). Default tsne use.cite.seq TRUE like plot Antibody clusters CITEseq instead scRNA. Default FALSE show.labels Whether add labels reduction map. Default FALSE legend.text.size Customize size legend text charts. Default 1 legend.position Select want align legend. Default \"right\" dot.size size dots displayed plot. Default os 0.01","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"data.frame extracted Seurat object plot","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"downstream template Single-cell RNA-seq workflow (requires dataset Filter/QC/SingleR annotations run first)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/plotMetadata.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plotting (i.e. coloring with) different columns of your Metadata Table — plotMetadata","text":"","code":"if (FALSE) { # \\dontrun{ out <- plotMetadata( object = anno_so, samples.to.include = c(\"sample1\", \"sample2\"), metadata.to.plot = c(\"celltype\", \"orig.ident\"), columns.to.summarize = c(), reduction.type = \"umap\" ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":null,"dir":"Reference","previous_headings":"","what":"Process Raw Data — processRawData","title":"Process Raw Data — processRawData","text":"Creates list Seurat Objects h5 files. log normalize produce QC figures individual samples","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Process Raw Data — processRawData","text":"","code":"processRawData( input, sample.metadata.table = NULL, sample.name.column = NULL, organism, rename.col = NULL, keep = T, file.filter.regex = c(), split.h5 = F, cell.hash = F, tcr.summarize.topN = 10, do.normalize.data = T )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Process Raw Data — processRawData","text":"input Input can vector .h5 files, list seurat objects sample. TCRseq Metadata .csv files can also included added corrisponding sample seurat object. Vector files include entire file path. sample.metadata.table table sample metadata want append already-existing metadata within input Seurat Object(s). (optional) sample.name.column column input metadata..append table contains sample names matching orig.idents input object(s). (optional) organism Please select species. Choices Human Mouse. (Default: Human). rename.col Select column name metadata table contains new samples name (optional). keep TRUE, keep files pattern found sample name. FALSE, remove files pattern found sample name. pattern set file.filter.regex parameter (). file.filter.regex Pattern regular expression sample name. Use 'keep' parameter keep remove fi les contain pattern. samples renamed set regular expression based new names split.h5 TRUE, split H5 individual files. (Default: FALSE) cell.hash TRUE, dataset contains cell hashtags. (Default: FALSE) tcr.summarize.topN Select number top identified TCR clonotypes included summary column. clonotypes top N populated classified \"\". (Default: 10) .normalize.data TRUE counts table log2 normalized. input contains counts already normalzed set FALSE. (Default: TRUE)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Process Raw Data — processRawData","text":"Seurat Object QC plots","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Process Raw Data — processRawData","text":"Step 1 basic Single-Cell RNA-seq workflow. Returns data Seurat Object, basic data structure Seurat Single Cell analysis.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/processRawData.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Process Raw Data — processRawData","text":"","code":"if (FALSE) { # \\dontrun{ out <- processRawData( input = c(\"sample1_filtered_feature_bc_matrix.h5\"), organism = \"Human\", do.normalize.data = TRUE ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"template reclusters filtered Seurat object.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"","code":"reclusterFilteredSeuratObject( object, prepend.txt = \"old\", old.columns.to.save, number.of.pcs = 50, cluster.resolution.low.range = 0.2, cluster.resolution.high.range = 1.2, cluster.resolution.range.bins = 0.2, reduction.type = \"tsne\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"object input Seurat Object. prepend.txt Text prepend old columns make unique new. Default \"old\". old.columns..save Old seurat clustering columns (e.g. SCT_snn_res.0.4) save. number..pcs Select number principal components analysis. Set 0 automatically decide. Default 50. cluster.resolution.low.range Select minimum resolution clustering plots. lower set , FEWER clusters generated. Default 0.2. cluster.resolution.high.range Select maximum resolution clustering plots. higher set , clusters generated. Default 1.2. cluster.resolution.range.bins Select bins cluster plots. example, input 0.2 bin, low/high resolution ranges 0.2 0.6, template produce cluster plots resolutions 0.2, 0.4 0.6. Default 0.2. reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\"). Default \"tsne\".","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"Function returns reclustered Seurat Object new clustering columns renamed original clustering columns, along plot new dimsensionality reduction.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterFilteredSeuratObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Recluster Filtered Seurat Object. — reclusterFilteredSeuratObject","text":"method reclusters filtered , preserving original SCT clustering columns prepended prefix, making new SCT clustering columns based reclustering. image returned reclustered project.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":null,"dir":"Reference","previous_headings":"","what":"Recluster Seurat Object. — reclusterSeuratObject","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"template reclusters Seurat object.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"","code":"reclusterSeuratObject( object, prepend.txt = \"old\", old.columns.to.save, number.of.pcs = 50, cluster.resolution.low.range = 0.2, cluster.resolution.high.range = 1.2, cluster.resolution.range.bins = 0.2, reduction.type = \"tsne\" )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"object input Seurat Object. prepend.txt Text prepend old columns make unique new. Default \"old\". old.columns..save Old seurat clustering columns (e.g. SCT_snn_res.0.4) save. number..pcs Select number principal components analysis. Set 0 automatically decide. Default 50. cluster.resolution.low.range Select minimum resolution clustering plots. lower set , FEWER clusters generated. Default 0.2. cluster.resolution.high.range Select maximum resolution clustering plots. higher set , clusters generated. Default 1.2. cluster.resolution.range.bins Select bins cluster plots. example, input 0.2 bin, low/high resolution ranges 0.2 0.6, template produce cluster plots resolutions 0.2, 0.4 0.6. Default 0.2. reduction.type Select kind clustering visualization like use visualize cell type results (\"umap\", \"tsne\", \"pca\"). Default \"tsne\".","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"Function returns reclustered Seurat Object new clustering columns renamed original clustering columns, along plot new dimsensionality reduction.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Recluster Seurat Object. — reclusterSeuratObject","text":"method reclusters input , preserving original SCT clustering columns prepended prefix, making new SCT clustering columns based reclustering. image returned reclustered project.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"method provides visualization 3D-tSNE plot given Seurat Object returns plotly plot dataframe TSNE coordinates. optionally saves plotly image embedded html file.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"","code":"tSNE3D( object, color.variable, label.variable, dot.size = 4, legend = TRUE, colors = c(\"darkblue\", \"purple4\", \"green\", \"red\", \"darkcyan\", \"magenta2\", \"orange\", \"yellow\", \"black\"), filename = \"plot.html\", save.plot = FALSE, npcs = 15 )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"object Seurat-class object color.variable Metadata column Seurat Object use color label.variable Metadata column Seurat Object use label dot.size Dot size plot (default 4) legend TRUE, show legend (default TRUE) colors Colors used color.variable filename Filename saving plot (default \"plot.html\") save.plot Save plot widget html file (default FALSE) npcs Number principal components used tSNE calculations (default 15)","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"list plotly 3D TSNE plot (figure) TSNE coordinates (tsne.df).","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot 3D-TSNE given a Seurat Object and returns plotly image — tSNE3D","text":"","code":"if (FALSE) { # \\dontrun{ out <- tSNE3D( object = seurat_obj, color.variable = \"cell_type\", label.variable = \"orig.ident\", npcs = 15, save.plot = FALSE ) } # }"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":null,"dir":"Reference","previous_headings":"","what":"Violin Plot by Metadata — violinPlot","title":"Violin Plot by Metadata — violinPlot","text":"Create violin plot gene expression data across groups","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Violin Plot by Metadata — violinPlot","text":"","code":"violinPlot( object, assay, layer, genes, group, facet.by = \"\", filter.outliers = F, outlier.low = 0.05, outlier.high = 0.95, jitter.points, jitter.dot.size )"},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Violin Plot by Metadata — violinPlot","text":"object Seurat-class object assay Assay extract gene expression data (Default: SCT) layer Slot extract gene expression data (Default: scale.data) genes Genes visualize violin plot group Split violin plot based metadata group facet.Split violin plot based second metadata group filter.outliers Filter outliers data (TRUE/FALSE) outlier.low Filter lower bound outliers (Default = 0.05) outlier.high Filter upper bound outliers (Default = 0.95) jitter.points Scatter points plot (TRUE/FALSE) jitter.dot.size Set size individual points","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Violin Plot by Metadata — violinPlot","text":"violin ggplot2 object","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Violin Plot by Metadata — violinPlot","text":"Takes list genes inputted user, displays violin plots genes across groups layer-assay (optional) outliers removed. Can also choose scale transform expression data.","code":""},{"path":"https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Violin Plot by Metadata — violinPlot","text":"","code":"if (FALSE) { # \\dontrun{ violinPlot( object = seurat, assay = \"SCT\", layer = \"data\", genes = c(\"Cd4\", \"Cd8a\"), group = \"celltype\", facet.by = \"orig.ident\", filter.outliers = TRUE, jitter.points = TRUE, jitter.dot.size = 0.5 ) } # }"}] diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 34d46e0..d69899b 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -2,7 +2,10 @@ https://nidap-community.github.io/SCWorkflow/404.html https://nidap-community.github.io/SCWorkflow/CHANGELOG.html https://nidap-community.github.io/SCWorkflow/LICENSE-text.html +https://nidap-community.github.io/SCWorkflow/LICENSE.html https://nidap-community.github.io/SCWorkflow/articles/CONTRIBUTING.html +https://nidap-community.github.io/SCWorkflow/articles/Intro.html +https://nidap-community.github.io/SCWorkflow/articles/README.html https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-Annotations.html https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-DEG.html https://nidap-community.github.io/SCWorkflow/articles/SCWorkflow-QC.html @@ -27,6 +30,7 @@ https://nidap-community.github.io/SCWorkflow/reference/dualLabeling.html https://nidap-community.github.io/SCWorkflow/reference/filterQC.html https://nidap-community.github.io/SCWorkflow/reference/filterSeuratObjectByMetadata.html +https://nidap-community.github.io/SCWorkflow/reference/harmonyBatchCorrect.html https://nidap-community.github.io/SCWorkflow/reference/heatmapSC.html https://nidap-community.github.io/SCWorkflow/reference/index.html https://nidap-community.github.io/SCWorkflow/reference/launch_module_score_app.html @@ -42,6 +46,5 @@ https://nidap-community.github.io/SCWorkflow/reference/reclusterSeuratObject.html https://nidap-community.github.io/SCWorkflow/reference/tSNE3D.html https://nidap-community.github.io/SCWorkflow/reference/violinPlot.html -https://nidap-community.github.io/SCWorkflow/reference/violinPlot_mod.html diff --git a/inst/shiny/ModuleScoreApp/app.R b/inst/shiny/ModuleScoreApp/app.R index 76c4f57..d0165cc 100644 --- a/inst/shiny/ModuleScoreApp/app.R +++ b/inst/shiny/ModuleScoreApp/app.R @@ -82,7 +82,7 @@ ui <- fluidPage( numericInput("nbins", "nbins", value = 10, min = 5, max = 50), numericInput("gradient_size", "Gradient axis text size", value = 6, min = 4, max = 14), numericInput("violin_size", "Violin axis text size", value = 6, min = 4, max = 14), - numericInput("step_size", "Axis step size", value = 0.1, min = 0.05, max = 0.5, step = 0.05) + numericInput("step.size", "Axis step size", value = 0.1, min = 0.05, max = 0.5, step = 0.05) ), mainPanel( uiOutput("plots_ui"), @@ -325,10 +325,10 @@ server <- function(input, output, session) { list( object = object_rv(), markers = marker_rv(), - use_columns = names(marker_rv()), + use.columns = names(marker_rv()), reduction = input$reduction, nbins = input$nbins, - group_var = input$meta_var + group.var = input$meta_var ) }) @@ -339,49 +339,49 @@ server <- function(input, output, session) { req(args$object, length(args$markers) > 0) compute_fun( object = args$object, - marker_list = args$markers, - use_columns = args$use_columns, + marker.list = args$markers, + use.columns = args$use.columns, reduction = args$reduction, nbins = args$nbins, - group_var = args$group_var) + group.var = args$group.var) }) %>% bindCache( compute_args()$object, compute_args()$markers, compute_args()$reduction, compute_args()$nbins, - compute_args()$group_var + compute_args()$group.var ) observeEvent(input$compute, { req(object_rv(), input$meta_var) - marker_list <- marker_rv() + marker.list <- marker_rv() - if (length(marker_list) == 0) { + if (length(marker.list) == 0) { showNotification("Marker table is empty. Add celltypes + genes first.", type = "error") return(NULL) } - use_columns <- names(marker_list) - celltypes_rv(use_columns) + use.columns <- names(marker.list) + celltypes_rv(use.columns) # reconcile thresholds per current celltypes old_th <- thresholds_rv() - new_th <- setNames(numeric(length(use_columns)), use_columns) - for (ct in use_columns) { + new_th <- setNames(numeric(length(use.columns)), use.columns) + for (ct in use.columns) { new_th[ct] <- if (!is.null(old_th[ct])) old_th[ct] else 0 } thresholds_rv(new_th) - present_counts <- vapply(marker_list, function(genes) + present_counts <- vapply(marker.list, function(genes) sum(genes %in% rownames(object_rv()@assays$SCT@data)), numeric(1)) if (any(present_counts == 0)) { missing <- names(present_counts)[present_counts == 0] showNotification(sprintf("Skipping celltypes with all genes missing: %s", paste(missing, collapse = ", ")), type = "warning") - marker_list <- marker_list[present_counts > 0] - use_columns <- names(marker_list) - celltypes_rv(use_columns) + marker.list <- marker.list[present_counts > 0] + use.columns <- names(marker.list) + celltypes_rv(use.columns) } # capture printed output and messages from compute @@ -390,7 +390,7 @@ server <- function(input, output, session) { sink(con); sink(con, type = "message") # decide whether to use cached compute based on marker snapshot - current_snapshot <- canonicalize_markers(marker_list) + current_snapshot <- canonicalize_markers(marker.list) use_cache <- !is.null(last_markers_snapshot()) && identical(last_markers_snapshot(), current_snapshot) res <- try({ if (use_cache) { @@ -400,11 +400,11 @@ server <- function(input, output, session) { args <- compute_args() compute_fun( object = args$object, - marker_list = args$markers, - use_columns = args$use_columns, + marker.list = args$markers, + use.columns = args$use.columns, reduction = args$reduction, nbins = args$nbins, - group_var = args$group_var + group.var = args$group.var ) } }, silent = TRUE) @@ -452,14 +452,14 @@ server <- function(input, output, session) { object = entry$object, m = entry$m, coords = entry$coords, - clusid_df = entry$clusid_df, + clusid.df = entry$clusid.df, d = entry$density, threshold = thr, - gradient_ft_size = input$gradient_size, - violin_ft_size = input$violin_size, - step_size = input$step_size, + gradient.ft.size = input$gradient_size, + violin.ft.size = input$violin_size, + step.size = input$step.size, reduction = input$reduction, - group_var = input$meta_var + group.var = input$meta_var ) p$g }) @@ -474,14 +474,14 @@ server <- function(input, output, session) { object = entry$object, m = entry$m, coords = entry$coords, - clusid_df = entry$clusid_df, + clusid.df = entry$clusid.df, d = entry$density, threshold = thr, - gradient_ft_size = input$gradient_size, - violin_ft_size = input$violin_size, - step_size = input$step_size, + gradient.ft.size = input$gradient_size, + violin.ft.size = input$violin_size, + step.size = input$step.size, reduction = input$reduction, - group_var = input$meta_var + group.var = input$meta_var ) p$g1 }) @@ -496,14 +496,14 @@ server <- function(input, output, session) { object = entry$object, m = entry$m, coords = entry$coords, - clusid_df = entry$clusid_df, + clusid.df = entry$clusid.df, d = entry$density, threshold = thr, - gradient_ft_size = input$gradient_size, - violin_ft_size = input$violin_size, - step_size = input$step_size, + gradient.ft.size = input$gradient_size, + violin.ft.size = input$violin_size, + step.size = input$step.size, reduction = input$reduction, - group_var = input$meta_var + group.var = input$meta_var ) p$g3 }) diff --git a/inst/shiny/ModuleScoreApp/app_011726.R b/inst/shiny/ModuleScoreApp/app_011726.R index a59e843..f389e8b 100644 --- a/inst/shiny/ModuleScoreApp/app_011726.R +++ b/inst/shiny/ModuleScoreApp/app_011726.R @@ -81,7 +81,7 @@ ui <- fluidPage( numericInput("nbins", "nbins", value = 10, min = 5, max = 50), numericInput("gradient_size", "Gradient axis text size", value = 6, min = 4, max = 14), numericInput("violin_size", "Violin axis text size", value = 6, min = 4, max = 14), - numericInput("step_size", "Axis step size", value = 0.1, min = 0.05, max = 0.5, step = 0.05) + numericInput("step.size", "Axis step size", value = 0.1, min = 0.05, max = 0.5, step = 0.05) ), mainPanel( uiOutput("plots_ui"), @@ -311,32 +311,32 @@ server <- function(input, output, session) { observeEvent(input$compute, { req(object_rv()) req(input$meta_var) - marker_list <- marker_rv() - if (length(marker_list) == 0) { + marker.list <- marker_rv() + if (length(marker.list) == 0) { showNotification("Marker table is empty. Add celltypes + genes first.", type = "error") return(NULL) } - use_columns <- names(marker_list) - celltypes_rv(use_columns) + use.columns <- names(marker.list) + celltypes_rv(use.columns) # reconcile thresholds per current celltypes old_th <- thresholds_rv() - new_th <- setNames(numeric(length(use_columns)), use_columns) - for (ct in use_columns) { + new_th <- setNames(numeric(length(use.columns)), use.columns) + for (ct in use.columns) { new_th[ct] <- if (!is.null(old_th[ct])) old_th[ct] else 0 } thresholds_rv(new_th) - present_counts <- vapply(marker_list, function(genes) + present_counts <- vapply(marker.list, function(genes) sum(genes %in% rownames(object_rv()@assays$SCT@data)), numeric(1)) if (any(present_counts == 0)) { missing <- names(present_counts)[present_counts == 0] showNotification(sprintf("Skipping celltypes with all genes missing: %s", paste(missing, collapse = ", ")), type = "warning") - marker_list <- marker_list[present_counts > 0] - use_columns <- names(marker_list) - celltypes_rv(use_columns) + marker.list <- marker.list[present_counts > 0] + use.columns <- names(marker.list) + celltypes_rv(use.columns) } # capture printed output and messages from compute @@ -351,10 +351,10 @@ server <- function(input, output, session) { }, add = TRUE) compute_fun <- if (has_scworkflow) getFromNamespace("compute_modscore_data", "SCWorkflow") else compute_modscore_data - res <- compute_fun(object_rv(), marker_list, use_columns, + res <- compute_fun(object_rv(), marker.list, use.columns, reduction = input$reduction, nbins = input$nbins, - group_var = input$meta_var) + group.var = input$meta_var) compute_log_rv(paste(log_lines, collapse = "\n")) if (inherits(res, "try-error")) { @@ -391,14 +391,14 @@ server <- function(input, output, session) { object = entry$object, m = entry$m, coords = entry$coords, - clusid_df = entry$clusid_df, + clusid.df = entry$clusid.df, d = entry$density, threshold = thr, - gradient_ft_size = input$gradient_size, - violin_ft_size = input$violin_size, - step_size = input$step_size, + gradient.ft.size = input$gradient_size, + violin.ft.size = input$violin_size, + step.size = input$step.size, reduction = input$reduction, - group_var = input$meta_var + group.var = input$meta_var ) p$g }) @@ -412,14 +412,14 @@ server <- function(input, output, session) { object = entry$object, m = entry$m, coords = entry$coords, - clusid_df = entry$clusid_df, + clusid.df = entry$clusid.df, d = entry$density, threshold = thr, - gradient_ft_size = input$gradient_size, - violin_ft_size = input$violin_size, - step_size = input$step_size, + gradient.ft.size = input$gradient_size, + violin.ft.size = input$violin_size, + step.size = input$step.size, reduction = input$reduction, - group_var = input$meta_var + group.var = input$meta_var ) p$g1 }) @@ -433,14 +433,14 @@ server <- function(input, output, session) { object = entry$object, m = entry$m, coords = entry$coords, - clusid_df = entry$clusid_df, + clusid.df = entry$clusid.df, d = entry$density, threshold = thr, - gradient_ft_size = input$gradient_size, - violin_ft_size = input$violin_size, - step_size = input$step_size, + gradient.ft.size = input$gradient_size, + violin.ft.size = input$violin_size, + step.size = input$step.size, reduction = input$reduction, - group_var = input$meta_var + group.var = input$meta_var ) p$g3 }) diff --git a/man/aggregateCounts.Rd b/man/aggregateCounts.Rd index 9a13397..e3f75f7 100644 --- a/man/aggregateCounts.Rd +++ b/man/aggregateCounts.Rd @@ -4,7 +4,7 @@ \alias{aggregateCounts} \title{Aggregate Counts (Pseudobulk)} \usage{ -aggregateCounts(object, var.group, slot) +aggregateCounts(object, var.group, slot = "data", interactive = FALSE) } \arguments{ \item{object}{Seurat-class object.} @@ -15,6 +15,8 @@ interaction of these columns defines the groups.} \item{slot}{Character name of the assay data layer passed to \code{AverageExpression()} (e.g., "data", "counts", or "scale.data").} + +\item{interactive}{If TRUE, draw plotly plot (default is FALSE)} } \value{ A data.frame of pseudobulk expression with columns \code{Gene} followed by @@ -31,3 +33,12 @@ group-wise average expression for each feature. Also produces a bar plot (via \code{ggplot2}/\code{plotly}) showing the number of cells per pseudobulk group and warns if any group contains only one cell. } +\examples{ +\dontrun{ +out <- aggregateCounts( + object = seurat_obj, + var.group = c("orig.ident", "condition"), + slot = "data" +) +} +} diff --git a/man/annotateCellTypes.Rd b/man/annotateCellTypes.Rd index 4ac8d7a..1f48b02 100644 --- a/man/annotateCellTypes.Rd +++ b/man/annotateCellTypes.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/Annotate_Cell_Types.R \name{annotateCellTypes} \alias{annotateCellTypes} -\title{Annotating cell types using SingleR module} +\title{Cell Type Annotation with SingleR \link{CCBR} \link{scRNA-seq}} \usage{ annotateCellTypes( object, @@ -40,10 +40,9 @@ Default is NULL} a Seurat object with additional metadata } \description{ -SingleR is an automatic annotation method for single-cell -RNA sequencing (scRNAseq) data (Aran et al. 2019). Given a reference dataset -of samples (single-cell or bulk) with known labels, it labels new cells -from a test dataset based on similarity to the reference. +Annotate the cell types of your cells using SingleR (Aran et al., 2019). This +function takes a combined Seurat object after PC reduction and assigns cells +to a category (for example, stem cells or T cells) based on genomic profile. } \details{ This function is Step 5 of the basic Single-Cell RNA-seq workflow. @@ -51,3 +50,14 @@ It is the starting point for downstream visualization, subsetting, and analysis. It takes a combined seurat object as input, such as the one created by the Combined&Renormalized function at the end of the Filter&QC Path } +\examples{ +\dontrun{ +out <- annotateCellTypes( + object = combined_so, + species = "Human", + reduction.type = "umap" +) +} + + +} diff --git a/man/colorByGene.Rd b/man/colorByGene.Rd index b73f39a..7b5724f 100644 --- a/man/colorByGene.Rd +++ b/man/colorByGene.Rd @@ -64,3 +64,14 @@ This function must be run downstream of the Sample Names function, as well as be provided a combined Seurat Object such as the one produced by the SingleR Cell Annotation function } +\examples{ +\dontrun{ +out <- colorByGene( + object = anno_so, + samples.to.include = c("sample1", "sample2"), + gene = c("CD3D", "MS4A1"), + reduction.type = "umap" +) +} + +} diff --git a/man/combineNormalize.Rd b/man/combineNormalize.Rd index cebc1d5..9f6b6be 100644 --- a/man/combineNormalize.Rd +++ b/man/combineNormalize.Rd @@ -152,3 +152,14 @@ This is Step 3 in the basic Single-Cell RNA-seq workflow. This template will summarize the multi-dimensionality of your data into a set of "principal components" to allow for easier analysis. } +\examples{ +\dontrun{ +out <- combineNormalize( + object = filtered_so_list, + npcs = 30, + draw.umap = TRUE, + draw.tsne = TRUE +) +} + +} diff --git a/man/degGeneExpressionMarkers.Rd b/man/degGeneExpressionMarkers.Rd index 8a70979..57e8c06 100644 --- a/man/degGeneExpressionMarkers.Rd +++ b/man/degGeneExpressionMarkers.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/DEG_Gene_Expression_Markers.R \name{degGeneExpressionMarkers} \alias{degGeneExpressionMarkers} -\title{DEG (Gene Expression Markers)} +\title{DE with Find Markers \link{CCBR} \link{scRNA-seq}} \usage{ degGeneExpressionMarkers( object, @@ -43,11 +43,24 @@ Default is SCT, but can use linearly scaled data by selecting RNA instead} a dataframe with DEG. } \description{ -This function performs a DEG (differential expression of genes) -analysis on a merged Seurat object to identify expression markers -between different groups of cells (contrasts). +This function performs DE (differential expression) analysis on +a merged Seurat object to identify expression markers between different +groups of cells (contrasts). } \details{ The recommended input is a merged Seurat object with SingleR annotations, along with its associated sample names and metadata +} +\examples{ +\dontrun{ +deg <- degGeneExpressionMarkers( + object = anno_so, + samples = c("sample1", "sample2"), + contrasts = c("A-B"), + parameter.to.test = "cluster" +) +} + + + } diff --git a/man/dotPlotMet.Rd b/man/dotPlotMet.Rd index ddafa78..4beeecf 100644 --- a/man/dotPlotMet.Rd +++ b/man/dotPlotMet.Rd @@ -46,3 +46,13 @@ This method provides a dotplot showing the percent frequency of gene-positive cells as size of dot and degree of expression as color of dot. } +\examples{ +\dontrun{ +p <- dotPlotMet( + object = anno_so, + metadata = "celltype", + cells = c("T cell", "B cell"), + markers = c("CD3D", "MS4A1") +) +} +} diff --git a/man/dualLabeling.Rd b/man/dualLabeling.Rd index b361cc0..2784995 100755 --- a/man/dualLabeling.Rd +++ b/man/dualLabeling.Rd @@ -2,8 +2,7 @@ % Please edit documentation in R/Dual_Labeling.R \name{dualLabeling} \alias{dualLabeling} -\title{Plot coexpression of 2 markers using transcript and/or protein -expression values} +\title{Cell Annotation with Co-Expression \link{CCBR} \link{scRNA-seq}} \usage{ dualLabeling( object, @@ -42,13 +41,13 @@ dualLabeling( \item{marker.2}{Second gene/marker for coexpression analysis} \item{marker.1.type}{Slot to use for first marker. Choices are "SCT", -"protein","HTO" (default is "SCT")} +"protein","HTO", or "Spatial" (default is "SCT")} \item{marker.2.type}{Slot to use for second marker. Choices are "SCT", -"protein","HTO" (default is "SCT")} +"protein","HTO", or "Spatial" (default is "SCT")} \item{data.reduction}{Dimension Reduction method to use for image. Options -are "umap" or "tsne" (default is "umap")} +are "umap", "tsne", or "both" (default is "both")} \item{point.size}{Point size for image (default is 0.5)} @@ -56,7 +55,7 @@ are "umap" or "tsne" (default is "umap")} \item{point.transparency}{Point transparency for image (default is 0.5)} -\item{add.marker.thresholds}{Add marker thresholds on plot (default is FALSE)} +\item{add.marker.thresholds}{Add marker thresholds on plot (default is TRUE)} \item{marker.1.threshold}{Threshold set for first marker (default is 0.5)} @@ -65,6 +64,14 @@ are "umap" or "tsne" (default is "umap")} \item{filter.data}{Add new parameter column to metadata annotating where marker thresholds are applied (default is TRUE)} +\item{marker.1.filter.direction}{Annotate cells that have gene expression levels +for marker 1 using the marker 1 threshold. Choices are "greater than" +or "less than" (default is "greater than")} + +\item{marker.2.filter.direction}{Annotate cells that have gene expression levels +for marker 2 using the marker 2 threshold. Choices are "greater than" +or "less than" (default is "greater than")} + \item{apply.filter.1}{If TRUE, apply the first filter (default is TRUE)} \item{apply.filter.2}{If TRUE, apply the second filter (default is TRUE)} @@ -73,31 +80,20 @@ marker thresholds are applied (default is TRUE)} intersection. If FALSE, apply both filters and take the union.} \item{parameter.name}{Name for metadata column for new marker filters -(Default is "Marker")} +(default is "My_CoExp")} \item{trim.marker.1}{Trim top and bottom percentile of marker 1 signal to pre-scale trim values (below) to remove extremely low and high values -(Default is TRUE)} +(default is FALSE)} \item{trim.marker.2}{Trim top and bottom percentile of marker 2 signal to pre-scale trim values (below) to remove extremely low and high values -(Default is TRUE)} +(default is FALSE)} -\item{pre.scale.trim}{Set trimming percentile values (Defalut is 0.99)} +\item{pre.scale.trim}{Set trimming percentile value (default is 0.99)} \item{display.unscaled.values}{Set to TRUE if you want to view the unscaled -gene/protein expression values (Default is FALSE)} - -\item{M1.filter.direction}{Annotate cells that have gene expression levels -for marker 1 using the marker 1 threshold. Choices are "greater than" -or "less than" (default is "greater than")} - -\item{M2.filter.direction}{Annotate cells that have gene expression levels -for marker 2 using the marker 2 threshold. Choices are "greater than" -or "less than" (default is "greater than")} - -\item{density.heatmap}{Creates a additional heatmap showing the density -distribution of cells. (Default is FALSE)} +gene/protein expression values (default is FALSE)} } \value{ a seurat object with optional additional metadata for cells that are @@ -105,9 +101,19 @@ positive or negative for gene markers, a coexpression plot and contingency table showing sum of cells filtered. } \description{ -This method provides visualization of coexpression of 2 genes -(or proteins) and additional methods for filtering for cells with gene -expression values that are above or below thresholds set for one or both -markers. The method allows for filtering (optional) of the Seurat object -using manually set expression thresholds. +Display co-expression of two chosen markers in your Seurat +object. Creates a metadata column containing annotations for cells that +correspond to marker expression thresholds. +} +\examples{ +\dontrun{ +out <- dualLabeling( + object = anno_so, + samples = c("sample1"), + marker.1 = "CD3D", + marker.2 = "MS4A1", + data.reduction = "umap" +) +} + } diff --git a/man/filterQC.Rd b/man/filterQC.Rd index 9a486b5..decaa10 100644 --- a/man/filterQC.Rd +++ b/man/filterQC.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/Filter_QC.R \name{filterQC} \alias{filterQC} -\title{Filter & QC Samples} +\title{Filter Low Quality Cells \link{CCBR} \link{scRNA-seq}} \usage{ filterQC( object, @@ -18,8 +18,8 @@ filterQC( mad.complexity.limits = c(5, NA), topNgenes.limits = c(NA, NA), mad.topNgenes.limits = c(5, 5), - n.topgnes = 20, - do.doublets.fitler = T, + n.topgenes = 20, + do.doublets.filter = TRUE, plot.outliers = "None", group.column = NA, nfeatures = 2000, @@ -29,7 +29,7 @@ filterQC( high.cut.disp = 1e+05, selection.method = "vst", npcs = 30, - vars_to_regress = NULL, + vars.to.regress = NULL, seed.for.PCA = 42, seed.for.TSNE = 1, seed.for.UMAP = 42 @@ -113,30 +113,31 @@ Usage c(lower limit, Upper Limit). E.g. setting to c(NA,50) will not set a lower limit and remove cells with greater than 50\% of reads in the top N genes. (Default: c(NA,NA))} -\item{n.topgnes}{Select the number of top highly expressed genes used to +\item{mad.topNgenes.limits}{Filter limits based on how many Median +Absolute Deviations an outlier cell will have. Calculated from the Median +percentage of counts in the top N Genes. +Usage c(lower limit, Upper Limit). E.g. setting to c(5,5) will remove all +cells with more than 5 absolute deviations greater than or 5 absolute +deviations less than the median percentage. (Default: c(5,5))} + +\item{n.topgenes}{Select the number of top highly expressed genes used to calculate the percentage of reads found in these genes. E.g. a value of 20 calculates the percentage of reads found in the top 20 most highly expressed Genes. (Default: 20)} -\item{do.doublets.fitler}{Use scDblFinder to identify and remove doublet +\item{do.doublets.filter}{Use scDblFinder to identify and remove doublet cells. Doublets are defined as two cells that are sequenced under the same cellular barcode, for example, if they were captured in the same droplet. (Default: TRUE)} - -\item{mad.topNgenes.limitsSet}{Filter limits based on how many Median -Absolute Deviations an outlier cell will have. Calculated from the Median -percentage of counts in the top N Genes. -Usage c(lower limit, Upper Limit). E.g. setting to c(5,5) will remove all -cells with more than 5 absolute deviations greater than or 5 absolute -deviations less than the median percentage. (Default: c(5,5))} } \value{ Seurat Object and QC plots } \description{ -Filters cells and Genes for each sample and generates QC Plots -to evaluate data before and after filtering. +Filters cells and genes across various criteria for each sample. +Multiple cell and gene filters can be selected to remove poor quality data +and noise while generating QC plots before and after filtering. } \details{ This is Step 2 in the basic Single-Cell RNA-seq workflow. Multiple @@ -144,3 +145,14 @@ cell and gene filters can be selected to remove poor quality data and noise. Workflows can use this downstream of any Seurat Object. This tool is typically the second step in the Single Cell Workflow. } +\examples{ +\dontrun{ +out <- filterQC( + object = so_list, + min.cells = 20, + n.topgenes = 20, + do.doublets.filter = TRUE +) +} + +} diff --git a/man/filterSeuratObjectByMetadata.Rd b/man/filterSeuratObjectByMetadata.Rd index 9ec408c..3049a0a 100644 --- a/man/filterSeuratObjectByMetadata.Rd +++ b/man/filterSeuratObjectByMetadata.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/Filter_Seurat_Object_by_Metadata.R \name{filterSeuratObjectByMetadata} \alias{filterSeuratObjectByMetadata} -\title{Filter Seurat Object by Metadata} +\title{Subset Seurat Object \link{CCBR} \link{scRNA-seq}} \usage{ filterSeuratObjectByMetadata( object, @@ -89,9 +89,23 @@ from CITEseq instead of scRNA.} a subset Seurat object } \description{ -Filter and subset your Seurat object based on metadata column +This function subsets your Seurat object by selecting a +metadata column and values matching the cells to pass forward in analysis. } \details{ This is a downstream template that should be loaded after Step 5 of the pipeline (SingleR Annotations on Seurat Object) } +\examples{ +\dontrun{ +out <- filterSeuratObjectByMetadata( + object = anno_so, + samples.to.include = c("sample1", "sample2"), + sample.name = "orig.ident", + category.to.filter = "celltype", + values.to.filter = c("T cell", "B cell") +) +} + + +} diff --git a/man/object.Rd b/man/harmonyBatchCorrect.Rd similarity index 74% rename from man/object.Rd rename to man/harmonyBatchCorrect.Rd index b89c2aa..7f6a108 100644 --- a/man/object.Rd +++ b/man/harmonyBatchCorrect.Rd @@ -1,17 +1,21 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/Harmony.R -\docType{data} -\name{object} -\alias{object} +\name{harmonyBatchCorrect} +\alias{harmonyBatchCorrect} \title{Harmony Batch Correction from Singular Value Decomposed PCA} -\format{ -An object of class \code{Seurat} with 3000 rows and 2000 columns. -} \usage{ -object +harmonyBatchCorrect( + object, + nvar = 2000, + genes.to.add = c(), + group.by.var, + return.lognorm = T, + npc = 30 +) } \arguments{ -\item{seurat_object}{Seurat-class object} +\item{object}{Seurat-class object containing gene expression data and +metadata with the batch variable.} \item{nvar}{Number of variable genes to subset the gene expression data by (Default: 2000)} @@ -22,6 +26,9 @@ expressed genes} \item{group.by.var}{Which variable should be accounted for when running batch correction} +\item{return.lognorm}{Logical; if TRUE, retain log-normalized assay behavior +in downstream handling. (Default: TRUE)} + \item{npc}{Number of principal components to use when running Harmony (Default: 20)} } @@ -50,4 +57,3 @@ harmonyBatchCorrect( ) } } -\keyword{datasets} diff --git a/man/heatmapSC.Rd b/man/heatmapSC.Rd index 278d3a4..351c608 100644 --- a/man/heatmapSC.Rd +++ b/man/heatmapSC.Rd @@ -9,7 +9,7 @@ heatmapSC( sample.names, metadata, transcripts, - use_assay = "SCT", + use.assay = "SCT", proteins = NULL, heatmap.color = "Bu Yl Rd", plot.title = "Heatmap", @@ -40,6 +40,9 @@ heatmapSC( \item{transcripts}{Transcripts to plot} +\item{use.assay}{Assay to use for transcript expression values. Choices are +"SCT" or "Harmony" (default is "SCT")} + \item{proteins}{Proteins to plot (default is NULL)} \item{heatmap.color}{Color for heatmap. Choices are "Cyan to Mustard", @@ -78,8 +81,8 @@ heatmapSC( \item{order.heatmap.rows}{Order heatmap rows (default is FALSE)} -\item{row.order}{Gene vector to set row order. If NULL, use cluster order -(default is NULL)} +\item{row.order}{Gene vector to set row order. If empty, use cluster order +(default is empty vector)} } \value{ This function returns a heatmap plot and the data underlying the @@ -90,3 +93,14 @@ This method provides a heatmap of single cell data from a Seurat object given a set of genes and optionally orders by various metadata and/or gene or protein expression levels. Method is based on ComplexHeatmap::pheatmap } +\examples{ +\dontrun{ +out <- heatmapSC( + object = anno_so, + sample.names = c("sample1", "sample2"), + metadata = "celltype", + transcripts = c("CD3D", "MS4A1") +) +} + +} diff --git a/man/modScore.Rd b/man/modScore.Rd index c96c277..86b7c5b 100644 --- a/man/modScore.Rd +++ b/man/modScore.Rd @@ -7,9 +7,9 @@ modScore( object, marker.table, - group_var = "orig.ident", - use_columns, - ms_threshold, + group.var = "orig.ident", + use.columns, + ms.threshold, general.class, multi.lvl = FALSE, lvl.df = NULL, @@ -30,12 +30,15 @@ as the column names, and marker(s) as the entries in each column. Requires SCT@data to be present within Seurat Object} -\item{use_columns}{Select specific columns within Marker Table to analyze. +\item{group.var}{Metadata column used for grouping in diagnostic plots. +(Default: "orig.ident")} + +\item{use.columns}{Select specific columns within Marker Table to analyze. Markers from unselected columns won't be included.} -\item{ms_threshold}{Allow user-specified module score thresholds. +\item{ms.threshold}{Allow user-specified module score thresholds. Provide one threshold for each Celltype you included -in the "use_columns" parameter. +in the "use.columns" parameter. For each Celltype, provide the Celltype name, then a space, then type your threshold for that Celltype. This threshold must be a number between 0.0 and 1.0. @@ -107,8 +110,8 @@ control features are randomly selected from each bin. modScore( object = seuratObject, marker.table = immuneCellMarkers, - use_columns = c("CD4_T", "Treg", "Monocytes"), - ms_threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), + use.columns = c("CD4_T", "Treg", "Monocytes"), + ms.threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), general.class = c("CD4_T", "Monocytes"), multi.lvl = FALSE ) @@ -116,8 +119,8 @@ modScore( modScore( object = seuratObject, marker.table = immuneCellMarkers, - use_columns = c("CD4_T", "Treg", "Monocytes"), - ms_threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), + use.columns = c("CD4_T", "Treg", "Monocytes"), + ms.threshold = c("CD4_T 0.1", "Treg 0.4", "Monocytes 0.3"), general.class = c("CD4_T", "Monocytes"), multi.lvl = TRUE, lvl.df = parentChildTable diff --git a/man/modscore-imports.Rd b/man/modscore-imports.Rd index 20de3c0..d92ec0d 100644 --- a/man/modscore-imports.Rd +++ b/man/modscore-imports.Rd @@ -2,8 +2,30 @@ % Please edit documentation in R/ModuleScoreHelpers.R \name{modscore-imports} \alias{modscore-imports} +\alias{compute_modscore_data} \title{Helpers for ModuleScore Shiny app} +\usage{ +compute_modscore_data( + object, + marker.list, + use.columns, + reduction = c("tsne", "umap", "pca"), + nbins = 10, + group.var = "orig.ident" +) +} \description{ Precompute module scores per celltype and build plots from cached data. +} +\examples{ +\dontrun{ +res <- compute_modscore_data( + object = seurat_obj, + marker.list = list(Tcell = c("CD3D", "TRBC1")), + use.columns = c("Tcell"), + reduction = "umap" +) +} + } \keyword{internal} diff --git a/man/nameClusters.Rd b/man/nameClusters.Rd index 7450146..5366678 100644 --- a/man/nameClusters.Rd +++ b/man/nameClusters.Rd @@ -7,11 +7,11 @@ provide plot with percentage of cell types} \usage{ nameClusters( object, + cluster.column, + labels.column, cluster.identities.table, cluster.numbers, cluster.names, - cluster.column, - labels.column, order.clusters.by = NULL, order.celltypes.by = NULL, interactive = FALSE @@ -21,17 +21,21 @@ nameClusters( \item{object}{Seurat-class object with cluster IDs column and cell type column present} -\item{cluster.numbers}{Vector containing cluster numbers that match the -(numeric) cluster ID's in the cluster.column in Seurat Object metadata} - -\item{cluster.names}{Vector containing custom cluster labels} - \item{cluster.column}{Column name containing cluster ID in the metadata slot in the object} \item{labels.column}{Column name containing labels (usually cell type) in the metadata slot in the object} +\item{cluster.identities.table}{Data frame containing cluster IDs and custom +cluster labels} + +\item{cluster.numbers}{Column name in cluster.identities.table +containing cluster numbers that match values in cluster.column} + +\item{cluster.names}{Column name in cluster.identities.table +containing custom cluster labels} + \item{order.clusters.by}{Vector containing order of clusters in graph. Can contain a subset of cluster numbers to plot that match at least some of the values in the cluster.column. If NULL, use default order @@ -52,3 +56,19 @@ Maps custom cluster names to Seurat Object cluster IDs and adds cluster names to a new metadata column called \emph{Clusternames}. Provides a dotplot of percentage of cell types within each cluster. } +\examples{ +\dontrun{ +map_tbl <- data.frame( + cluster_id = c("0", "1"), + label = c("T cell", "B cell") +) +out <- nameClusters( + object = anno_so, + cluster.column = "seurat_clusters", + labels.column = "celltype", + cluster.identities.table = map_tbl, + cluster.numbers = "cluster_id", + cluster.names = "label" +) +} +} diff --git a/man/plotMetadata.Rd b/man/plotMetadata.Rd index 3c9f084..1a47435 100644 --- a/man/plotMetadata.Rd +++ b/man/plotMetadata.Rd @@ -59,3 +59,14 @@ For each column selected, this template will produce a plot This is a downstream template for the Single-cell RNA-seq workflow (requires dataset where Filter/QC/SingleR annotations have been run first) } +\examples{ +\dontrun{ +out <- plotMetadata( + object = anno_so, + samples.to.include = c("sample1", "sample2"), + metadata.to.plot = c("celltype", "orig.ident"), + columns.to.summarize = c(), + reduction.type = "umap" +) +} +} diff --git a/man/processRawData.Rd b/man/processRawData.Rd index 40b2bf0..609da0a 100644 --- a/man/processRawData.Rd +++ b/man/processRawData.Rd @@ -71,3 +71,12 @@ This is Step 1 in the basic Single-Cell RNA-seq workflow. Returns data as a Seurat Object, the basic data structure for Seurat Single Cell analysis. } +\examples{ +\dontrun{ +out <- processRawData( + input = c("sample1_filtered_feature_bc_matrix.h5"), + organism = "Human", + do.normalize.data = TRUE +) +} +} diff --git a/man/tSNE3D.Rd b/man/tSNE3D.Rd index 34459d3..714d41f 100755 --- a/man/tSNE3D.Rd +++ b/man/tSNE3D.Rd @@ -37,8 +37,23 @@ tSNE3D( \item{npcs}{Number of principal components used for tSNE calculations (default is 15)} } +\value{ +A list with a plotly 3D TSNE plot (\code{figure}) and TSNE coordinates +(\code{tsne.df}). +} \description{ This method provides visualization of 3D-tSNE plot given a Seurat Object and returns a plotly plot and a dataframe of TSNE coordinates. It optionally saves the plotly image embedded in an html file. } +\examples{ +\dontrun{ +out <- tSNE3D( + object = seurat_obj, + color.variable = "cell_type", + label.variable = "orig.ident", + npcs = 15, + save.plot = FALSE +) +} +} diff --git a/man/violinPlot.Rd b/man/violinPlot.Rd index 3a60cd9..39f6977 100644 --- a/man/violinPlot.Rd +++ b/man/violinPlot.Rd @@ -10,12 +10,12 @@ violinPlot( layer, genes, group, - facet_by = "", - filter_outliers = F, - outlier_low = 0.05, - outlier_high = 0.95, - jitter_points, - jitter_dot_size + facet.by = "", + filter.outliers = F, + outlier.low = 0.05, + outlier.high = 0.95, + jitter.points, + jitter.dot.size ) } \arguments{ @@ -29,17 +29,17 @@ violinPlot( \item{group}{Split violin plot based on metadata group} -\item{facet_by}{Split violin plot based on a second metadata group} +\item{facet.by}{Split violin plot based on a second metadata group} -\item{filter_outliers}{Filter outliers from the data (TRUE/FALSE)} +\item{filter.outliers}{Filter outliers from the data (TRUE/FALSE)} -\item{outlier_low}{Filter lower bound outliers (Default = 0.05)} +\item{outlier.low}{Filter lower bound outliers (Default = 0.05)} -\item{outlier_high}{Filter upper bound outliers (Default = 0.95)} +\item{outlier.high}{Filter upper bound outliers (Default = 0.95)} -\item{jitter_points}{Scatter points on the plot (TRUE/FALSE)} +\item{jitter.points}{Scatter points on the plot (TRUE/FALSE)} -\item{jitter_dot_size}{Set size of individual points} +\item{jitter.dot.size}{Set size of individual points} } \value{ violin ggplot2 object @@ -60,10 +60,10 @@ violinPlot( layer = "data", genes = c("Cd4", "Cd8a"), group = "celltype", - facet_by = "orig.ident", - filter_outliers = TRUE, - jitter_points = TRUE, - jitter_dot_size = 0.5 + facet.by = "orig.ident", + filter.outliers = TRUE, + jitter.points = TRUE, + jitter.dot.size = 0.5 ) } } diff --git a/test_workflow_from_Harmony.R b/test_workflow_from_Harmony.R index 8aebda4..594c474 100644 --- a/test_workflow_from_Harmony.R +++ b/test_workflow_from_Harmony.R @@ -126,12 +126,12 @@ source('/data/bianjh/SCWorkflow/R/Violin_Plots_by_Metadata.R') group = "orig_ident" assay = 'Harmony' slot = 'scale.data' -jitter_points = T -jitter_dot_size = 4 -filter_outliers = F -outlier_low = 0.05 -outlier_high = 0.95 -facet_by = "" +jitter.points = T +jitter.dot.size = 4 +filter.outliers = F +outlier.low = 0.05 +outlier.high = 0.95 +facet.by = "" set.seed(82) genes = sample(rownames(object$Harmony@scale.data), 5, replace = FALSE) @@ -141,12 +141,12 @@ violinPlot_mod(harm_object, slot, genes, group, - facet_by = "", - filter_outliers = F, - outlier_low = 0.05, - outlier_high = 0.95, - jitter_points, - jitter_dot_size) + facet.by = "", + filter.outliers = F, + outlier.low = 0.05, + outlier.high = 0.95, + jitter.points, + jitter.dot.size) source('/data/bianjh/SCWorkflow/R/Heatmap.R') diff --git a/tests/testthat/helper-Filter_QC.R b/tests/testthat/helper-Filter_QC.R index e50467f..4c51219 100644 --- a/tests/testthat/helper-Filter_QC.R +++ b/tests/testthat/helper-Filter_QC.R @@ -47,5 +47,6 @@ getParamFQ <- function(data){ return(list("object" = object, "mad.mitoch.limits" = mad.mitoch.limits, - "mitoch.limits" = mitoch.limits)) + "mitoch.limits" = mitoch.limits, + "do.doublets.filter" = TRUE)) } diff --git a/tests/testthat/helper-ModuleScore.R b/tests/testthat/helper-ModuleScore.R index 94eae64..f151868 100755 --- a/tests/testthat/helper-ModuleScore.R +++ b/tests/testthat/helper-ModuleScore.R @@ -4,8 +4,8 @@ getModuleScoreParam <- function(data){ object = selectCRObject("TEC") marker.table = read.csv(test_path("fixtures", "Marker_Table_demo.csv")) - ms_threshold = paste(colnames(marker.table)[1:3], rep(0, ncol(marker.table))) - use_columns = colnames(marker.table)[1:3] + ms.threshold = paste(colnames(marker.table)[1:3], rep(0, ncol(marker.table))) + use.columns = colnames(marker.table)[1:3] general.class = colnames(marker.table)[1:3] # lvl.vec = c('Pan_Tcells-CD4_T-Tregs','Pan_Tcells-CD4_T-New','Pan_Tcells-CD8_T') @@ -13,8 +13,8 @@ getModuleScoreParam <- function(data){ object = selectCRObject("Chariou") marker.table = read.csv(test_path("fixtures", "Marker_Table_demo.csv")) - ms_threshold = paste(colnames(marker.table)[1:3], rep(0, ncol(marker.table))) - use_columns = colnames(marker.table)[1:3] + ms.threshold = paste(colnames(marker.table)[1:3], rep(0, ncol(marker.table))) + use.columns = colnames(marker.table)[1:3] general.class = colnames(marker.table)[1:3] # lvl.vec = c('Pan_Tcells-CD4_T-Tregs','Pan_Tcells-CD4_T-New','Pan_Tcells-CD8_T') @@ -28,8 +28,8 @@ getModuleScoreParam <- function(data){ replace = FALSE), rand_type3 = sample(rownames(object), 5, replace = FALSE)) - ms_threshold = paste(colnames(marker.table), rep(0, ncol(marker.table))) - use_columns = colnames(marker.table) + ms.threshold = paste(colnames(marker.table), rep(0, ncol(marker.table))) + use.columns = colnames(marker.table) general.class = colnames(marker.table) # lvl.vec = c('Pan_Tcells-CD4_T-Tregs','Pan_Tcells-CD4_T-New','Pan_Tcells-CD8_T') @@ -43,8 +43,8 @@ getModuleScoreParam <- function(data){ replace = FALSE), rand_type3 = sample(rownames(object), 5, replace = FALSE)) - ms_threshold = paste(colnames(marker.table), rep(0, ncol(marker.table))) - use_columns = colnames(marker.table) + ms.threshold = paste(colnames(marker.table), rep(0, ncol(marker.table))) + use.columns = colnames(marker.table) general.class = colnames(marker.table) # lvl.vec = c('Pan_Tcells-CD4_T-Tregs','Pan_Tcells-CD4_T-New','Pan_Tcells-CD8_T') @@ -58,19 +58,19 @@ getModuleScoreParam <- function(data){ replace = FALSE), rand_type3 = sample(rownames(object), 5, replace = FALSE)) - ms_threshold = paste(colnames(marker.table), rep(0, ncol(marker.table))) - use_columns = colnames(marker.table) + ms.threshold = paste(colnames(marker.table), rep(0, ncol(marker.table))) + use.columns = colnames(marker.table) general.class = colnames(marker.table) # lvl.vec = c('Pan_Tcells-CD4_T-Tregs','Pan_Tcells-CD4_T-New','Pan_Tcells-CD8_T') } return(list("object" = object, - "ms_threshold"= ms_threshold, + "ms.threshold"= ms.threshold, # "lvl.vec" = lvl.vec, "marker.table" = marker.table, "general.class" = general.class, - "use_columns"=use_columns + "use.columns"=use.columns )) } diff --git a/tests/testthat/helper-Name_Clusters_by_Enriched_Cell_Type.R b/tests/testthat/helper-Name_Clusters_by_Enriched_Cell_Type.R index b120053..5f68ff7 100644 --- a/tests/testthat/helper-Name_Clusters_by_Enriched_Cell_Type.R +++ b/tests/testthat/helper-Name_Clusters_by_Enriched_Cell_Type.R @@ -37,11 +37,18 @@ getParamsNameClus <- function(data){ labels.column <- "BP_encode" } + cluster.identities.table <- data.frame( + OriginalClusterIDs = cluster.numbers, + NewClusterNames = cluster.names, + stringsAsFactors = FALSE + ) + return(list("object" = object, - "cluster.numbers" = cluster.numbers, - "cluster.names" = cluster.names, "cluster.column" = cluster.column, - "labels.column" = labels.column + "labels.column" = labels.column, + "cluster.identities.table" = cluster.identities.table, + "cluster.numbers" = "OriginalClusterIDs", + "cluster.names" = "NewClusterNames" )) } diff --git a/tests/testthat/helper-Violin_Plots_by_Metadata.R b/tests/testthat/helper-Violin_Plots_by_Metadata.R index 1d73564..b80468c 100755 --- a/tests/testthat/helper-Violin_Plots_by_Metadata.R +++ b/tests/testthat/helper-Violin_Plots_by_Metadata.R @@ -8,12 +8,12 @@ selectViolin <- function(dataset) { group = "orig_ident" assay = 'SCT' layer = 'scale.data' - jitter_points = T - jitter_dot_size = 4 - filter_outliers = F - outlier_low = 0.05 - outlier_high = 0.95 - facet_by = "" + jitter.points = T + jitter.dot.size = 4 + filter.outliers = F + outlier.low = 0.05 + outlier.high = 0.95 + facet.by = "" set.seed(81) genes = sample(rownames(Seurat::GetAssayData(object, assay = assay, layer = layer)), 5, replace = FALSE) @@ -23,12 +23,12 @@ selectViolin <- function(dataset) { group = "orig_ident" assay = 'SCT' layer = 'scale.data' - jitter_points = T - jitter_dot_size = 4 - filter_outliers = F - outlier_low = 0.05 - outlier_high = 0.95 - facet_by = "" + jitter.points = T + jitter.dot.size = 4 + filter.outliers = F + outlier.low = 0.05 + outlier.high = 0.95 + facet.by = "" set.seed(82) genes = sample(rownames(Seurat::GetAssayData(object, assay = assay, layer = layer)), 5, replace = FALSE) @@ -39,12 +39,12 @@ selectViolin <- function(dataset) { # group = "orig_ident" # assay = 'SCT' # slot = 'scale.data' - # jitter_points = T - # jitter_dot_size = 4 - # filter_outliers = F - # outlier_low = 0.05 - # outlier_high = 0.95 - # facet_by = "" + # jitter.points = T + # jitter.dot.size = 4 + # filter.outliers = F + # outlier.low = 0.05 + # outlier.high = 0.95 + # facet.by = "" # set.seed(821) # genes.of.interest = sample(rownames(object$SCT@scale.data), 5, # replace = FALSE) @@ -56,12 +56,12 @@ selectViolin <- function(dataset) { # group = "orig_ident" # assay = 'SCT' # slot = 'scale.data' - # jitter_points = T - # jitter_dot_size = 4 - # filter_outliers = F - # outlier_low = 0.05 - # outlier_high = 0.95 - # facet_by = "" + # jitter.points = T + # jitter.dot.size = 4 + # filter.outliers = F + # outlier.low = 0.05 + # outlier.high = 0.95 + # facet.by = "" # set.seed(822) # genes.of.interest = sample(rownames(object$SCT@scale.data), 5, # replace = FALSE) @@ -72,12 +72,12 @@ selectViolin <- function(dataset) { group = "orig_ident" assay = 'SCT' layer = 'scale.data' - jitter_points = T - jitter_dot_size = 4 - filter_outliers = F - outlier_low = 0.05 - outlier_high = 0.95 - facet_by = "" + jitter.points = T + jitter.dot.size = 4 + filter.outliers = F + outlier.low = 0.05 + outlier.high = 0.95 + facet.by = "" set.seed(83) genes = sample(rownames(Seurat::GetAssayData(object, assay = assay, layer = layer)), 5, replace = FALSE) @@ -89,12 +89,12 @@ selectViolin <- function(dataset) { group = "orig_ident" assay = 'SCT' layer = 'scale.data' - jitter_points = T - jitter_dot_size = 4 - filter_outliers = F - outlier_low = 0.05 - outlier_high = 0.95 - facet_by = "" + jitter.points = T + jitter.dot.size = 4 + filter.outliers = F + outlier.low = 0.05 + outlier.high = 0.95 + facet.by = "" set.seed(84) genes = sample(rownames(Seurat::GetAssayData(object, assay = assay, layer = layer)), 5, replace = FALSE) @@ -105,12 +105,12 @@ selectViolin <- function(dataset) { group = "orig_ident" assay = 'SCT' layer = 'scale.data' - jitter_points = T - jitter_dot_size = 4 - filter_outliers = F - outlier_low = 0.05 - outlier_high = 0.95 - facet_by = "" + jitter.points = T + jitter.dot.size = 4 + filter.outliers = F + outlier.low = 0.05 + outlier.high = 0.95 + facet.by = "" set.seed(85) genes = sample(rownames(Seurat::GetAssayData(object, assay = assay, layer = layer)), 5, replace = FALSE)} @@ -119,8 +119,8 @@ selectViolin <- function(dataset) { "group" = group, "assay" = assay, "layer" = layer, - "jitter_points" = jitter_points, - "jitter_dot_size" = jitter_dot_size, + "jitter.points" = jitter.points, + "jitter.dot.size" = jitter.dot.size, "genes" = genes)) } diff --git a/tests/testthat/test-3D_tSNE.R b/tests/testthat/test-3D_tSNE.R index 1910076..a2c4bdc 100644 --- a/tests/testthat/test-3D_tSNE.R +++ b/tests/testthat/test-3D_tSNE.R @@ -8,7 +8,7 @@ test_that("Produce 3D tsne plot and return tsne coordinates - TEC Data", { cr.object <- getParam3D("TEC") output <- do.call(tSNE3D, cr.object) - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -39,7 +39,7 @@ test_that("Produce 3D tsne plot and return tsne coordinates - Chariou Data", { cr.object <- getParam3D("Chariou") output <- do.call(tSNE3D, cr.object) - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -53,7 +53,7 @@ test_that("Produce 3D tsne plot and return tsne coordinates - Chariou Data", { test_that("Produce 3D tsne plot and return tsne - PBMC-single Data", { cr.object <- getParam3D("pbmc-single") output <- do.call(tSNE3D, cr.object) - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -67,7 +67,7 @@ test_that("Produce 3D tsne plot and return tsne - NSCLC-multi Data", { cr.object <- getParam3D("nsclc-multi") output <- do.call(tSNE3D, cr.object) - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -81,7 +81,7 @@ test_that("Produce 3D tsne plot and return tsne - BRCA Data", { cr.object <- getParam3D("BRCA") output <- do.call(tSNE3D, cr.object) - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() diff --git a/tests/testthat/test-AggregateCounts.R b/tests/testthat/test-AggregateCounts.R index c4ab048..e626dc3 100644 --- a/tests/testthat/test-AggregateCounts.R +++ b/tests/testthat/test-AggregateCounts.R @@ -7,14 +7,14 @@ test_that("aggregateCounts returns pseudobulk with sanitized group columns", { slot = "data" ) - expect_true(is.data.frame(res)) - expect_true("Gene" %in% colnames(res)) + expect_true(is.data.frame(res$data)) + expect_true("Gene" %in% colnames(res$data)) # Row names are not relied upon; ensure Gene column exists instead meta_groups <- unique(as.character(obj$orig.ident)) expected_cols <- gsub("\\W", "_", meta_groups) - expect_setequal(setdiff(colnames(res), "Gene"), expected_cols) + expect_setequal(setdiff(colnames(res$data), "Gene"), expected_cols) }) test_that("aggregateCounts warns for singleton groups", { @@ -36,7 +36,7 @@ test_that("aggregateCounts warns for singleton groups", { # Ensure the new singleton group column exists (sanitized) expected_col <- gsub("\\W", "_", orig[1]) - expect_true(expected_col %in% colnames(res)) + expect_true(expected_col %in% colnames(res$data)) }) test_that("aggregateCounts errors for non-categorical var.group", { diff --git a/tests/testthat/test-Annotate_Cell_Types.R b/tests/testthat/test-Annotate_Cell_Types.R index e133f20..7c6e516 100644 --- a/tests/testthat/test-Annotate_Cell_Types.R +++ b/tests/testthat/test-Annotate_Cell_Types.R @@ -19,7 +19,7 @@ test_that("Annotate_Cell_Types run with normal parameters - Mouse TEC Data", expect_snapshot_file("output", "TEC_annotateCellTypes.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -45,7 +45,7 @@ test_that("Annotate_Cell_Types run with reduction type TSNE - Mouse TEC Data", expect_snapshot_file("output", "TEC_annotateCellTypes.tsne.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -71,7 +71,7 @@ test_that("Test Annotate Cell Types with FineTuning - Mouse TEC dataset", { expect_snapshot_file("output", "TEC_annotateCellTypes.fine.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -96,7 +96,7 @@ test_that("Annotate_Cell_Types run with normal parameters - Chariou Data", { expect_snapshot_file("output", "Chariou_annotateCellTypes.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -122,7 +122,7 @@ test_that("Annotate_Cell_Types run with normal parameters - PBMC-single Data", expect_snapshot_file("output", "PBMCsingle_annotateCellTypes.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -147,7 +147,7 @@ test_that("Annotate_Cell_Types run with normal parameters - NSCLC-multi Data", expect_snapshot_file("output", "NSCLCmulti_annotateCellTypes.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -171,6 +171,6 @@ test_that("Annotate_Cell_Types run with normal parameters - BRCA Data", { expect_snapshot_file("output", "BRCA_annotateCellTypes.p2.png") expect_type(output, "list") - expected.elements = c("object", "p1", "p2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) diff --git a/tests/testthat/test-Color_by_Gene.R b/tests/testthat/test-Color_by_Gene.R index 2295d72..dc3c3f7 100644 --- a/tests/testthat/test-Color_by_Gene.R +++ b/tests/testthat/test-Color_by_Gene.R @@ -4,7 +4,7 @@ test_that("Color by Gene using TEC (Mouse) dataset with normal parameters", { ggsave( "output/TEC_colbygeneplot_Gapdh.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) @@ -12,14 +12,14 @@ test_that("Color by Gene using TEC (Mouse) dataset with normal parameters", { ggsave( "output/TEC_colbygeneplot_Il2ra.png", - output$plot[[2]], + output$plots[[2]], width = 10, height = 10 ) expect_snapshot_file("output", "TEC_colbygeneplot_Il2ra.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) @@ -29,14 +29,14 @@ test_that("Color by Gene using Chariou (Mouse) dataset", { ggsave( "output/Chariou_colbygeneplot_Gapdh.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) expect_snapshot_file("output", "Chariou_colbygeneplot_Gapdh.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) @@ -47,14 +47,14 @@ test_that("Color by Gene using BRCA (Human) dataset", { ggsave( "output/BRCA_colbygeneplot_PARP8.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) expect_snapshot_file("output", "BRCA_colbygeneplot_PARP8.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) @@ -65,7 +65,7 @@ test_that("Test Annotate Cell Types using NSCLCmulti (Human) dataset", { ggsave( "output/NSCLCmulti_colbygeneplot_AMER2.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) @@ -73,7 +73,7 @@ test_that("Test Annotate Cell Types using NSCLCmulti (Human) dataset", { ggsave( "output/NSCLCmulti_colbygeneplot_CD9.png", - output$plot[[2]], + output$plots[[2]], width = 10, height = 10 ) @@ -81,14 +81,14 @@ test_that("Test Annotate Cell Types using NSCLCmulti (Human) dataset", { ggsave( "output/NSCLCmulti_colbygeneplot_CEBPD.png", - output$plot[[3]], + output$plots[[3]], width = 10, height = 10 ) expect_snapshot_file("output", "NSCLCmulti_colbygeneplot_CEBPD.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) @@ -100,14 +100,14 @@ test_that("Test Annotate Cell Types using PBMCsingle (Human) dataset", { ggsave( "output/PBMCsingle_colbygeneplot_MYC.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) expect_snapshot_file("output", "PBMCsingle_colbygeneplot_MYC.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) @@ -120,7 +120,7 @@ test_that("Color by Gene using TEC (Mouse) dataset, TSNE", { ggsave( "output/TEC_colbygeneplot_Gapdh.tsne.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) @@ -128,14 +128,14 @@ test_that("Color by Gene using TEC (Mouse) dataset, TSNE", { ggsave( "output/TEC_colbygeneplot_Il2ra.tsne.png", - output$plot[[2]], + output$plots[[2]], width = 10, height = 10 ) expect_snapshot_file("output", "TEC_colbygeneplot_Il2ra.tsne.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) @@ -148,7 +148,7 @@ test_that("Color by Gene using TEC (Mouse) dataset, Blue color", { ggsave( "output/TEC_colbygeneplot_Gapdh.tsne.png", - output$plot[[1]], + output$plots[[1]], width = 10, height = 10 ) @@ -156,13 +156,13 @@ test_that("Color by Gene using TEC (Mouse) dataset, Blue color", { ggsave( "output/TEC_colbygeneplot_Il2ra.tsne.png", - output$plot[[2]], + output$plots[[2]], width = 10, height = 10 ) expect_snapshot_file("output", "TEC_colbygeneplot_Il2ra.blue.png") expect_type(output, "list") - expected.elements <- c("object", "plot") + expected.elements <- c("data", "plots") expect_setequal(names(output), expected.elements) }) diff --git a/tests/testthat/test-Color_by_Genes_Automatic.R b/tests/testthat/test-Color_by_Genes_Automatic.R index a66708d..b4c11f8 100644 --- a/tests/testthat/test-Color_by_Genes_Automatic.R +++ b/tests/testthat/test-Color_by_Genes_Automatic.R @@ -16,14 +16,15 @@ test_that("Color by Genes Automatic works for TEC data", { # ) expect_true(is.list(cbg.demo)) - expect_setequal(names(cbg.demo), c("overall", "celltype", "manual_entry")) - expect_true(is.list(cbg.demo$overall)) - expect_true(is.list(cbg.demo$celltype)) - expect_gt(length(cbg.demo$overall), 0) - expect_gt(length(cbg.demo$celltype), 0) - expect_true(grid::is.grob(cbg.demo$overall[[1]])) - expect_true(grid::is.grob(cbg.demo$celltype[[1]])) - expect_true(is.null(cbg.demo$manual_entry) || grid::is.grob(cbg.demo$manual_entry)) + expect_setequal(names(cbg.demo), c("plots")) + expect_setequal(names(cbg.demo$plots), c("overall", "celltype", "manual_entry")) + expect_true(is.list(cbg.demo$plots$overall)) + expect_true(is.list(cbg.demo$plots$celltype)) + expect_gt(length(cbg.demo$plots$overall), 0) + expect_gt(length(cbg.demo$plots$celltype), 0) + expect_true(grid::is.grob(cbg.demo$plots$overall[[1]])) + expect_true(grid::is.grob(cbg.demo$plots$celltype[[1]])) + expect_true(is.null(cbg.demo$plots$manual_entry) || grid::is.grob(cbg.demo$plots$manual_entry)) }) test_that("Color by Genes Automatic works for Chariou data", { @@ -43,15 +44,15 @@ test_that("Color by Genes Automatic works for Chariou data", { # ) expect_true(is.list(cbg.demo)) - expect_setequal(names(cbg.demo), c("overall", "celltype", "manual_entry")) - expect_true(is.list(cbg.demo$overall)) - expect_true(is.list(cbg.demo$celltype)) - expect_gt(length(cbg.demo$overall), 0) - expect_gt(length(cbg.demo$celltype), 0) - expect_true(grid::is.grob(cbg.demo$overall[[1]])) - expect_true(grid::is.grob(cbg.demo$celltype[[1]])) - expect_true(is.null(cbg.demo$manual_entry) || grid::is.grob(cbg.demo$manual_entry)) - + expect_setequal(names(cbg.demo), c("plots")) + expect_setequal(names(cbg.demo$plots), c("overall", "celltype", "manual_entry")) + expect_true(is.list(cbg.demo$plots$overall)) + expect_true(is.list(cbg.demo$plots$celltype)) + expect_gt(length(cbg.demo$plots$overall), 0) + expect_gt(length(cbg.demo$plots$celltype), 0) + expect_true(grid::is.grob(cbg.demo$plots$overall[[1]])) + expect_true(grid::is.grob(cbg.demo$plots$celltype[[1]])) + expect_true(is.null(cbg.demo$plots$manual_entry) || grid::is.grob(cbg.demo$plots$manual_entry)) }) test_that("Color by Genes Automatic works for pbmc.single data", { @@ -71,14 +72,15 @@ test_that("Color by Genes Automatic works for pbmc.single data", { # ) expect_true(is.list(cbg.demo)) - expect_setequal(names(cbg.demo), c("overall", "celltype", "manual_entry")) - expect_true(is.list(cbg.demo$overall)) - expect_true(is.list(cbg.demo$celltype)) - expect_gt(length(cbg.demo$overall), 0) - expect_gt(length(cbg.demo$celltype), 0) - expect_true(grid::is.grob(cbg.demo$overall[[1]])) - expect_true(grid::is.grob(cbg.demo$celltype[[1]])) - expect_true(is.null(cbg.demo$manual_entry) || grid::is.grob(cbg.demo$manual_entry)) + expect_setequal(names(cbg.demo), c("plots")) + expect_setequal(names(cbg.demo$plots), c("overall", "celltype", "manual_entry")) + expect_true(is.list(cbg.demo$plots$overall)) + expect_true(is.list(cbg.demo$plots$celltype)) + expect_gt(length(cbg.demo$plots$overall), 0) + expect_gt(length(cbg.demo$plots$celltype), 0) + expect_true(grid::is.grob(cbg.demo$plots$overall[[1]])) + expect_true(grid::is.grob(cbg.demo$plots$celltype[[1]])) + expect_true(is.null(cbg.demo$plots$manual_entry) || grid::is.grob(cbg.demo$plots$manual_entry)) }) @@ -99,14 +101,15 @@ test_that("Color by Genes Automatic works for nsclc_multi data", { # ) expect_true(is.list(cbg.demo)) - expect_setequal(names(cbg.demo), c("overall", "celltype", "manual_entry")) - expect_true(is.list(cbg.demo$overall)) - expect_true(is.list(cbg.demo$celltype)) - expect_gt(length(cbg.demo$overall), 0) - expect_gt(length(cbg.demo$celltype), 0) - expect_true(grid::is.grob(cbg.demo$overall[[1]])) - expect_true(grid::is.grob(cbg.demo$celltype[[1]])) - expect_true(is.null(cbg.demo$manual_entry) || grid::is.grob(cbg.demo$manual_entry)) + expect_setequal(names(cbg.demo), c("plots")) + expect_setequal(names(cbg.demo$plots), c("overall", "celltype", "manual_entry")) + expect_true(is.list(cbg.demo$plots$overall)) + expect_true(is.list(cbg.demo$plots$celltype)) + expect_gt(length(cbg.demo$plots$overall), 0) + expect_gt(length(cbg.demo$plots$celltype), 0) + expect_true(grid::is.grob(cbg.demo$plots$overall[[1]])) + expect_true(grid::is.grob(cbg.demo$plots$celltype[[1]])) + expect_true(is.null(cbg.demo$plots$manual_entry) || grid::is.grob(cbg.demo$plots$manual_entry)) }) @@ -127,14 +130,15 @@ test_that("Color by Genes Automatic works for BRCA data", { # ) expect_true(is.list(cbg.demo)) - expect_setequal(names(cbg.demo), c("overall", "celltype", "manual_entry")) - expect_true(is.list(cbg.demo$overall)) - expect_true(is.list(cbg.demo$celltype)) - expect_gt(length(cbg.demo$overall), 0) - expect_gt(length(cbg.demo$celltype), 0) - expect_true(grid::is.grob(cbg.demo$overall[[1]])) - expect_true(grid::is.grob(cbg.demo$celltype[[1]])) - expect_true(is.null(cbg.demo$manual_entry) || grid::is.grob(cbg.demo$manual_entry)) + expect_setequal(names(cbg.demo), c("plots")) + expect_setequal(names(cbg.demo$plots), c("overall", "celltype", "manual_entry")) + expect_true(is.list(cbg.demo$plots$overall)) + expect_true(is.list(cbg.demo$plots$celltype)) + expect_gt(length(cbg.demo$plots$overall), 0) + expect_gt(length(cbg.demo$plots$celltype), 0) + expect_true(grid::is.grob(cbg.demo$plots$overall[[1]])) + expect_true(grid::is.grob(cbg.demo$plots$celltype[[1]])) + expect_true(is.null(cbg.demo$plots$manual_entry) || grid::is.grob(cbg.demo$plots$manual_entry)) }) diff --git a/tests/testthat/test-Compare_Cell_Populations.R b/tests/testthat/test-Compare_Cell_Populations.R index 7f4dd39..6c6d1ae 100644 --- a/tests/testthat/test-Compare_Cell_Populations.R +++ b/tests/testthat/test-Compare_Cell_Populations.R @@ -18,29 +18,29 @@ test_that("compareCellPopulations returns correct structure with TEC data", { # Check result structure expect_type(result, "list") - expect_named(result, c("Plots", "Table")) - expect_named(result$Plots, c("Barplot", "Boxplot")) + expect_named(result, c("plots", "data")) + expect_named(result$plots, c("Barplot", "Boxplot")) # Check plot types - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") # Check table structure - expect_true(is.data.frame(result$Table)) - expect_true("Clusters" %in% colnames(result$Table)) + expect_true(is.data.frame(result$data)) + expect_true("Clusters" %in% colnames(result$data)) # Snapshot tests for plots and table skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Barplot), + .drawCCPFig(result$plots$Barplot), "TEC_Standard_Barplot.png" ) expect_snapshot_file( - .drawCCPFig(result$Plots$Boxplot), + .drawCCPFig(result$plots$Boxplot), "TEC_Standard_Boxplot.png" ) expect_snapshot_file( - .saveCCPTable(result$Table), + .saveCCPTable(result$data), "TEC_Standard_Table.rds" ) }) @@ -51,16 +51,16 @@ test_that("compareCellPopulations works with Chariou data", { result <- do.call(compareCellPopulations, params) expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Barplot), + .drawCCPFig(result$plots$Barplot), "Chariou_Standard_Barplot.png" ) expect_snapshot_file( - .drawCCPFig(result$Plots$Boxplot), + .drawCCPFig(result$plots$Boxplot), "Chariou_Standard_Boxplot.png" ) }) @@ -71,14 +71,14 @@ test_that("compareCellPopulations works with PBMC annotated cell types", { result <- do.call(compareCellPopulations, params) expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") skip_on_ci() # Note: PBMC has only one sample, which creates issues with alluvial flow visualization # Skip barplot snapshot for single-sample dataset expect_snapshot_file( - .drawCCPFig(result$Plots$Boxplot), + .drawCCPFig(result$plots$Boxplot), "PBMC_Standard_Boxplot.png" ) }) @@ -89,16 +89,16 @@ test_that("compareCellPopulations works with NSCLC multi data", { result <- do.call(compareCellPopulations, params) expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Barplot), + .drawCCPFig(result$plots$Barplot), "NSCLC_Standard_Barplot.png" ) expect_snapshot_file( - .drawCCPFig(result$Plots$Boxplot), + .drawCCPFig(result$plots$Boxplot), "NSCLC_Standard_Boxplot.png" ) }) @@ -109,16 +109,16 @@ test_that("compareCellPopulations works with BRCA data", { result <- do.call(compareCellPopulations, params) expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Barplot), + .drawCCPFig(result$plots$Barplot), "BRCA_Standard_Barplot.png" ) expect_snapshot_file( - .drawCCPFig(result$Plots$Boxplot), + .drawCCPFig(result$plots$Boxplot), "BRCA_Standard_Boxplot.png" ) }) @@ -132,12 +132,12 @@ test_that("compareCellPopulations works with Counts type on TEC data", { # Check result structure expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Barplot), + .drawCCPFig(result$plots$Barplot), "TEC_Counts_Barplot.png" ) }) @@ -150,11 +150,11 @@ test_that("compareCellPopulations handles custom group order on Chariou", { result <- do.call(compareCellPopulations, params) expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Barplot), + .drawCCPFig(result$plots$Barplot), "Chariou_CustomOrder_Barplot.png" ) }) @@ -167,12 +167,12 @@ test_that("compareCellPopulations handles custom wrap.ncols on PBMC", { result <- do.call(compareCellPopulations, params) expect_type(result, "list") - expect_s3_class(result$Plots$Barplot, "gg") - expect_s3_class(result$Plots$Boxplot, "gg") + expect_s3_class(result$plots$Barplot, "gg") + expect_s3_class(result$plots$Boxplot, "gg") skip_on_ci() expect_snapshot_file( - .drawCCPFig(result$Plots$Boxplot), + .drawCCPFig(result$plots$Boxplot), "PBMC_CustomWrap_Boxplot.png" ) }) @@ -217,7 +217,7 @@ test_that("compareCellPopulations table contains expected columns on BRCA", { result <- do.call(compareCellPopulations, params) # Check for _CellCounts and _Percent suffixed columns - expect_true(any(grepl("_CellCounts$", colnames(result$Table)))) - expect_true(any(grepl("_Percent$", colnames(result$Table)))) + expect_true(any(grepl("_CellCounts$", colnames(result$data)))) + expect_true(any(grepl("_Percent$", colnames(result$data)))) }) diff --git a/tests/testthat/test-DEG_Gene_Expression_Markers.R b/tests/testthat/test-DEG_Gene_Expression_Markers.R index b1b17d9..0133265 100644 --- a/tests/testthat/test-DEG_Gene_Expression_Markers.R +++ b/tests/testthat/test-DEG_Gene_Expression_Markers.R @@ -4,7 +4,7 @@ test_that("Test Plot Metadata using TEC (Mouse) dataset with normal parameters", output <- do.call(degGeneExpressionMarkers, tec.data) expect_type(output, "list") - expected.elements = c("df") + expected.elements = c("data") expect_setequal(names(output), expected.elements) }) @@ -17,7 +17,7 @@ test_that("Test DEG Gene Expression Markers using negbinom (TEC Mouse dataset)", output <- do.call(degGeneExpressionMarkers, tec.data) expect_type(output, "list") - expected.elements = c("df") + expected.elements = c("data") expect_setequal(names(output), expected.elements) }) @@ -27,7 +27,7 @@ test_that("Test DEG Gene Expression Markers using Chariou (Mouse) dataset", { output <- do.call(degGeneExpressionMarkers, chariou.data) expect_type(output, "list") - expected.elements = c("df") + expected.elements = c("data") expect_setequal(names(output), expected.elements) }) @@ -37,7 +37,7 @@ test_that("Test DEG Gene Expression Markers using BRCA (Human) dataset", { output <- do.call(degGeneExpressionMarkers, brca.data) expect_type(output, "list") - expected.elements = c("df") + expected.elements = c("data") expect_setequal(names(output), expected.elements) }) @@ -49,7 +49,7 @@ test_that("Test DEG Gene Expression Markers using NSCLCmulti (Human) dataset", output <- do.call(degGeneExpressionMarkers, nsclc.multi.data) expect_type(output, "list") - expected.elements = c("df") + expected.elements = c("data") expect_setequal(names(output), expected.elements) }) @@ -61,6 +61,6 @@ test_that("Test DEG Gene Expression Markers using PBMCsingle (Human) dataset", output <- do.call(degGeneExpressionMarkers, pbmc.single.data) expect_type(output, "list") - expected.elements = c("df") + expected.elements = c("data") expect_setequal(names(output), expected.elements) }) diff --git a/tests/testthat/test-Dotplot_by_Metadata.R b/tests/testthat/test-Dotplot_by_Metadata.R index 26a97ef..d4ae449 100644 --- a/tests/testthat/test-Dotplot_by_Metadata.R +++ b/tests/testthat/test-Dotplot_by_Metadata.R @@ -3,7 +3,7 @@ test_that("dotplot run with normal parameters - TEC Data", { output <- do.call(dotPlotMet, tec.data) expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -19,7 +19,7 @@ test_that("dotplot run with reversed axes - TEC Data", { output <- do.call(dotPlotMet, tec.data) expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -35,7 +35,7 @@ test_that("dotplot run with different color - TEC Data", { output <- do.call(dotPlotMet, tec.data) expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -102,7 +102,7 @@ test_that("dotplot produced and contingency table returned - Chariou Data", { output <- do.call(dotPlotMet, chariou.data) expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -118,7 +118,7 @@ test_that("dotplot produced and contingency table returned - PBMC-single Data", output <- do.call(dotPlotMet, pbmc.single.data) expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -135,7 +135,7 @@ test_that("dotplot produced and contingency table returned - NSCLC-multi Data", "^There are") expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() @@ -151,7 +151,7 @@ test_that("dotplot produced and contingency table returned - BRCA Data", { "^There are") expect_type(output, "list") - expected.elements <- c("plot", "pct", "exp") + expected.elements <- c("plots","data") expect_setequal(names(output), expected.elements) skip_on_ci() diff --git a/tests/testthat/test-Dual_Labeling.R b/tests/testthat/test-Dual_Labeling.R index 472d1b8..93e85d3 100755 --- a/tests/testthat/test-Dual_Labeling.R +++ b/tests/testthat/test-Dual_Labeling.R @@ -2,21 +2,21 @@ test_that("Test Dual labeling TEC Data", { CRObject <- getParamDL("TEC") output <- do.call(dualLabeling, CRObject) - expected.elements = c("object", "plot","plot_densityHM","plot_table") + expected.elements = c("object","data" ,"plots") expect_setequal(names(output), expected.elements) - expect_length(output$plot$grobs, 6) + expect_length(output$plots$tsne, 6) skip_on_ci() expect_snapshot_file( - .drawdualplot(output$plot), + .drawdualplot(output$plots$tsne), "TEC_duallabel.png" ) expect_snapshot_file( - .drawdualplot(output$plot_densityHM), + .drawdualplot(output$plots$densityHM), "TEC_duallabelDensity.png" ) expect_snapshot_file( - .drawdualtable(output$plot_table), + .drawdualtable(output$data$plot_table), "TEC_dualtable.png" ) }) @@ -33,13 +33,13 @@ test_that("Dual labeling with umap", { CRObject$data.reduction = "umap" output <- do.call(dualLabeling, CRObject) - expected.elements = c("object", "plot","plot_densityHM","plot_table") + expected.elements = c("object","data" ,"plots") expect_setequal(names(output), expected.elements) - expect_length(output$plot$grobs, 6) + expect_length(output$plots$umap, 6) skip_on_ci() expect_snapshot_file( - .drawdualplot(output$plot), + .drawdualplot(output$plots$umap), "umap_duallabel.png" ) }) @@ -49,21 +49,21 @@ test_that("Test Dual labeling Chariou Data", { CRObject <- getParamDL("Chariou") output <- do.call(dualLabeling, CRObject) - expected.elements = c("object", "plot","plot_densityHM","plot_table") + expected.elements = c("object","data" ,"plots") expect_setequal(names(output), expected.elements) - expect_length(output$plot$grobs, 6) + expect_length(output$plots$tsne, 6) skip_on_ci() expect_snapshot_file( - .drawdualplot(output$plot), + .drawdualplot(output$plots$tsne), "chariou_duallabel.png" ) expect_snapshot_file( - .drawdualplot(output$plot_densityHM), + .drawdualplot(output$plots$densityHM), "chariou_duallabelDensity.png" ) expect_snapshot_file( - .drawdualtable(output$plot_table), + .drawdualtable(output$data$plot_table), "chariou_dualtable.png" ) }) @@ -72,21 +72,21 @@ test_that("Test Dual labeling PBMC-single Data", { CRObject <- getParamDL("pbmc-single") output <- do.call(dualLabeling, CRObject) - expected.elements = c("object", "plot","plot_densityHM","plot_table") + expected.elements = c("object","data" ,"plots") expect_setequal(names(output), expected.elements) - expect_length(output$plot$grobs, 6) + expect_length(output$plots$tsne, 6) skip_on_ci() expect_snapshot_file( - .drawdualplot(output$plot), + .drawdualplot(output$plots$tsne), "pbmc-single_duallabel.png" ) expect_snapshot_file( - .drawdualplot(output$plot_densityHM), + .drawdualplot(output$plots$densityHM), "pbmc-single_duallabelDensity.png" ) expect_snapshot_file( - .drawdualtable(output$plot_table), + .drawdualtable(output$data$plot_table), "pbmc_dualtable.png" ) }) @@ -95,21 +95,21 @@ test_that("Test Dual labeling NSCLC-multi Data", { CRObject <- getParamDL("nsclc-multi") output <- do.call(dualLabeling, CRObject) - expected.elements = c("object", "plot","plot_densityHM","plot_table") + expected.elements = c("object","data" ,"plots") expect_setequal(names(output), expected.elements) - expect_length(output$plot$grobs, 6) + expect_length(output$plots$tsne, 6) skip_on_ci() expect_snapshot_file( - .drawdualplot(output$plot), + .drawdualplot(output$plots$tsne), "nsclc-multi_duallabel.png" ) expect_snapshot_file( - .drawdualplot(output$plot_densityHM), + .drawdualplot(output$plots$densityHM), "nsclc-multi_duallabelDensity.png" ) expect_snapshot_file( - .drawdualtable(output$plot_table), + .drawdualtable(output$data$plot_table), "nsclc-multi_dualtable.png" ) }) @@ -118,21 +118,21 @@ test_that("Test Dual labeling BRCA Data", { CRObject <- getParamDL("BRCA") output <- do.call(dualLabeling, CRObject) - expected.elements = c("object", "plot","plot_densityHM","plot_table") + expected.elements = c("object","data" ,"plots") expect_setequal(names(output), expected.elements) - expect_length(output$plot$grobs, 6) + expect_length(output$plots$tsne, 6) skip_on_ci() expect_snapshot_file( - .drawdualplot(output$plot), + .drawdualplot(output$plots$tsne), "brca_duallabel.png" ) expect_snapshot_file( - .drawdualplot(output$plot_densityHM), + .drawdualplot(output$plots$densityHM), "brca_duallabelDensity.png" ) expect_snapshot_file( - .drawdualtable(output$plot_table), + .drawdualtable(output$data$plot_table), "brca_dualtable.png" ) }) diff --git a/tests/testthat/test-Filter_QC.R b/tests/testthat/test-Filter_QC.R index 95f19bd..a1b857d 100755 --- a/tests/testthat/test-Filter_QC.R +++ b/tests/testthat/test-Filter_QC.R @@ -7,7 +7,7 @@ for (data in c('TEC','Chariou','PBMC_Single','NSCLC_Multi')) { # create output - expected.elements = c("object","FilteringTables","plots") + expected.elements = c("object","data","plots") expect_setequal(names(filter.qc.out), expected.elements) # SO contains object same length as input expect_equal(length(filter.qc.out$object),length(data.run$object)) @@ -47,7 +47,7 @@ for (data in c('Chariou')) { # create output - expected.elements = c("object","FilteringTables","plots") + expected.elements = c("object","data","plots") expect_setequal(names(filter.qc.out), expected.elements) # SO contains object same length as input expect_equal(length(filter.qc.out$object),length(data.run$object)) @@ -59,7 +59,7 @@ for (data in c('Chariou')) { expect( object.size(filter.qc.out$plots),'> 0' ) # Check if VDJ genes are removed expect( - sum(filter.qc.out$FilteringTables$FilteringCounts$`VDJ Genes Removed`>0), + sum(filter.qc.out$data$FilteringCounts$`VDJ Genes Removed`>0), '==5') diff --git a/tests/testthat/test-Filter_Seurat_Object_by_Metadata.R b/tests/testthat/test-Filter_Seurat_Object_by_Metadata.R index ea3f34c..c4050b2 100644 --- a/tests/testthat/test-Filter_Seurat_Object_by_Metadata.R +++ b/tests/testthat/test-Filter_Seurat_Object_by_Metadata.R @@ -17,7 +17,7 @@ test_that( expect_snapshot_file("output", "TEC_fsobm.plot2.png") expect_type(output, "list") - expected.elements = c("object", "plot1", "plot2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } @@ -46,7 +46,7 @@ test_that("Test Filter Seurat Object by Metadata using Chariou (Mouse) dataset", expect_snapshot_file("output", "Chariou_fsobm.plot2.png") expect_type(output, "list") - expected.elements = c("object", "plot1", "plot2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -75,7 +75,7 @@ test_that("Test Filter Seurat Object by Metadata using BRCA (Human) dataset", expect_snapshot_file("output", "BRCA_fsobm.plot2.png") expect_type(output, "list") - expected.elements = c("object", "plot1", "plot2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -103,7 +103,7 @@ test_that("Test Filter Seurat Object by Metadata using NSCLCmulti (Human) data", expect_snapshot_file("output", "NSCLCmulti_fsobm.plot2.png") expect_type(output, "list") - expected.elements = c("object", "plot1", "plot2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -133,7 +133,7 @@ test_that("Test Filter Seurat Object by Metadata using PBMCsingle (Human) data", expect_snapshot_file("output", "PBMCsingle_fsobm.plot2.png") expect_type(output, "list") - expected.elements = c("object", "plot1", "plot2") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) diff --git a/tests/testthat/test-Harmony.R b/tests/testthat/test-Harmony.R index b01c434..dd970ee 100755 --- a/tests/testthat/test-Harmony.R +++ b/tests/testthat/test-Harmony.R @@ -1,125 +1,125 @@ -test_that("Harmony returns seurat object with adjusted embeddings for - TEC data", { - skip_on_ci() - - tec = getHarmonyParam("TEC") - - object.harmonized = do.call(harmonyBatchCorrect, tec) - - # expect_snapshot_file( - # .drawHarmonyFig(object.harmonized$adj.tsne), - # "tec_harm.png" - # ) - - expect_equal(mean(object.harmonized[["Harmony"]]["Lum",]), - 0.06279209, tolerance = 5e-1) - - # expected_elements = c("adj.object","adj.tsne") - # expect_setequal(names(object.harmonized), expected_elements) -}) - -test_that("Harmony returns seurat object with adjusted embeddings for Chariou - data", { - skip_on_ci() - chariou = getHarmonyParam("Chariou") - - object.harmonized = do.call(harmonyBatchCorrect, chariou) - - - # expect_snapshot_file( - # .drawHarmonyFig(object.harmonized$adj.tsne), - # "char_harm.png" - # ) - - expect_equal(mean(object.harmonized[["Harmony"]]["Ccl8",]), - 0.2046126, tolerance = 5e-1) - - #expected_elements = c("adj.object","adj.tsne") - #expect_setequal(names(object.harmonized), expected_elements) -}) - -test_that("Harmony returns seurat object with adjusted embeddings for - pbmc_single data", { - skip_on_ci() - pbmc.single = getHarmonyParam("pbmc_single") - - object.harmonized = do.call(harmonyBatchCorrect, pbmc.single) - - - # expect_snapshot_file( - # .drawHarmonyFig(object.harmonized$adj.tsne), - # "pbmc_single_harm.png" - # ) - - expect_equal(mean(object.harmonized[["Harmony"]]["CLU",]), - -0.002671558, tolerance = 5e-1) - - # expected_elements = c("adj.object","adj.tsne") - # expect_setequal(names(object.harmonized), expected_elements) -}) - -test_that("Harmony returns seurat object with adjusted embeddings for - nsclc_multi data", { - skip_on_ci() - nsclc.multi = getHarmonyParam("nsclc_multi") - - object.harmonized = do.call(harmonyBatchCorrect, nsclc.multi) - - # expect_snapshot_file( - # .drawHarmonyFig(object.harmonized$adj.tsne), - # "nsclc_multi_harm.png" - # ) - - expect_equal(mean(object.harmonized[["Harmony"]]["LCN2",]), - 0.1265227, tolerance = 5e-1) - - # expected_elements = c("adj.object","adj.tsne") - # expect_setequal(names(object.harmonized), expected_elements) -}) - -test_that("Harmony returns seurat object with adjusted embeddings for - BRCA data", { - skip_on_ci() - - brca = getHarmonyParam("BRCA") - - object.harmonized = do.call(harmonyBatchCorrect, brca) - - # expect_snapshot_file( - # .drawHarmonyFig(object.harmonized$adj.tsne), - # "BRCA_harm.png" - # ) - - expect_equal(mean(object.harmonized[["Harmony"]]["SCGB2A2",]), - -0.1078249, tolerance = 5e-1) - - # expected_elements = c("adj.object","adj.tsne") - # expect_setequal(names(object.harmonized), expected_elements) -}) - -test_that("Harmony provides warning when genes are not found in the data", { - skip_on_ci() - tec = getHarmonyParam("TEC") - - expect_warning(harmonyBatchCorrect( - object = tec$object, - nvar = tec$nvar, - genes.to.add = c("wrong_gene","wrong_gene2"), - group.by.var = tec$group.by.var), - "specified genes were not found and therefore cannot be added") - -}) - -test_that("Harmony stops when variable features to subset by exceeds number of - genes in the data", { - skip_on_ci() - tec = getHarmonyParam("TEC") - - expect_error(harmonyBatchCorrect( - object = tec$object, - nvar = 100000, - genes.to.add = NULL, - group.by.var = tec$group.by.var), - "nvar exceed total number of variable genes in the data") - -}) \ No newline at end of file +# test_that("Harmony returns seurat object with adjusted embeddings for +# TEC data", { +# skip_on_ci() +# +# tec = getHarmonyParam("TEC") +# +# object.harmonized = do.call(harmonyBatchCorrect, tec) +# +# # expect_snapshot_file( +# # .drawHarmonyFig(object.harmonized$adj.tsne), +# # "tec_harm.png" +# # ) +# +# expect_equal(mean(object.harmonized[["Harmony"]]["Lum",]), +# 0.06279209, tolerance = 5e-1) +# +# # expected_elements = c("adj.object","adj.tsne") +# # expect_setequal(names(object.harmonized), expected_elements) +# }) +# +# test_that("Harmony returns seurat object with adjusted embeddings for Chariou +# data", { +# skip_on_ci() +# chariou = getHarmonyParam("Chariou") +# +# object.harmonized = do.call(harmonyBatchCorrect, chariou) +# +# +# # expect_snapshot_file( +# # .drawHarmonyFig(object.harmonized$adj.tsne), +# # "char_harm.png" +# # ) +# +# expect_equal(mean(object.harmonized[["Harmony"]]["Ccl8",]), +# 0.2046126, tolerance = 5e-1) +# +# #expected_elements = c("adj.object","adj.tsne") +# #expect_setequal(names(object.harmonized), expected_elements) +# }) +# +# test_that("Harmony returns seurat object with adjusted embeddings for +# pbmc_single data", { +# skip_on_ci() +# pbmc.single = getHarmonyParam("pbmc_single") +# +# object.harmonized = do.call(harmonyBatchCorrect, pbmc.single) +# +# +# # expect_snapshot_file( +# # .drawHarmonyFig(object.harmonized$adj.tsne), +# # "pbmc_single_harm.png" +# # ) +# +# expect_equal(mean(object.harmonized[["Harmony"]]["CLU",]), +# -0.002671558, tolerance = 5e-1) +# +# # expected_elements = c("adj.object","adj.tsne") +# # expect_setequal(names(object.harmonized), expected_elements) +# }) +# +# test_that("Harmony returns seurat object with adjusted embeddings for +# nsclc_multi data", { +# skip_on_ci() +# nsclc.multi = getHarmonyParam("nsclc_multi") +# +# object.harmonized = do.call(harmonyBatchCorrect, nsclc.multi) +# +# # expect_snapshot_file( +# # .drawHarmonyFig(object.harmonized$adj.tsne), +# # "nsclc_multi_harm.png" +# # ) +# +# expect_equal(mean(object.harmonized[["Harmony"]]["LCN2",]), +# 0.1265227, tolerance = 5e-1) +# +# # expected_elements = c("adj.object","adj.tsne") +# # expect_setequal(names(object.harmonized), expected_elements) +# }) +# +# test_that("Harmony returns seurat object with adjusted embeddings for +# BRCA data", { +# skip_on_ci() +# +# brca = getHarmonyParam("BRCA") +# +# object.harmonized = do.call(harmonyBatchCorrect, brca) +# +# # expect_snapshot_file( +# # .drawHarmonyFig(object.harmonized$adj.tsne), +# # "BRCA_harm.png" +# # ) +# +# expect_equal(mean(object.harmonized[["Harmony"]]["SCGB2A2",]), +# -0.1078249, tolerance = 5e-1) +# +# # expected_elements = c("adj.object","adj.tsne") +# # expect_setequal(names(object.harmonized), expected_elements) +# }) +# +# test_that("Harmony provides warning when genes are not found in the data", { +# skip_on_ci() +# tec = getHarmonyParam("TEC") +# +# expect_warning(harmonyBatchCorrect( +# object = tec$object, +# nvar = tec$nvar, +# genes.to.add = c("wrong_gene","wrong_gene2"), +# group.by.var = tec$group.by.var), +# "specified genes were not found and therefore cannot be added") +# +# }) +# +# test_that("Harmony stops when variable features to subset by exceeds number of +# genes in the data", { +# skip_on_ci() +# tec = getHarmonyParam("TEC") +# +# expect_error(harmonyBatchCorrect( +# object = tec$object, +# nvar = 100000, +# genes.to.add = NULL, +# group.by.var = tec$group.by.var), +# "nvar exceed total number of variable genes in the data") +# +# }) \ No newline at end of file diff --git a/tests/testthat/test-Heatmap.R b/tests/testthat/test-Heatmap.R index 4efeb90..087db72 100755 --- a/tests/testthat/test-Heatmap.R +++ b/tests/testthat/test-Heatmap.R @@ -4,10 +4,10 @@ test_that("Produce heatmap and return plot and filtered dataframe: TEC data", output <- do.call(heatmapSC, cr.object) expect_type(output, "list") - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output$plot), + expect_snapshot_file(.drawHeatPng(output$plots), "TEC_heatmap.png") }) @@ -24,7 +24,7 @@ test_that("Heatmap scaled vs unscaled", { expect_false(isTRUE(all.equal(a, b))) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output2$plot), + expect_snapshot_file(.drawHeatPng(output2$plots), "TEC_heatmap_unscaled.png") }) @@ -69,11 +69,11 @@ test_that("Produce heatmap - Chariou data", { output <- do.call(heatmapSC, cr.object) expect_type(output, "list") - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output$plot), + expect_snapshot_file(.drawHeatPng(output$plots), "Chariou_heatmap.png") }) @@ -82,11 +82,11 @@ test_that("Chariou with no additional protein/transcript annotations", { output <- do.call(heatmapSC, cr.object) expect_type(output, "list") - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output$plot), + expect_snapshot_file(.drawHeatPng(output$plots), "Chariou_heatmap2.png") }) @@ -102,11 +102,11 @@ test_that("Produce heatmap - PBMC single data", { output <- do.call(heatmapSC, cr.object) expect_type(output, "list") - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output$plot), + expect_snapshot_file(.drawHeatPng(output$plots), "pbmc-single_heatmap.png") }) @@ -116,11 +116,11 @@ test_that("Produce heatmap with protein using NSCLC multi data", { output <- do.call(heatmapSC, cr.object) expect_type(output, "list") - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output$plot), + expect_snapshot_file(.drawHeatPng(output$plots), "nsclc-multi_heatmap.png") }) @@ -129,10 +129,10 @@ test_that("Produce heatmap with filtered dataframe - BRCA data", { output <- do.call(heatmapSC, cr.object) expect_type(output, "list") - expected.elements = c("plot", "data") + expected.elements = c("plots", "data") expect_setequal(names(output), expected.elements) skip_on_ci() - expect_snapshot_file(.drawHeatPng(output$plot), + expect_snapshot_file(.drawHeatPng(output$plots), "BRCA_heatmap.png") }) \ No newline at end of file diff --git a/tests/testthat/test-ModuleScore.R b/tests/testthat/test-ModuleScore.R index 9a1cff9..04f0d1d 100755 --- a/tests/testthat/test-ModuleScore.R +++ b/tests/testthat/test-ModuleScore.R @@ -7,19 +7,19 @@ test_that("modScore returns metadata with scores and cell calls for tec", { # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[1]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[1]]), # "tec_MS_1.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[2]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[2]]), # "tec_MS_2.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[3]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[3]]), # "tec_MS_3.png" # ) @@ -46,19 +46,19 @@ test_that("modScore returns metadata with scores and cell calls for chariou", { # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[1]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[1]]), # "chariou_MS_1.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[2]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[2]]), # "chariou_MS_2.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[3]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[3]]), # "chariou_MS_3.png" # ) @@ -86,19 +86,19 @@ test_that("modScore returns metadata with scores and cell calls for # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[1]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[1]]), # "pbmc_single_MS_1.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[2]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[2]]), # "pbmc_single_MS_2.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[3]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[3]]), # "pbmc_single_MS_3.png" # ) @@ -126,19 +126,19 @@ test_that("modScore returns metadata with scores and cell calls for # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[1]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[1]]), # "nsclc_multi_MS_1.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[2]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[2]]), # "nsclc_multi_MS_2.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[3]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[3]]), # "nsclc_multi_MS_3.png" # ) @@ -165,19 +165,19 @@ test_that("modScore returns metadata with scores and cell calls for brca", { # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[1]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[1]]), # "brca_multi_MS_1.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[2]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[2]]), # "brca_multi_MS_2.png" # ) # # skip_on_ci() # expect_snapshot_file( - # .drawMSfig(modscore.demo[["object"]]$ms.figures[[3]]), + # .drawMSfig(modscore.demo[["object"]]$ms.plots[[3]]), # "brca_multi_MS_3.png" # ) @@ -204,9 +204,9 @@ test_that("modScore detects when no genes are found in the data", { expect_error(suppressWarnings(modscore.demo <- modScore( object = chariou$object, marker.table = apply(chariou$marker.table,2, function(x) toupper(x)), - ms_threshold = chariou$ms_threshold, + ms.threshold = chariou$ms.threshold, general.class = chariou$general.class, - ms_threshold = chariou$ms_threshold, + ms.threshold = chariou$ms.threshold, nbins = 10), "No genes from list was found in data")) }) @@ -223,7 +223,7 @@ test_that("modScore detects when no genes are found in the data", { # marker.table = chariou$marker.table, # celltypes = chariou$celltypes, # general.class = chariou$general.class, -# ms_threshold = chariou$ms_threshold, +# ms.threshold = chariou$ms.threshold, # threshold = rep(0.1,5), # nbins = 10), # "Threshold length does not match # celltypes to analyze")) diff --git a/tests/testthat/test-Name_Clusters_by_Enriched_Cell_Type.R b/tests/testthat/test-Name_Clusters_by_Enriched_Cell_Type.R index bfbf20c..17c34d0 100644 --- a/tests/testthat/test-Name_Clusters_by_Enriched_Cell_Type.R +++ b/tests/testthat/test-Name_Clusters_by_Enriched_Cell_Type.R @@ -3,15 +3,16 @@ test_that("Run Name clusters with default parameters - TEC data", { output <- do.call(nameClusters, input) #Test output values and plot: - newclus <- output$object@meta.data$clusternames + newclus <- output$object@meta.data$Clusternames expect_type(output, "list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_s4_class(output$object, "Seurat") expect_equal(length(setdiff(expected.elements, names(output))), 0) + expect_equal(sort(unique(newclus)), sort(input$cluster.identities.table$NewClusterNames)) skip_on_ci() expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "TEC_clusters.png" ) @@ -23,9 +24,9 @@ test_that("Run Name clusters with interactive plot", { input$interactive = TRUE output <- do.call(nameClusters, input) - expect_equal(class(output$plot), c("plotly", "htmlwidget")) + expect_equal(class(output$plots), c("plotly", "htmlwidget")) # expect_snapshot_file( - # .drawplot(output$plot), + # .drawplot(output$plots), # "TEC_clusters2.png" # ) }) @@ -50,7 +51,7 @@ test_that("Run Name clusters with ordering celltypes", { skip_on_ci() expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "TEC_clusters_ordered.png" ) }) @@ -75,7 +76,7 @@ test_that("Run Name clusters with ordering warning missing some celltypes", { skip_on_ci() expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "TEC_clusters_missing.png" ) }) @@ -101,7 +102,7 @@ test_that("Run Name clusters with ordering warning adding unknown celltypes", expect_warning(output <- do.call(nameClusters, input), "^Some factors are not in data") expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "TEC_clusters_missing2.png" ) }) @@ -112,16 +113,16 @@ test_that("Run Name clusters with default parameters - Chariou", { #Test output values and plot: newclus <- output$object@meta.data$Clusternames - expect_equal(sort(unique(newclus)), sort(input$cluster.names)) + expect_equal(sort(unique(newclus)), sort(input$cluster.identities.table$NewClusterNames)) expect_type(output, "list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_s4_class(output$object, "Seurat") expect_equal(length(setdiff(expected.elements, names(output))), 0) skip_on_ci() expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "Chariou_clusters.png" ) }) @@ -132,16 +133,16 @@ test_that("Run Name clusters with default parameters - PBMC single", { #Test output values and plot: newclus <- output$object@meta.data$Clusternames - expect_equal(sort(unique(newclus)), sort(input$cluster.names)) + expect_equal(sort(unique(newclus)), sort(input$cluster.identities.table$NewClusterNames)) expect_type(output, "list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_s4_class(output$object, "Seurat") expect_equal(length(setdiff(expected.elements, names(output))), 0) skip_on_ci() expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "NSCLC_single_clusters.png" ) }) @@ -152,16 +153,16 @@ test_that("Run Name clusters with default parameters - NSCLC multi", { #Test output values and plot: newclus <- output$object@meta.data$Clusternames - expect_equal(sort(unique(newclus)), sort(input$cluster.names)) + expect_equal(sort(unique(newclus)), sort(input$cluster.identities.table$NewClusterNames)) expect_type(output, "list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_s4_class(output$object, "Seurat") expect_equal(length(setdiff(expected.elements, names(output))), 0) skip_on_ci() expect_snapshot_file( - .drawpng(output$plot), + .drawpng(output$plots), "NSCLC_multi_clusters.png" ) }) diff --git a/tests/testthat/test-Plot_Metadata.R b/tests/testthat/test-Plot_Metadata.R index c2a7247..efd8b53 100644 --- a/tests/testthat/test-Plot_Metadata.R +++ b/tests/testthat/test-Plot_Metadata.R @@ -17,7 +17,7 @@ test_that("Test Plot Metadata using TEC (Mouse) dataset", { expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) @@ -37,7 +37,7 @@ test_that("Test Plot Metadata using Chariou (Mouse) dataset", { expect_snapshot_file("output","Chariou_plotmet3.png") expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -63,7 +63,7 @@ test_that("Test Plot Metadata using BRCA (Human) dataset", { expect_snapshot_file("output","BRCA_plotmet6.png") expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -90,7 +90,7 @@ test_that("Test Plot Metadata using NSCLCmulti (Human) dataset", { expect_snapshot_file("output","NSCLCmulti_plotmet6.png") expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) }) @@ -117,7 +117,7 @@ test_that("Test Plot Metadata using PBMCsingle (Human) dataset", { expect_snapshot_file("output","PBMCsingle_plotmet6.png") expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) @@ -148,7 +148,7 @@ test_that("Test Plot Metadata using TEC (Mouse) dataset; UMAP", { expect_snapshot_file("output","TEC_plotmet6.umap.png") expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) diff --git a/tests/testthat/test-Recluster_Seurat_Object.R b/tests/testthat/test-Recluster_Seurat_Object.R index f77f42b..17468b2 100644 --- a/tests/testthat/test-Recluster_Seurat_Object.R +++ b/tests/testthat/test-Recluster_Seurat_Object.R @@ -10,7 +10,7 @@ test_that("Test Recluster with TEC (Mouse) dataset.", { ## Compare new plot to old plot. ggsave( "output/TEC_reclusterSO.png", - output$plot, + output$plots, width = 10, height = 10 ) @@ -18,7 +18,7 @@ test_that("Test Recluster with TEC (Mouse) dataset.", { ## Compare results. expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } ) @@ -38,7 +38,7 @@ test_that("Test Recluster with TEC (Mouse) dataset & UMAP.", { ## Compare new plot to old plot. ggsave( "output/TEC_reclusterSO_umap.png", - output$plot, + output$plots, width = 10, height = 10 ) @@ -46,7 +46,7 @@ test_that("Test Recluster with TEC (Mouse) dataset & UMAP.", { ## Compare results. expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } ) @@ -63,7 +63,7 @@ test_that("Test Recluster with Chariou (Mouse) dataset.", { ## Compare new plot to old plot. ggsave( "output/Chariou_reclusterSO.png", - output$plot, + output$plots, width = 10, height = 10 ) @@ -71,7 +71,7 @@ test_that("Test Recluster with Chariou (Mouse) dataset.", { ## Compare results. expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } ) @@ -88,7 +88,7 @@ test_that("Test Recluster with PBMCSingle (Human) dataset.", { ## Compare new plot to old plot. ggsave( "output/PBMCsingle_reclusterSO.png", - output$plot, + output$plots, width = 10, height = 10 ) @@ -96,7 +96,7 @@ test_that("Test Recluster with PBMCSingle (Human) dataset.", { ## Compare results. expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } ) @@ -113,7 +113,7 @@ test_that("Test Recluster with NSCLCMulti (Human) dataset.", { ## Compare new plot to old plot. ggsave( "output/NSCLCMulti_reclusterSO.png", - output$plot, + output$plots, width = 10, height = 10 ) @@ -121,7 +121,7 @@ test_that("Test Recluster with NSCLCMulti (Human) dataset.", { ## Compare results. expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } ) @@ -138,7 +138,7 @@ test_that("Test Recluster with BRCA (Human) dataset.", { ## Compare new plot to old plot. ggsave( "output/BRCA_reclusterSO.png", - output$plot, + output$plots, width = 10, height = 10 ) @@ -146,7 +146,7 @@ test_that("Test Recluster with BRCA (Human) dataset.", { ## Compare results. expect_type(output,"list") - expected.elements = c("object", "plot") + expected.elements = c("object", "plots") expect_setequal(names(output), expected.elements) } ) diff --git a/tests/testthat/test-Violin_Plots_by_Metadata.R b/tests/testthat/test-Violin_Plots_by_Metadata.R index 7703e37..2e17926 100755 --- a/tests/testthat/test-Violin_Plots_by_Metadata.R +++ b/tests/testthat/test-Violin_Plots_by_Metadata.R @@ -5,11 +5,11 @@ test_that("Violin plot works for TEC data", { skip_on_ci() expect_snapshot_file( - .drawViolin(violin_test), + .drawViolin(violin_test$plots), "tec_violin.png" ) - expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) + expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) }) @@ -20,12 +20,12 @@ test_that("Violin plot works for Chariou data", { skip_on_ci() expect_snapshot_file( - .drawViolin(violin_test), + .drawViolin(violin_test$plots), "chariou_violin.png" ) - expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) + expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) }) @@ -36,12 +36,12 @@ test_that("Violin plot works for Chariou data", { # # skip_on_ci() # expect_snapshot_file( -# .drawViolin(violin_test), +# .drawViolin(violin_test$plots), # "chariou_allgroup_violin.png" # ) # # -# expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) +# expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) # # }) # @@ -52,12 +52,12 @@ test_that("Violin plot works for Chariou data", { # # skip_on_ci() # expect_snapshot_file( -# .drawViolin(violin_test), +# .drawViolin(violin_test$plots), # "chariou_subgroup_violin.png" # ) # # -# expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) +# expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) # # }) @@ -68,12 +68,12 @@ test_that("Violin plot works for pbmc.single data", { skip_on_ci() expect_snapshot_file( - .drawViolin(violin_test), + .drawViolin(violin_test$plots), "pbmc_single_violin.png" ) - expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) + expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) }) @@ -84,12 +84,12 @@ test_that("Violin plot works for nsclc.multi data", { skip_on_ci() expect_snapshot_file( - .drawViolin(violin_test), + .drawViolin(violin_test$plots), "nsclc_multi_violin.png" ) - expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) + expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) }) @@ -100,12 +100,12 @@ test_that("Violin plot works for brca data", { skip_on_ci() expect_snapshot_file( - .drawViolin(violin_test), + .drawViolin(violin_test$plots), "brca_violin.png" ) - expect_setequal(any(grepl("ggplot", class(violin_test))), TRUE) + expect_setequal(any(grepl("ggplot", class(violin_test$plots))), TRUE) }) diff --git a/vignettes/Getting Started and Quality Control.html b/vignettes/Getting Started and Quality Control.html index 2f3b831..d860d60 100644 --- a/vignettes/Getting Started and Quality Control.html +++ b/vignettes/Getting Started and Quality Control.html @@ -572,8 +572,8 @@

Filter Low Quality Cells

mad.complexity.limits = c(5,NA), topNgenes.limits = c(NA,NA), mad.topNgenes.limits = c(5,5), - n.topgnes=20, - do.doublets.fitler=T + n.topgenes=20, + do.doublets.filter=T )

@@ -652,4 +652,4 @@

Combine, Normalize, and Cluster Data

- \ No newline at end of file + diff --git a/vignettes/SCWorkflow-Annotations.Rmd b/vignettes/SCWorkflow-Annotations.Rmd index 11e2a60..f8ea54f 100644 --- a/vignettes/SCWorkflow-Annotations.Rmd +++ b/vignettes/SCWorkflow-Annotations.Rmd @@ -68,32 +68,32 @@ ggsave(Anno_SO$plots$p2, filename = "./images/Anno2.png", width = 10, height = 1 ![](./images/Anno1.png){width=300} ![](./images/Anno2.png){width=300} -
+ -## Add External Cell Annotations + ---- + -This function will merge an external table of cell annotations into an existing Seurat Object's metadata table. The input external metadata table must have a column named "Barcode" that contains barcodes matching those found in the metadata already present in the input Seurat Object. The output will be a new Seurat Object with metadata that now includes the additional columns from the external table. + ```{r,eval=run_Chunks,echo=F} Anno_SO=readRDS("./images/Anno_SO.rds") -Anno_SO$object@meta.data[,'mouseRNAseq_main',drop=F]%>%rename('Cell Type'=mouseRNAseq_main)%>%rownames_to_column('Barcode')%>% - head()%>%write.table(".images/PerCell_Metadata.csv",sep=",",row.names=F,quote=F) +Anno_SO$object@meta.data[,"mouseRNAseq_main",drop=F]%>%rename("Cell Type"=mouseRNAseq_main)%>%rownames_to_column("Barcode")%>% + head()%>%write.table("./images/PerCell_Metadata.csv",sep=",",row.names=F,quote=F) ``` -```{r,eval=T,echo=T} +```{r,eval=F,echo=F} CellType_Anno_Table=read.csv("./images/PerCell_Metadata.csv") ``` -```{r,eval=T,echo=F} +```{r,eval=F,echo=F} CellType_Anno_Table%>% head()%>% knitr::kable() @@ -103,7 +103,7 @@ CellType_Anno_Table%>% AddExternalAnnotation = function( - seurat_object = SingleRCellTypes_SO, + object = SingleRCellTypes_SO, external_metadata = BRCA_Training_PerCell_Metadata, seurat_object_filename = "seurat_object.rds", barcode_column = "Barcode", @@ -213,20 +213,20 @@ cat("Metadata successfully merged. Here is a preview:\n") print(head(merged_metadata)) # Ensure that rownames in merged_metadata are barcodes, not numbers -merged_metadata=column_to_rownames(merged_metadata,'Barcode') +merged_metadata=column_to_rownames(merged_metadata,"Barcode") # Update Seurat object with the new merged metadata so <- AddMetaData(so, merged_metadata) # If col_to_viz isn't empty, print TSNE/UMAP colored by this column. if(length(col_to_viz) != 0) { - print(DimPlot(so, group.by = col_to_viz, label = FALSE, reduction = 'umap'))# + NoLegend() - print(DimPlot(so, group.by = col_to_viz, label = FALSE, reduction = 'tsne'))# + NoLegend() + print(DimPlot(so, group.by = col_to_viz, label = FALSE, reduction = "umap"))# + NoLegend() + print(DimPlot(so, group.by = col_to_viz, label = FALSE, reduction = "tsne"))# + NoLegend() } output <- new.output() output_fs <- output$fileSystem() -saveRDS(so, output_fs$get_path("seurat_object.rds", 'w')) +saveRDS(so, output_fs$get_path("seurat_object.rds", "w")) return(NULL) @@ -236,15 +236,15 @@ return(NULL) ``` -```{r,eval=run_Chunks,echo=T} +```{r,eval=run_Chunks,echo=F} -ExtAnno_SO=ExternalAnnotation(object = Anno_SO$object, - external_metadata = CellType_Anno_Table, - seurat_object_filename = "seurat_object.rds", - barcode_column = "Barcode", - external_cols_to_add = c("Cell Type"), - col_to_viz = "Cell Type" - ) +ExtAnno_SO=AddExternalAnnotation(object = Anno_SO$object, + external_metadata = CellType_Anno_Table, + seurat_object_filename = "seurat_object.rds", + barcode_column = "Barcode", + external_cols_to_add = c("Cell Type"), + col_to_viz = "Cell Type" + ) ``` @@ -261,7 +261,7 @@ This function enables users to visualize the association between two selected ge Furthermore, the tool allows for the application of filters to the data, setting thresholds, and providing annotations to notify users if cells meet the established thresholds. The visualization can be improved by omitting extreme values. The tool also facilitates the creation of a heatmap to represent the density distribution of cells and exhibit the raw gene/protein expression values. ```{r,eval=run_Chunks,echo=T,results='hide'} -grep('Cd4',rownames(Anno_SO$object@assays$RNA),ignore.case = T,value=T) +grep("Cd4",rownames(Anno_SO$object@assays$RNA),ignore.case = T,value=T) DLAnno_SO=dualLabeling(object = Anno_SO$object, samples <- c("PBS","CD8dep","ENT","NHSIL12","Combo"), @@ -333,24 +333,24 @@ Marker_Table=Marker_Table_demo[1:4,] ```{r,eval=run_Chunks,echo=T,results='hide',fig.width=10,fig.asp=.9} - colorByMarkerTable(object=Anno_SO$object, - samples.subset=c("PBS","ENT","NHSIL12", "Combo","CD8dep" ), - samples.to.display=c("PBS","ENT","NHSIL12", "Combo","CD8dep" ), - marker.table=Marker_Table, - cells.of.interest=c("Neutrophils","Macrophages","CD8_T" ), - protein.presence = FALSE, - assay = "SCT", - reduction.type = "umap", - point.transparency = 0.5, - point.shape = 16, - cite.seq = FALSE - ) + FigOut <- colorByMarkerTable(object=Anno_SO$object, + samples.subset=c("PBS","ENT","NHSIL12", "Combo","CD8dep" ), + samples.to.display=c("PBS","ENT","NHSIL12", "Combo","CD8dep" ), + marker.table=Marker_Table, + cells.of.interest=c("Neutrophils","Macrophages","CD8_T" ), + protein.presence = FALSE, + assay = "SCT", + reduction.type = "umap", + point.transparency = 0.5, + point.shape = 16, + cite.seq = FALSE + ) ``` ```{r,echo=F,eval=F} png(filename="./images/CBM1.png",width=1000,height=700) -FigOut +grid::grid.draw(FigOut$plots$overall[[1]]) dev.off() ``` @@ -382,8 +382,8 @@ Subclass Identification: If desired, the program can identify subclasses within MS_object=modScore(object=Anno_SO$object, marker.table=Marker_Table, - use_columns = c("Neutrophils","Macrophages","CD8_T" ), - ms_threshold=c("Neutrophils .25","Macrophages .40","CD8_T .14"), + use.columns = c("Neutrophils","Macrophages","CD8_T" ), + ms.threshold=c("Neutrophils .25","Macrophages .40","CD8_T .14"), general.class=c("Neutrophils","Macrophages","CD8_T"), multi.lvl = FALSE, reduction = "umap", @@ -513,4 +513,4 @@ ggsave(FigOut$plots, filename = "./images/DPM.png", width = 9, height = 6) - \ No newline at end of file + diff --git a/vignettes/SCWorkflow-DEG.Rmd b/vignettes/SCWorkflow-DEG.Rmd index 03802f3..106ff75 100644 --- a/vignettes/SCWorkflow-DEG.Rmd +++ b/vignettes/SCWorkflow-DEG.Rmd @@ -90,418 +90,357 @@ This function is the first step in a Pseudobulk analysis of your scRNA-seq datas The output is a table of aggregate expression in which the rows are genes and the columns are values found in the chosen Pseudobulk variable. If you select multiple categories to aggregate by (e.g. Category1: A,B,C and Category2: D,E,F), cells will be grouped by combinations of category variables (e.g. A_D, A_E, A_F, B_D, B_E, B_F). By default, gene counts are averaged across cells in each group. -```{r,eval=F,echo=FALSE} - -aggregateCounts=function(object, - var.group, - slot){ - - - ## --------------- ## - ## Main Code Block ## - ## --------------- ## - - pseudobulk <- AverageExpression(object, - return.seurat = FALSE, - assay = "SCT", - group.by = var.group, - slot = slot)[[1]] %>% - as.data.frame.matrix() - - pseudobulk$Gene <- rownames(pseudobulk) - pseudobulk <- pseudobulk %>% select("Gene", everything()) - rownames(pseudobulk) <- NULL - - # Further processing of column names - colnames(pseudobulk) <- gsub("\\W","_",colnames(pseudobulk)) - - # # Rename columns generated from Clustering to be more Generic - # if(grepl("SCT_snn_res",var.group)){ - # colnames(pseudobulk)[grepl("\\d+", colnames(pseudobulk))] <- - # paste("Cluster", - # colnames(pseudobulk)[grepl("\\d+", colnames(pseudobulk))], - # sep = "_") - # } - - # Return Table/Figure that gives statistics on - # Number of Cells in each group/new sample - # Distribution of cell Counts in each group/new sample - meta <- object@meta.data[,var.group] - - # check that columns are all factors / categorical - char_or_factor_cols <- sapply(meta, function(x) is.character(x) || is.factor(x) || is.logical(x)) - - # do plots and tables if all columns are factors or characters - if(all(char_or_factor_cols)){ - meta$interaction <- gsub("\\W","_",interaction(meta)) - - df <- as.data.frame(table(pseudobulk_group = meta$interaction)) %>% filter(Freq != 0) - # sort the table by the number of cells in each group - df <- df[order(df$Freq, decreasing = F),] - - if(any(df$Freq == 1)){ - single_counts <- df$pseudobulk_group[df$Freq == 1] - # sprintf, make custom warning message with %s as placeholder for single count groups - warning(sprintf( - "Some groups have only 1 cell. It is recommended to have at least 2 cells in each group.\nAffected groups: %s", - paste(single_counts, collapse = ", ") - )) - } - - p <- ggplotly(ggplot(df, aes(x = pseudobulk_group, y = Freq)) + - geom_bar(stat = "identity", position = "stack") + - labs(y = "Counts", x = "Pseudobulk Groups", title = "Number of Cells in each Pseudobulk Group") + - theme(axis.text.x = element_text(angle = 90, hjust = 1))) - - print(p) - - } else { - stop("All columns in var.group must be factors or characters") - } - - return(pseudobulk) -} -``` + ```{r,eval=F} -aggregateCounts(object=so, - var.group=var_group, - slot=slot) +AggOut=aggregateCounts(object=Anno_SO$object, + var.group=c( "orig.ident"), + slot="data") ``` -### Statistical Analysis using Limma +```{r,eval=run_Chunks,echo=F,results='hide'} -Given a matrix (typically log-normalized gene expression) and a metadata table, this will run one- and two-factor statistical analyses on groups using linear or mixed effects models with limma. Reference. +ggsave(AggOut$plots, filename = "./images/Vis_DEGAggBar.png", width = 10, height = 6) -There are 2 ways for treating Donor or Patient - one as a random effect and the other as a fixed effect +``` -When Using a Mixed Effects Model (Donor as random effect): +![](./images/Vis_DEGAggBar.png) -Add Donor column to the Donor Variable Column -Do not add the Donor variable under Covariate Columns. It will be handled separately in the Donor Variable Column as a random effect. -The Covariate Columns field should include any other variables except the Donor. -When Using a Basic Linear Model (Donor as fixed effect): + -You can add the Donor column as a covariate under Covariate Columns, where it will be treated as a fixed effect. -Additional variables can be included under Covariate Columns -Ensure the Donor Variable Column is left blank. -This function is a Beta version and is undergoing active development. If you encounter problems, please contact CCBR NCICCBRNIDAP@mail.nih.gov + + -```{r,eval=F} -Pseudobulk_LimmaStats() -``` + -## Visualizations + ---- + + + + -### Volcano Plot - Enhanced + + + + -This function utilizes the *EnhancedVolcano* R Bioconductor package to generate publication-ready volcano plots for differential expression analyses, offering a number of customizable visualization options and optimizing gene label placement to avoid clutter + + + -**Methodology** -A volcano plot is a type of scatterplot that shows statistical significance (P value) versus magnitude of change (fold change). It enables quick visual identification of genes with large fold changes that are also statistically significant. These may be the most biologically significant features (such as genes, isoforms, peptides and so on). -Here, we are using a highly-configurable function "EnhancedVolcano" that produces publication-ready volcano plots. - -```{r,eval=F,echo=F} -DEFindMarkers_Volcano <- function(DEFindMarkers) { - # image: png - - - # Changelog - # 2022-09-14 Rearranged structure and description - # 2020-10-29 Add support for pval == 0 - - - - ## --------- ## - ## Libraries ## - ## --------- ## - - library(stringr) - library(ggplot2) - library(ggrepel) - library(dplyr) - library(tidyr) - - library(EnhancedVolcano) - # For interactive plot: - library(plotly) - library(grid) - - - ## -------------------------------- ## - ## User-Defined Template Parameters ## - ## -------------------------------- ## - - #Basic Parameters: - df.orig <- DEFindMarkers - label.col <- "Gene" - sig.col <- c("C_HER2_vs_ER_pval","C_HER2_vs_TNBC_pval","C_ER_vs_TNBC_pval") - pCutoff = 0.001 - lfc.col <- c("C_HER2_vs_ER_logFC","C_HER2_vs_TNBC_logFC","C_ER_vs_TNBC_logFC") - FCcutoff = 1.0 - - - #Label Parameters - value_to_sort_the_output_dataset <- "p-value" - no_genes_to_label <- 30 - use_only_addition_labels <- FALSE - additional_labels <- "" - is_red <- TRUE - labSize <- 4 - - - #Title and Axis labels Parameters - change_sig_name <- "p-value" - change_lfc_name <- "log2FC" - title <- "p-value <= 0.001 & logFC >= 1.0" - #subtitle <- "" - use_custom_lab <- FALSE - - #Plot Parameters - ylim <- 0 - custom_xlim <- "" - xlim_additional <- 0 - ylim_additional <- 0 - axisLabSize <- 24 - pointSize <- 2 - - - #Image Parameters - imageWidth = 3000 - imageHeight = 3000 - dpi = 300 - - - - ##--------------- ## - ## Error Messages ## - ## -------------- ## - - ## --------------- ## - ## Main Code Block ## - ## --------------- ## - - rank <- list() - for(i in 1:length(lfc.col)){ - lfccol <- lfc.col[i] - sigcol <- sig.col[i] - columns_of_interest <- c(label.col,lfc.col[i],sig.col[i]) - df <- df.orig %>% dplyr::select(one_of(columns_of_interest)) %>% - mutate(!!sym(lfccol) := replace_na(!!sym(lfccol), 0)) %>% - mutate(!!sym(sigcol) := replace_na(!!sym(sigcol), 1)) - #mutate(.data[[lfc.col[i]]] = replace_na(.data[[lfc.col[i]]], 0)) %>% - #mutate(.data[[sig.col[i]]] = replace_na(.data[[sig.col[i]]], 1)) - if (use_custom_lab==TRUE){ - if (nchar(change_lfc_name)==0){lfc_name = lfc.col[i]} - if (nchar(change_sig_name)==0){sig_name = sig.col[i]} - colnames(df) <- c(label.col,change_lfc_name, sig_name) - } else { - lfc_name = lfc.col[i] - sig_name = sig.col[i] - } - - group <- gsub("_pval|p_val_","",sig_name) - rank[[i]] <- -log10(df[[sig_name]]) * sign(df[[lfc_name]]) - names(rank)[i] <- paste0("C_",group,"_rank") - - cat(paste0("Genes in initial dataset: ", nrow(df),"\n")) - - #Select top genes by logFC or Significance - - if (value_to_sort_the_output_dataset=="fold-change") { - df <- df %>% dplyr::arrange(desc(.data[[lfc_name]])) - } else if (value_to_sort_the_output_dataset=="p-value") { - df <- df %>% dplyr::arrange(.data[[sig_name]]) - } - - if (is_red) { - df_sub <- df[df[[sigcol]] <= pCutoff & abs(df[[lfccol]]) >= FCcutoff, ] - } else { - df_sub <- df - } - - genes_to_label <- as.character(df_sub[1:no_genes_to_label,label.col]) -# additional_labels <- unlist(str_split(additional_labels,",")) - ## Modifying Additional Labels List: - ## Replace commas with spaces and split the string -split_values <- unlist(strsplit(gsub(",", " ", additional_labels), " ")) -additional_labels <- split_values[split_values != ""] - - filter <- additional_labels %in% df[,label.col] - missing_labels <- additional_labels[!filter] - additional_labels <- additional_labels[filter] - - if(length(missing_labels) > 0){ - cat("Could not find:\n") - print(missing_labels) - } - - if(use_only_addition_labels){ - genes_to_label <- additional_labels - }else{ - genes_to_label <- unique(append(genes_to_label, additional_labels)) - } - - significant = vector(length = nrow(df)) - significant[] = "Not significant" - significant[which(abs(df[,2]) > FCcutoff)] = "Fold change only" - significant[which(df[,3] < pCutoff)] = "Significant only" - significant[which(abs(df[,2]) > FCcutoff & df[,3] < pCutoff)] = "Significant and fold change" - print(table(significant)) - - # fix pvalue == 0 - shapeCustom <- rep(19,nrow(df)) - maxy <- max(-log10(df[[sig_name]]), na.rm=TRUE) - if(ylim > 0){ - maxy <- ylim - } - - cat(paste0("Maxy: ",maxy,"\n")) - if(maxy == Inf){ - # Sometimes, pvalues == 0 - keep <- df[[sig_name]] > 0 - df[[sig_name]][!keep] <- min(df[[sig_name]][keep]) - shapeCustom[!keep] <- 17 - - maxy <- -log10(min(df[[sig_name]][keep])) - cat("Some p-values equal zero. Adjusting y-limits.\n") - cat(paste0("Maxy adjusted: ",maxy,"\n")) - - } - - # By default, nothing will be greater than maxy. User can set this value lower - keep <- -log10(df[[sig_name]]) <= maxy - df[[sig_name]][!keep] <- maxy - shapeCustom[!keep] <- 17 - - names(shapeCustom)<- rep("Exact",length(shapeCustom)) - names(shapeCustom)[shapeCustom == 17] <- "Adjusted" - - #Remove if nothin' doin' - if(all(shapeCustom == 19)){ - shapeCustom <- NULL - } - - maxy <- ceiling(maxy) - - if (grepl("log",lfc.col[i]) ){ - xlab <- bquote(~Log[2]~ "fold change") - } else { - xlab <- "Fold change" - } - if (grepl("adj",sig.col[i])){ - ylab <- bquote(~-Log[10]~ "FDR") - } else { - ylab <- bquote (~-Log[10]~ "p-value") - } - if(use_custom_lab){ - if(lfc_name != lfc.col[i]){ - xlab <- gsub("_"," ",lfc_name) - } - if (sig_name != sig.col[i]){ - ylab <- gsub("_"," ",sig_name) - } - } - -## X-axis custom range change: - -if (custom_xlim == "") { - xlim=c(floor(min(df[,lfc_name])) - xlim_additional,ceiling(max(df[,lfc_name]))+ xlim_additional) -} else if (grepl(",", custom_xlim) == FALSE) { - xlim=c(-1*as.numeric(trimws(custom_xlim)), as.numeric(trimws(custom_xlim))) -} else { - split_values <- strsplit(custom_xlim, ",")[[1]] - - # Trim whitespace and convert to numeric values - x_min <- as.numeric(trimws(split_values[1])) - x_max <- as.numeric(trimws(split_values[2])) - - xlim <- c(x_min, x_max) -} + + - p <- EnhancedVolcano( df,x=lfc_name,y=sig_name, - lab=df[,label.col], - selectLab = genes_to_label, - title=title, #CHANGE NW: See line 78 - subtitle <- group, - xlab=xlab, - ylab=ylab, - xlim=xlim, - ylim=c(0, maxy + ylim_additional), - pCutoff=pCutoff, - FCcutoff=FCcutoff, - axisLabSize=axisLabSize, - labSize=labSize, - pointSize=pointSize, - shapeCustom=shapeCustom - ) - print(p) - ## Adding interactive plot with no labels: - p_empty <- EnhancedVolcano( df,x=lfc_name,y=sig_name, - lab = rep("", nrow(df)), # Setting labels to empty strings - selectLab = NULL, - title=title, #CHANGE NW: See line 78 - subtitle <- group, - xlab=xlab, - ylab=ylab, - xlim=xlim, - ylim=c(0, maxy + ylim_additional), - pCutoff=pCutoff, - FCcutoff=FCcutoff, - axisLabSize=axisLabSize, - labSize=labSize, - pointSize=pointSize, - shapeCustom=shapeCustom - ) -## print(p_empty) - - -# Extract the data used for plotting -plot_data <- ggplot_build(p_empty)$data[[1]] - -pxx <- p_empty + - xlab("Fold Change") + # Simplify x-axis label - ylab("Significance") + # Simplify y-axis label - theme_minimal() + - geom_point(aes( - text = paste("Gene:", df[[label.col]], - "
Log2FC:", df[[lfc_name]], - "
P-value:", df[[sig_name]]), - colour = as.character(plot_data$colour), - fill = as.character(plot_data$colour) # Set fill to the same as colour - ), - shape = 21, # Shape that supports both colour and fill - size = 2, # Size of the points - stroke = 0.1 # Stroke width - ) + scale_fill_identity() - -# Add interactive hover labels for the gene names -interactive_plot <- ggplotly(pxx, tooltip = c("text")) - - - ## showing interactive plot - grid.newpage() - print(interactive_plot) - grid.newpage() - ## The end of addition - - } - - df.final <- cbind(df.orig, do.call(cbind, rank)) - return(df.final) -} -``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -1. Maria Doyle, 2021 Visualization of RNA-Seq results with Volcano Plot (Galaxy Training Materials). https://training.galaxyproject.org/training-material/topics/transcriptomics/tutorials/rna-seq-viz-with-volcanoplot/tutorial.html Online; accessed Mon Aug 01 2022 -2. Batut et al., 2018 Community-Driven Data Analysis Training for Biology Cell Systems 10.1016/j.cels.2018.05.012 -3. Blighe, K, S Rana, and M Lewis. 2018. EnhancedVolcano: Publication-ready volcano plots with enhanced coloring and labeling. https://github.com/kevinblighe/EnhancedVolcano. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vignettes/SCWorkflow-QC.Rmd b/vignettes/SCWorkflow-QC.Rmd index 356d9fe..49d6da9 100644 --- a/vignettes/SCWorkflow-QC.Rmd +++ b/vignettes/SCWorkflow-QC.Rmd @@ -52,10 +52,10 @@ A corresponding Metadata table can be used to add sample level information to th # 'TNBC','TNBC','TNBC'))%>% # head()%>%knitr::kable() -SampleMetadataTable=data.table(Sample_Name=c('SCAF1713_1_1','SCAF1714_2_1','SCAF1715_3_1', - 'SCAF1716_4_1','SCAF1717_5_1'), +SampleMetadataTable=data.table(Sample_Name=c("SCAF1713_1_1","SCAF1714_2_1","SCAF1715_3_1", + "SCAF1716_4_1","SCAF1717_5_1"), Rename=c("PBS","ENT","NHSIL12","Combo","CD8dep"), - Treatment=c('WT',"Entinostat","NHS-IL12","Entinostat + NHS-IL12",'Entinostat + NHS-IL12')) + Treatment=c("WT","Entinostat","NHS-IL12","Entinostat + NHS-IL12","Entinostat + NHS-IL12")) write.table(SampleMetadataTable, file = "./images/Sample_Metadata.txt", sep = '\t', @@ -76,9 +76,9 @@ files=list.files(path="../tests/testthat/fixtures/Chariou/h5files",full.names = SOlist=processRawData(input=files, sample.metadata.table=SampleMetadataTable, - sample.name.column='Sample_Name', + sample.name.column="Sample_Name", organism="Mouse", - rename.col='Rename', + rename.col="Rename", keep=T, file.filter.regex=c(), split.h5=F, @@ -123,7 +123,7 @@ The function will return a filtered Seurat Object and various figures showing me SO_filtered=filterQC(object=SOlist$object, ## Filter Genes min.cells = 20, - filter.vdj.genes=F, + filter.vdj.genes=FALSE, ## Filter Cells nfeature.limits=c(NA,NA), @@ -136,9 +136,8 @@ SO_filtered=filterQC(object=SOlist$object, mad.complexity.limits = c(5,NA), topNgenes.limits = c(NA,NA), mad.topNgenes.limits = c(5,5), - n.topgnes=20, - do.doublets.fitler=T - + n.topgenes=20, + do.doublets.filter=TRUE ) @@ -177,7 +176,7 @@ Comb_SO=combineNormalize( high.cut = 8, low.cut.disp = 1, high.cut.disp = 100000, - selection.method = 'vst', + selection.method = "vst", # Dim Reduction only.var.genes = FALSE, draw.umap = TRUE, @@ -199,7 +198,7 @@ Comb_SO=combineNormalize( exclude.sample = NULL, cell.count.limit= 35000, reduce.so = FALSE, - project.name = 'scRNAProject', + project.name = "scRNAProject", cell.hashing.data = FALSE ) diff --git a/vignettes/SCWorkflow-SubsetReclust.Rmd b/vignettes/SCWorkflow-SubsetReclust.Rmd index 8da3e8d..ee9b5c3 100644 --- a/vignettes/SCWorkflow-SubsetReclust.Rmd +++ b/vignettes/SCWorkflow-SubsetReclust.Rmd @@ -44,9 +44,9 @@ This function subsets your Seurat object. Select a metadata column and values m filter_SO=filterSeuratObjectByMetadata( object = Anno_SO$object, samples.to.include = c("PBS","ENT","NHSIL12","Combo","CD8dep"), - sample.name = 'orig.ident', - category.to.filter = 'immgen_main', - values.to.filter = c('Monocytes','Macrophages','DC'), + sample.name = "orig.ident", + category.to.filter = "immgen_main", + values.to.filter = c("Monocytes","Macrophages","DC"), keep.or.remove = FALSE, greater.less.than = "greater than", colors = c( @@ -111,12 +111,14 @@ reClust_SO=reclusterSeuratObject( ) ``` + ```{r,echo=F,eval=run_Chunks} saveRDS(reClust_SO, file="./images/reClust_SO.rds") ggsave(reClust_SO$plots, filename = "./images/SubRec_recl.png", width = 18, height = 10) ``` + ![](./images/SubRec_recl.png){width=600}

diff --git a/vignettes/SCWorkflow-Visualizations.Rmd b/vignettes/SCWorkflow-Visualizations.Rmd index a0cea4c..4ec13ab 100644 --- a/vignettes/SCWorkflow-Visualizations.Rmd +++ b/vignettes/SCWorkflow-Visualizations.Rmd @@ -45,7 +45,7 @@ This function visualizes your plot based on selected metadata. Users can customi FigOut=plotMetadata( object=Anno_SO$object, samples.to.include=c("PBS","ENT","NHSIL12","Combo","CD8dep" ), - metadata.to.plot=c('SCT_snn_res.0.4','Phase'), + metadata.to.plot=c("SCT_snn_res.0.4","Phase"), columns.to.summarize=NULL, summarization.cut.off = 5, reduction.type = "umap", @@ -84,8 +84,8 @@ The algorithm employs an iterative process to adjust the positions of cells in a FigOut=tSNE3D( object=Anno_SO$object, - color.variable='SCT_snn_res.0.4', - label.variable='SCT_snn_res.0.4', + color.variable="SCT_snn_res.0.4", + label.variable="SCT_snn_res.0.4", dot.size = 4, legend = TRUE, colors = c("darkblue","purple4","green","red","darkcyan", @@ -108,10 +108,10 @@ saveWidget(as_widget(FigOut$plots), file = "./images/Vis_3D.html") library(rvest) library(htmltools) # readRDS("./images/Vis_3D.rds") -# htmltools::includeHTML('./images/Vis_3D.html') -# shiny::includeHTML('./images/Vis_3D.html') +# htmltools::includeHTML("./images/Vis_3D.html") +# shiny::includeHTML("./images/Vis_3D.html") -html_content <- read_html('./images/Vis_3D.html') +html_content <- read_html("./images/Vis_3D.html") print(html_content) ``` @@ -132,7 +132,7 @@ This function visualizes expression values of the chosen gene or protein in diff FigOut=colorByGene( object=Anno_SO$object, samples.to.include=c("PBS","ENT","NHSIL12","Combo","CD8dep" ), - gene='Itgam', + gene="Itgam", reduction.type = "umap", number.of.rows = 0, return.seurat.object = FALSE, @@ -175,16 +175,16 @@ You can choose how the plot looks - whether it's laid out like a grid, in rows, FigOut=violinPlot( object=Anno_SO$object, - assay='SCT', - layer='scale.data', - genes=c('Itgam','Cd38'), - group='SCT_snn_res.0.4', - facet_by = "", - filter_outliers = F, - outlier_low = 0.05, - outlier_high = 0.95, - jitter_points = TRUE, - jitter_dot_size = 1 + assay="SCT", + layer="scale.data", + genes=c("Itgam","Cd38"), + group="SCT_snn_res.0.4", + facet.by = "", + filter.outliers = F, + outlier.low = 0.05, + outlier.high = 0.95, + jitter.points = TRUE, + jitter.dot.size = 1 ) ``` @@ -225,9 +225,9 @@ The heatmap is produced by a package called ComplexHeatmap [3] and presents the FigOut=heatmapSC( object=Anno_SO$object, sample.names=c("PBS","ENT","NHSIL12","Combo","CD8dep" ), - metadata='SCT_snn_res.0.4', - transcripts=c('Cd163','Cd38','Itgam','Cd4','Cd8a','Pdcd1','Ctla4'), - use_assay = 'SCT', + metadata="SCT_snn_res.0.4", + transcripts=c("Cd163","Cd38","Itgam","Cd4","Cd8a","Pdcd1","Ctla4"), + use.assay = "SCT", proteins = NULL, heatmap.color = "Bu Yl Rd", plot.title = "Heatmap", @@ -285,9 +285,9 @@ This function can be useful for exploratory data analysis and visualizing the di FigOut=dotPlotMet( object=Anno_SO$object, - metadata='SCT_snn_res.0.4', + metadata="SCT_snn_res.0.4", cells=unique(Anno_SO$object$SCT_snn_res.0.4), - markers=c('Itgam','Cd163','Cd38','Cd4','Cd8a','Pdcd1','Ctla4'), + markers=c("Itgam","Cd163","Cd38","Cd4","Cd8a","Pdcd1","Ctla4"), plot.reverse = FALSE, cell.reverse.sort = FALSE, dot.color = "darkblue" @@ -335,20 +335,21 @@ The method first aggregates metadata by annotation and group to compute percenta FigOut=compareCellPopulations( object=Anno_SO$object, - metadata.table=Anno_SO$object@meta.data, - annotation.column='immgen_main', - group.column='Treatment', + annotation.column="immgen_main", + group.column="Treatment", + sample.column = "orig.ident", counts.type = "Frequency", group.order = NULL, wrap.ncols = 5 ) + ``` ```{r,eval=run_Chunks,echo=F,results='hide'} -ggsave(FigOut$Plots$Barplot, filename = "./images/Vis_CCPbar.png", width = 10, height = 6) -ggsave(FigOut$Plots$Boxplot, filename = "./images/Vis_CCPbox.png", width = 15, height = 9) +ggsave(FigOut$plots$Barplot, filename = "./images/Vis_CCPbar.png", width = 10, height = 6) +ggsave(FigOut$plots$Boxplot, filename = "./images/Vis_CCPbox.png", width = 15, height = 9) # png(filename="./images/Vis_HM.png",width = 700,height = 300,pointsize = 10) # (FigOut$plot) diff --git a/vignettes/images/Anno1.png b/vignettes/images/Anno1.png index d7b6443..77aadc5 100644 Binary files a/vignettes/images/Anno1.png and b/vignettes/images/Anno1.png differ diff --git a/vignettes/images/Anno2.png b/vignettes/images/Anno2.png index 5cbcee0..07b6c6e 100644 Binary files a/vignettes/images/Anno2.png and b/vignettes/images/Anno2.png differ diff --git a/vignettes/images/DL1.png b/vignettes/images/DL1.png index d773c20..6c7a940 100644 Binary files a/vignettes/images/DL1.png and b/vignettes/images/DL1.png differ diff --git a/vignettes/images/DL2.png b/vignettes/images/DL2.png index a09d734..d115a0c 100644 Binary files a/vignettes/images/DL2.png and b/vignettes/images/DL2.png differ diff --git a/vignettes/images/DPM.png b/vignettes/images/DPM.png index 763d7fc..b046d7a 100644 Binary files a/vignettes/images/DPM.png and b/vignettes/images/DPM.png differ diff --git a/vignettes/images/PerCell_Metadata.csv b/vignettes/images/PerCell_Metadata.csv index c2f6b2f..1b3aa16 100644 --- a/vignettes/images/PerCell_Metadata.csv +++ b/vignettes/images/PerCell_Metadata.csv @@ -5,12969 +5,3 @@ PBS_AAACCTGTCACTTACT-1,Monocytes PBS_AAACCTGTCAGCGATT-1,Monocytes PBS_AAACCTGTCAGCTGGC-1,Macrophages PBS_AAACCTGTCGGCTTGG-1,Macrophages -PBS_AAACGGGAGATGCCAG-1,Monocytes -PBS_AAACGGGTCGGATGTT-1,Monocytes -PBS_AAACGGGTCTCTGAGA-1,Monocytes -PBS_AAAGATGTCACCTTAT-1,Monocytes -PBS_AAAGCAAAGACCCACC-1,Macrophages -PBS_AAAGCAAAGCGTGAAC-1,Monocytes -PBS_AAAGCAACAGGGTATG-1,Macrophages -PBS_AAAGCAAGTTGTCTTT-1,Monocytes -PBS_AAAGTAGCAGATGGGT-1,Monocytes -PBS_AAAGTAGGTATCGCAT-1,T cells -PBS_AAAGTAGGTGTGAATA-1,Monocytes -PBS_AAATGCCAGAGTGACC-1,NK cells -PBS_AAATGCCAGTAGCGGT-1,T cells -PBS_AAATGCCTCCTTTCTC-1,Monocytes -PBS_AAATGCCTCTTCTGGC-1,Monocytes -PBS_AAATGCCTCTTTAGGG-1,Monocytes -PBS_AACACGTGTTCCACAA-1,Monocytes -PBS_AACACGTTCGCATGAT-1,Macrophages -PBS_AACCATGTCAAACCGT-1,Granulocytes -PBS_AACCATGTCAGCTCGG-1,Monocytes -PBS_AACCGCGAGCTAGTTC-1,Dendritic cells -PBS_AACCGCGAGTTGTCGT-1,Monocytes -PBS_AACCGCGTCCAACCAA-1,T cells -PBS_AACGTTGGTACTTGAC-1,Granulocytes -PBS_AACGTTGGTCGAATCT-1,B cells -PBS_AACGTTGTCTTACCGC-1,Macrophages -PBS_AACTCCCGTTGACGTT-1,Monocytes -PBS_AACTCCCTCGCGGATC-1,Macrophages -PBS_AACTCTTAGGTGACCA-1,Monocytes -PBS_AACTGGTAGTGGTAGC-1,Monocytes -PBS_AACTGGTCAAGCGTAG-1,Monocytes -PBS_AACTGGTGTAAATGTG-1,Macrophages -PBS_AACTGGTTCACCTTAT-1,Monocytes -PBS_AACTTTCCACTCAGGC-1,Macrophages -PBS_AACTTTCGTATTCTCT-1,Monocytes -PBS_AACTTTCGTTGCGTTA-1,Monocytes -PBS_AACTTTCTCGTACGGC-1,Monocytes -PBS_AAGACCTAGATATACG-1,Dendritic cells -PBS_AAGACCTGTAGGCATG-1,Monocytes -PBS_AAGACCTTCAAACAAG-1,NK cells -PBS_AAGCCGCGTGCAGGTA-1,Macrophages -PBS_AAGGAGCGTTGCTCCT-1,T cells -PBS_AAGTCTGAGGCTATCT-1,Monocytes -PBS_AAGTCTGGTCTGCAAT-1,Monocytes -PBS_AAGTCTGGTGGACGAT-1,Monocytes -PBS_AATCCAGAGGACTGGT-1,Macrophages -PBS_AATCCAGAGGTGCACA-1,Macrophages -PBS_AATCGGTAGGATGGTC-1,Monocytes -PBS_AATCGGTGTAGGCATG-1,Monocytes -PBS_ACACCAATCGTTTAGG-1,Monocytes -PBS_ACACCCTTCCATGCTC-1,Monocytes -PBS_ACACCCTTCTACGAGT-1,Monocytes -PBS_ACACCGGAGGCTCATT-1,Monocytes -PBS_ACACCGGTCATCACCC-1,Monocytes -PBS_ACACCGGTCGCATGGC-1,Monocytes -PBS_ACACTGAAGTTCGCAT-1,Monocytes -PBS_ACAGCCGAGCAGACTG-1,Dendritic cells -PBS_ACAGCTACAACGCACC-1,Granulocytes -PBS_ACAGCTAGTCGCATCG-1,Monocytes -PBS_ACATACGAGGACATTA-1,Monocytes -PBS_ACATACGAGTCGAGTG-1,T cells -PBS_ACATCAGAGAGGGATA-1,Dendritic cells -PBS_ACATCAGAGTAATCCC-1,Monocytes -PBS_ACATCAGTCTAGAGTC-1,Monocytes -PBS_ACATGGTCACACATGT-1,Macrophages -PBS_ACATGGTGTCTCCATC-1,Monocytes -PBS_ACATGGTTCAACCATG-1,Monocytes -PBS_ACCAGTAAGTGGTAGC-1,Monocytes -PBS_ACCAGTACAGAAGCAC-1,Monocytes -PBS_ACCAGTACAGGAATCG-1,T cells -PBS_ACCCACTGTCAGAAGC-1,Monocytes -PBS_ACCCACTGTGATAAAC-1,Macrophages -PBS_ACCCACTGTTAAGGGC-1,Monocytes -PBS_ACCCACTTCCACTGGG-1,Monocytes -PBS_ACCCACTTCCTTGGTC-1,Monocytes -PBS_ACCCACTTCTATCCTA-1,Monocytes -PBS_ACCGTAACAATCGGTT-1,Monocytes -PBS_ACCGTAAGTTTGACTG-1,Monocytes -PBS_ACCGTAATCGTCACGG-1,Monocytes -PBS_ACCTTTAGTAACGCGA-1,Macrophages -PBS_ACCTTTAGTGTGAAAT-1,Monocytes -PBS_ACGAGCCAGGCCCGTT-1,Granulocytes -PBS_ACGAGCCAGTGGTCCC-1,Monocytes -PBS_ACGAGCCGTGCAGGTA-1,Monocytes -PBS_ACGAGCCTCAGTGCAT-1,Macrophages -PBS_ACGAGCCTCCTTTCTC-1,Monocytes -PBS_ACGAGGAGTGGTACAG-1,Monocytes -PBS_ACGATACAGATCCCAT-1,Monocytes -PBS_ACGATACCAAAGGTGC-1,Monocytes -PBS_ACGATACCAGATGGCA-1,Monocytes -PBS_ACGATACTCACAGTAC-1,Monocytes -PBS_ACGATACTCCCATTAT-1,Monocytes -PBS_ACGATGTGTAAGCACG-1,Monocytes -PBS_ACGCAGCAGCTGCAAG-1,Macrophages -PBS_ACGCAGCAGTGTACTC-1,NK cells -PBS_ACGCCAGCAAAGGCGT-1,Monocytes -PBS_ACGCCAGGTGCGATAG-1,Monocytes -PBS_ACGCCAGGTTATGTGC-1,Monocytes -PBS_ACGCCAGTCACATGCA-1,Granulocytes -PBS_ACGCCGACATGTAGTC-1,Dendritic cells -PBS_ACGCCGATCCTTTCGG-1,T cells -PBS_ACGGAGAAGAAGGACA-1,Dendritic cells -PBS_ACGGAGACACGGACAA-1,Monocytes -PBS_ACGGCCACAGACAAGC-1,B cells -PBS_ACGGCCATCGTCACGG-1,Macrophages -PBS_ACGGGCTAGGAATCGC-1,Monocytes -PBS_ACGGGCTCACTTCGAA-1,Macrophages -PBS_ACGGGCTCAGATTGCT-1,Monocytes -PBS_ACGGGCTGTGCAACTT-1,Monocytes -PBS_ACGGGCTTCTCTTATG-1,Macrophages -PBS_ACGTCAATCCGCGCAA-1,Macrophages -PBS_ACTATCTAGTGCCATT-1,Monocytes -PBS_ACTGAACCATGAACCT-1,Monocytes -PBS_ACTGAGTAGATACACA-1,Monocytes -PBS_ACTGATGAGTTGAGAT-1,Monocytes -PBS_ACTGATGCACACATGT-1,Monocytes -PBS_ACTGATGCACCTTGTC-1,Monocytes -PBS_ACTGATGCATGTCCTC-1,Monocytes -PBS_ACTGATGGTCCGACGT-1,Monocytes -PBS_ACTGCTCCAGTATCTG-1,Macrophages -PBS_ACTGCTCCATCTCGCT-1,Monocytes -PBS_ACTGTCCAGTTAGCGG-1,Monocytes -PBS_ACTGTCCGTAAAGGAG-1,Granulocytes -PBS_ACTGTCCGTCCGAGTC-1,Monocytes -PBS_ACTGTCCTCATCACCC-1,Monocytes -PBS_ACTTACTAGATCCGAG-1,Monocytes -PBS_ACTTACTTCGTTTATC-1,Monocytes -PBS_ACTTGTTAGTGTCTCA-1,Monocytes -PBS_ACTTTCATCACCTCGT-1,Monocytes -PBS_AGAATAGTCAAGCCTA-1,Monocytes -PBS_AGAATAGTCCAAGCCG-1,Monocytes -PBS_AGAATAGTCGAGAACG-1,Monocytes -PBS_AGACGTTAGCAGCGTA-1,Granulocytes -PBS_AGACGTTCAGGATTGG-1,Monocytes -PBS_AGACGTTTCTTGCAAG-1,Macrophages -PBS_AGAGCGAAGCCAGTTT-1,Macrophages -PBS_AGAGCTTAGCCTCGTG-1,B cells -PBS_AGATCTGAGTACGATA-1,Monocytes -PBS_AGATCTGGTACCCAAT-1,Monocytes -PBS_AGATCTGGTGAACCTT-1,Monocytes -PBS_AGATCTGTCAACGCTA-1,Monocytes -PBS_AGATTGCAGCCCAGCT-1,Monocytes -PBS_AGATTGCAGTGTCCAT-1,Granulocytes -PBS_AGATTGCCACAAGTAA-1,Monocytes -PBS_AGATTGCTCCGTACAA-1,Monocytes -PBS_AGCAGCCGTACATGTC-1,Monocytes -PBS_AGCAGCCTCCTTTCGG-1,Monocytes -PBS_AGCAGCCTCTCTTGAT-1,Macrophages -PBS_AGCATACGTCCTCTTG-1,Monocytes -PBS_AGCATACGTCGTTGTA-1,Monocytes -PBS_AGCATACGTCTCGTTC-1,Monocytes -PBS_AGCATACGTGGTACAG-1,Macrophages -PBS_AGCGGTCGTATCTGCA-1,Macrophages -PBS_AGCGTATTCATAGCAC-1,Monocytes -PBS_AGCGTCGGTCTAACGT-1,Monocytes -PBS_AGCGTCGTCTCTAAGG-1,Monocytes -PBS_AGCTCCTGTCAGAAGC-1,Monocytes -PBS_AGCTCCTGTCCGTGAC-1,Monocytes -PBS_AGCTCCTTCTACTTAC-1,Macrophages -PBS_AGCTCTCGTCAGAGGT-1,Monocytes -PBS_AGCTCTCTCTCAACTT-1,Monocytes -PBS_AGCTTGAGTAGTGAAT-1,Macrophages -PBS_AGCTTGAGTTTACTCT-1,Dendritic cells -PBS_AGGCCACAGCGGATCA-1,Monocytes -PBS_AGGCCACGTTACGCGC-1,T cells -PBS_AGGCCACTCGGATGGA-1,Monocytes -PBS_AGGGAGTAGGAGTAGA-1,Monocytes -PBS_AGGGAGTCACAAGCCC-1,Monocytes -PBS_AGGGAGTGTTACAGAA-1,Monocytes -PBS_AGGGATGAGCCTCGTG-1,Monocytes -PBS_AGGGATGCAATTCCTT-1,T cells -PBS_AGGGATGTCGGAATCT-1,Monocytes -PBS_AGGGATGTCGGTGTCG-1,Monocytes -PBS_AGGGTGAAGGAATCGC-1,Monocytes -PBS_AGGTCATAGGCTACGA-1,Monocytes -PBS_AGGTCATGTGGAAAGA-1,Macrophages -PBS_AGGTCATTCACCTTAT-1,Monocytes -PBS_AGGTCCGGTAAACCTC-1,Monocytes -PBS_AGGTCCGGTGCAACGA-1,Macrophages -PBS_AGTAGTCCAGCTGGCT-1,Monocytes -PBS_AGTAGTCGTCTTGCGG-1,Monocytes -PBS_AGTAGTCTCATCATTC-1,Monocytes -PBS_AGTCTTTTCTGCAAGT-1,Monocytes -PBS_AGTGAGGCAAGCGAGT-1,Macrophages -PBS_AGTGGGAAGAATCTCC-1,Monocytes -PBS_AGTGGGACAATGGTCT-1,Macrophages -PBS_AGTGTCAAGAAGCCCA-1,Monocytes -PBS_AGTGTCAAGGACAGAA-1,Monocytes -PBS_AGTGTCAAGGTGCTTT-1,Monocytes -PBS_AGTGTCACATATACCG-1,Monocytes -PBS_AGTGTCAGTGATGTCT-1,Monocytes -PBS_AGTTGGTGTAGCGTCC-1,Monocytes -PBS_AGTTGGTTCCAGAAGG-1,Monocytes -PBS_ATAACGCAGGTGCTTT-1,Macrophages -PBS_ATAACGCCATTACGAC-1,Monocytes -PBS_ATAACGCGTAGAAAGG-1,Monocytes -PBS_ATAAGAGTCACCCGAG-1,Monocytes -PBS_ATAGACCAGCGGATCA-1,Granulocytes -PBS_ATAGACCCAGACAAGC-1,Monocytes -PBS_ATAGACCGTTAAAGTG-1,Dendritic cells -PBS_ATAGACCTCAGGTAAA-1,Monocytes -PBS_ATCACGACAGATTGCT-1,Macrophages -PBS_ATCACGACATAACCTG-1,Monocytes -PBS_ATCACGAGTTACCGAT-1,Monocytes -PBS_ATCACGATCAAGGTAA-1,Monocytes -PBS_ATCACGATCGCACTCT-1,Macrophages -PBS_ATCATCTAGGCAATTA-1,Monocytes -PBS_ATCATCTAGTGTTTGC-1,Monocytes -PBS_ATCATCTCAGCTGTAT-1,Monocytes -PBS_ATCATGGGTGGTTTCA-1,Dendritic cells -PBS_ATCCACCAGCCACTAT-1,Monocytes -PBS_ATCCACCAGTGTGAAT-1,Monocytes -PBS_ATCCACCCAATTCCTT-1,Monocytes -PBS_ATCCACCTCCATTCTA-1,Monocytes -PBS_ATCCGAAAGATCGATA-1,Monocytes -PBS_ATCGAGTGTTATGCGT-1,Macrophages -PBS_ATCGAGTTCAGTGCAT-1,Monocytes -PBS_ATCTACTAGGCTAGCA-1,Macrophages -PBS_ATCTACTGTATATGGA-1,Monocytes -PBS_ATCTACTGTCTGATTG-1,Monocytes -PBS_ATCTGCCAGCGTGAGT-1,Monocytes -PBS_ATCTGCCGTGTCAATC-1,Monocytes -PBS_ATCTGCCTCCGGCACA-1,Macrophages -PBS_ATGCGATCATAGTAAG-1,Monocytes -PBS_ATGGGAGCACCATCCT-1,Monocytes -PBS_ATGGGAGGTTTGTTGG-1,Monocytes -PBS_ATGGGAGTCTCCTATA-1,Monocytes -PBS_ATGTGTGCAATGGATA-1,Monocytes -PBS_ATGTGTGGTACCGTTA-1,Macrophages -PBS_ATGTGTGTCTTACCTA-1,Monocytes -PBS_ATTACTCTCCTCGCAT-1,Monocytes -PBS_ATTATCCCAATACGCT-1,Monocytes -PBS_ATTATCCCAGGACCCT-1,Monocytes -PBS_ATTATCCGTCACACGC-1,Monocytes -PBS_ATTATCCGTCCTAGCG-1,Dendritic cells -PBS_ATTATCCTCTTGAGAC-1,Monocytes -PBS_ATTCTACGTTCTGAAC-1,Monocytes -PBS_ATTGGACAGGAGCGAG-1,Granulocytes -PBS_ATTGGACCACATGTGT-1,Monocytes -PBS_ATTGGACTCTTGTCAT-1,Macrophages -PBS_ATTGGTGAGCAGGCTA-1,Monocytes -PBS_ATTGGTGGTCCTAGCG-1,Monocytes -PBS_ATTGGTGGTGAACCTT-1,Monocytes -PBS_ATTGGTGGTGTGGCTC-1,Monocytes -PBS_ATTGGTGTCAACTCTT-1,Monocytes -PBS_ATTGGTGTCCGCATCT-1,Monocytes -PBS_CAACCAAAGTCAAGGC-1,Monocytes -PBS_CAACCAATCAACCATG-1,Monocytes -PBS_CAACCTCAGGATTCGG-1,Monocytes -PBS_CAACCTCGTGACCAAG-1,Monocytes -PBS_CAACCTCGTGCACCAC-1,Macrophages -PBS_CAACCTCGTTAAGAAC-1,Macrophages -PBS_CAACCTCGTTACCGAT-1,T cells -PBS_CAACCTCTCTCTAAGG-1,Macrophages -PBS_CAACTAGAGCACGCCT-1,Monocytes -PBS_CAACTAGAGCGAAGGG-1,Macrophages -PBS_CAACTAGCAGGTTTCA-1,Monocytes -PBS_CAACTAGGTGCAGGTA-1,Monocytes -PBS_CAAGGCCAGAGACTAT-1,Monocytes -PBS_CAAGGCCCACTACAGT-1,Monocytes -PBS_CAAGGCCGTATAATGG-1,Monocytes -PBS_CAAGTTGGTCTACCTC-1,Monocytes -PBS_CAAGTTGTCATTGCGA-1,Monocytes -PBS_CACAAACGTTAAGTAG-1,T cells -PBS_CACACAACAGGGTACA-1,Monocytes -PBS_CACACAACATACAGCT-1,Monocytes -PBS_CACACAATCCATGAAC-1,Monocytes -PBS_CACACCTCAGCCTATA-1,Monocytes -PBS_CACACCTTCCCATTTA-1,Monocytes -PBS_CACACTCAGTGTACCT-1,Monocytes -PBS_CACACTCGTCATGCCG-1,Granulocytes -PBS_CACACTCGTCGATTGT-1,NK cells -PBS_CACACTCTCCACTCCA-1,Monocytes -PBS_CACAGGCAGCGAAGGG-1,Monocytes -PBS_CACAGGCCACATAACC-1,Monocytes -PBS_CACAGGCGTGCTTCTC-1,Monocytes -PBS_CACAGGCGTGTGACGA-1,Monocytes -PBS_CACAGTAAGGGTGTGT-1,Monocytes -PBS_CACAGTAGTTACTGAC-1,Monocytes -PBS_CACATAGAGACACTAA-1,Monocytes -PBS_CACATAGCATAACCTG-1,Macrophages -PBS_CACATAGCATGATCCA-1,Monocytes -PBS_CACATAGGTGGTGTAG-1,Monocytes -PBS_CACATAGTCACAGGCC-1,Macrophages -PBS_CACATTTAGCTAAGAT-1,Monocytes -PBS_CACATTTCAGGTGCCT-1,Monocytes -PBS_CACATTTGTATCGCAT-1,Monocytes -PBS_CACCACTAGTGCGATG-1,Monocytes -PBS_CACCACTTCCTATTCA-1,Monocytes -PBS_CACCAGGAGCAATCTC-1,Monocytes -PBS_CACCAGGAGCGTCAAG-1,Monocytes -PBS_CACCAGGAGCTGATAA-1,Monocytes -PBS_CACCAGGGTAGCGTAG-1,Monocytes -PBS_CACCAGGGTGCCTGGT-1,Dendritic cells -PBS_CACCTTGAGGACAGAA-1,Monocytes -PBS_CACCTTGTCGGCGGTT-1,Monocytes -PBS_CACCTTGTCTCGAGTA-1,Macrophages -PBS_CACTCCAAGCGATAGC-1,Monocytes -PBS_CACTCCACACATTCGA-1,Macrophages -PBS_CACTCCAGTGAGTGAC-1,Monocytes -PBS_CAGAATCAGTGTGAAT-1,Monocytes -PBS_CAGAGAGAGCCACGCT-1,Macrophages -PBS_CAGAGAGTCGAATGGG-1,Monocytes -PBS_CAGATCAGTGAGGGAG-1,Monocytes -PBS_CAGATCAGTGTAACGG-1,Monocytes -PBS_CAGCATACACATTTCT-1,Macrophages -PBS_CAGCATAGTCCAGTTA-1,Monocytes -PBS_CAGCATAGTCGGGTCT-1,Monocytes -PBS_CAGCATATCGAATCCA-1,Monocytes -PBS_CAGCCGAAGAACAATC-1,Monocytes -PBS_CAGCCGACACAACGTT-1,Monocytes -PBS_CAGCCGACACAGGAGT-1,Monocytes -PBS_CAGCCGACATCGGACC-1,Macrophages -PBS_CAGCTGGAGTATTGGA-1,Monocytes -PBS_CAGCTGGCAACACCTA-1,Monocytes -PBS_CAGCTGGTCGTTTAGG-1,Monocytes -PBS_CAGGTGCAGATCCCGC-1,Macrophages -PBS_CAGGTGCGTGATAAGT-1,Macrophages -PBS_CAGTAACCATACCATG-1,Monocytes -PBS_CAGTCCTCATGTAGTC-1,Monocytes -PBS_CAGTCCTGTAGTACCT-1,Monocytes -PBS_CATATGGAGTGGGATC-1,Monocytes -PBS_CATATGGCAATGTTGC-1,Macrophages -PBS_CATATGGTCAGAGCTT-1,Monocytes -PBS_CATATTCAGTGTCCAT-1,Monocytes -PBS_CATATTCGTATATCCG-1,Macrophages -PBS_CATATTCGTCGCTTCT-1,Monocytes -PBS_CATCAAGCAAACGTGG-1,Monocytes -PBS_CATCAAGCAGGGATTG-1,Monocytes -PBS_CATCAAGTCGGATGTT-1,Dendritic cells -PBS_CATCAGAAGCCAGTTT-1,Monocytes -PBS_CATCCACAGGTAGCCA-1,Dendritic cells -PBS_CATCGAACAGGTTTCA-1,Dendritic cells -PBS_CATCGAACAGTGGAGT-1,Monocytes -PBS_CATCGAAGTAAGGGCT-1,Dendritic cells -PBS_CATCGAATCATCGATG-1,Macrophages -PBS_CATCGGGGTGTGGTTT-1,Monocytes -PBS_CATGACAAGGCTCATT-1,Monocytes -PBS_CATGACACAAACGCGA-1,Monocytes -PBS_CATGACAGTAAACACA-1,Monocytes -PBS_CATGACAGTACTTCTT-1,Macrophages -PBS_CATGACATCATTGCCC-1,Monocytes -PBS_CATGACATCGGTTAAC-1,B cells -PBS_CATGCCTCAGATAATG-1,Granulocytes -PBS_CATGCCTGTCACTTCC-1,Monocytes -PBS_CATGCCTTCCGCGGTA-1,Monocytes -PBS_CATGGCGGTAAACCTC-1,Monocytes -PBS_CATGGCGTCGCGCCAA-1,Monocytes -PBS_CATGGCGTCTGCTGCT-1,Macrophages -PBS_CATTATCGTGCCTTGG-1,Monocytes -PBS_CATTATCGTGTGTGCC-1,Macrophages -PBS_CATTATCTCAGGTAAA-1,Monocytes -PBS_CATTATCTCCGGGTGT-1,Dendritic cells -PBS_CATTATCTCGCGTTTC-1,Macrophages -PBS_CATTCGCCAACTGCGC-1,Macrophages -PBS_CATTCGCGTCCTGCTT-1,Monocytes -PBS_CCAATCCAGGTAAACT-1,Monocytes -PBS_CCAATCCGTCATCGGC-1,Monocytes -PBS_CCACCTATCGACGGAA-1,Monocytes -PBS_CCACCTATCTAACTTC-1,Monocytes -PBS_CCACGGAGTCTAGTCA-1,Monocytes -PBS_CCACGGATCATAGCAC-1,Macrophages -PBS_CCACTACCATGCTAGT-1,Monocytes -PBS_CCACTACGTAAGTAGT-1,Monocytes -PBS_CCAGCGAAGAACAATC-1,Monocytes -PBS_CCAGCGAAGCTAGCCC-1,Macrophages -PBS_CCAGCGACATGTTGAC-1,Monocytes -PBS_CCAGCGAGTTTGGCGC-1,Monocytes -PBS_CCAGCGATCATCACCC-1,Macrophages -PBS_CCATGTCAGGAGCGTT-1,Macrophages -PBS_CCATGTCGTAAGGATT-1,Macrophages -PBS_CCATGTCGTAGCAAAT-1,Monocytes -PBS_CCATGTCGTCAAGCGA-1,Monocytes -PBS_CCATGTCTCAGTACGT-1,Monocytes -PBS_CCATTCGGTGGCCCTA-1,Monocytes -PBS_CCATTCGTCCGTAGTA-1,Granulocytes -PBS_CCATTCGTCCTTGGTC-1,Dendritic cells -PBS_CCCAATCCACCTCGGA-1,Monocytes -PBS_CCCAATCTCATCGGAT-1,T cells -PBS_CCCAATCTCCTGCAGG-1,Macrophages -PBS_CCCAGTTAGTGGTAGC-1,Monocytes -PBS_CCCAGTTGTCGACTAT-1,Monocytes -PBS_CCCAGTTTCAGGCAAG-1,Monocytes -PBS_CCCTCCTAGGAATTAC-1,Monocytes -PBS_CCCTCCTCACATTAGC-1,Monocytes -PBS_CCGGGATAGATATACG-1,Dendritic cells -PBS_CCGGGATAGGCTCATT-1,Macrophages -PBS_CCGGTAGCACAACTGT-1,Monocytes -PBS_CCGGTAGCATGCTAGT-1,Monocytes -PBS_CCGGTAGGTTTGACAC-1,Monocytes -PBS_CCGTACTCACCGAAAG-1,Dendritic cells -PBS_CCGTACTTCTCCGGTT-1,Monocytes -PBS_CCGTGGATCAGCTCTC-1,Monocytes -PBS_CCGTTCAAGGTGATTA-1,Monocytes -PBS_CCGTTCACACCCATTC-1,Monocytes -PBS_CCGTTCACAGGTGCCT-1,Monocytes -PBS_CCGTTCAGTCTAAAGA-1,Monocytes -PBS_CCGTTCATCGGCTACG-1,Monocytes -PBS_CCTACACAGCGCTCCA-1,Monocytes -PBS_CCTACACAGTAACCCT-1,Monocytes -PBS_CCTACACCAAGCCTAT-1,Monocytes -PBS_CCTACACCACGGACAA-1,Monocytes -PBS_CCTACACTCAGTTTGG-1,Macrophages -PBS_CCTACACTCTAACTGG-1,Monocytes -PBS_CCTACCAAGGAGTTTA-1,Dendritic cells -PBS_CCTACCACATCTGGTA-1,Monocytes -PBS_CCTACCAGTATTACCG-1,Monocytes -PBS_CCTACCATCGGAAATA-1,Monocytes -PBS_CCTACCATCGTCCGTT-1,Monocytes -PBS_CCTATTATCGGACAAG-1,Monocytes -PBS_CCTCAGTAGTGACTCT-1,Monocytes -PBS_CCTCTGAAGAATGTGT-1,Monocytes -PBS_CCTCTGAAGAGTGACC-1,Dendritic cells -PBS_CCTCTGAAGCTGTTCA-1,Monocytes -PBS_CCTTACGGTCTCCACT-1,Monocytes -PBS_CCTTCCCGTCACCCAG-1,Monocytes -PBS_CCTTCCCGTCCGTCAG-1,Monocytes -PBS_CCTTCCCTCCTGCAGG-1,Monocytes -PBS_CCTTCCCTCGCCTGTT-1,Monocytes -PBS_CCTTCGATCACGATGT-1,Macrophages -PBS_CCTTTCTAGAGCAATT-1,Monocytes -PBS_CCTTTCTCACCGAATT-1,Monocytes -PBS_CGAACATTCTCGAGTA-1,Monocytes -PBS_CGAATGTGTCTCCACT-1,Monocytes -PBS_CGACCTTCAAGCTGGA-1,Monocytes -PBS_CGACCTTCAATGTAAG-1,Monocytes -PBS_CGACTTCGTACCAGTT-1,Macrophages -PBS_CGAGAAGAGAGCCTAG-1,Monocytes -PBS_CGAGAAGCAATGACCT-1,Monocytes -PBS_CGAGAAGCACATGGGA-1,Monocytes -PBS_CGAGAAGGTTGCCTCT-1,Monocytes -PBS_CGAGAAGTCGGAATCT-1,Monocytes -PBS_CGAGCACTCGAGAACG-1,Monocytes -PBS_CGAGCCAAGAAACCAT-1,Dendritic cells -PBS_CGAGCCATCTGCTGTC-1,Monocytes -PBS_CGATCGGGTTTGACTG-1,Monocytes -PBS_CGATCGGTCACCAGGC-1,Monocytes -PBS_CGATCGGTCGGACAAG-1,Macrophages -PBS_CGATGGCCATCCCACT-1,Monocytes -PBS_CGATGGCGTACGACCC-1,Macrophages -PBS_CGATGTAAGATCCGAG-1,Monocytes -PBS_CGATGTAAGTGTCCAT-1,Granulocytes -PBS_CGATGTACACCAGCAC-1,Monocytes -PBS_CGATGTAGTCGAACAG-1,Monocytes -PBS_CGATTGAAGTCAAGCG-1,Monocytes -PBS_CGATTGACAGTTCATG-1,Monocytes -PBS_CGATTGACATGCAATC-1,Monocytes -PBS_CGATTGATCAGTGTTG-1,Macrophages -PBS_CGATTGATCCAAAGTC-1,Dendritic cells -PBS_CGCCAAGCAAGGTTTC-1,Monocytes -PBS_CGCCAAGTCACAGGCC-1,Monocytes -PBS_CGCGGTAAGAGGTAGA-1,Macrophages -PBS_CGCGGTACACCACGTG-1,Monocytes -PBS_CGCGGTATCTGCAGTA-1,Monocytes -PBS_CGCGTTTAGGTGCTAG-1,Monocytes -PBS_CGCGTTTCATGCTGGC-1,Monocytes -PBS_CGCTATCAGTGGGATC-1,Macrophages -PBS_CGCTATCAGTTCGCGC-1,Monocytes -PBS_CGCTGGAAGTATCTCG-1,Macrophages -PBS_CGCTGGATCAGAAATG-1,Monocytes -PBS_CGCTTCATCTTGAGAC-1,Monocytes -PBS_CGGACACAGCTTCGCG-1,Monocytes -PBS_CGGACGTGTCGGCTCA-1,Macrophages -PBS_CGGACGTGTTCCGTCT-1,Monocytes -PBS_CGGACGTTCGGAGGTA-1,Monocytes -PBS_CGGACGTTCGTCGTTC-1,Monocytes -PBS_CGGAGCTGTTACCGAT-1,Monocytes -PBS_CGGAGTCGTAAGTGGC-1,Dendritic cells -PBS_CGGAGTCGTGCAACGA-1,Monocytes -PBS_CGGAGTCGTGTAATGA-1,Monocytes -PBS_CGGAGTCTCGGCTTGG-1,Monocytes -PBS_CGGCTAGCAAGTACCT-1,Monocytes -PBS_CGGCTAGGTCTCACCT-1,Monocytes -PBS_CGGGTCACATGTAAGA-1,Monocytes -PBS_CGGGTCATCACCCTCA-1,B cells -PBS_CGGTTAAAGAAGGTGA-1,Monocytes -PBS_CGGTTAAAGTTATCGC-1,Monocytes -PBS_CGGTTAAGTCGAATCT-1,Macrophages -PBS_CGGTTAATCACTTATC-1,Macrophages -PBS_CGTAGCGAGATAGTCA-1,Monocytes -PBS_CGTAGCGAGCCGGTAA-1,Monocytes -PBS_CGTAGCGAGGCTCATT-1,Monocytes -PBS_CGTAGCGTCAAGGCTT-1,Monocytes -PBS_CGTAGGCAGATGTAAC-1,Granulocytes -PBS_CGTAGGCGTGGCCCTA-1,Monocytes -PBS_CGTCACTAGGCTCTTA-1,Monocytes -PBS_CGTCACTGTCACCCAG-1,Macrophages -PBS_CGTCACTGTTCCGTCT-1,Macrophages -PBS_CGTCAGGAGATGCGAC-1,Macrophages -PBS_CGTCAGGAGTACTTGC-1,Monocytes -PBS_CGTCAGGCATTACCTT-1,Monocytes -PBS_CGTCAGGGTTCCACGG-1,Monocytes -PBS_CGTCAGGTCCGCAGTG-1,Monocytes -PBS_CGTCCATAGCAGGTCA-1,Monocytes -PBS_CGTCCATAGTACCGGA-1,Monocytes -PBS_CGTCCATCACTGTTAG-1,Monocytes -PBS_CGTCCATGTGTGAAAT-1,Macrophages -PBS_CGTCCATGTTTGGGCC-1,Monocytes -PBS_CGTCTACGTATATGGA-1,Macrophages -PBS_CGTCTACTCGCGTTTC-1,Macrophages -PBS_CGTGTAAAGATCGGGT-1,Macrophages -PBS_CGTGTAAAGGAACTGC-1,Monocytes -PBS_CGTGTAATCTCGATGA-1,Monocytes -PBS_CGTGTCTAGACTACAA-1,Monocytes -PBS_CGTGTCTAGTGGTCCC-1,Monocytes -PBS_CGTGTCTAGTGTTGAA-1,Monocytes -PBS_CGTGTCTGTTGCCTCT-1,Monocytes -PBS_CGTGTCTTCTGAGGGA-1,Monocytes -PBS_CGTTAGAAGGCCATAG-1,Monocytes -PBS_CGTTAGAGTCACTGGC-1,Monocytes -PBS_CGTTAGATCCACGCAG-1,Monocytes -PBS_CGTTGGGCATCCTAGA-1,Monocytes -PBS_CTAACTTCACTGAAGG-1,Macrophages -PBS_CTAACTTTCACCGTAA-1,Macrophages -PBS_CTAAGACAGGCTATCT-1,Macrophages -PBS_CTAAGACCACATGGGA-1,NK cells -PBS_CTAAGACCAGCATACT-1,Monocytes -PBS_CTAAGACTCATCACCC-1,Granulocytes -PBS_CTAATGGAGGTGATTA-1,Monocytes -PBS_CTAATGGTCACCAGGC-1,Macrophages -PBS_CTACACCAGACACTAA-1,Monocytes -PBS_CTACACCAGCTTATCG-1,Monocytes -PBS_CTACACCTCGTTACGA-1,Monocytes -PBS_CTACATTAGCCGTCGT-1,Monocytes -PBS_CTACATTAGCGGATCA-1,Monocytes -PBS_CTACATTAGTGACATA-1,Monocytes -PBS_CTACATTCATACTACG-1,Macrophages -PBS_CTACATTGTCAATACC-1,Monocytes -PBS_CTACATTGTGATGTGG-1,Granulocytes -PBS_CTACATTTCGGCATCG-1,Monocytes -PBS_CTACCCAAGAATCTCC-1,Monocytes -PBS_CTACCCAAGGACCACA-1,Monocytes -PBS_CTACCCAAGGTCATCT-1,Monocytes -PBS_CTACCCAGTTACGGAG-1,Dendritic cells -PBS_CTACGTCCACAACGCC-1,Monocytes -PBS_CTAGAGTCACGGTGTC-1,Monocytes -PBS_CTAGAGTTCACTTCAT-1,Monocytes -PBS_CTAGAGTTCTGCCAGG-1,Monocytes -PBS_CTAGCCTGTCAATGTC-1,Monocytes -PBS_CTAGCCTGTTAAGATG-1,Dendritic cells -PBS_CTAGCCTGTTCGCGAC-1,Monocytes -PBS_CTAGTGAGTTGCGCAC-1,Monocytes -PBS_CTAGTGATCTTCATGT-1,Monocytes -PBS_CTCACACGTCCGTCAG-1,Monocytes -PBS_CTCACACTCTTGACGA-1,Monocytes -PBS_CTCAGAAGTCCAAGTT-1,Monocytes -PBS_CTCAGAAGTGTCCTCT-1,Monocytes -PBS_CTCATTACACCCATTC-1,Monocytes -PBS_CTCATTAGTTCAGGCC-1,Monocytes -PBS_CTCCTAGTCTCGAGTA-1,Macrophages -PBS_CTCGAAAGTTGTGGCC-1,Monocytes -PBS_CTCGAAATCATTCACT-1,Granulocytes -PBS_CTCGAAATCGGCGCAT-1,Monocytes -PBS_CTCGGAGAGAAGGTGA-1,Macrophages -PBS_CTCGGAGCAGATGAGC-1,Monocytes -PBS_CTCGGAGCAGGTTTCA-1,Monocytes -PBS_CTCGGAGGTACCATCA-1,Macrophages -PBS_CTCGGAGTCTATCGCC-1,Monocytes -PBS_CTCGGGAAGCGATATA-1,Monocytes -PBS_CTCGGGAAGTGGGATC-1,Macrophages -PBS_CTCGGGATCACCAGGC-1,Monocytes -PBS_CTCGTACAGCAACGGT-1,Monocytes -PBS_CTCGTACAGTACGTAA-1,Monocytes -PBS_CTCGTACGTGTGACCC-1,Macrophages -PBS_CTCGTCAGTAGATTAG-1,Monocytes -PBS_CTCGTCAGTCACACGC-1,Dendritic cells -PBS_CTCGTCAGTGCGGTAA-1,Macrophages -PBS_CTCTAATTCAGAGCTT-1,NK cells -PBS_CTCTACGAGCCGGTAA-1,Monocytes -PBS_CTCTGGTCAAAGGAAG-1,Macrophages -PBS_CTGAAGTAGTGGGATC-1,Macrophages -PBS_CTGAAGTGTGATAAAC-1,Monocytes -PBS_CTGATCCCACTGTTAG-1,Macrophages -PBS_CTGCCTACAGTCCTTC-1,Monocytes -PBS_CTGCCTAGTCTGCAAT-1,Monocytes -PBS_CTGCCTATCGAACGGA-1,Macrophages -PBS_CTGCCTATCGCAAGCC-1,Monocytes -PBS_CTGCCTATCGGCGCAT-1,Macrophages -PBS_CTGCGGATCTTGTTTG-1,Macrophages -PBS_CTGCTGTTCACCACCT-1,Monocytes -PBS_CTGGTCTAGCGGCTTC-1,Monocytes -PBS_CTGGTCTCACCTCGTT-1,Monocytes -PBS_CTGGTCTGTGCCTGCA-1,NK cells -PBS_CTGTTTAGTCAGGACA-1,Monocytes -PBS_CTTAACTGTAATCGTC-1,Monocytes -PBS_CTTACCGAGGTGATAT-1,Macrophages -PBS_CTTACCGGTCTCCATC-1,Macrophages -PBS_CTTAGGAAGCTATGCT-1,Macrophages -PBS_CTTCTCTCATTCCTGC-1,T cells -PBS_CTTCTCTTCACCAGGC-1,Monocytes -PBS_CTTGGCTGTAGCTCCG-1,Macrophages -PBS_CTTGGCTGTCATATGC-1,Monocytes -PBS_CTTGGCTGTGACTCAT-1,Macrophages -PBS_CTTGGCTTCCTGTACC-1,Macrophages -PBS_CTTGGCTTCCTTGACC-1,T cells -PBS_CTTTGCGGTCTCCATC-1,Monocytes -PBS_GAAACTCAGAGCAATT-1,Monocytes -PBS_GAAACTCAGTCAAGCG-1,Macrophages -PBS_GAAACTCCACACCGCA-1,Macrophages -PBS_GAAACTCTCCTAAGTG-1,Monocytes -PBS_GAAATGATCGGCTACG-1,Granulocytes -PBS_GAAATGATCTACCAGA-1,Monocytes -PBS_GAACCTAAGGGTGTGT-1,Granulocytes -PBS_GAACCTAGTGCTCTTC-1,Monocytes -PBS_GAACGGACAACTGGCC-1,Macrophages -PBS_GAACGGAGTAAATGAC-1,Monocytes -PBS_GAACGGAGTGACGCCT-1,Monocytes -PBS_GAAGCAGGTTATCCGA-1,Monocytes -PBS_GAAGCAGTCTAACTTC-1,Macrophages -PBS_GAATAAGCAGTCACTA-1,Monocytes -PBS_GAATAAGCATGGTCTA-1,Monocytes -PBS_GAATGAACAGCTTAAC-1,Monocytes -PBS_GAATGAATCAACACCA-1,Monocytes -PBS_GACACGCAGACTTTCG-1,Monocytes -PBS_GACACGCCAAGGACAC-1,Monocytes -PBS_GACACGCCAGTCAGAG-1,Monocytes -PBS_GACACGCCAGTTCATG-1,Fibroblasts -PBS_GACACGCGTGGTTTCA-1,Monocytes -PBS_GACACGCGTTCAGCGC-1,Monocytes -PBS_GACACGCTCGCATGAT-1,Dendritic cells -PBS_GACAGAGCAAAGTGCG-1,Granulocytes -PBS_GACAGAGTCTCTGAGA-1,Monocytes -PBS_GACCAATAGCTAGTGG-1,Dendritic cells -PBS_GACCTGGAGTGGCACA-1,Monocytes -PBS_GACCTGGGTATTACCG-1,Monocytes -PBS_GACCTGGTCTTCATGT-1,Monocytes -PBS_GACGGCTAGATGTCGG-1,NK cells -PBS_GACGTGCAGCGCCTTG-1,Dendritic cells -PBS_GACTAACCAGCGATCC-1,Monocytes -PBS_GACTAACTCCTTGCCA-1,Monocytes -PBS_GACTACAAGAGCTATA-1,Dendritic cells -PBS_GACTACAGTCCGAATT-1,Monocytes -PBS_GACTACATCGTGGACC-1,Monocytes -PBS_GACTACATCTTGAGGT-1,Monocytes -PBS_GACTGCGAGGACCACA-1,T cells -PBS_GACTGCGAGTGTTGAA-1,Monocytes -PBS_GACTGCGCACCCAGTG-1,Monocytes -PBS_GAGCAGAAGCTGATAA-1,Macrophages -PBS_GAGCAGATCGCCAGCA-1,Monocytes -PBS_GAGCAGATCTCTGAGA-1,Monocytes -PBS_GAGGTGAAGGACTGGT-1,Monocytes -PBS_GAGGTGAGTAGCTGCC-1,Monocytes -PBS_GAGGTGAGTAGGCATG-1,Monocytes -PBS_GAGTCCGAGTACGTTC-1,Dendritic cells -PBS_GAGTCCGAGTCCATAC-1,Monocytes -PBS_GATCAGTAGTGCAAGC-1,Granulocytes -PBS_GATCAGTGTAGTAGTA-1,Macrophages -PBS_GATCGATAGAATAGGG-1,Macrophages -PBS_GATCGATAGACCTTTG-1,Macrophages -PBS_GATCGATAGCCACGCT-1,T cells -PBS_GATCGATCATCACCCT-1,Monocytes -PBS_GATCGATGTACCGGCT-1,Monocytes -PBS_GATCGCGGTACGCTGC-1,Monocytes -PBS_GATCGCGGTTATCCGA-1,Monocytes -PBS_GATCGCGTCTGTCTAT-1,Monocytes -PBS_GATCGTAGTCTTGATG-1,Monocytes -PBS_GATCTAGAGGCGACAT-1,Monocytes -PBS_GATCTAGAGTTAGCGG-1,Monocytes -PBS_GATGAGGAGGCGATAC-1,Macrophages -PBS_GATGCTAAGTGGTCCC-1,Monocytes -PBS_GATGCTAGTCGCATAT-1,Macrophages -PBS_GATTCAGAGATGAGAG-1,Monocytes -PBS_GCAAACTGTTAAAGAC-1,Monocytes -PBS_GCAAACTTCCGAAGAG-1,Monocytes -PBS_GCAATCAAGAGTTGGC-1,Monocytes -PBS_GCAATCACAGTCCTTC-1,Monocytes -PBS_GCAATCACATCCAACA-1,Monocytes -PBS_GCAATCAGTACTTCTT-1,Monocytes -PBS_GCAATCAGTCTGCCAG-1,Monocytes -PBS_GCACATACAAGCCGTC-1,T cells -PBS_GCACATACATCGATTG-1,Dendritic cells -PBS_GCACATACATGCGCAC-1,Monocytes -PBS_GCACTCTAGAGAGCTC-1,Monocytes -PBS_GCACTCTAGCTGCGAA-1,Macrophages -PBS_GCAGCCACAGAGTGTG-1,Macrophages -PBS_GCAGCCATCTGTGCAA-1,Monocytes -PBS_GCAGTTAAGCCACGCT-1,Monocytes -PBS_GCAGTTACAGCCTTGG-1,Monocytes -PBS_GCATACAAGATGCCAG-1,Monocytes -PBS_GCATACAAGGCTAGGT-1,Monocytes -PBS_GCATACACAGGGTATG-1,Monocytes -PBS_GCATACATCAAGATCC-1,Dendritic cells -PBS_GCATACATCATGTGGT-1,Monocytes -PBS_GCATGATAGAGACGAA-1,Monocytes -PBS_GCATGCGAGCGTTTAC-1,Monocytes -PBS_GCATGCGAGGCTAGAC-1,Macrophages -PBS_GCATGCGGTCCGAATT-1,Monocytes -PBS_GCATGTAAGACCCACC-1,Monocytes -PBS_GCCAAATCACCAGTTA-1,Monocytes -PBS_GCCAAATGTGTTGAGG-1,T cells -PBS_GCCAAATTCAGGTTCA-1,Macrophages -PBS_GCCTCTAGTCTGGAGA-1,Monocytes -PBS_GCGACCACAGTTCATG-1,Monocytes -PBS_GCGACCATCTTACCTA-1,Monocytes -PBS_GCGAGAAAGAGCTTCT-1,Monocytes -PBS_GCGCAACAGGACCACA-1,Monocytes -PBS_GCGCAACCATCGGTTA-1,Monocytes -PBS_GCGCAACGTACCTACA-1,Monocytes -PBS_GCGCAGTAGACTAGAT-1,Dendritic cells -PBS_GCGCAGTTCGCCGTGA-1,Monocytes -PBS_GCGCCAAGTACCCAAT-1,NK cells -PBS_GCGCCAAGTAGTGAAT-1,Monocytes -PBS_GCGCCAAGTCCGAAGA-1,Monocytes -PBS_GCGCCAATCTCTGAGA-1,Monocytes -PBS_GCGCGATAGGCTATCT-1,Macrophages -PBS_GCGCGATTCCCTTGTG-1,Macrophages -PBS_GCGGGTTCACTCTGTC-1,Monocytes -PBS_GCGGGTTCAGGAATCG-1,Dendritic cells -PBS_GCTCCTATCATCTGCC-1,Monocytes -PBS_GCTCTGTAGCCAGAAC-1,Macrophages -PBS_GCTCTGTCAGGGTATG-1,Monocytes -PBS_GCTGCAGCAGTCGATT-1,Monocytes -PBS_GCTGCAGTCAGAGCTT-1,Monocytes -PBS_GCTGCAGTCCCTGACT-1,Macrophages -PBS_GCTGCGACATTATCTC-1,Monocytes -PBS_GCTGCGAGTATCGCAT-1,Monocytes -PBS_GCTGCGAGTGACTACT-1,Macrophages -PBS_GCTGCTTTCAACACAC-1,Macrophages -PBS_GCTGCTTTCTAACTCT-1,Monocytes -PBS_GCTGGGTCACAGTCGC-1,Monocytes -PBS_GCTGGGTCATGCCTAA-1,Monocytes -PBS_GCTTGAAGTTTACTCT-1,Macrophages -PBS_GGAAAGCCAAACAACA-1,Monocytes -PBS_GGAAAGCCAGCTGTGC-1,Monocytes -PBS_GGAAAGCCAGGACGTA-1,Monocytes -PBS_GGAAAGCGTATAAACG-1,Monocytes -PBS_GGAAAGCGTCGGCATC-1,Monocytes -PBS_GGAAAGCGTTATCACG-1,Monocytes -PBS_GGAAAGCTCAGTTAGC-1,Monocytes -PBS_GGAACTTAGTTGCAGG-1,Monocytes -PBS_GGAACTTGTCTCCCTA-1,Granulocytes -PBS_GGAACTTTCCCTTGTG-1,Macrophages -PBS_GGAATAATCGGAAACG-1,Dendritic cells -PBS_GGACAAGGTCTCACCT-1,Monocytes -PBS_GGACAAGTCGTCCAGG-1,Monocytes -PBS_GGACATTGTAGGCTGA-1,Monocytes -PBS_GGACATTTCCCGACTT-1,Monocytes -PBS_GGACGTCGTTAAGACA-1,Monocytes -PBS_GGACGTCGTTCGTCTC-1,Monocytes -PBS_GGACGTCTCGGAAATA-1,Monocytes -PBS_GGAGCAATCAGAGACG-1,Monocytes -PBS_GGATGTTAGCTACCTA-1,Monocytes -PBS_GGATGTTTCCTGCTTG-1,Dendritic cells -PBS_GGCAATTAGAGGACGG-1,Monocytes -PBS_GGCAATTGTAGAGGAA-1,Monocytes -PBS_GGCCGATAGGGATACC-1,Monocytes -PBS_GGCCGATGTGCAACTT-1,Monocytes -PBS_GGCCGATTCCGTCAAA-1,Monocytes -PBS_GGCCGATTCGAATGCT-1,Monocytes -PBS_GGCCGATTCTAACTGG-1,T cells -PBS_GGCCGATTCTGGTATG-1,Macrophages -PBS_GGCGACTGTCTTGATG-1,Monocytes -PBS_GGCGTGTCAACGATGG-1,Macrophages -PBS_GGCGTGTCACATGTGT-1,Monocytes -PBS_GGCGTGTGTATATGGA-1,Monocytes -PBS_GGCTCGACACTTCTGC-1,Macrophages -PBS_GGCTCGATCGTTGACA-1,Monocytes -PBS_GGCTGGTAGCCCGAAA-1,Monocytes -PBS_GGCTGGTTCAAAGACA-1,Monocytes -PBS_GGGAATGAGTCTCGGC-1,Monocytes -PBS_GGGAATGTCTTAGCCC-1,Monocytes -PBS_GGGACCTCAGTAGAGC-1,Monocytes -PBS_GGGACCTTCATGTAGC-1,Macrophages -PBS_GGGAGATGTCCATCCT-1,Monocytes -PBS_GGGAGATGTGATAAAC-1,Monocytes -PBS_GGGATGATCCACTCCA-1,Monocytes -PBS_GGGCACTAGCTACCGC-1,Monocytes -PBS_GGGCACTGTGCTCTTC-1,Monocytes -PBS_GGGCACTTCCAGAAGG-1,Monocytes -PBS_GGGCACTTCGGCTTGG-1,Monocytes -PBS_GGGCATCAGCTGAAAT-1,Monocytes -PBS_GGGCATCTCTAGAGTC-1,Monocytes -PBS_GGGTCTGAGCCCAGCT-1,Monocytes -PBS_GGGTCTGGTTGTGGAG-1,Monocytes -PBS_GGGTCTGTCTCAAGTG-1,Monocytes -PBS_GGGTTGCAGCGTCAAG-1,Monocytes -PBS_GGGTTGCCACTTGGAT-1,Monocytes -PBS_GGTATTGAGGGTCTCC-1,Monocytes -PBS_GGTATTGGTGTATGGG-1,Macrophages -PBS_GGTGAAGAGTGGGTTG-1,T cells -PBS_GGTGAAGCATCCCATC-1,Monocytes -PBS_GGTGAAGGTAAAGTCA-1,Monocytes -PBS_GGTGTTACATAAAGGT-1,Monocytes -PBS_GGTGTTATCACCGTAA-1,Monocytes -PBS_GGTGTTATCGTCGTTC-1,Macrophages -PBS_GGTGTTATCTAACTCT-1,Monocytes -PBS_GTAACGTGTAAATGAC-1,Monocytes -PBS_GTAACTGGTAGCTGCC-1,T cells -PBS_GTAACTGGTCGATTGT-1,Monocytes -PBS_GTAACTGTCCACGTGG-1,Monocytes -PBS_GTACGTAAGTGAAGAG-1,Monocytes -PBS_GTACGTACAATGGAGC-1,Monocytes -PBS_GTACGTACATATGAGA-1,Monocytes -PBS_GTACGTAGTATTACCG-1,Monocytes -PBS_GTACTCCAGGAGCGAG-1,Monocytes -PBS_GTACTTTCACATGTGT-1,Dendritic cells -PBS_GTACTTTCATCACGTA-1,Monocytes -PBS_GTACTTTTCACTCCTG-1,Macrophages -PBS_GTAGTCAAGATCACGG-1,Monocytes -PBS_GTAGTCAAGGCACATG-1,Monocytes -PBS_GTAGTCACATCGATGT-1,Monocytes -PBS_GTAGTCAGTCATATGC-1,Monocytes -PBS_GTAGTCAGTGATAAGT-1,Monocytes -PBS_GTAGTCAGTTGGTTTG-1,Monocytes -PBS_GTATCTTCAAGAGGCT-1,Monocytes -PBS_GTATTCTGTGGTCCGT-1,Monocytes -PBS_GTATTCTTCTGCGGCA-1,Monocytes -PBS_GTCAAGTAGGGTCGAT-1,Macrophages -PBS_GTCAAGTAGTGGTCCC-1,Monocytes -PBS_GTCAAGTGTGCACTTA-1,Dendritic cells -PBS_GTCACAAAGCCGATTT-1,Monocytes -PBS_GTCACAACACGACGAA-1,Monocytes -PBS_GTCACGGAGGAACTGC-1,Monocytes -PBS_GTCACGGTCTTGTCAT-1,Dendritic cells -PBS_GTCATTTCAATAGCAA-1,Macrophages -PBS_GTCATTTTCACCACCT-1,Monocytes -PBS_GTCATTTTCATCGATG-1,Monocytes -PBS_GTCCTCAAGCTGTCTA-1,Monocytes -PBS_GTCCTCAGTTTACTCT-1,T cells -PBS_GTCGGGTAGATATGGT-1,Macrophages -PBS_GTCGGGTTCCAGTATG-1,Monocytes -PBS_GTCGTAAAGTGCCATT-1,Monocytes -PBS_GTCGTAACAAGGGTCA-1,Dendritic cells -PBS_GTCGTAAGTTTGACTG-1,T cells -PBS_GTCTCGTAGATATACG-1,Monocytes -PBS_GTCTCGTAGGTGTTAA-1,Monocytes -PBS_GTCTCGTCATCGATTG-1,Monocytes -PBS_GTCTCGTGTAATCACC-1,T cells -PBS_GTCTCGTGTTACCGAT-1,Monocytes -PBS_GTCTCGTTCGCGGATC-1,Monocytes -PBS_GTCTCGTTCTCTGTCG-1,Dendritic cells -PBS_GTCTTCGGTGCCTGTG-1,Monocytes -PBS_GTGAAGGGTACCGTAT-1,Macrophages -PBS_GTGAAGGTCCCGACTT-1,Monocytes -PBS_GTGCAGCAGGCGTACA-1,Monocytes -PBS_GTGCAGCCATGGTTGT-1,Monocytes -PBS_GTGCAGCCATTAACCG-1,Macrophages -PBS_GTGCATAAGCAACGGT-1,Macrophages -PBS_GTGCATAGTTACGACT-1,Monocytes -PBS_GTGCGGTCAGGATTGG-1,Monocytes -PBS_GTGCGGTCATATACGC-1,Monocytes -PBS_GTGCGGTTCGGTGTTA-1,Monocytes -PBS_GTGCTTCAGGGCATGT-1,Macrophages -PBS_GTGCTTCGTCGGCATC-1,Monocytes -PBS_GTGCTTCTCATCACCC-1,Monocytes -PBS_GTGCTTCTCCAGAGGA-1,Monocytes -PBS_GTGGGTCAGCTAACTC-1,Macrophages -PBS_GTGGGTCAGGCCCTCA-1,Monocytes -PBS_GTGTTAGAGCCACTAT-1,Monocytes -PBS_GTGTTAGGTAAACACA-1,Monocytes -PBS_GTGTTAGGTCAGGACA-1,Monocytes -PBS_GTGTTAGTCGAGAGCA-1,Monocytes -PBS_GTGTTAGTCGCCGTGA-1,Macrophages -PBS_GTTAAGCTCACTTCAT-1,Macrophages -PBS_GTTACAGAGTGCAAGC-1,Monocytes -PBS_GTTCATTAGATGAGAG-1,Monocytes -PBS_GTTCATTAGTCATGCT-1,Monocytes -PBS_GTTCATTTCTCAACTT-1,Dendritic cells -PBS_GTTCGGGAGTTACGGG-1,Macrophages -PBS_GTTCGGGGTTACCGAT-1,Monocytes -PBS_GTTCTCGCAATCTGCA-1,Macrophages -PBS_GTTCTCGGTATGAATG-1,Monocytes -PBS_GTTCTCGTCTGGAGCC-1,Monocytes -PBS_GTTTCTATCGCAAGCC-1,Monocytes -PBS_GTTTCTATCGCGTAGC-1,Macrophages -PBS_TAAACCGAGATCGGGT-1,Dendritic cells -PBS_TAAGAGAAGAAGGACA-1,Monocytes -PBS_TAAGAGATCTAGAGTC-1,Monocytes -PBS_TAAGAGATCTCTAAGG-1,Monocytes -PBS_TAAGCGTAGACGCAAC-1,Monocytes -PBS_TAAGCGTGTATGAATG-1,Monocytes -PBS_TAAGTGCAGACACGAC-1,Monocytes -PBS_TAAGTGCAGGTACTCT-1,Granulocytes -PBS_TAAGTGCCATCGATTG-1,Monocytes -PBS_TACACGAAGCACACAG-1,Dendritic cells -PBS_TACACGAGTAACGTTC-1,Macrophages -PBS_TACACGAGTGCCTTGG-1,Monocytes -PBS_TACACGAGTTCCGTCT-1,Monocytes -PBS_TACAGTGCAGGTCTCG-1,Monocytes -PBS_TACAGTGTCCAACCAA-1,Monocytes -PBS_TACCTATAGGTGCAAC-1,Monocytes -PBS_TACCTATGTAGAAGGA-1,Dendritic cells -PBS_TACCTTACAAGAGGCT-1,Monocytes -PBS_TACCTTACACAACTGT-1,NK cells -PBS_TACCTTATCCGCAAGC-1,T cells -PBS_TACGGATAGTCCAGGA-1,Granulocytes -PBS_TACGGATAGTGATCGG-1,Monocytes -PBS_TACGGTACATTGGCGC-1,Macrophages -PBS_TACGGTAGTAAAGGAG-1,Monocytes -PBS_TACGGTAGTCTCTCTG-1,Monocytes -PBS_TACGGTATCACCATAG-1,Monocytes -PBS_TACTCATAGACACTAA-1,Monocytes -PBS_TACTCATAGAGACTAT-1,Monocytes -PBS_TACTCATGTCTTCAAG-1,Monocytes -PBS_TACTCATTCGTAGGTT-1,Monocytes -PBS_TACTCGCCAAAGGAAG-1,Monocytes -PBS_TACTCGCGTATAGTAG-1,Macrophages -PBS_TACTCGCGTGTGAATA-1,Monocytes -PBS_TACTCGCTCCTAGGGC-1,Monocytes -PBS_TACTTACGTGGCAAAC-1,Monocytes -PBS_TACTTACGTGGCCCTA-1,Monocytes -PBS_TACTTGTAGAAGGGTA-1,Macrophages -PBS_TACTTGTGTTTAGGAA-1,Monocytes -PBS_TACTTGTTCCTGCCAT-1,Monocytes -PBS_TAGACCAGTCCAGTGC-1,Monocytes -PBS_TAGACCAGTGAAATCA-1,Macrophages -PBS_TAGCCGGTCGCACTCT-1,Monocytes -PBS_TAGCCGGTCGTGACAT-1,Monocytes -PBS_TAGGCATTCAATAAGG-1,Monocytes -PBS_TAGTTGGAGCGATGAC-1,Monocytes -PBS_TAGTTGGAGGGTCTCC-1,Monocytes -PBS_TAGTTGGAGTTCGCGC-1,Monocytes -PBS_TAGTTGGCAAGCGTAG-1,Monocytes -PBS_TAGTTGGTCCCAAGTA-1,T cells -PBS_TAGTTGGTCCGGCACA-1,Macrophages -PBS_TATCAGGGTGGACGAT-1,Monocytes -PBS_TATCTCACAGTCAGAG-1,Monocytes -PBS_TATCTCACATATACGC-1,T cells -PBS_TATGCCCGTGCTCTTC-1,Monocytes -PBS_TATGCCCTCATCACCC-1,Macrophages -PBS_TATGCCCTCCAAGCCG-1,Monocytes -PBS_TATGCCCTCTGTACGA-1,Monocytes -PBS_TATTACCAGACAGGCT-1,Monocytes -PBS_TATTACCCACTACAGT-1,Macrophages -PBS_TATTACCGTGATGTGG-1,Monocytes -PBS_TATTACCTCGTATCAG-1,Monocytes -PBS_TCAACGAAGAAGGCCT-1,Granulocytes -PBS_TCAACGACACCACCAG-1,Monocytes -PBS_TCAATCTTCACAGGCC-1,Monocytes -PBS_TCACAAGAGACTTGAA-1,Monocytes -PBS_TCACAAGAGCATGGCA-1,Monocytes -PBS_TCACGAAAGAGCTGGT-1,Macrophages -PBS_TCACGAACAGACGCAA-1,Macrophages -PBS_TCAGATGAGAGTTGGC-1,Macrophages -PBS_TCAGATGAGCGTAATA-1,Monocytes -PBS_TCAGATGAGGTGATTA-1,Macrophages -PBS_TCAGATGGTGTGGCTC-1,Dendritic cells -PBS_TCAGCAAAGCGTGAAC-1,Macrophages -PBS_TCAGCAAAGTGTTAGA-1,Macrophages -PBS_TCAGCAAGTAATTGGA-1,Monocytes -PBS_TCAGCAAGTTAAGACA-1,Monocytes -PBS_TCAGCAATCAGTACGT-1,Dendritic cells -PBS_TCAGCAATCGCGCCAA-1,Monocytes -PBS_TCAGCTCAGCCAGTTT-1,Monocytes -PBS_TCAGCTCAGGAATGGA-1,Macrophages -PBS_TCAGCTCGTGCGATAG-1,Macrophages -PBS_TCAGCTCTCTTGCCGT-1,Monocytes -PBS_TCAGGATAGTACGATA-1,Monocytes -PBS_TCAGGATTCATGTGGT-1,Monocytes -PBS_TCAGGTAAGGCTAGCA-1,Macrophages -PBS_TCAGGTAGTAAGGGCT-1,Monocytes -PBS_TCAGGTAGTACAAGTA-1,Monocytes -PBS_TCATTACTCGGTCTAA-1,Macrophages -PBS_TCCACACGTCAAGCGA-1,Monocytes -PBS_TCCCGATCAACGATCT-1,Macrophages -PBS_TCCCGATGTGTTAAGA-1,Monocytes -PBS_TCCCGATTCATAGCAC-1,Granulocytes -PBS_TCGAGGCCATAGGATA-1,Monocytes -PBS_TCGCGTTAGCCAACAG-1,Monocytes -PBS_TCGCGTTAGCTAAACA-1,Granulocytes -PBS_TCGCGTTGTACGCTGC-1,Monocytes -PBS_TCGCGTTGTCTTCAAG-1,Monocytes -PBS_TCGGGACAGACCTAGG-1,Macrophages -PBS_TCGGGACCAAACGCGA-1,Monocytes -PBS_TCGGGACTCCTCGCAT-1,Monocytes -PBS_TCGGGACTCGTGACAT-1,Monocytes -PBS_TCGGTAAGTCTGGAGA-1,Monocytes -PBS_TCGTACCCACGGTAGA-1,Monocytes -PBS_TCGTACCGTCTCTTTA-1,Monocytes -PBS_TCGTAGACACTAAGTC-1,Granulocytes -PBS_TCGTAGACATACGCCG-1,Monocytes -PBS_TCGTAGACATGTAGTC-1,Macrophages -PBS_TCGTAGAGTGTGGTTT-1,Macrophages -PBS_TCGTAGATCACGCGGT-1,T cells -PBS_TCTATTGAGCGGATCA-1,Monocytes -PBS_TCTATTGAGTGGGCTA-1,Macrophages -PBS_TCTATTGGTCCGACGT-1,Macrophages -PBS_TCTATTGTCACCACCT-1,Macrophages -PBS_TCTCATAAGATATACG-1,Monocytes -PBS_TCTCATAAGATCTGCT-1,Macrophages -PBS_TCTCATACAACAACCT-1,Macrophages -PBS_TCTCATAGTCTTCGTC-1,Monocytes -PBS_TCTCATATCTATCCCG-1,Monocytes -PBS_TCTCTAACATGGATGG-1,Macrophages -PBS_TCTCTAACATTGCGGC-1,Macrophages -PBS_TCTCTAAGTTGAGGTG-1,Monocytes -PBS_TCTGAGAAGCTGTCTA-1,Macrophages -PBS_TCTGAGAAGGAGTCTG-1,Monocytes -PBS_TCTGGAAAGGGTCTCC-1,Monocytes -PBS_TCTTTCCAGGCACATG-1,Monocytes -PBS_TCTTTCCAGGCTCAGA-1,Monocytes -PBS_TGAAAGAGTATTCGTG-1,Macrophages -PBS_TGACAACAGCCACGTC-1,Granulocytes -PBS_TGACAACAGGAGCGTT-1,Monocytes -PBS_TGACAACAGTGGGATC-1,Monocytes -PBS_TGACGGCCATATGGTC-1,Monocytes -PBS_TGACGGCGTAAAGGAG-1,Monocytes -PBS_TGACGGCGTATTCGTG-1,Monocytes -PBS_TGACGGCGTGGTGTAG-1,Monocytes -PBS_TGACTAGCAGCCTTTC-1,Monocytes -PBS_TGACTAGCATCAGTCA-1,Monocytes -PBS_TGACTAGTCCTTGACC-1,Monocytes -PBS_TGACTAGTCGAGAACG-1,Dendritic cells -PBS_TGACTTTTCAGCACAT-1,Monocytes -PBS_TGACTTTTCTTGCCGT-1,Monocytes -PBS_TGAGAGGGTTCTGAAC-1,Monocytes -PBS_TGAGAGGTCATTGCGA-1,Monocytes -PBS_TGAGAGGTCTATGTGG-1,Macrophages -PBS_TGAGCATGTTCGTGAT-1,Monocytes -PBS_TGAGCCGCACTTGGAT-1,Monocytes -PBS_TGAGCCGCAGTAAGCG-1,Monocytes -PBS_TGAGCCGTCAGGCCCA-1,Monocytes -PBS_TGAGCCGTCGTAGGAG-1,Monocytes -PBS_TGAGGGAAGGTGGGTT-1,Macrophages -PBS_TGAGGGACAGACAAAT-1,Granulocytes -PBS_TGAGGGAGTAGAAAGG-1,Monocytes -PBS_TGAGGGAGTATAATGG-1,Macrophages -PBS_TGATTTCAGCAGCCTC-1,Monocytes -PBS_TGCACCTCACGGTAGA-1,Monocytes -PBS_TGCACCTGTGAAAGAG-1,Monocytes -PBS_TGCCCATGTCCGAAGA-1,Monocytes -PBS_TGCCCTACAGTGGGAT-1,Monocytes -PBS_TGCCCTACATGCTAGT-1,Monocytes -PBS_TGCCCTAGTCCTCCAT-1,Monocytes -PBS_TGCGCAGAGTGGTCCC-1,Monocytes -PBS_TGCGCAGAGTTAGCGG-1,Monocytes -PBS_TGCGCAGCAGGGTATG-1,Monocytes -PBS_TGCGCAGGTTAGAACA-1,Macrophages -PBS_TGCGGGTCAATAACGA-1,Monocytes -PBS_TGCGGGTGTCTCATCC-1,Monocytes -PBS_TGCGGGTGTGCTGTAT-1,Monocytes -PBS_TGCGTGGAGATCCTGT-1,Macrophages -PBS_TGCGTGGTCAAGGCTT-1,Macrophages -PBS_TGCTACCTCCTAGAAC-1,Macrophages -PBS_TGCTGCTAGGCTAGAC-1,Monocytes -PBS_TGCTGCTTCTAACTCT-1,Monocytes -PBS_TGGACGCAGGATATAC-1,Monocytes -PBS_TGGACGCAGGCTAGGT-1,Monocytes -PBS_TGGACGCAGGGAAACA-1,Monocytes -PBS_TGGACGCCAGGATTGG-1,Monocytes -PBS_TGGACGCGTCCGTGAC-1,Monocytes -PBS_TGGCCAGCAGTATCTG-1,Monocytes -PBS_TGGCTGGTCATTATCC-1,Monocytes -PBS_TGGGAAGAGGTGCAAC-1,Monocytes -PBS_TGGGAAGAGTTATCGC-1,Monocytes -PBS_TGGGAAGTCACTTACT-1,Monocytes -PBS_TGGGAAGTCATGCTCC-1,Macrophages -PBS_TGGGAAGTCTATCCTA-1,Monocytes -PBS_TGGGCGTCACAGGTTT-1,Monocytes -PBS_TGGGCGTCACCGGAAA-1,Monocytes -PBS_TGGTTAGGTAAGGATT-1,Monocytes -PBS_TGGTTAGTCAACCATG-1,Monocytes -PBS_TGGTTAGTCGGCGCAT-1,Monocytes -PBS_TGGTTCCGTTCCACGG-1,Monocytes -PBS_TGTATTCAGTGCCAGA-1,Monocytes -PBS_TGTATTCCAAGTTAAG-1,Macrophages -PBS_TGTATTCCATCGGAAG-1,Monocytes -PBS_TGTATTCGTTCTGAAC-1,Monocytes -PBS_TGTCCCAAGACATAAC-1,Monocytes -PBS_TGTCCCAAGTAATCCC-1,Monocytes -PBS_TGTCCCACATGGTTGT-1,Monocytes -PBS_TGTCCCAGTAAGTAGT-1,T cells -PBS_TGTCCCAGTGGTACAG-1,Monocytes -PBS_TGTGGTAGTTTGTTTC-1,Monocytes -PBS_TGTTCCGAGTCCATAC-1,Macrophages -PBS_TGTTCCGGTATAGGTA-1,Monocytes -PBS_TGTTCCGGTCGTCTTC-1,Macrophages -PBS_TTAGGACTCAGCGACC-1,Monocytes -PBS_TTAGGCAAGTACCGGA-1,Monocytes -PBS_TTAGGCAAGTCGAGTG-1,Monocytes -PBS_TTAGGCAGTAGCGTGA-1,Monocytes -PBS_TTAGGCATCCACGTTC-1,Macrophages -PBS_TTAGTTCAGTCAATAG-1,Dendritic cells -PBS_TTAGTTCGTTTCCACC-1,Monocytes -PBS_TTAGTTCTCAACACAC-1,Monocytes -PBS_TTAGTTCTCGCAAACT-1,Monocytes -PBS_TTATGCTAGTCACGCC-1,Monocytes -PBS_TTCGAAGCACCACCAG-1,Monocytes -PBS_TTCGGTCCATCGGTTA-1,Monocytes -PBS_TTCGGTCTCGTGGTCG-1,Monocytes -PBS_TTCTACAAGTCCCACG-1,Macrophages -PBS_TTCTACACAGGATTGG-1,Granulocytes -PBS_TTCTACATCCCTCAGT-1,Monocytes -PBS_TTCTCAACACGAAGCA-1,Monocytes -PBS_TTCTCCTCAGTAGAGC-1,Monocytes -PBS_TTCTTAGGTCGCGTGT-1,Monocytes -PBS_TTCTTAGTCTTTCCTC-1,Monocytes -PBS_TTGACTTAGAGCTGCA-1,Monocytes -PBS_TTGACTTAGCCCAGCT-1,Monocytes -PBS_TTGACTTAGGGTTTCT-1,Monocytes -PBS_TTGACTTGTCTCCCTA-1,Monocytes -PBS_TTGCCGTAGAAGGCCT-1,Monocytes -PBS_TTGCCGTAGTCCATAC-1,Macrophages -PBS_TTGCGTCAGTGTACGG-1,Monocytes -PBS_TTGCGTCGTACCTACA-1,Monocytes -PBS_TTGCGTCGTTGCGTTA-1,Monocytes -PBS_TTGTAGGAGGACAGAA-1,Monocytes -PBS_TTGTAGGGTGGCTCCA-1,Monocytes -PBS_TTGTAGGGTTCACGGC-1,Monocytes -PBS_TTGTAGGTCTCCAACC-1,Granulocytes -PBS_TTTACTGTCCAGTATG-1,Monocytes -PBS_TTTATGCAGATACACA-1,Monocytes -PBS_TTTATGCAGCTATGCT-1,Monocytes -PBS_TTTATGCAGGATGGTC-1,Monocytes -PBS_TTTATGCTCAACTCTT-1,Macrophages -PBS_TTTCCTCAGATGAGAG-1,Monocytes -PBS_TTTCCTCCAACGATCT-1,Monocytes -PBS_TTTCCTCCACCCAGTG-1,Monocytes -PBS_TTTCCTCGTGCCTGGT-1,Monocytes -PBS_TTTCCTCGTGGGTATG-1,Macrophages -PBS_TTTGCGCAGCCCAATT-1,Macrophages -PBS_TTTGCGCAGTCTCCTC-1,Monocytes -PBS_TTTGCGCGTTAGTGGG-1,Monocytes -PBS_TTTGCGCTCCTAAGTG-1,Monocytes -PBS_TTTGCGCTCGAACTGT-1,Monocytes -PBS_TTTGGTTAGAGTTGGC-1,Monocytes -PBS_TTTGGTTGTATATGAG-1,Macrophages -ENT_AAACCTGAGACTAAGT-1,Monocytes -ENT_AAACCTGAGATGTTAG-1,Monocytes -ENT_AAACCTGAGCAACGGT-1,Monocytes -ENT_AAACCTGAGGTAGCTG-1,Monocytes -ENT_AAACCTGGTGTGAATA-1,Monocytes -ENT_AAACCTGGTTGCGTTA-1,Monocytes -ENT_AAACCTGTCGACGGAA-1,Monocytes -ENT_AAACGGGAGACAGACC-1,Monocytes -ENT_AAACGGGTCGTAGGTT-1,Monocytes -ENT_AAAGATGCAGGTCCAC-1,Monocytes -ENT_AAAGATGGTATATCCG-1,Monocytes -ENT_AAAGATGTCGCTTGTC-1,Monocytes -ENT_AAAGCAACAATAGCAA-1,Monocytes -ENT_AAAGCAACAATGGTCT-1,Monocytes -ENT_AAAGCAACACAGGTTT-1,Dendritic cells -ENT_AAAGCAAGTAAGCACG-1,T cells -ENT_AAAGCAAGTATATCCG-1,Monocytes -ENT_AAAGTAGCATATGAGA-1,Monocytes -ENT_AAAGTAGTCGGCGGTT-1,Monocytes -ENT_AAATGCCAGTCATCCA-1,Monocytes -ENT_AAATGCCCAAGGACAC-1,Monocytes -ENT_AAATGCCCACGGACAA-1,T cells -ENT_AAATGCCCAGTAGAGC-1,Monocytes -ENT_AACACGTAGTCATGCT-1,Monocytes -ENT_AACACGTGTCTAAAGA-1,Monocytes -ENT_AACACGTGTTCAGTAC-1,Monocytes -ENT_AACACGTGTTCCCTTG-1,Granulocytes -ENT_AACCATGAGACTAAGT-1,Dendritic cells -ENT_AACCATGCAGCAGTTT-1,Granulocytes -ENT_AACCATGCATGTTCCC-1,T cells -ENT_AACCATGGTCCATCCT-1,Dendritic cells -ENT_AACCATGTCGATCCCT-1,Monocytes -ENT_AACCGCGAGTAGATGT-1,Monocytes -ENT_AACCGCGAGTGATCGG-1,Monocytes -ENT_AACCGCGCAAAGTCAA-1,Granulocytes -ENT_AACCGCGGTGATGTGG-1,Monocytes -ENT_AACCGCGTCAGGTAAA-1,Granulocytes -ENT_AACGTTGCACTGTGTA-1,Monocytes -ENT_AACGTTGTCAAGAAGT-1,Granulocytes -ENT_AACTCAGCAATCCAAC-1,Monocytes -ENT_AACTCAGCATTGAGCT-1,Monocytes -ENT_AACTCAGGTCAAGCGA-1,Dendritic cells -ENT_AACTCAGTCTCCAGGG-1,Dendritic cells -ENT_AACTCCCCAAATACAG-1,Monocytes -ENT_AACTCCCGTCCGCTGA-1,Monocytes -ENT_AACTCCCGTGAACCTT-1,Monocytes -ENT_AACTCTTAGAAGGTTT-1,Monocytes -ENT_AACTCTTAGGAGTCTG-1,Monocytes -ENT_AACTCTTAGTCATGCT-1,Monocytes -ENT_AACTCTTCAATAGAGT-1,Monocytes -ENT_AACTGGTCAAGCGTAG-1,Monocytes -ENT_AACTGGTCATGCAACT-1,Monocytes -ENT_AACTGGTGTCTCCATC-1,Dendritic cells -ENT_AACTGGTGTGCCTGCA-1,Monocytes -ENT_AACTGGTTCACATAGC-1,Monocytes -ENT_AACTGGTTCTAACTTC-1,Monocytes -ENT_AACTTTCAGAAACGCC-1,Monocytes -ENT_AACTTTCAGGCCGAAT-1,Granulocytes -ENT_AACTTTCCACATCCGG-1,Granulocytes -ENT_AAGACCTAGCCGGTAA-1,Monocytes -ENT_AAGACCTCAAGGTGTG-1,Monocytes -ENT_AAGACCTGTAGATTAG-1,Monocytes -ENT_AAGACCTGTCTTCAAG-1,Monocytes -ENT_AAGACCTTCTAACCGA-1,Monocytes -ENT_AAGCCGCCAATGAAAC-1,Monocytes -ENT_AAGCCGCCATTTCACT-1,Monocytes -ENT_AAGCCGCGTTGTGGCC-1,Monocytes -ENT_AAGCCGCGTTTGGGCC-1,Monocytes -ENT_AAGCCGCTCGCTGATA-1,Monocytes -ENT_AAGGAGCAGACGCTTT-1,Monocytes -ENT_AAGGAGCAGCATCATC-1,Monocytes -ENT_AAGGAGCAGTCCGGTC-1,Monocytes -ENT_AAGGAGCCAAGCGATG-1,Monocytes -ENT_AAGGCAGAGTTGAGAT-1,Monocytes -ENT_AAGGCAGGTAGAGCTG-1,Monocytes -ENT_AAGGCAGGTCAGATAA-1,Dendritic cells -ENT_AAGGCAGGTGAGTATA-1,Monocytes -ENT_AAGGCAGGTTGTCGCG-1,Monocytes -ENT_AAGGCAGTCTCTAGGA-1,Monocytes -ENT_AAGGTTCCAAATACAG-1,Dendritic cells -ENT_AAGGTTCTCACTTATC-1,Monocytes -ENT_AAGGTTCTCCGAACGC-1,Monocytes -ENT_AAGTCTGAGAACAACT-1,Monocytes -ENT_AAGTCTGAGCTGAACG-1,Monocytes -ENT_AAGTCTGGTACAGACG-1,Monocytes -ENT_AAGTCTGGTATATCCG-1,Monocytes -ENT_AAGTCTGGTGCAGGTA-1,Monocytes -ENT_AAGTCTGGTGGCCCTA-1,Monocytes -ENT_AAGTCTGTCAGTCAGT-1,Monocytes -ENT_AAGTCTGTCGGAATCT-1,T cells -ENT_AATCCAGAGGTGTGGT-1,Monocytes -ENT_AATCCAGAGTTAGCGG-1,Monocytes -ENT_AATCCAGCACCGAATT-1,Monocytes -ENT_AATCCAGCAGCGTTCG-1,Monocytes -ENT_AATCCAGGTCAGAATA-1,Granulocytes -ENT_AATCCAGTCAGGCCCA-1,Monocytes -ENT_AATCCAGTCATTTGGG-1,Granulocytes -ENT_AATCCAGTCCGTAGTA-1,Monocytes -ENT_AATCGGTAGCGATAGC-1,Dendritic cells -ENT_AATCGGTAGTTGAGTA-1,Monocytes -ENT_AATCGGTCACTTACGA-1,Dendritic cells -ENT_AATCGGTGTGTTTGGT-1,Monocytes -ENT_AATCGGTTCGCGCCAA-1,Granulocytes -ENT_AATCGGTTCGTCGTTC-1,Dendritic cells -ENT_ACACCAAAGCTGCGAA-1,Monocytes -ENT_ACACCAAAGTGTTTGC-1,Monocytes -ENT_ACACCAACAAGTTAAG-1,Monocytes -ENT_ACACCAACATAACCTG-1,Monocytes -ENT_ACACCAAGTGCTTCTC-1,Monocytes -ENT_ACACCAATCATGTCCC-1,Monocytes -ENT_ACACCAATCTTTAGGG-1,Dendritic cells -ENT_ACACCCTAGACGCACA-1,Granulocytes -ENT_ACACCCTCATTCGACA-1,Monocytes -ENT_ACACCGGAGAGCTTCT-1,Monocytes -ENT_ACACCGGAGTATCTCG-1,Macrophages -ENT_ACACCGGAGTCTCGGC-1,Monocytes -ENT_ACACCGGCACCCTATC-1,Monocytes -ENT_ACACCGGCACTAAGTC-1,Granulocytes -ENT_ACACCGGGTTCCAACA-1,Monocytes -ENT_ACACCGGTCACTTATC-1,Monocytes -ENT_ACACCGGTCAGTCAGT-1,T cells -ENT_ACACCGGTCATGTCTT-1,Macrophages -ENT_ACACCGGTCCAGAGGA-1,Monocytes -ENT_ACACTGACAGCTCCGA-1,Monocytes -ENT_ACACTGACATCACGTA-1,Monocytes -ENT_ACACTGAGTTTGGCGC-1,Monocytes -ENT_ACACTGATCGCAAGCC-1,Dendritic cells -ENT_ACAGCCGCAAAGGTGC-1,Monocytes -ENT_ACAGCCGCAAGAAAGG-1,Macrophages -ENT_ACAGCCGGTAGTGAAT-1,Monocytes -ENT_ACAGCCGGTTAAGTAG-1,Monocytes -ENT_ACAGCCGTCAGCTCTC-1,Monocytes -ENT_ACAGCTAAGAGACTAT-1,Monocytes -ENT_ACAGCTAAGGCTCATT-1,Dendritic cells -ENT_ACAGCTAAGTTGCAGG-1,Monocytes -ENT_ACAGCTACACAGACAG-1,Monocytes -ENT_ACAGCTACATGGGACA-1,Dendritic cells -ENT_ACAGCTAGTAGCTTGT-1,Monocytes -ENT_ACAGCTAGTGACGCCT-1,Granulocytes -ENT_ACAGCTAGTGGCGAAT-1,Monocytes -ENT_ACAGCTATCATTTGGG-1,Monocytes -ENT_ACAGCTATCCTATGTT-1,Macrophages -ENT_ACAGCTATCTCTGAGA-1,Monocytes -ENT_ACATACGAGAAGGGTA-1,Monocytes -ENT_ACATACGCACAACGTT-1,Dendritic cells -ENT_ACATACGCAGGCTGAA-1,Monocytes -ENT_ACATCAGAGACAGACC-1,Monocytes -ENT_ACATCAGCAATCAGAA-1,Granulocytes -ENT_ACATCAGTCGTCACGG-1,Granulocytes -ENT_ACATGGTAGGCCCGTT-1,Monocytes -ENT_ACATGGTCACGGTAGA-1,Granulocytes -ENT_ACATGGTCAGTGAGTG-1,Monocytes -ENT_ACATGGTTCGTGACAT-1,Monocytes -ENT_ACCAGTACACCAGTTA-1,Monocytes -ENT_ACCAGTACACCTGGTG-1,Monocytes -ENT_ACCAGTAGTAGCGTAG-1,Dendritic cells -ENT_ACCAGTAGTTAAGATG-1,Dendritic cells -ENT_ACCAGTAGTTAGGGTG-1,Granulocytes -ENT_ACCAGTATCTCTGAGA-1,Granulocytes -ENT_ACCCACTAGAGGTTAT-1,Granulocytes -ENT_ACCCACTAGGTGATAT-1,Monocytes -ENT_ACCCACTGTCTGGTCG-1,Monocytes -ENT_ACCCACTGTGATGTGG-1,Monocytes -ENT_ACCCACTGTTTGACTG-1,Monocytes -ENT_ACCCACTTCTTTAGTC-1,Monocytes -ENT_ACCGTAACAGCATGAG-1,Monocytes -ENT_ACCTTTAAGGCTAGCA-1,Monocytes -ENT_ACCTTTACAATGTTGC-1,Monocytes -ENT_ACCTTTACACGTCAGC-1,Monocytes -ENT_ACCTTTACAGCCAATT-1,Monocytes -ENT_ACCTTTAGTTGAGTTC-1,Monocytes -ENT_ACGAGCCCAGCGAACA-1,Granulocytes -ENT_ACGAGCCCAGCTCGCA-1,Granulocytes -ENT_ACGAGCCCATTCACTT-1,Granulocytes -ENT_ACGAGCCGTCCGAGTC-1,Granulocytes -ENT_ACGAGCCGTGCTTCTC-1,Monocytes -ENT_ACGAGGAAGCTAGTCT-1,Monocytes -ENT_ACGAGGACAACGCACC-1,Dendritic cells -ENT_ACGAGGACATAACCTG-1,Granulocytes -ENT_ACGAGGAGTACCGGCT-1,Monocytes -ENT_ACGAGGAGTGCTCTTC-1,T cells -ENT_ACGAGGAGTGGTCTCG-1,Granulocytes -ENT_ACGAGGAGTGTGACCC-1,Monocytes -ENT_ACGAGGAGTTGTTTGG-1,Monocytes -ENT_ACGATACAGGAGTAGA-1,Dendritic cells -ENT_ACGATACCAGTAGAGC-1,Granulocytes -ENT_ACGATACGTACAGCAG-1,Monocytes -ENT_ACGATACGTGATGTGG-1,Dendritic cells -ENT_ACGATACGTGTTGGGA-1,Monocytes -ENT_ACGATACTCACAATGC-1,Monocytes -ENT_ACGATGTAGAGTCTGG-1,Monocytes -ENT_ACGATGTAGCCCAACC-1,Monocytes -ENT_ACGATGTCACTCTGTC-1,Macrophages -ENT_ACGATGTGTTGTCTTT-1,Monocytes -ENT_ACGATGTTCAGCAACT-1,T cells -ENT_ACGATGTTCTCGCATC-1,Granulocytes -ENT_ACGCAGCTCTGGCGTG-1,Granulocytes -ENT_ACGCCAGCACAACTGT-1,Monocytes -ENT_ACGCCAGGTACTCAAC-1,Monocytes -ENT_ACGCCAGGTTACCGAT-1,T cells -ENT_ACGCCGAAGGACAGAA-1,Granulocytes -ENT_ACGCCGAAGGCTAGCA-1,Monocytes -ENT_ACGCCGATCAAGAAGT-1,Monocytes -ENT_ACGGAGAAGTAGGCCA-1,Monocytes -ENT_ACGGAGAGTGGACGAT-1,Monocytes -ENT_ACGGCCAAGCCTCGTG-1,T cells -ENT_ACGGCCACATGTTCCC-1,Granulocytes -ENT_ACGGCCAGTCTAGTCA-1,Monocytes -ENT_ACGGCCATCACCCTCA-1,Monocytes -ENT_ACGGCCATCATGCTCC-1,Monocytes -ENT_ACGGCCATCTGCAGTA-1,Granulocytes -ENT_ACGGGCTAGAGCTGGT-1,Macrophages -ENT_ACGGGCTAGCCCAATT-1,Monocytes -ENT_ACGGGCTAGTGTTGAA-1,Monocytes -ENT_ACGGGCTCATACGCTA-1,Monocytes -ENT_ACGGGCTGTGACTCAT-1,Monocytes -ENT_ACGGGCTGTTAAGATG-1,Dendritic cells -ENT_ACGGGCTTCCAGATCA-1,Monocytes -ENT_ACGGGCTTCCTAGAAC-1,Granulocytes -ENT_ACGGGCTTCTGCTTGC-1,Monocytes -ENT_ACGGGTCAGTTTGCGT-1,Monocytes -ENT_ACGTCAAAGATGAGAG-1,Dendritic cells -ENT_ACGTCAAAGCAGATCG-1,Monocytes -ENT_ACGTCAATCCTCAACC-1,Monocytes -ENT_ACTATCTAGAAAGTGG-1,T cells -ENT_ACTATCTCACGAGAGT-1,Granulocytes -ENT_ACTATCTGTGGCAAAC-1,Monocytes -ENT_ACTGAACAGCGTAATA-1,Monocytes -ENT_ACTGAACGTTGTCGCG-1,Monocytes -ENT_ACTGAACTCCTTGACC-1,Dendritic cells -ENT_ACTGAGTTCGAGGTAG-1,Monocytes -ENT_ACTGAGTTCGCAAGCC-1,Granulocytes -ENT_ACTGAGTTCTGTTTGT-1,Monocytes -ENT_ACTGATGAGTTCGCGC-1,Monocytes -ENT_ACTGATGCAATGGATA-1,Granulocytes -ENT_ACTGATGCACGAAATA-1,Granulocytes -ENT_ACTGATGTCATGTCTT-1,Monocytes -ENT_ACTGCTCCAATGAATG-1,Monocytes -ENT_ACTGCTCGTAAATACG-1,Granulocytes -ENT_ACTGCTCGTAATAGCA-1,Monocytes -ENT_ACTGCTCGTCATACTG-1,Monocytes -ENT_ACTGCTCGTCATATCG-1,Granulocytes -ENT_ACTGCTCGTGACAAAT-1,Monocytes -ENT_ACTGCTCGTGGCTCCA-1,Monocytes -ENT_ACTGTCCAGATGTTAG-1,Granulocytes -ENT_ACTGTCCAGCTAGTGG-1,Monocytes -ENT_ACTGTCCTCACATACG-1,Monocytes -ENT_ACTGTCCTCCAAGCCG-1,Monocytes -ENT_ACTTACTAGTGGGTTG-1,Monocytes -ENT_ACTTACTCAAAGGCGT-1,Dendritic cells -ENT_ACTTACTGTGACGCCT-1,Granulocytes -ENT_ACTTACTGTTGAACTC-1,Dendritic cells -ENT_ACTTGTTAGCAGCCTC-1,Dendritic cells -ENT_ACTTGTTCACAGGCCT-1,Monocytes -ENT_ACTTGTTCACGGCGTT-1,Monocytes -ENT_ACTTGTTTCTTGCAAG-1,Monocytes -ENT_ACTTTCAAGCTTTGGT-1,NK cells -ENT_ACTTTCAAGGGTTCCC-1,Monocytes -ENT_ACTTTCAAGGTGACCA-1,Monocytes -ENT_ACTTTCACACGGATAG-1,Monocytes -ENT_ACTTTCAGTCTAGTGT-1,Monocytes -ENT_AGAATAGGTGTTTGTG-1,Monocytes -ENT_AGACGTTAGACAAAGG-1,Monocytes -ENT_AGACGTTAGCGCTCCA-1,Monocytes -ENT_AGACGTTCATTCCTCG-1,Monocytes -ENT_AGACGTTGTCGACTGC-1,Monocytes -ENT_AGACGTTGTGGCAAAC-1,Monocytes -ENT_AGACGTTTCCTTAATC-1,Monocytes -ENT_AGAGCGAAGTGTGGCA-1,Monocytes -ENT_AGAGCGACACCTTGTC-1,Monocytes -ENT_AGAGCTTAGACAGGCT-1,Granulocytes -ENT_AGAGCTTAGGAACTGC-1,Monocytes -ENT_AGAGCTTAGGACAGAA-1,Monocytes -ENT_AGAGCTTCATGCCTAA-1,Monocytes -ENT_AGAGCTTCATTAGCCA-1,Granulocytes -ENT_AGAGCTTGTCAACATC-1,Monocytes -ENT_AGAGCTTGTCGCTTCT-1,Monocytes -ENT_AGAGCTTGTGCGAAAC-1,Monocytes -ENT_AGAGTGGAGGATCGCA-1,Monocytes -ENT_AGATCTGAGGAGTAGA-1,Granulocytes -ENT_AGATCTGAGGAGTTTA-1,Monocytes -ENT_AGATCTGAGTCATGCT-1,Monocytes -ENT_AGATCTGCATTTCAGG-1,Monocytes -ENT_AGATCTGGTACAGTGG-1,Monocytes -ENT_AGATCTGGTAGAGGAA-1,Dendritic cells -ENT_AGATCTGTCTAACGGT-1,Monocytes -ENT_AGATTGCAGAGAACAG-1,T cells -ENT_AGATTGCCAACAACCT-1,Dendritic cells -ENT_AGATTGCCATCTCCCA-1,Monocytes -ENT_AGCAGCCAGAGTGACC-1,Monocytes -ENT_AGCATACAGCTAGGCA-1,Monocytes -ENT_AGCATACAGTTAACGA-1,Monocytes -ENT_AGCATACCACTGCCAG-1,Monocytes -ENT_AGCATACTCCGTCATC-1,Monocytes -ENT_AGCCTAACAATCCGAT-1,Monocytes -ENT_AGCCTAACACGTCTCT-1,Monocytes -ENT_AGCCTAAGTAAAGTCA-1,Monocytes -ENT_AGCCTAAGTCGATTGT-1,Dendritic cells -ENT_AGCCTAAGTGACCAAG-1,T cells -ENT_AGCCTAATCCAGAAGG-1,Monocytes -ENT_AGCCTAATCCAGGGCT-1,Monocytes -ENT_AGCCTAATCCCAAGAT-1,Monocytes -ENT_AGCCTAATCTGCCAGG-1,Monocytes -ENT_AGCGGTCCAAGACGTG-1,Monocytes -ENT_AGCGGTCCACCAGCAC-1,Monocytes -ENT_AGCGGTCCAGTCGATT-1,Monocytes -ENT_AGCGGTCGTCTGCCAG-1,Monocytes -ENT_AGCGGTCGTGGTTTCA-1,Monocytes -ENT_AGCGGTCTCTTCAACT-1,Monocytes -ENT_AGCGTATAGTCAATAG-1,Monocytes -ENT_AGCGTATCATATGCTG-1,Monocytes -ENT_AGCGTATGTTGGTTTG-1,Monocytes -ENT_AGCGTATTCTTATCTG-1,Monocytes -ENT_AGCGTCGAGATTACCC-1,Monocytes -ENT_AGCGTCGAGCGATGAC-1,Monocytes -ENT_AGCGTCGGTACCATCA-1,Dendritic cells -ENT_AGCGTCGGTAGCCTAT-1,Monocytes -ENT_AGCTCCTAGAAGGGTA-1,Granulocytes -ENT_AGCTCCTAGATATGGT-1,Dendritic cells -ENT_AGCTCCTAGGACACCA-1,Monocytes -ENT_AGCTCCTCACCATGTA-1,Monocytes -ENT_AGCTCCTCATTGAGCT-1,Monocytes -ENT_AGCTCCTGTCCCTTGT-1,Monocytes -ENT_AGCTCTCAGTGTGGCA-1,Monocytes -ENT_AGCTCTCGTGCACCAC-1,Dendritic cells -ENT_AGCTCTCTCCCTTGTG-1,Monocytes -ENT_AGCTCTCTCTGCAGTA-1,Granulocytes -ENT_AGCTTGAAGTGTACCT-1,Monocytes -ENT_AGCTTGAGTCTGCGGT-1,Dendritic cells -ENT_AGCTTGATCACGGTTA-1,Monocytes -ENT_AGCTTGATCTCGCATC-1,Granulocytes -ENT_AGGCCACAGATATGGT-1,Monocytes -ENT_AGGCCACAGCTGTTCA-1,Monocytes -ENT_AGGCCACCAAGAAGAG-1,Monocytes -ENT_AGGCCACGTAGAGTGC-1,Monocytes -ENT_AGGCCACGTGATGCCC-1,Dendritic cells -ENT_AGGCCACTCATTATCC-1,Monocytes -ENT_AGGCCACTCCAGTAGT-1,Monocytes -ENT_AGGCCACTCCTCCTAG-1,Monocytes -ENT_AGGCCGTAGATATACG-1,Dendritic cells -ENT_AGGCCGTCAATGTTGC-1,Monocytes -ENT_AGGCCGTCAGTGGGAT-1,Granulocytes -ENT_AGGCCGTCATCCTTGC-1,Monocytes -ENT_AGGCCGTGTTAAAGAC-1,Granulocytes -ENT_AGGCCGTTCAGAGCTT-1,Monocytes -ENT_AGGCCGTTCGCTTAGA-1,T cells -ENT_AGGCCGTTCTTTAGTC-1,Monocytes -ENT_AGGGAGTCACGAAGCA-1,Monocytes -ENT_AGGGAGTCAGTATAAG-1,Monocytes -ENT_AGGGAGTGTCTTGATG-1,Monocytes -ENT_AGGGATGAGTACACCT-1,Granulocytes -ENT_AGGGATGCAATGGTCT-1,Monocytes -ENT_AGGGATGCACGGCCAT-1,Monocytes -ENT_AGGGATGGTTAAAGAC-1,Monocytes -ENT_AGGGATGGTTCGTCTC-1,Monocytes -ENT_AGGGATGTCCCTTGCA-1,Macrophages -ENT_AGGGATGTCCGCTGTT-1,Monocytes -ENT_AGGGATGTCCGTAGTA-1,Monocytes -ENT_AGGGTGACATCGTCGG-1,Macrophages -ENT_AGGGTGACATGGGAAC-1,Monocytes -ENT_AGGGTGAGTTGTCTTT-1,Dendritic cells -ENT_AGGGTGATCAGTGTTG-1,Monocytes -ENT_AGGTCATAGAAGGACA-1,Dendritic cells -ENT_AGGTCATAGCGATAGC-1,Monocytes -ENT_AGGTCATAGCTTATCG-1,T cells -ENT_AGGTCATAGTCCTCCT-1,Monocytes -ENT_AGGTCATCATTCGACA-1,Monocytes -ENT_AGGTCATGTACGAAAT-1,Monocytes -ENT_AGGTCATTCATAAAGG-1,Granulocytes -ENT_AGGTCATTCGGATGTT-1,Monocytes -ENT_AGTAGTCAGAAACGCC-1,Granulocytes -ENT_AGTAGTCAGACCGGAT-1,Monocytes -ENT_AGTAGTCAGCTAGGCA-1,Dendritic cells -ENT_AGTAGTCAGGCCATAG-1,Monocytes -ENT_AGTAGTCCAATGTTGC-1,Monocytes -ENT_AGTAGTCCAGCCTTTC-1,Monocytes -ENT_AGTAGTCGTAAGGGAA-1,Granulocytes -ENT_AGTAGTCGTTTGGCGC-1,Monocytes -ENT_AGTAGTCTCTTGCAAG-1,Monocytes -ENT_AGTCTTTAGGAGCGTT-1,Monocytes -ENT_AGTCTTTAGTTCCACA-1,Granulocytes -ENT_AGTCTTTCACGTCTCT-1,Monocytes -ENT_AGTCTTTCATCCTAGA-1,Monocytes -ENT_AGTCTTTGTTCATGGT-1,Monocytes -ENT_AGTCTTTGTTTAGGAA-1,Dendritic cells -ENT_AGTCTTTTCAGGATCT-1,Monocytes -ENT_AGTGAGGAGATCTGAA-1,Granulocytes -ENT_AGTGAGGAGGGATGGG-1,Monocytes -ENT_AGTGAGGAGGTCATCT-1,Monocytes -ENT_AGTGAGGCAACGATCT-1,Granulocytes -ENT_AGTGAGGCAGCTGTTA-1,Dendritic cells -ENT_AGTGAGGGTAAGGATT-1,Monocytes -ENT_AGTGAGGGTCCAACTA-1,Monocytes -ENT_AGTGAGGGTTACCAGT-1,Monocytes -ENT_AGTGAGGGTTCAGGCC-1,Monocytes -ENT_AGTGAGGTCTGTCAAG-1,Monocytes -ENT_AGTGGGAAGAAACCTA-1,Monocytes -ENT_AGTGGGAAGTGGAGTC-1,Monocytes -ENT_AGTGGGACATGGAATA-1,Monocytes -ENT_AGTGGGAGTACTTAGC-1,Monocytes -ENT_AGTGGGATCAGAAATG-1,Monocytes -ENT_AGTGTCACAATCGAAA-1,Monocytes -ENT_AGTTGGTAGCAGATCG-1,Monocytes -ENT_AGTTGGTCAAGCGTAG-1,Monocytes -ENT_AGTTGGTCACGACGAA-1,Granulocytes -ENT_AGTTGGTGTCGGGTCT-1,Monocytes -ENT_AGTTGGTTCGCCCTTA-1,Monocytes -ENT_ATAACGCGTAAGAGAG-1,Granulocytes -ENT_ATAACGCGTATGAAAC-1,Granulocytes -ENT_ATAACGCGTCGCATCG-1,Monocytes -ENT_ATAACGCGTCTAACGT-1,Granulocytes -ENT_ATAACGCGTTATGTGC-1,Monocytes -ENT_ATAACGCGTTCCCTTG-1,Monocytes -ENT_ATAACGCGTTGGACCC-1,Monocytes -ENT_ATAAGAGAGGACATTA-1,Dendritic cells -ENT_ATAAGAGCACATGTGT-1,Granulocytes -ENT_ATAAGAGTCCGTCAAA-1,Monocytes -ENT_ATAAGAGTCGCTAGCG-1,Granulocytes -ENT_ATAGACCAGCAGCGTA-1,Monocytes -ENT_ATAGACCCAACACGCC-1,Monocytes -ENT_ATAGACCCAGTCAGCC-1,Monocytes -ENT_ATAGACCCATTCACTT-1,Macrophages -ENT_ATAGACCTCAGGTTCA-1,Monocytes -ENT_ATAGACCTCCTACAGA-1,Dendritic cells -ENT_ATAGACCTCTGGCGAC-1,Monocytes -ENT_ATAGACCTCTGGCGTG-1,Dendritic cells -ENT_ATCACGAAGCCAGTAG-1,Monocytes -ENT_ATCACGAAGTATTGGA-1,Macrophages -ENT_ATCACGAGTAGCGCTC-1,Monocytes -ENT_ATCACGATCCATGCTC-1,Dendritic cells -ENT_ATCATCTAGATCTGAA-1,Monocytes -ENT_ATCATCTAGCCAGGAT-1,Macrophages -ENT_ATCATCTAGTTCGCGC-1,Monocytes -ENT_ATCATCTCACCGAATT-1,Monocytes -ENT_ATCATCTTCGTAGATC-1,Monocytes -ENT_ATCATCTTCTTGTTTG-1,Macrophages -ENT_ATCATGGAGAATGTGT-1,Monocytes -ENT_ATCATGGAGTGCAAGC-1,Granulocytes -ENT_ATCATGGAGTTGTAGA-1,Monocytes -ENT_ATCATGGCAATGCCAT-1,T cells -ENT_ATCATGGCATGTCTCC-1,T cells -ENT_ATCATGGGTAAATGTG-1,Monocytes -ENT_ATCATGGGTCCCTACT-1,T cells -ENT_ATCATGGGTCTAGCGC-1,Monocytes -ENT_ATCCACCAGATCCTGT-1,Monocytes -ENT_ATCCACCAGTCCTCCT-1,Dendritic cells -ENT_ATCCACCCAGAAGCAC-1,Granulocytes -ENT_ATCCACCGTACAGCAG-1,Dendritic cells -ENT_ATCCACCGTGACGCCT-1,Monocytes -ENT_ATCCGAAAGCACACAG-1,Monocytes -ENT_ATCCGAAAGTGTACCT-1,Granulocytes -ENT_ATCCGAACACGCCAGT-1,Granulocytes -ENT_ATCCGAAGTACCATCA-1,Monocytes -ENT_ATCCGAAGTCTAGCGC-1,Monocytes -ENT_ATCCGAAGTGCGCTTG-1,Granulocytes -ENT_ATCCGAAGTGTCTGAT-1,Monocytes -ENT_ATCCGAAGTGTGGTTT-1,Macrophages -ENT_ATCCGAATCAACACAC-1,Monocytes -ENT_ATCCGAATCTGTCTAT-1,Monocytes -ENT_ATCGAGTAGCCATCGC-1,Monocytes -ENT_ATCGAGTAGGCACATG-1,Monocytes -ENT_ATCGAGTCAGGCGATA-1,Monocytes -ENT_ATCGAGTCATGCCTTC-1,Monocytes -ENT_ATCGAGTCATGCTGGC-1,Dendritic cells -ENT_ATCGAGTGTACGCTGC-1,Monocytes -ENT_ATCGAGTTCATGTAGC-1,Monocytes -ENT_ATCGAGTTCCTTGCCA-1,Monocytes -ENT_ATCTACTAGGGTATCG-1,Dendritic cells -ENT_ATCTACTCACTTACGA-1,Monocytes -ENT_ATCTACTGTAGCGTCC-1,Monocytes -ENT_ATCTACTGTGTAAGTA-1,Dendritic cells -ENT_ATCTACTGTTCTGTTT-1,Dendritic cells -ENT_ATCTACTTCAATAAGG-1,Dendritic cells -ENT_ATCTACTTCCGTTGCT-1,Monocytes -ENT_ATCTGCCCAGTCTTCC-1,Monocytes -ENT_ATCTGCCGTTCTGTTT-1,Monocytes -ENT_ATCTGCCTCCGCTGTT-1,Macrophages -ENT_ATCTGCCTCTCGAGTA-1,Monocytes -ENT_ATGAGGGAGCAGGTCA-1,Monocytes -ENT_ATGAGGGCAGACAAGC-1,Granulocytes -ENT_ATGAGGGCAGACAGGT-1,Monocytes -ENT_ATGAGGGGTCCAGTGC-1,Monocytes -ENT_ATGAGGGGTGACAAAT-1,Monocytes -ENT_ATGAGGGTCTGATTCT-1,Monocytes -ENT_ATGCGATAGAATGTGT-1,Monocytes -ENT_ATGCGATAGGACAGCT-1,Monocytes -ENT_ATGGGAGAGGCCCGTT-1,Monocytes -ENT_ATGGGAGGTTAAAGTG-1,Monocytes -ENT_ATGGGAGTCCCGGATG-1,Monocytes -ENT_ATGGGAGTCGTATCAG-1,Macrophages -ENT_ATGTGTGAGGCGTACA-1,Monocytes -ENT_ATGTGTGAGGCTATCT-1,Monocytes -ENT_ATGTGTGAGGGTATCG-1,Monocytes -ENT_ATGTGTGTCAGGTTCA-1,Monocytes -ENT_ATGTGTGTCTTCGGTC-1,Monocytes -ENT_ATTACTCCACCAGTTA-1,Monocytes -ENT_ATTACTCCATGGGACA-1,Macrophages -ENT_ATTACTCGTGGCTCCA-1,Dendritic cells -ENT_ATTACTCTCCGAATGT-1,Monocytes -ENT_ATTACTCTCTTTACAC-1,Monocytes -ENT_ATTATCCAGACAGACC-1,Monocytes -ENT_ATTATCCAGTGACATA-1,Monocytes -ENT_ATTATCCCAGAGCCAA-1,Monocytes -ENT_ATTATCCGTAACGACG-1,Monocytes -ENT_ATTATCCGTAGGCTGA-1,Macrophages -ENT_ATTATCCTCTGTCCGT-1,Monocytes -ENT_ATTCTACCACAAGTAA-1,Monocytes -ENT_ATTCTACGTCACCTAA-1,Granulocytes -ENT_ATTCTACGTGTCAATC-1,Dendritic cells -ENT_ATTCTACGTGTGAATA-1,Monocytes -ENT_ATTCTACTCTCTGTCG-1,Monocytes -ENT_ATTGGACAGCTAGGCA-1,Macrophages -ENT_ATTGGACCAAACCTAC-1,Monocytes -ENT_ATTGGACCAGGTCCAC-1,Monocytes -ENT_ATTGGACGTCGCTTCT-1,Monocytes -ENT_ATTGGACGTCTAGAGG-1,Monocytes -ENT_ATTGGTGAGACGCTTT-1,Granulocytes -ENT_ATTGGTGGTAGTAGTA-1,Macrophages -ENT_ATTGGTGGTGAAAGAG-1,Monocytes -ENT_ATTGGTGTCCATGAGT-1,Monocytes -ENT_ATTGGTGTCTGCCAGG-1,Granulocytes -ENT_ATTTCTGAGTGTACCT-1,Monocytes -ENT_ATTTCTGCACACAGAG-1,Macrophages -ENT_ATTTCTGCACGACGAA-1,Monocytes -ENT_ATTTCTGCAGAAGCAC-1,Monocytes -ENT_ATTTCTGCATGACATC-1,Monocytes -ENT_ATTTCTGCATTCCTGC-1,Granulocytes -ENT_ATTTCTGGTCTAGCGC-1,Dendritic cells -ENT_CAACCAAAGGCGATAC-1,Monocytes -ENT_CAACCAAAGGTGACCA-1,Dendritic cells -ENT_CAACCAAAGTGGAGAA-1,Monocytes -ENT_CAACCAACAGACAGGT-1,Granulocytes -ENT_CAACCAAGTATCTGCA-1,Monocytes -ENT_CAACCAAGTCACCCAG-1,Monocytes -ENT_CAACCTCCACAACGTT-1,Monocytes -ENT_CAACCTCCATCACGAT-1,Monocytes -ENT_CAACTAGAGGGATACC-1,Dendritic cells -ENT_CAACTAGCAAAGCAAT-1,Granulocytes -ENT_CAACTAGCAATAAGCA-1,Monocytes -ENT_CAACTAGCACATTTCT-1,Granulocytes -ENT_CAACTAGGTATAGGGC-1,Monocytes -ENT_CAACTAGTCCCACTTG-1,Monocytes -ENT_CAAGAAACAGTCACTA-1,Monocytes -ENT_CAAGAAACATTTGCCC-1,Monocytes -ENT_CAAGAAAGTCTGATCA-1,Monocytes -ENT_CAAGAAAGTGGTTTCA-1,Dendritic cells -ENT_CAAGAAAGTTGCGCAC-1,Monocytes -ENT_CAAGATCAGATAGCAT-1,Granulocytes -ENT_CAAGATCAGTACCGGA-1,Monocytes -ENT_CAAGATCGTTAGATGA-1,Granulocytes -ENT_CAAGATCTCAAAGTAG-1,Monocytes -ENT_CAAGATCTCTGTTTGT-1,Monocytes -ENT_CAAGGCCCACAGTCGC-1,Monocytes -ENT_CAAGGCCCACTTAAGC-1,Monocytes -ENT_CAAGGCCGTAATCGTC-1,Monocytes -ENT_CAAGTTGAGAGTACCG-1,Monocytes -ENT_CAAGTTGAGATGGGTC-1,Granulocytes -ENT_CAAGTTGAGATTACCC-1,Monocytes -ENT_CAAGTTGAGCTCCTTC-1,Monocytes -ENT_CAAGTTGCAGTCCTTC-1,Monocytes -ENT_CAAGTTGTCGCGGATC-1,Dendritic cells -ENT_CACAAACAGAAGGGTA-1,Dendritic cells -ENT_CACAAACCAGTATCTG-1,Monocytes -ENT_CACAAACTCCTGCCAT-1,Granulocytes -ENT_CACACAAAGGTGTGGT-1,Monocytes -ENT_CACACAATCATGCAAC-1,Monocytes -ENT_CACACCTAGGGCACTA-1,T cells -ENT_CACACCTCAAGTCTGT-1,Dendritic cells -ENT_CACACCTGTGCGCTTG-1,Granulocytes -ENT_CACACCTGTGTGCCTG-1,Monocytes -ENT_CACACCTTCTCCTATA-1,Dendritic cells -ENT_CACACTCAGATCCCAT-1,Granulocytes -ENT_CACACTCAGCGATTCT-1,Macrophages -ENT_CACACTCGTCGCATCG-1,Monocytes -ENT_CACACTCTCACTGGGC-1,Granulocytes -ENT_CACAGGCAGAGTCTGG-1,NK cells -ENT_CACAGGCAGATGTTAG-1,NK cells -ENT_CACAGGCAGGCTAGCA-1,Monocytes -ENT_CACAGGCAGTGTACGG-1,Monocytes -ENT_CACAGGCCAGTCCTTC-1,Monocytes -ENT_CACAGGCTCAAACAAG-1,Monocytes -ENT_CACAGTAAGACTACAA-1,Granulocytes -ENT_CACAGTAAGATCCGAG-1,Granulocytes -ENT_CACAGTAAGGCAGTCA-1,Granulocytes -ENT_CACAGTACACCAGTTA-1,Monocytes -ENT_CACAGTACATTAACCG-1,Monocytes -ENT_CACATAGAGAATGTGT-1,Monocytes -ENT_CACATAGCAAGCTGAG-1,Monocytes -ENT_CACATAGCATGGGACA-1,Granulocytes -ENT_CACATAGGTAGCGTCC-1,Monocytes -ENT_CACATAGTCGCCAAAT-1,Monocytes -ENT_CACATTTAGGCCATAG-1,Monocytes -ENT_CACATTTTCACGAAGG-1,Monocytes -ENT_CACATTTTCGGCTTGG-1,Monocytes -ENT_CACCACTAGACCACGA-1,Dendritic cells -ENT_CACCACTAGCCACTAT-1,Macrophages -ENT_CACCACTAGTTAGCGG-1,Monocytes -ENT_CACCACTCAAGCTGTT-1,Monocytes -ENT_CACCACTCACACCGAC-1,Dendritic cells -ENT_CACCACTCAGCTGGCT-1,Dendritic cells -ENT_CACCACTGTTTGTTGG-1,T cells -ENT_CACCAGGAGAGAACAG-1,Monocytes -ENT_CACCTTGAGATGTCGG-1,Monocytes -ENT_CACCTTGCACGGTGTC-1,Monocytes -ENT_CACCTTGGTAGAAAGG-1,Monocytes -ENT_CACCTTGTCGTAGATC-1,Monocytes -ENT_CACTCCAAGGCATGTG-1,Monocytes -ENT_CACTCCAGTGACGGTA-1,Monocytes -ENT_CACTCCAGTGAGTATA-1,Monocytes -ENT_CAGAATCAGTAGCGGT-1,Monocytes -ENT_CAGAATCAGTATCGAA-1,Monocytes -ENT_CAGAATCCACCCTATC-1,Macrophages -ENT_CAGAATCTCACATACG-1,Dendritic cells -ENT_CAGAATCTCCTGCAGG-1,Monocytes -ENT_CAGAGAGAGATCCTGT-1,Granulocytes -ENT_CAGAGAGAGCGTGAAC-1,Monocytes -ENT_CAGAGAGGTCATCCCT-1,Monocytes -ENT_CAGAGAGGTCGCCATG-1,Monocytes -ENT_CAGAGAGGTCTCCCTA-1,Granulocytes -ENT_CAGATCACAATAACGA-1,Monocytes -ENT_CAGATCAGTGCAACGA-1,Monocytes -ENT_CAGCAGCAGCAATATG-1,Dendritic cells -ENT_CAGCAGCAGCCCAGCT-1,Granulocytes -ENT_CAGCAGCTCCGTTGTC-1,Granulocytes -ENT_CAGCAGCTCGGCATCG-1,Monocytes -ENT_CAGCATACAAAGGCGT-1,Macrophages -ENT_CAGCATAGTGAGCGAT-1,Monocytes -ENT_CAGCATAGTGTCAATC-1,Monocytes -ENT_CAGCATATCAAGGTAA-1,Dendritic cells -ENT_CAGCATATCCATGAAC-1,Dendritic cells -ENT_CAGCATATCTGCTGCT-1,Granulocytes -ENT_CAGCCGACAGCATACT-1,Monocytes -ENT_CAGCCGATCCGTAGTA-1,Monocytes -ENT_CAGCCGATCGACCAGC-1,Monocytes -ENT_CAGCCGATCGTAGGAG-1,Monocytes -ENT_CAGCGACCAGCATACT-1,Monocytes -ENT_CAGCGACCATTAGGCT-1,Granulocytes -ENT_CAGCGACGTCGGCACT-1,Monocytes -ENT_CAGCGACGTCGTCTTC-1,Monocytes -ENT_CAGCGACGTGAAAGAG-1,T cells -ENT_CAGCGACTCAACGGGA-1,Monocytes -ENT_CAGCGACTCGCGTTTC-1,Monocytes -ENT_CAGCGACTCGGCTACG-1,Granulocytes -ENT_CAGCTAAAGAACTGTA-1,Monocytes -ENT_CAGCTAAAGAGCAATT-1,Granulocytes -ENT_CAGCTAAAGCGTCAAG-1,Monocytes -ENT_CAGCTAAGTCCGAGTC-1,Monocytes -ENT_CAGCTAATCTTACCGC-1,Monocytes -ENT_CAGCTGGAGATGCCAG-1,Monocytes -ENT_CAGCTGGCAATGGACG-1,Dendritic cells -ENT_CAGCTGGCAGCCTATA-1,Monocytes -ENT_CAGCTGGTCAGCACAT-1,Dendritic cells -ENT_CAGCTGGTCCAATGGT-1,Monocytes -ENT_CAGTAACCAAGCGAGT-1,NK cells -ENT_CAGTAACCAGCTCCGA-1,Monocytes -ENT_CAGTCCTAGAACTGTA-1,Monocytes -ENT_CAGTCCTGTTCAGTAC-1,Dendritic cells -ENT_CAGTCCTTCAGTTGAC-1,Granulocytes -ENT_CATATGGGTAAGTAGT-1,Monocytes -ENT_CATATGGGTATAGGGC-1,Monocytes -ENT_CATATTCAGCCACTAT-1,Monocytes -ENT_CATATTCAGGTGATAT-1,Monocytes -ENT_CATATTCAGTGCCATT-1,Monocytes -ENT_CATATTCCAGACAAGC-1,Dendritic cells -ENT_CATATTCCATAGACTC-1,Dendritic cells -ENT_CATATTCGTATATCCG-1,Monocytes -ENT_CATATTCGTCGCGAAA-1,Monocytes -ENT_CATATTCTCATTGCCC-1,Dendritic cells -ENT_CATCAAGCACCAGCAC-1,Monocytes -ENT_CATCAAGTCGATAGAA-1,Monocytes -ENT_CATCAAGTCGGCTACG-1,Monocytes -ENT_CATCAAGTCTCAAACG-1,Monocytes -ENT_CATCAGAAGAAACCTA-1,Monocytes -ENT_CATCAGAAGCTCTCGG-1,Monocytes -ENT_CATCAGAGTCAGAATA-1,Monocytes -ENT_CATCAGATCTCGGACG-1,Monocytes -ENT_CATCCACAGCTACCTA-1,Monocytes -ENT_CATCCACAGTATTGGA-1,Monocytes -ENT_CATCCACCACAAGTAA-1,Monocytes -ENT_CATCCACGTCAACTGT-1,Monocytes -ENT_CATCCACTCATACGGT-1,Monocytes -ENT_CATCCACTCCAGATCA-1,T cells -ENT_CATCCACTCCGCTGTT-1,Monocytes -ENT_CATCGAAAGCTAACTC-1,Granulocytes -ENT_CATCGAAAGGGTTTCT-1,Monocytes -ENT_CATCGAACAATCCGAT-1,Granulocytes -ENT_CATCGAACACGGCTAC-1,Monocytes -ENT_CATCGAACAGACGCTC-1,Monocytes -ENT_CATCGAACATACCATG-1,Monocytes -ENT_CATCGAATCTTGCATT-1,Granulocytes -ENT_CATCGGGAGGATATAC-1,Monocytes -ENT_CATCGGGAGGCAAAGA-1,Monocytes -ENT_CATCGGGCATGTTCCC-1,Monocytes -ENT_CATCGGGGTGTAATGA-1,Dendritic cells -ENT_CATCGGGGTTCCCTTG-1,Granulocytes -ENT_CATGACAAGAAGATTC-1,Macrophages -ENT_CATGACAAGAGACGAA-1,Monocytes -ENT_CATGACAAGTTGTCGT-1,Monocytes -ENT_CATGACACAGTTCATG-1,Monocytes -ENT_CATGACAGTCTAGCGC-1,Monocytes -ENT_CATGACATCGGAAACG-1,Monocytes -ENT_CATGCCTAGCGTTGCC-1,Granulocytes -ENT_CATGCCTGTCGCTTCT-1,Dendritic cells -ENT_CATGCCTTCACCTCGT-1,Dendritic cells -ENT_CATGCCTTCCTGTAGA-1,Granulocytes -ENT_CATGGCGAGGGTTCCC-1,Dendritic cells -ENT_CATGGCGCACAGTCGC-1,Monocytes -ENT_CATGGCGCATTACCTT-1,Monocytes -ENT_CATGGCGGTCTAGGTT-1,Monocytes -ENT_CATGGCGTCTTGCCGT-1,Monocytes -ENT_CATTATCAGAAGGTTT-1,Monocytes -ENT_CATTATCAGCCACGTC-1,Monocytes -ENT_CATTATCAGCGTCAAG-1,Monocytes -ENT_CATTATCTCACGCATA-1,Monocytes -ENT_CATTATCTCGGATGTT-1,Granulocytes -ENT_CATTCGCAGCAGCGTA-1,Monocytes -ENT_CCAATCCAGAGCTGGT-1,Monocytes -ENT_CCAATCCAGGGTTTCT-1,Granulocytes -ENT_CCAATCCCAGAAGCAC-1,Granulocytes -ENT_CCAATCCCATGCCACG-1,Granulocytes -ENT_CCAATCCGTAGCACGA-1,Granulocytes -ENT_CCAATCCGTAGCTTGT-1,Monocytes -ENT_CCAATCCGTATGGTTC-1,Monocytes -ENT_CCAATCCGTCATTAGC-1,Monocytes -ENT_CCAATCCGTGACGGTA-1,Macrophages -ENT_CCAATCCGTTCAGACT-1,Monocytes -ENT_CCACCTACATCGGACC-1,Granulocytes -ENT_CCACCTAGTAAGTTCC-1,Monocytes -ENT_CCACCTAGTTAAGACA-1,Monocytes -ENT_CCACGGAGTTACGCGC-1,Monocytes -ENT_CCACGGATCTCTGCTG-1,Monocytes -ENT_CCACTACAGAATTGTG-1,Monocytes -ENT_CCACTACAGCGTTCCG-1,Monocytes -ENT_CCACTACAGGTAGCCA-1,Dendritic cells -ENT_CCACTACAGTTAGCGG-1,Monocytes -ENT_CCACTACCACAGACAG-1,Monocytes -ENT_CCACTACGTACCGCTG-1,Monocytes -ENT_CCACTACGTACTCTCC-1,Monocytes -ENT_CCACTACGTCGGCTCA-1,Monocytes -ENT_CCAGCGAAGAATTGTG-1,Monocytes -ENT_CCAGCGAAGGCTCTTA-1,Monocytes -ENT_CCAGCGACAGTATGCT-1,Monocytes -ENT_CCATGTCAGCTAGTCT-1,Granulocytes -ENT_CCATGTCGTCATACTG-1,Granulocytes -ENT_CCATTCGAGGCCGAAT-1,Monocytes -ENT_CCATTCGAGGGATCTG-1,Granulocytes -ENT_CCATTCGCACGCGAAA-1,Dendritic cells -ENT_CCATTCGCACGGCGTT-1,Granulocytes -ENT_CCATTCGGTATCTGCA-1,Monocytes -ENT_CCATTCGGTTAGATGA-1,Macrophages -ENT_CCCAATCAGAAACCAT-1,Monocytes -ENT_CCCAATCAGATGCCTT-1,Monocytes -ENT_CCCAATCAGGCCCGTT-1,Monocytes -ENT_CCCAATCCATTAGGCT-1,Granulocytes -ENT_CCCAATCCATTCCTGC-1,Granulocytes -ENT_CCCAATCGTGCAGGTA-1,Monocytes -ENT_CCCAATCTCTTCAACT-1,Monocytes -ENT_CCCAGTTCAGTAGAGC-1,Monocytes -ENT_CCCAGTTGTAAAGTCA-1,Monocytes -ENT_CCCAGTTGTCATACTG-1,Monocytes -ENT_CCCAGTTGTGTTTGGT-1,Monocytes -ENT_CCCTCCTAGTGAAGTT-1,Monocytes -ENT_CCCTCCTCAACCGCCA-1,Monocytes -ENT_CCCTCCTCATTAGCCA-1,Dendritic cells -ENT_CCCTCCTTCTTGTATC-1,Monocytes -ENT_CCGGGATAGGCAAAGA-1,Dendritic cells -ENT_CCGGGATCAATAAGCA-1,Monocytes -ENT_CCGGGATGTTGCGCAC-1,Monocytes -ENT_CCGGGATTCTGCAGTA-1,Dendritic cells -ENT_CCGGTAGAGTCACGCC-1,Monocytes -ENT_CCGGTAGCACAAGCCC-1,Monocytes -ENT_CCGGTAGGTGGCTCCA-1,Monocytes -ENT_CCGGTAGGTTATCGGT-1,Monocytes -ENT_CCGTACTAGCGTCAAG-1,Monocytes -ENT_CCGTACTAGCTGCGAA-1,Monocytes -ENT_CCGTGGAAGCCAGAAC-1,Granulocytes -ENT_CCGTGGAAGTGTCCAT-1,Monocytes -ENT_CCGTGGACATCACCCT-1,Granulocytes -ENT_CCGTGGATCAACCATG-1,Granulocytes -ENT_CCGTTCAAGAAGGACA-1,Dendritic cells -ENT_CCGTTCAAGGTGCTTT-1,Dendritic cells -ENT_CCGTTCACAACCGCCA-1,Macrophages -ENT_CCGTTCAGTAGCGTAG-1,Dendritic cells -ENT_CCGTTCATCGGTCTAA-1,Monocytes -ENT_CCTAAAGCACGCCAGT-1,Granulocytes -ENT_CCTACACAGTTCGCGC-1,Monocytes -ENT_CCTACACTCTAACGGT-1,Monocytes -ENT_CCTACCAAGACGCACA-1,Granulocytes -ENT_CCTACCAGTGTGAAAT-1,Monocytes -ENT_CCTACCATCAAGCCTA-1,Granulocytes -ENT_CCTAGCTAGAGACTTA-1,Granulocytes -ENT_CCTAGCTAGCTAGTCT-1,Monocytes -ENT_CCTAGCTAGGACTGGT-1,Monocytes -ENT_CCTAGCTAGTGCTGCC-1,Monocytes -ENT_CCTAGCTCAAGCTGAG-1,Granulocytes -ENT_CCTAGCTCAATAGCGG-1,Monocytes -ENT_CCTAGCTTCTTGTTTG-1,Monocytes -ENT_CCTATTAAGATGAGAG-1,Monocytes -ENT_CCTATTAAGGAATCGC-1,Dendritic cells -ENT_CCTATTAGTAGTACCT-1,Dendritic cells -ENT_CCTATTAGTATCTGCA-1,Monocytes -ENT_CCTATTAGTCCGAATT-1,Monocytes -ENT_CCTATTAGTCGCGAAA-1,Monocytes -ENT_CCTATTAGTCTGATTG-1,Monocytes -ENT_CCTCAGTCAAACGTGG-1,Monocytes -ENT_CCTCAGTCATTGAGCT-1,Monocytes -ENT_CCTCAGTGTAACGACG-1,Dendritic cells -ENT_CCTCTGACATTCACTT-1,Monocytes -ENT_CCTCTGAGTCTGATTG-1,Monocytes -ENT_CCTCTGATCGCCATAA-1,T cells -ENT_CCTTACGAGTACGATA-1,Monocytes -ENT_CCTTACGCATATACCG-1,Monocytes -ENT_CCTTACGGTGGCTCCA-1,Monocytes -ENT_CCTTACGGTTGCGTTA-1,Monocytes -ENT_CCTTCCCCAGGGCATA-1,Monocytes -ENT_CCTTCCCTCACATACG-1,Monocytes -ENT_CCTTCCCTCCGTTGTC-1,Dendritic cells -ENT_CCTTCGAAGATCTGAA-1,Monocytes -ENT_CCTTCGAAGTCTCAAC-1,Dendritic cells -ENT_CCTTCGAAGTGGTAGC-1,Granulocytes -ENT_CCTTCGACAAATCCGT-1,Monocytes -ENT_CCTTCGACAATTCCTT-1,Monocytes -ENT_CCTTCGAGTCTACCTC-1,Monocytes -ENT_CCTTCGATCCGGGTGT-1,Granulocytes -ENT_CCTTTCTCACATGTGT-1,Dendritic cells -ENT_CCTTTCTGTCAAAGAT-1,Monocytes -ENT_CCTTTCTGTCCGAATT-1,Dendritic cells -ENT_CCTTTCTTCTAGCACA-1,Macrophages -ENT_CCTTTCTTCTCCAACC-1,Monocytes -ENT_CGAACATAGCCAGGAT-1,Monocytes -ENT_CGAACATCATTGTGCA-1,Monocytes -ENT_CGAATGTAGTCTCGGC-1,Monocytes -ENT_CGAATGTGTCTACCTC-1,Granulocytes -ENT_CGAATGTTCGGCTACG-1,Monocytes -ENT_CGACCTTAGCTACCGC-1,Granulocytes -ENT_CGACCTTGTCAGATAA-1,Monocytes -ENT_CGACCTTGTCTGATCA-1,Monocytes -ENT_CGACTTCAGTAGGTGC-1,Monocytes -ENT_CGACTTCAGTGTGGCA-1,Granulocytes -ENT_CGACTTCGTACTTGAC-1,Monocytes -ENT_CGACTTCGTTTGGCGC-1,Granulocytes -ENT_CGACTTCTCAATAAGG-1,Monocytes -ENT_CGACTTCTCCCGACTT-1,Monocytes -ENT_CGACTTCTCTTGTTTG-1,Monocytes -ENT_CGAGAAGTCACAACGT-1,Monocytes -ENT_CGAGAAGTCTCCTATA-1,Monocytes -ENT_CGAGCACAGATACACA-1,Monocytes -ENT_CGAGCACAGGAATGGA-1,Monocytes -ENT_CGAGCACAGTGTTAGA-1,Monocytes -ENT_CGAGCACGTACCATCA-1,Monocytes -ENT_CGAGCACGTCAGGACA-1,Monocytes -ENT_CGAGCACGTCCTCTTG-1,Granulocytes -ENT_CGAGCACTCAAGGTAA-1,NK cells -ENT_CGAGCACTCACTCCTG-1,Monocytes -ENT_CGAGCCAAGTGGACGT-1,T cells -ENT_CGAGCCACAGAAGCAC-1,Macrophages -ENT_CGAGCCATCAGCGATT-1,Dendritic cells -ENT_CGAGCCATCCGATATG-1,Monocytes -ENT_CGATCGGCACCACGTG-1,Macrophages -ENT_CGATCGGCACGAAAGC-1,Monocytes -ENT_CGATCGGCACTCAGGC-1,Monocytes -ENT_CGATCGGCATATGGTC-1,Granulocytes -ENT_CGATCGGCATCGGTTA-1,Granulocytes -ENT_CGATCGGCATGCATGT-1,Monocytes -ENT_CGATCGGGTAAGTAGT-1,Granulocytes -ENT_CGATCGGGTAAGTTCC-1,Granulocytes -ENT_CGATCGGGTATAAACG-1,Monocytes -ENT_CGATCGGGTTGGTTTG-1,Monocytes -ENT_CGATCGGTCTGTCTCG-1,Monocytes -ENT_CGATGGCAGCCGATTT-1,Monocytes -ENT_CGATGGCGTTCGTTGA-1,Monocytes -ENT_CGATGGCTCTTACCTA-1,Monocytes -ENT_CGATGTAAGAAACCTA-1,Granulocytes -ENT_CGATGTAAGTGAACGC-1,Monocytes -ENT_CGATGTACACGGTAAG-1,Monocytes -ENT_CGATTGAAGCGGCTTC-1,Monocytes -ENT_CGATTGAAGCGTGAGT-1,Monocytes -ENT_CGATTGAGTCTCTCTG-1,Monocytes -ENT_CGATTGAGTGTTCGAT-1,Dendritic cells -ENT_CGATTGATCGGCCGAT-1,Monocytes -ENT_CGCCAAGAGATGTCGG-1,Monocytes -ENT_CGCCAAGCACGGATAG-1,Monocytes -ENT_CGCCAAGGTAAGTAGT-1,Monocytes -ENT_CGCCAAGGTAGTACCT-1,Dendritic cells -ENT_CGCCAAGGTCTTCAAG-1,Monocytes -ENT_CGCGGTAAGAGGGCTT-1,Monocytes -ENT_CGCGGTAAGGCAATTA-1,Dendritic cells -ENT_CGCGGTAGTCTGATTG-1,T cells -ENT_CGCGGTATCAGAGCTT-1,Monocytes -ENT_CGCGTTTAGAAGGTGA-1,Monocytes -ENT_CGCGTTTCATCATCCC-1,T cells -ENT_CGCGTTTGTCGCTTTC-1,Monocytes -ENT_CGCGTTTGTCTTCTCG-1,Granulocytes -ENT_CGCTATCAGGTGATTA-1,Dendritic cells -ENT_CGCTATCAGTCGTACT-1,Monocytes -ENT_CGCTATCGTTGTCTTT-1,Monocytes -ENT_CGCTGGAAGCCCTAAT-1,Monocytes -ENT_CGCTGGAAGCGAAGGG-1,NK cells -ENT_CGCTGGACAGGAATCG-1,Monocytes -ENT_CGCTGGACATGGTTGT-1,Monocytes -ENT_CGCTGGAGTTTCCACC-1,Dendritic cells -ENT_CGCTGGATCGTCCAGG-1,Monocytes -ENT_CGCTTCAAGAAAGTGG-1,Monocytes -ENT_CGCTTCAAGGCTAGAC-1,Dendritic cells -ENT_CGCTTCATCGCCGTGA-1,Monocytes -ENT_CGGACACCAAAGCGGT-1,Monocytes -ENT_CGGACGTAGACTCGGA-1,Monocytes -ENT_CGGACGTAGTTTAGGA-1,Monocytes -ENT_CGGACGTTCTCGTATT-1,Monocytes -ENT_CGGACTGAGACTCGGA-1,Monocytes -ENT_CGGACTGAGCCAACAG-1,Monocytes -ENT_CGGACTGGTTCTGGTA-1,Monocytes -ENT_CGGACTGTCAACCAAC-1,Dendritic cells -ENT_CGGACTGTCAAGCCTA-1,Monocytes -ENT_CGGACTGTCCACGAAT-1,T cells -ENT_CGGAGCTAGAGTAAGG-1,Dendritic cells -ENT_CGGAGCTAGATGTAAC-1,Monocytes -ENT_CGGAGCTTCTACTTAC-1,Dendritic cells -ENT_CGGAGTCCAACTGCGC-1,Monocytes -ENT_CGGAGTCCATTCACTT-1,Dendritic cells -ENT_CGGAGTCTCACTTATC-1,Monocytes -ENT_CGGAGTCTCAGAGCTT-1,Monocytes -ENT_CGGAGTCTCCCTTGTG-1,Monocytes -ENT_CGGAGTCTCTATCCCG-1,Monocytes -ENT_CGGCTAGAGGAATGGA-1,Monocytes -ENT_CGGCTAGAGTTAGCGG-1,Monocytes -ENT_CGGCTAGCACCAGGTC-1,Monocytes -ENT_CGGCTAGCAGCCTTTC-1,Monocytes -ENT_CGGCTAGCATCCGGGT-1,Monocytes -ENT_CGGCTAGTCGTGGACC-1,Monocytes -ENT_CGGGTCAAGGCCGAAT-1,Dendritic cells -ENT_CGGGTCACAGTGAGTG-1,Granulocytes -ENT_CGGGTCAGTATTCTCT-1,Monocytes -ENT_CGGGTCAGTCCGAATT-1,Dendritic cells -ENT_CGGTTAAAGCCTTGAT-1,Monocytes -ENT_CGGTTAAGTCATATGC-1,Dendritic cells -ENT_CGTAGCGCACGGATAG-1,Monocytes -ENT_CGTAGGCAGATTACCC-1,Granulocytes -ENT_CGTAGGCGTTCAGGCC-1,Dendritic cells -ENT_CGTAGGCTCTGTGCAA-1,Granulocytes -ENT_CGTCACTAGACGCTTT-1,Monocytes -ENT_CGTCACTAGAGATGAG-1,Monocytes -ENT_CGTCACTGTACATGTC-1,Monocytes -ENT_CGTCACTGTGAGTATA-1,Monocytes -ENT_CGTCACTTCCCACTTG-1,Dendritic cells -ENT_CGTCACTTCGTCTGCT-1,Monocytes -ENT_CGTCAGGAGAACTGTA-1,Monocytes -ENT_CGTCAGGAGACCCACC-1,Monocytes -ENT_CGTCAGGAGGATCGCA-1,Granulocytes -ENT_CGTCAGGCAGTAGAGC-1,Monocytes -ENT_CGTCAGGCATCGACGC-1,Monocytes -ENT_CGTCAGGGTCCGTCAG-1,Monocytes -ENT_CGTCAGGGTTCGGCAC-1,Dendritic cells -ENT_CGTCCATCAACTGCTA-1,Monocytes -ENT_CGTCTACAGATACACA-1,Monocytes -ENT_CGTCTACAGGGCTCTC-1,Monocytes -ENT_CGTCTACCACATCTTT-1,Granulocytes -ENT_CGTCTACGTCACTTCC-1,Monocytes -ENT_CGTCTACTCGGTCTAA-1,Monocytes -ENT_CGTGAGCAGCCCAGCT-1,NK cells -ENT_CGTGAGCAGCTGTCTA-1,Monocytes -ENT_CGTGAGCCACTAAGTC-1,Granulocytes -ENT_CGTGAGCGTACCGGCT-1,T cells -ENT_CGTGAGCGTACTCAAC-1,Monocytes -ENT_CGTGAGCTCATCATTC-1,T cells -ENT_CGTGAGCTCGTTACAG-1,Monocytes -ENT_CGTGTAAAGAGTGAGA-1,Monocytes -ENT_CGTGTAAGTAGCTTGT-1,Monocytes -ENT_CGTGTAAGTTGGAGGT-1,Monocytes -ENT_CGTGTCTAGTGGACGT-1,T cells -ENT_CGTGTCTCAAACGTGG-1,Monocytes -ENT_CGTGTCTGTTCTGTTT-1,Monocytes -ENT_CGTTAGAAGTTCGATC-1,Monocytes -ENT_CGTTAGACATGCGCAC-1,Monocytes -ENT_CGTTAGAGTAGTACCT-1,Monocytes -ENT_CGTTAGATCCAAGCCG-1,Monocytes -ENT_CGTTAGATCTTCATGT-1,Monocytes -ENT_CGTTCTGAGATGTGGC-1,Monocytes -ENT_CGTTCTGAGGGATACC-1,Monocytes -ENT_CGTTCTGAGTTGCAGG-1,Monocytes -ENT_CGTTCTGCATTCCTCG-1,Monocytes -ENT_CGTTCTGGTCCTGCTT-1,Monocytes -ENT_CGTTGGGAGAAGCCCA-1,Monocytes -ENT_CGTTGGGAGAAGGCCT-1,Granulocytes -ENT_CGTTGGGAGGAGCGAG-1,Monocytes -ENT_CGTTGGGCAGGACCCT-1,Dendritic cells -ENT_CGTTGGGGTAGTAGTA-1,Monocytes -ENT_CGTTGGGTCAACACCA-1,Monocytes -ENT_CGTTGGGTCGTTGACA-1,T cells -ENT_CTAACTTCACATTCGA-1,Monocytes -ENT_CTAACTTCACGCCAGT-1,Monocytes -ENT_CTAACTTGTCCGAAGA-1,Monocytes -ENT_CTAACTTGTGCACGAA-1,Dendritic cells -ENT_CTAACTTGTGTTAAGA-1,Monocytes -ENT_CTAACTTGTTGGTAAA-1,Dendritic cells -ENT_CTAACTTTCGAATCCA-1,Dendritic cells -ENT_CTAACTTTCGTCTGAA-1,Monocytes -ENT_CTAAGACAGCGTTCCG-1,Monocytes -ENT_CTAATGGCACGTAAGG-1,Monocytes -ENT_CTACACCAGTGCCAGA-1,Monocytes -ENT_CTACACCAGTTAACGA-1,Granulocytes -ENT_CTACACCCAAATACAG-1,Monocytes -ENT_CTACACCGTAAGGGAA-1,Macrophages -ENT_CTACACCGTCGGGTCT-1,Monocytes -ENT_CTACACCGTTTCCACC-1,Dendritic cells -ENT_CTACATTAGACAAAGG-1,Macrophages -ENT_CTACATTGTCCAGTGC-1,Monocytes -ENT_CTACATTGTCGTGGCT-1,Monocytes -ENT_CTACATTGTCTTCTCG-1,Granulocytes -ENT_CTACCCAAGCTAGGCA-1,Monocytes -ENT_CTACCCAAGTGTGGCA-1,Monocytes -ENT_CTACCCATCTGCTTGC-1,Dendritic cells -ENT_CTACGTCAGATCCCAT-1,Granulocytes -ENT_CTACGTCAGGCTCTTA-1,Monocytes -ENT_CTACGTCAGGGTGTGT-1,Monocytes -ENT_CTACGTCCAATAGCGG-1,Monocytes -ENT_CTACGTCGTACTTGAC-1,Monocytes -ENT_CTACGTCGTCAACATC-1,Macrophages -ENT_CTACGTCTCTCTAGGA-1,Monocytes -ENT_CTAGAGTAGGCTACGA-1,Monocytes -ENT_CTAGAGTGTCCGAGTC-1,Granulocytes -ENT_CTAGAGTGTGCCTGTG-1,Granulocytes -ENT_CTAGAGTGTGGCGAAT-1,Granulocytes -ENT_CTAGAGTGTTATGCGT-1,T cells -ENT_CTAGAGTTCACAATGC-1,Dendritic cells -ENT_CTAGCCTAGACAGAGA-1,Granulocytes -ENT_CTAGCCTCAAGTAATG-1,Monocytes -ENT_CTAGCCTCATCTACGA-1,Monocytes -ENT_CTAGCCTGTTCGGGCT-1,Monocytes -ENT_CTAGCCTTCACCGTAA-1,Granulocytes -ENT_CTAGCCTTCATGCATG-1,Granulocytes -ENT_CTAGCCTTCATGTCCC-1,Monocytes -ENT_CTAGCCTTCCACGTTC-1,Monocytes -ENT_CTAGTGAAGACCCACC-1,Monocytes -ENT_CTAGTGACAACGATGG-1,Monocytes -ENT_CTAGTGACAAGCTGTT-1,Monocytes -ENT_CTAGTGACAATTGCTG-1,Macrophages -ENT_CTAGTGAGTAGAAGGA-1,Granulocytes -ENT_CTAGTGAGTAGCACGA-1,Monocytes -ENT_CTAGTGATCCAGTAGT-1,Monocytes -ENT_CTCACACCAGGAATCG-1,Monocytes -ENT_CTCACACTCTCAAGTG-1,Monocytes -ENT_CTCAGAACAGGATTGG-1,Monocytes -ENT_CTCAGAAGTCTCGTTC-1,Monocytes -ENT_CTCATTAAGACCACGA-1,Monocytes -ENT_CTCATTAAGGCTCTTA-1,Monocytes -ENT_CTCATTACACACTGCG-1,Monocytes -ENT_CTCATTACATTAACCG-1,Dendritic cells -ENT_CTCATTAGTGTCGCTG-1,Dendritic cells -ENT_CTCATTATCTGATACG-1,Monocytes -ENT_CTCCTAGAGACTAAGT-1,Monocytes -ENT_CTCCTAGAGAGGTTAT-1,Macrophages -ENT_CTCCTAGAGATATACG-1,Monocytes -ENT_CTCCTAGAGCTAGCCC-1,Monocytes -ENT_CTCCTAGCAGGGTTAG-1,Monocytes -ENT_CTCCTAGTCCGTCATC-1,Monocytes -ENT_CTCCTAGTCCTCAACC-1,Monocytes -ENT_CTCGAAAAGCCAACAG-1,Monocytes -ENT_CTCGAAACAGGAATGC-1,Monocytes -ENT_CTCGAGGAGGCTACGA-1,Monocytes -ENT_CTCGAGGAGTGGGATC-1,Macrophages -ENT_CTCGAGGCAAACCCAT-1,Monocytes -ENT_CTCGAGGCAGGAATCG-1,Monocytes -ENT_CTCGAGGGTTCTGAAC-1,Monocytes -ENT_CTCGAGGTCTGCGACG-1,Monocytes -ENT_CTCGGAGAGTGTGAAT-1,Monocytes -ENT_CTCGGAGCAGTTCCCT-1,T cells -ENT_CTCGGAGGTAGCGCTC-1,Monocytes -ENT_CTCGGAGGTCAACATC-1,Monocytes -ENT_CTCGGGATCCAATGGT-1,Monocytes -ENT_CTCGGGATCGTTGCCT-1,Monocytes -ENT_CTCGGGATCTTATCTG-1,Monocytes -ENT_CTCGTACAGAGCCCAA-1,Dendritic cells -ENT_CTCGTACCACCAGGCT-1,Monocytes -ENT_CTCGTACCACGCCAGT-1,Granulocytes -ENT_CTCGTACTCAACACCA-1,Granulocytes -ENT_CTCGTACTCAGGCGAA-1,Monocytes -ENT_CTCGTACTCATTGCGA-1,Monocytes -ENT_CTCGTACTCCGCGGTA-1,Dendritic cells -ENT_CTCGTCAAGCTAGTGG-1,Monocytes -ENT_CTCGTCACAGCGTAAG-1,Monocytes -ENT_CTCGTCAGTCTGCCAG-1,Monocytes -ENT_CTCGTCAGTGTGACGA-1,Granulocytes -ENT_CTCGTCATCAATACCG-1,Monocytes -ENT_CTCGTCATCTCCAACC-1,Monocytes -ENT_CTCTAATAGAGTACCG-1,Monocytes -ENT_CTCTAATAGAGTGAGA-1,Monocytes -ENT_CTCTAATAGTCCAGGA-1,Monocytes -ENT_CTCTAATCACCCTATC-1,Macrophages -ENT_CTCTACGCACGAGAGT-1,Monocytes -ENT_CTCTACGCAGACACTT-1,Monocytes -ENT_CTCTACGGTGGGTATG-1,Granulocytes -ENT_CTCTACGGTTAGATGA-1,Monocytes -ENT_CTCTACGTCGGTCCGA-1,Monocytes -ENT_CTCTGGTAGATCACGG-1,Monocytes -ENT_CTCTGGTAGGCCCTTG-1,Granulocytes -ENT_CTCTGGTTCCCAACGG-1,Monocytes -ENT_CTCTGGTTCTCCAGGG-1,Monocytes -ENT_CTGAAACAGATATGCA-1,Monocytes -ENT_CTGAAACAGCCGCCTA-1,Monocytes -ENT_CTGAAACCACACAGAG-1,Monocytes -ENT_CTGAAACCAGTAGAGC-1,Granulocytes -ENT_CTGAAACCATGCAATC-1,Monocytes -ENT_CTGAAACCATGTCGAT-1,Granulocytes -ENT_CTGAAACGTCTGGAGA-1,Monocytes -ENT_CTGAAACGTTCCCGAG-1,Monocytes -ENT_CTGAAACTCCCTTGCA-1,Monocytes -ENT_CTGAAGTAGATAGTCA-1,Monocytes -ENT_CTGAAGTAGCAATCTC-1,Granulocytes -ENT_CTGAAGTAGTTCCACA-1,Granulocytes -ENT_CTGAAGTCAGGGATTG-1,Dendritic cells -ENT_CTGAAGTTCAACTCTT-1,Monocytes -ENT_CTGAAGTTCACAAACC-1,Dendritic cells -ENT_CTGATAGAGAGACGAA-1,Granulocytes -ENT_CTGATAGAGGCTCAGA-1,Monocytes -ENT_CTGATAGGTACTTCTT-1,Monocytes -ENT_CTGATAGTCCAGGGCT-1,Monocytes -ENT_CTGATCCAGCTAAACA-1,Granulocytes -ENT_CTGATCCCAGCTGTAT-1,Monocytes -ENT_CTGATCCGTTCCACTC-1,Monocytes -ENT_CTGATCCTCCAGTATG-1,Granulocytes -ENT_CTGCCTACAAACAACA-1,Monocytes -ENT_CTGCCTACAAATCCGT-1,Monocytes -ENT_CTGCCTACACAGCCCA-1,Granulocytes -ENT_CTGCCTAGTCATATCG-1,Monocytes -ENT_CTGCCTATCTGAGTGT-1,Monocytes -ENT_CTGCGGAAGCCCAGCT-1,Monocytes -ENT_CTGCGGAAGGAATCGC-1,Monocytes -ENT_CTGCGGAAGTGTACGG-1,Granulocytes -ENT_CTGCGGACATCAGTCA-1,Monocytes -ENT_CTGCGGAGTAGCCTAT-1,Monocytes -ENT_CTGCGGATCAGGCAAG-1,Monocytes -ENT_CTGCGGATCCCTTGTG-1,Monocytes -ENT_CTGCGGATCCGAATGT-1,Monocytes -ENT_CTGCTGTAGATCTGAA-1,Granulocytes -ENT_CTGCTGTAGTGGTAGC-1,Granulocytes -ENT_CTGCTGTCACTTAACG-1,Granulocytes -ENT_CTGCTGTGTTGGTGGA-1,Granulocytes -ENT_CTGGTCTAGATACACA-1,Macrophages -ENT_CTGGTCTAGATAGTCA-1,Monocytes -ENT_CTGGTCTAGGATGTAT-1,Monocytes -ENT_CTGGTCTCATGGTAGG-1,Monocytes -ENT_CTGGTCTGTGACAAAT-1,Monocytes -ENT_CTGGTCTTCATGGTCA-1,Monocytes -ENT_CTGGTCTTCCGTTGTC-1,Granulocytes -ENT_CTGTGCTCAAATTGCC-1,Monocytes -ENT_CTGTGCTCATACTCTT-1,Monocytes -ENT_CTGTGCTCATATGCTG-1,Granulocytes -ENT_CTGTGCTTCGTGGTCG-1,Monocytes -ENT_CTGTTTAAGAGGTTAT-1,Granulocytes -ENT_CTGTTTACACCTTGTC-1,Monocytes -ENT_CTGTTTACATGAAGTA-1,Monocytes -ENT_CTGTTTAGTCAGATAA-1,Monocytes -ENT_CTGTTTATCACATGCA-1,Monocytes -ENT_CTGTTTATCATCGATG-1,Monocytes -ENT_CTGTTTATCTGACCTC-1,Monocytes -ENT_CTTAACTAGGCTAGGT-1,Monocytes -ENT_CTTAACTAGTCCGTAT-1,Granulocytes -ENT_CTTAACTCAATAACGA-1,Monocytes -ENT_CTTAACTCAGCCAGAA-1,Monocytes -ENT_CTTAACTGTCAGAAGC-1,Monocytes -ENT_CTTAACTGTCTAGGTT-1,Monocytes -ENT_CTTAACTTCCAGAAGG-1,Monocytes -ENT_CTTACCGCAGGACCCT-1,Dendritic cells -ENT_CTTACCGTCCTAGGGC-1,Monocytes -ENT_CTTACCGTCCTATTCA-1,Monocytes -ENT_CTTAGGAAGCGTTTAC-1,Macrophages -ENT_CTTAGGAGTACATCCA-1,Granulocytes -ENT_CTTCTCTAGAAAGTGG-1,Monocytes -ENT_CTTCTCTAGAGCTGCA-1,Monocytes -ENT_CTTCTCTCAATGGAGC-1,Monocytes -ENT_CTTGGCTAGGCGATAC-1,Granulocytes -ENT_CTTGGCTCAAAGTCAA-1,Dendritic cells -ENT_CTTGGCTCAATGGAGC-1,Monocytes -ENT_CTTGGCTTCTTTAGTC-1,Monocytes -ENT_CTTTGCGAGAATTGTG-1,Monocytes -ENT_CTTTGCGAGAGTCGGT-1,Dendritic cells -ENT_CTTTGCGCAAGACACG-1,Macrophages -ENT_CTTTGCGCAGTATAAG-1,Monocytes -ENT_CTTTGCGGTAGCTGCC-1,Monocytes -ENT_CTTTGCGGTCTCCATC-1,Monocytes -ENT_CTTTGCGTCGCACTCT-1,Dendritic cells -ENT_CTTTGCGTCTATCCCG-1,Monocytes -ENT_GAAACTCCATACAGCT-1,Granulocytes -ENT_GAAACTCGTGGTAACG-1,Monocytes -ENT_GAAACTCTCACGAAGG-1,Monocytes -ENT_GAAACTCTCCTTGGTC-1,Monocytes -ENT_GAAACTCTCTATCGCC-1,Monocytes -ENT_GAAATGAAGGAGCGAG-1,Monocytes -ENT_GAAATGAAGGGTTCCC-1,Macrophages -ENT_GAAATGACACGGTAAG-1,Monocytes -ENT_GAAATGAGTACCGTAT-1,Monocytes -ENT_GAAATGAGTCGCTTCT-1,Granulocytes -ENT_GAACATCAGAAACCGC-1,Monocytes -ENT_GAACATCCAAGTCTGT-1,Monocytes -ENT_GAACATCGTAGGGACT-1,Granulocytes -ENT_GAACATCTCACAACGT-1,Granulocytes -ENT_GAACATCTCGCATGGC-1,Dendritic cells -ENT_GAACCTAAGTCGTTTG-1,Monocytes -ENT_GAACCTAGTATCAGTC-1,Granulocytes -ENT_GAACCTAGTCAATGTC-1,Monocytes -ENT_GAACCTAGTCGCATAT-1,NK cells -ENT_GAACCTAGTGCCTGTG-1,Monocytes -ENT_GAACCTATCCAGAAGG-1,Dendritic cells -ENT_GAACCTATCTGGAGCC-1,Monocytes -ENT_GAACGGAAGCGCTTAT-1,Monocytes -ENT_GAACGGAAGCTGGAAC-1,Monocytes -ENT_GAACGGAGTCGCGTGT-1,Monocytes -ENT_GAACGGATCTACCTGC-1,Monocytes -ENT_GAACGGATCTCTAGGA-1,Monocytes -ENT_GAAGCAGAGCTCCTCT-1,Dendritic cells -ENT_GAAGCAGCACATGACT-1,Monocytes -ENT_GAAGCAGGTATAATGG-1,Monocytes -ENT_GAAGCAGGTTTGTGTG-1,Dendritic cells -ENT_GAATAAGAGGCATGTG-1,Monocytes -ENT_GAATAAGAGTTGCAGG-1,Monocytes -ENT_GAATAAGCAAGCTGAG-1,Granulocytes -ENT_GAATAAGCAAGGTGTG-1,Dendritic cells -ENT_GAATAAGCAATACGCT-1,Monocytes -ENT_GAATAAGTCCACGCAG-1,Monocytes -ENT_GAATGAAAGATGCCTT-1,Granulocytes -ENT_GACACGCGTGCACGAA-1,Monocytes -ENT_GACAGAGAGCACCGTC-1,Monocytes -ENT_GACAGAGAGCACGCCT-1,Monocytes -ENT_GACAGAGCATGCAATC-1,Monocytes -ENT_GACAGAGGTTAGATGA-1,Monocytes -ENT_GACAGAGGTTCTCATT-1,Monocytes -ENT_GACAGAGTCAATACCG-1,Dendritic cells -ENT_GACAGAGTCTCGGACG-1,Dendritic cells -ENT_GACCAATCACTAGTAC-1,Monocytes -ENT_GACCAATGTACCGTAT-1,Macrophages -ENT_GACCAATTCAGGTAAA-1,Dendritic cells -ENT_GACCTGGAGCGGATCA-1,Monocytes -ENT_GACCTGGAGCTGAACG-1,Dendritic cells -ENT_GACCTGGGTAACGACG-1,Monocytes -ENT_GACCTGGGTATAAACG-1,Granulocytes -ENT_GACCTGGGTGACAAAT-1,Monocytes -ENT_GACCTGGGTTCCACGG-1,Dendritic cells -ENT_GACGCGTCAAGCTGAG-1,Monocytes -ENT_GACGCGTGTCGCGGTT-1,Granulocytes -ENT_GACGCGTGTCTCACCT-1,Monocytes -ENT_GACGCGTTCAGTTCGA-1,Dendritic cells -ENT_GACGCGTTCATGCTCC-1,Monocytes -ENT_GACGGCTAGTTTAGGA-1,Monocytes -ENT_GACGGCTCAAGGCTCC-1,Monocytes -ENT_GACGGCTGTAGAAAGG-1,Monocytes -ENT_GACGGCTTCGCAAACT-1,Monocytes -ENT_GACGGCTTCTGCTGCT-1,Monocytes -ENT_GACGTGCAGATGAGAG-1,Monocytes -ENT_GACGTGCAGCGTGTCC-1,Granulocytes -ENT_GACGTGCAGGTGCTAG-1,Monocytes -ENT_GACGTGCCACGTGAGA-1,Monocytes -ENT_GACGTGCTCCAATGGT-1,Monocytes -ENT_GACGTTACAAGCTGAG-1,Dendritic cells -ENT_GACGTTAGTCTCTTTA-1,Monocytes -ENT_GACGTTATCGTAGGAG-1,Monocytes -ENT_GACTAACAGATGAGAG-1,Monocytes -ENT_GACTAACAGGTAAACT-1,Granulocytes -ENT_GACTAACCAAGCCTAT-1,Monocytes -ENT_GACTAACCACAACGTT-1,Granulocytes -ENT_GACTAACCACCAGGCT-1,Monocytes -ENT_GACTAACGTAGCAAAT-1,Monocytes -ENT_GACTAACGTCACAAGG-1,Monocytes -ENT_GACTACAAGAGCCCAA-1,Granulocytes -ENT_GACTACAAGCAAATCA-1,Monocytes -ENT_GACTACAAGCGTTTAC-1,Monocytes -ENT_GACTACACACGAAGCA-1,Monocytes -ENT_GACTACACATTGCGGC-1,Monocytes -ENT_GACTACAGTGACGCCT-1,Macrophages -ENT_GACTACAGTGCGATAG-1,Monocytes -ENT_GACTACAGTTAAGGGC-1,Monocytes -ENT_GACTACATCCCGGATG-1,Monocytes -ENT_GACTGCGAGAAACCAT-1,T cells -ENT_GACTGCGAGGAGCGAG-1,Monocytes -ENT_GACTGCGGTAAGAGGA-1,Granulocytes -ENT_GACTGCGGTATAATGG-1,Monocytes -ENT_GAGCAGACAGCCACCA-1,Monocytes -ENT_GAGCAGAGTAACGCGA-1,Dendritic cells -ENT_GAGCAGAGTCACCTAA-1,Monocytes -ENT_GAGCAGATCAACGCTA-1,Monocytes -ENT_GAGGTGAAGACCGGAT-1,Monocytes -ENT_GAGGTGAAGAGTCGGT-1,Monocytes -ENT_GAGGTGAGTAAGGATT-1,Monocytes -ENT_GAGGTGAGTGAGTATA-1,Monocytes -ENT_GAGGTGAGTGTCCTCT-1,Monocytes -ENT_GAGGTGATCGTTTAGG-1,Monocytes -ENT_GAGTCCGAGCTAACAA-1,Monocytes -ENT_GAGTCCGAGCTAGTCT-1,Granulocytes -ENT_GAGTCCGAGCTCCTTC-1,Monocytes -ENT_GAGTCCGCAGTATCTG-1,Granulocytes -ENT_GAGTCCGCATCCGTGG-1,Dendritic cells -ENT_GAGTCCGGTGCGGTAA-1,Monocytes -ENT_GATCAGTAGATGGCGT-1,Monocytes -ENT_GATCAGTAGGATCGCA-1,Dendritic cells -ENT_GATCGATAGGCTATCT-1,Monocytes -ENT_GATCGCGAGGAATTAC-1,Monocytes -ENT_GATCGCGAGTCGTACT-1,Monocytes -ENT_GATCGCGCAGCCTGTG-1,Monocytes -ENT_GATCGCGCAGTCTTCC-1,Monocytes -ENT_GATCGCGGTGTTGGGA-1,Granulocytes -ENT_GATCGCGGTTTACTCT-1,Monocytes -ENT_GATCGCGGTTTGCATG-1,Monocytes -ENT_GATCGTAAGGCCCTCA-1,Dendritic cells -ENT_GATCGTACACTATCTT-1,Granulocytes -ENT_GATCGTATCGTTTGCC-1,Monocytes -ENT_GATCTAGAGGAATCGC-1,Monocytes -ENT_GATCTAGAGTTACCCA-1,Monocytes -ENT_GATCTAGCACGACTCG-1,Monocytes -ENT_GATCTAGCAGGACCCT-1,Granulocytes -ENT_GATCTAGCATCCCATC-1,Monocytes -ENT_GATCTAGTCTCCAACC-1,Monocytes -ENT_GATGAAAAGCTGGAAC-1,Dendritic cells -ENT_GATGAAAAGTGTGAAT-1,T cells -ENT_GATGAAACACCCATGG-1,Monocytes -ENT_GATGAAAGTGGTTTCA-1,Monocytes -ENT_GATGAAATCAGTTGAC-1,Dendritic cells -ENT_GATGAGGAGAAACCTA-1,Monocytes -ENT_GATGAGGCAATCCGAT-1,Monocytes -ENT_GATGAGGTCATGTCCC-1,Granulocytes -ENT_GATGAGGTCCTTGCCA-1,Granulocytes -ENT_GATGAGGTCCTTGGTC-1,Monocytes -ENT_GATGAGGTCGCGTTTC-1,Monocytes -ENT_GATGCTAAGATACACA-1,Monocytes -ENT_GATGCTAAGTACTTGC-1,Granulocytes -ENT_GATGCTACATCTCGCT-1,Dendritic cells -ENT_GATGCTAGTGTCTGAT-1,Dendritic cells -ENT_GATGCTAGTTAAGGGC-1,Monocytes -ENT_GATGCTATCAGCTGGC-1,Monocytes -ENT_GATGCTATCGACGGAA-1,Monocytes -ENT_GATTCAGCACTAGTAC-1,Granulocytes -ENT_GATTCAGGTCAAAGAT-1,Granulocytes -ENT_GCAAACTAGATGCCTT-1,Granulocytes -ENT_GCAAACTAGTTACGGG-1,Monocytes -ENT_GCAAACTCACGAGAGT-1,Monocytes -ENT_GCAAACTGTATTCGTG-1,Monocytes -ENT_GCAATCACAAGGTGTG-1,Monocytes -ENT_GCAATCATCCTTTCGG-1,Monocytes -ENT_GCACATAAGACAGAGA-1,Monocytes -ENT_GCACATAAGAGGGATA-1,Monocytes -ENT_GCACATAAGTACATGA-1,Granulocytes -ENT_GCACATAGTAAATGAC-1,Monocytes -ENT_GCACATATCACGACTA-1,Monocytes -ENT_GCACTCTAGCTGAACG-1,Monocytes -ENT_GCACTCTCAACACCTA-1,Granulocytes -ENT_GCACTCTGTAAGGATT-1,Granulocytes -ENT_GCACTCTGTCCAACTA-1,Monocytes -ENT_GCACTCTGTGCCTTGG-1,Dendritic cells -ENT_GCACTCTTCACTTCAT-1,Granulocytes -ENT_GCACTCTTCATGTCTT-1,Dendritic cells -ENT_GCAGCCACAAAGGAAG-1,T cells -ENT_GCAGCCACAGGGATTG-1,Monocytes -ENT_GCAGCCACAGTTCATG-1,T cells -ENT_GCAGCCAGTGCACGAA-1,Dendritic cells -ENT_GCAGCCATCGAGAGCA-1,Monocytes -ENT_GCAGCCATCGTCCAGG-1,Monocytes -ENT_GCAGTTACAATTCCTT-1,Monocytes -ENT_GCAGTTAGTTGTGGAG-1,Monocytes -ENT_GCAGTTATCCGCATCT-1,Monocytes -ENT_GCATACAAGCCTCGTG-1,Monocytes -ENT_GCATACAAGCTAGGCA-1,Monocytes -ENT_GCATACAAGTGGTAGC-1,Monocytes -ENT_GCATACAAGTGGTCCC-1,Monocytes -ENT_GCATACACAAACGCGA-1,Monocytes -ENT_GCATACAGTGTCGCTG-1,Monocytes -ENT_GCATACAGTTACCGAT-1,Dendritic cells -ENT_GCATACATCGTAGATC-1,Monocytes -ENT_GCATGATAGTTCGCGC-1,Granulocytes -ENT_GCATGATCATGCCTAA-1,Monocytes -ENT_GCATGATTCTTTAGGG-1,Granulocytes -ENT_GCATGTAAGTTAACGA-1,Monocytes -ENT_GCATGTAGTACGACCC-1,Dendritic cells -ENT_GCATGTAGTGGTCCGT-1,Monocytes -ENT_GCCAAATAGACTAGAT-1,Granulocytes -ENT_GCCAAATAGTACATGA-1,Macrophages -ENT_GCCAAATCACCGAATT-1,Macrophages -ENT_GCCAAATCATGCAATC-1,Monocytes -ENT_GCCAAATTCACCTTAT-1,Granulocytes -ENT_GCCAAATTCACTGGGC-1,Macrophages -ENT_GCCAAATTCCGAATGT-1,Monocytes -ENT_GCCAAATTCGAACTGT-1,Dendritic cells -ENT_GCCTCTAAGGTAAACT-1,Monocytes -ENT_GCCTCTACATGGGACA-1,Monocytes -ENT_GCCTCTATCGGAATCT-1,Monocytes -ENT_GCGACCAAGTACGCGA-1,Monocytes -ENT_GCGACCACAATCTGCA-1,Monocytes -ENT_GCGACCAGTATTCTCT-1,Monocytes -ENT_GCGACCAGTTCCAACA-1,Monocytes -ENT_GCGACCATCGGTTAAC-1,Granulocytes -ENT_GCGAGAAAGAATTGTG-1,Monocytes -ENT_GCGAGAAAGAGGTACC-1,Monocytes -ENT_GCGAGAAAGCAGGTCA-1,Monocytes -ENT_GCGAGAAAGCGTAATA-1,Monocytes -ENT_GCGAGAAGTACGAAAT-1,Granulocytes -ENT_GCGAGAATCGTTACGA-1,Monocytes -ENT_GCGAGAATCTTCGGTC-1,Monocytes -ENT_GCGCAACAGATGCCAG-1,Monocytes -ENT_GCGCAACAGCCATCGC-1,Monocytes -ENT_GCGCAACAGCGACGTA-1,Monocytes -ENT_GCGCAACAGCGTTCCG-1,Monocytes -ENT_GCGCAACAGTCCGTAT-1,Monocytes -ENT_GCGCAACAGTGTACGG-1,Monocytes -ENT_GCGCAACGTAATAGCA-1,Granulocytes -ENT_GCGCAGTGTATTCGTG-1,Monocytes -ENT_GCGCAGTGTTGGAGGT-1,Monocytes -ENT_GCGCCAACACTTAACG-1,Monocytes -ENT_GCGCCAACAGACAGGT-1,Monocytes -ENT_GCGCCAATCATGTCTT-1,Monocytes -ENT_GCGCCAATCTGCCCTA-1,Monocytes -ENT_GCGCCAATCTGTCCGT-1,Monocytes -ENT_GCGCCAATCTTACCGC-1,Monocytes -ENT_GCGCCAATCTTGCAAG-1,Monocytes -ENT_GCGCGATAGACTAAGT-1,Monocytes -ENT_GCGCGATGTAACGTTC-1,Monocytes -ENT_GCGCGATGTCTAGCGC-1,Monocytes -ENT_GCGGGTTAGCACAGGT-1,Dendritic cells -ENT_GCGGGTTAGGTGTGGT-1,T cells -ENT_GCGGGTTAGTGCAAGC-1,Monocytes -ENT_GCGGGTTAGTGGGCTA-1,Monocytes -ENT_GCGGGTTGTAAAGGAG-1,Dendritic cells -ENT_GCGGGTTGTTACGACT-1,Granulocytes -ENT_GCGGGTTTCACGCGGT-1,Monocytes -ENT_GCGGGTTTCGTGGGAA-1,Granulocytes -ENT_GCTCCTACAATGGAAT-1,Dendritic cells -ENT_GCTCCTAGTAGCTAAA-1,Monocytes -ENT_GCTCCTATCCGCGTTT-1,Monocytes -ENT_GCTCTGTCAGACAAGC-1,Granulocytes -ENT_GCTCTGTGTAGCTAAA-1,Macrophages -ENT_GCTCTGTGTTTGACAC-1,Monocytes -ENT_GCTCTGTTCGTACGGC-1,Granulocytes -ENT_GCTCTGTTCTGCGTAA-1,Monocytes -ENT_GCTGCAGAGATGAGAG-1,Monocytes -ENT_GCTGCAGAGCCAGTAG-1,Monocytes -ENT_GCTGCAGCAAGCCGTC-1,Monocytes -ENT_GCTGCAGTCAACCATG-1,Granulocytes -ENT_GCTGCAGTCCAAAGTC-1,Granulocytes -ENT_GCTGCAGTCGGTTCGG-1,Monocytes -ENT_GCTGCGAAGCCCGAAA-1,Dendritic cells -ENT_GCTGCGAAGTAGATGT-1,Monocytes -ENT_GCTGCGACATACAGCT-1,Monocytes -ENT_GCTGCGACATTAACCG-1,Monocytes -ENT_GCTGCGATCTCAAACG-1,Monocytes -ENT_GCTGCTTGTTACCGAT-1,Dendritic cells -ENT_GCTGCTTGTTCCACGG-1,Granulocytes -ENT_GCTGGGTAGCCGATTT-1,Monocytes -ENT_GCTGGGTTCCGAAGAG-1,Monocytes -ENT_GCTGGGTTCTCCAACC-1,Monocytes -ENT_GCTTCCACAAAGTGCG-1,Dendritic cells -ENT_GCTTCCATCAGCACAT-1,Granulocytes -ENT_GCTTCCATCTGACCTC-1,Monocytes -ENT_GCTTCCATCTTTACAC-1,T cells -ENT_GCTTGAAAGACTGTAA-1,Dendritic cells -ENT_GCTTGAAGTGAGCGAT-1,Macrophages -ENT_GCTTGAAGTTAGATGA-1,Monocytes -ENT_GCTTGAATCAGTGTTG-1,Granulocytes -ENT_GCTTGAATCTGGTTCC-1,Monocytes -ENT_GGAAAGCCAATAGCAA-1,Granulocytes -ENT_GGAAAGCCAGGACCCT-1,Monocytes -ENT_GGAAAGCCATCCTAGA-1,Monocytes -ENT_GGAAAGCGTCTTCGTC-1,Monocytes -ENT_GGAAAGCGTTTCGCTC-1,Monocytes -ENT_GGAACTTCAAACGTGG-1,Monocytes -ENT_GGAACTTCATGCGCAC-1,Dendritic cells -ENT_GGAACTTTCCACGTTC-1,Monocytes -ENT_GGAATAAAGACGCAAC-1,Monocytes -ENT_GGAATAACAAGAGTCG-1,Granulocytes -ENT_GGAATAACAAGCGTAG-1,Macrophages -ENT_GGAATAACAAGTACCT-1,Monocytes -ENT_GGAATAAGTCATCCCT-1,Dendritic cells -ENT_GGAATAAGTCGACTGC-1,Monocytes -ENT_GGACAAGAGGACAGCT-1,Monocytes -ENT_GGACAAGAGGTGCACA-1,Monocytes -ENT_GGACAAGAGTCCGGTC-1,Granulocytes -ENT_GGACAAGCACGTCAGC-1,Monocytes -ENT_GGACAAGCATCAGTCA-1,Monocytes -ENT_GGACAAGGTCGAACAG-1,Monocytes -ENT_GGACAAGGTCTCAACA-1,Monocytes -ENT_GGACAAGGTGATAAGT-1,Monocytes -ENT_GGACAAGGTGTTCGAT-1,Monocytes -ENT_GGACAAGTCGTTTGCC-1,Monocytes -ENT_GGACAGAAGCTTTGGT-1,T cells -ENT_GGACAGAAGTCAATAG-1,Monocytes -ENT_GGACAGACAACCGCCA-1,Dendritic cells -ENT_GGACAGACAGCTGGCT-1,Monocytes -ENT_GGACATTAGCACGCCT-1,Monocytes -ENT_GGACATTGTGCAGACA-1,Monocytes -ENT_GGACATTTCAGGATCT-1,Monocytes -ENT_GGACGTCCAAGCCCAC-1,Monocytes -ENT_GGACGTCCATGTCGAT-1,Granulocytes -ENT_GGACGTCTCTGGTATG-1,Monocytes -ENT_GGAGCAACAGTATGCT-1,Granulocytes -ENT_GGAGCAACATTAACCG-1,Monocytes -ENT_GGATGTTGTCTTCAAG-1,Monocytes -ENT_GGATGTTGTGTAAGTA-1,Monocytes -ENT_GGATTACAGGCATTGG-1,Monocytes -ENT_GGATTACGTGGTCCGT-1,Monocytes -ENT_GGATTACGTGTGACCC-1,Granulocytes -ENT_GGATTACGTTCGGGCT-1,Monocytes -ENT_GGATTACTCAAAGACA-1,Granulocytes -ENT_GGATTACTCCGGGTGT-1,Monocytes -ENT_GGCAATTCACCACGTG-1,Granulocytes -ENT_GGCAATTGTCCCGACA-1,Monocytes -ENT_GGCAATTGTCTCGTTC-1,Monocytes -ENT_GGCAATTGTGTCTGAT-1,T cells -ENT_GGCAATTTCCTCAACC-1,Granulocytes -ENT_GGCCGATAGAAACGAG-1,Granulocytes -ENT_GGCCGATGTCTAGTCA-1,Monocytes -ENT_GGCCGATGTGTGACGA-1,Monocytes -ENT_GGCCGATGTTGGTGGA-1,Monocytes -ENT_GGCGACTAGCTGTCTA-1,Dendritic cells -ENT_GGCGTGTAGTGAATTG-1,Monocytes -ENT_GGCGTGTCATGTCCTC-1,Macrophages -ENT_GGCGTGTGTTTGCATG-1,Monocytes -ENT_GGCTCGAAGTTGTCGT-1,Monocytes -ENT_GGCTCGACACGCATCG-1,Monocytes -ENT_GGCTCGACATTTCAGG-1,Monocytes -ENT_GGCTCGAGTCTCCACT-1,Monocytes -ENT_GGCTCGATCCCAAGTA-1,Monocytes -ENT_GGCTGGTAGTTGAGTA-1,Monocytes -ENT_GGCTGGTCACGGCTAC-1,Monocytes -ENT_GGCTGGTCATAACCTG-1,Dendritic cells -ENT_GGCTGGTGTAGCGCTC-1,Monocytes -ENT_GGCTGGTGTATTACCG-1,Dendritic cells -ENT_GGCTGGTTCGGCTACG-1,Monocytes -ENT_GGCTGGTTCTGCAAGT-1,Monocytes -ENT_GGGAATGAGCCAGGAT-1,Monocytes -ENT_GGGAATGAGGACACCA-1,Dendritic cells -ENT_GGGAATGAGTGGGCTA-1,Granulocytes -ENT_GGGAATGAGTGTTGAA-1,Monocytes -ENT_GGGAATGCAGGAACGT-1,Monocytes -ENT_GGGAATGGTCGAAAGC-1,Monocytes -ENT_GGGAATGGTCTTTCAT-1,Monocytes -ENT_GGGAATGTCGCTAGCG-1,Monocytes -ENT_GGGACCTAGGCGACAT-1,Dendritic cells -ENT_GGGACCTCATGGTCTA-1,Monocytes -ENT_GGGACCTTCGTTACAG-1,Granulocytes -ENT_GGGACCTTCGTTGCCT-1,Monocytes -ENT_GGGAGATAGAGCAATT-1,Monocytes -ENT_GGGAGATGTGGTCTCG-1,Monocytes -ENT_GGGAGATTCAGCCTAA-1,Granulocytes -ENT_GGGATGAAGCCTTGAT-1,Monocytes -ENT_GGGATGACATGCCTTC-1,Monocytes -ENT_GGGATGACATGGTTGT-1,Granulocytes -ENT_GGGATGACATTACCTT-1,Monocytes -ENT_GGGATGAGTAGCGTGA-1,Monocytes -ENT_GGGATGAGTGCCTGCA-1,Dendritic cells -ENT_GGGATGAGTGCGAAAC-1,Monocytes -ENT_GGGATGATCACAGGCC-1,Dendritic cells -ENT_GGGATGATCTCATTCA-1,Monocytes -ENT_GGGCACTGTAAATGAC-1,Monocytes -ENT_GGGCACTGTGCGGTAA-1,Dendritic cells -ENT_GGGCACTTCGTCACGG-1,Macrophages -ENT_GGGCACTTCTTGAGGT-1,Monocytes -ENT_GGGCATCAGTACTTGC-1,Monocytes -ENT_GGGCATCAGTCCGTAT-1,Monocytes -ENT_GGGCATCAGTGTCCAT-1,Monocytes -ENT_GGGCATCTCCACTCCA-1,Monocytes -ENT_GGGTCTGAGGCATGGT-1,Monocytes -ENT_GGGTCTGAGGGTGTGT-1,Monocytes -ENT_GGGTCTGTCATACGGT-1,Monocytes -ENT_GGGTTGCAGCTGTTCA-1,Granulocytes -ENT_GGGTTGCCAGTGGGAT-1,Monocytes -ENT_GGGTTGCCATATGAGA-1,Dendritic cells -ENT_GGGTTGCGTACACCGC-1,Monocytes -ENT_GGGTTGCGTGAAAGAG-1,Granulocytes -ENT_GGGTTGCGTGTCGCTG-1,Granulocytes -ENT_GGGTTGCTCAGAGACG-1,Monocytes -ENT_GGGTTGCTCGTGGGAA-1,Macrophages -ENT_GGTATTGCAAGGTGTG-1,Monocytes -ENT_GGTATTGGTCGCGGTT-1,Dendritic cells -ENT_GGTATTGGTGACCAAG-1,Monocytes -ENT_GGTGAAGAGAGTACCG-1,Monocytes -ENT_GGTGAAGAGGACAGCT-1,Monocytes -ENT_GGTGAAGAGTTGAGAT-1,Dendritic cells -ENT_GGTGAAGCAGTGACAG-1,Granulocytes -ENT_GGTGAAGCATGCCACG-1,Monocytes -ENT_GGTGAAGCATGGAATA-1,Monocytes -ENT_GGTGAAGGTAATCACC-1,Monocytes -ENT_GGTGAAGGTCACAAGG-1,Monocytes -ENT_GGTGAAGTCAACGGGA-1,Monocytes -ENT_GGTGCGTAGATCCCAT-1,Monocytes -ENT_GGTGCGTGTGCACGAA-1,T cells -ENT_GGTGCGTTCGGCGCAT-1,Monocytes -ENT_GGTGTTAAGACCACGA-1,T cells -ENT_GGTGTTAAGCTGCCCA-1,Monocytes -ENT_GGTGTTAAGTACGTTC-1,Monocytes -ENT_GGTGTTACACAGACAG-1,Granulocytes -ENT_GGTGTTACACGTAAGG-1,Monocytes -ENT_GGTGTTACAGCGTAAG-1,Monocytes -ENT_GGTGTTAGTAAGCACG-1,Monocytes -ENT_GGTGTTATCACCGGGT-1,Monocytes -ENT_GTAACGTAGAGGGATA-1,Monocytes -ENT_GTAACGTGTAAGCACG-1,Monocytes -ENT_GTAACGTGTCTGGTCG-1,Monocytes -ENT_GTAACGTTCAATCACG-1,Granulocytes -ENT_GTAACGTTCATCGCTC-1,Granulocytes -ENT_GTAACGTTCGCATGGC-1,Monocytes -ENT_GTAACTGAGTAGGTGC-1,Monocytes -ENT_GTAACTGGTGATAAGT-1,Granulocytes -ENT_GTAACTGGTTCGGCAC-1,Monocytes -ENT_GTAACTGTCTCCAACC-1,Dendritic cells -ENT_GTACGTACATCCCATC-1,Granulocytes -ENT_GTACGTAGTCTGCGGT-1,Monocytes -ENT_GTACGTAGTTAAAGAC-1,Granulocytes -ENT_GTACGTATCCTTTCTC-1,Monocytes -ENT_GTACTCCAGAGCCCAA-1,Dendritic cells -ENT_GTACTCCAGGATGCGT-1,Monocytes -ENT_GTACTCCAGGGTGTTG-1,Dendritic cells -ENT_GTACTCCCAGGGATTG-1,Monocytes -ENT_GTACTCCCATCCAACA-1,Monocytes -ENT_GTACTCCGTGTCGCTG-1,Monocytes -ENT_GTACTCCGTTATTCTC-1,T cells -ENT_GTACTCCGTTCAGTAC-1,Monocytes -ENT_GTACTCCGTTTGTTGG-1,Monocytes -ENT_GTACTCCTCTTAGAGC-1,Monocytes -ENT_GTACTTTAGTGTGGCA-1,Monocytes -ENT_GTACTTTCACCCATGG-1,Monocytes -ENT_GTACTTTCACGTCAGC-1,T cells -ENT_GTACTTTCAGCTATTG-1,Monocytes -ENT_GTACTTTGTCAGAAGC-1,Granulocytes -ENT_GTACTTTGTCATGCCG-1,Granulocytes -ENT_GTACTTTGTCCGTCAG-1,Granulocytes -ENT_GTACTTTTCTTTCCTC-1,T cells -ENT_GTAGGCCAGTCAAGGC-1,Monocytes -ENT_GTAGGCCAGTTAACGA-1,Monocytes -ENT_GTAGGCCGTTTACTCT-1,Monocytes -ENT_GTAGGCCTCATCATTC-1,Granulocytes -ENT_GTAGGCCTCATGTCCC-1,Granulocytes -ENT_GTAGGCCTCTTATCTG-1,Monocytes -ENT_GTAGTCAAGACTTGAA-1,Dendritic cells -ENT_GTAGTCACAAGGACTG-1,Dendritic cells -ENT_GTAGTCACATGGGACA-1,Monocytes -ENT_GTAGTCAGTAAATGAC-1,Dendritic cells -ENT_GTAGTCAGTATGCTTG-1,Monocytes -ENT_GTAGTCATCCCATTAT-1,Monocytes -ENT_GTATCTTAGAGAGCTC-1,Granulocytes -ENT_GTATCTTAGCGTAATA-1,Monocytes -ENT_GTATCTTAGTGGTAAT-1,Granulocytes -ENT_GTATCTTCAGTTAACC-1,Monocytes -ENT_GTATCTTGTACAAGTA-1,T cells -ENT_GTATCTTGTAGCCTCG-1,Monocytes -ENT_GTATTCTCACCAGATT-1,Monocytes -ENT_GTATTCTCAGACAGGT-1,Macrophages -ENT_GTATTCTGTCGTTGTA-1,Monocytes -ENT_GTATTCTGTCTTCGTC-1,Monocytes -ENT_GTATTCTGTGTTTGGT-1,Monocytes -ENT_GTATTCTTCACATGCA-1,Monocytes -ENT_GTATTCTTCATCATTC-1,Monocytes -ENT_GTCAAGTAGCTTTGGT-1,Monocytes -ENT_GTCAAGTAGGCGTACA-1,Monocytes -ENT_GTCAAGTCATACTCTT-1,Macrophages -ENT_GTCAAGTTCAACGAAA-1,Granulocytes -ENT_GTCAAGTTCACTTATC-1,Macrophages -ENT_GTCACAAAGGCGTACA-1,Monocytes -ENT_GTCACAACACAACGCC-1,Monocytes -ENT_GTCACAACATGAAGTA-1,Monocytes -ENT_GTCACAAGTACCGTTA-1,T cells -ENT_GTCACAAGTCCGAACC-1,Granulocytes -ENT_GTCACAAGTTGTCTTT-1,Granulocytes -ENT_GTCACAATCAATCTCT-1,Monocytes -ENT_GTCACAATCACCCGAG-1,Granulocytes -ENT_GTCACAATCCTAGAAC-1,Dendritic cells -ENT_GTCACAATCGCTTAGA-1,Monocytes -ENT_GTCACAATCTGCAGTA-1,Monocytes -ENT_GTCACGGAGGACAGAA-1,Macrophages -ENT_GTCACGGTCAGTTGAC-1,Monocytes -ENT_GTCACGGTCTGCCAGG-1,Monocytes -ENT_GTCATTTAGACTCGGA-1,Monocytes -ENT_GTCATTTAGACTTTCG-1,Monocytes -ENT_GTCATTTCACTTCGAA-1,Monocytes -ENT_GTCATTTGTGTTCTTT-1,Monocytes -ENT_GTCATTTGTTGGTGGA-1,Monocytes -ENT_GTCATTTTCTTTACAC-1,Monocytes -ENT_GTCCTCAAGTGTTAGA-1,Monocytes -ENT_GTCCTCAGTACTTCTT-1,Granulocytes -ENT_GTCCTCAGTACTTGAC-1,Granulocytes -ENT_GTCCTCAGTTAAGTAG-1,Monocytes -ENT_GTCCTCATCATTGCGA-1,Monocytes -ENT_GTCGGGTTCCAAACAC-1,Monocytes -ENT_GTCGGGTTCCTTTACA-1,Monocytes -ENT_GTCGTAAAGGCTCTTA-1,Monocytes -ENT_GTCGTAAGTGCTGTAT-1,Macrophages -ENT_GTCTCGTCAAGTCTAC-1,Granulocytes -ENT_GTCTCGTCACGGTTTA-1,Macrophages -ENT_GTCTCGTCATCCAACA-1,Macrophages -ENT_GTCTCGTGTGCGGTAA-1,Monocytes -ENT_GTCTCGTTCAACCATG-1,Monocytes -ENT_GTCTCGTTCCGTAGGC-1,Monocytes -ENT_GTCTTCGAGATAGCAT-1,Granulocytes -ENT_GTCTTCGCAATTGCTG-1,Granulocytes -ENT_GTCTTCGCACATCTTT-1,Monocytes -ENT_GTCTTCGCAGCTGCAC-1,Monocytes -ENT_GTCTTCGGTTATCCGA-1,Monocytes -ENT_GTCTTCGTCAGAGCTT-1,Dendritic cells -ENT_GTGAAGGAGAAGAAGC-1,Monocytes -ENT_GTGAAGGAGCGAAGGG-1,Monocytes -ENT_GTGAAGGAGGATCGCA-1,Dendritic cells -ENT_GTGAAGGCAATCAGAA-1,Granulocytes -ENT_GTGAAGGGTGAGTGAC-1,Monocytes -ENT_GTGAAGGTCAAACCAC-1,Monocytes -ENT_GTGCAGCCACATGGGA-1,Dendritic cells -ENT_GTGCAGCCATTACCTT-1,Monocytes -ENT_GTGCAGCGTCAGTGGA-1,Monocytes -ENT_GTGCAGCGTCCAGTGC-1,Monocytes -ENT_GTGCAGCGTGTCGCTG-1,Granulocytes -ENT_GTGCAGCGTGTGACGA-1,Monocytes -ENT_GTGCAGCGTTTGACTG-1,Granulocytes -ENT_GTGCATAAGCCCAATT-1,Monocytes -ENT_GTGCATACATCAGTAC-1,Monocytes -ENT_GTGCATATCCAGGGCT-1,Monocytes -ENT_GTGCATATCGCCTGAG-1,Monocytes -ENT_GTGCGGTGTTTGTGTG-1,Monocytes -ENT_GTGCGGTTCCAGTAGT-1,Monocytes -ENT_GTGCGGTTCCGCTGTT-1,Monocytes -ENT_GTGCGGTTCTCGCTTG-1,Monocytes -ENT_GTGCTTCAGAGCCTAG-1,Macrophages -ENT_GTGCTTCAGTCAAGCG-1,Monocytes -ENT_GTGCTTCTCCCAGGTG-1,Monocytes -ENT_GTGGGTCAGAAGAAGC-1,Monocytes -ENT_GTGGGTCAGCTAGTGG-1,Monocytes -ENT_GTGGGTCAGTCGAGTG-1,Monocytes -ENT_GTGGGTCGTCAGAATA-1,Dendritic cells -ENT_GTGGGTCTCTTGTACT-1,Monocytes -ENT_GTGTGCGAGCTAGCCC-1,Dendritic cells -ENT_GTGTGCGAGGAGTAGA-1,Monocytes -ENT_GTGTTAGAGATATGGT-1,Granulocytes -ENT_GTGTTAGGTAAGAGAG-1,NK cells -ENT_GTGTTAGGTCACTTCC-1,Monocytes -ENT_GTGTTAGGTTACGGAG-1,Monocytes -ENT_GTGTTAGTCAAGAAGT-1,Granulocytes -ENT_GTGTTAGTCGCCTGTT-1,Monocytes -ENT_GTGTTAGTCGTGGACC-1,Monocytes -ENT_GTGTTAGTCGTTTATC-1,Monocytes -ENT_GTTAAGCAGTAGCCGA-1,Monocytes -ENT_GTTAAGCCATATACCG-1,Dendritic cells -ENT_GTTAAGCGTCGCTTCT-1,Monocytes -ENT_GTTAAGCTCGGCGCTA-1,Monocytes -ENT_GTTAAGCTCTAACCGA-1,Monocytes -ENT_GTTACAGCACGGCCAT-1,Monocytes -ENT_GTTACAGGTAAACCTC-1,Monocytes -ENT_GTTACAGGTCAAGCGA-1,Granulocytes -ENT_GTTACAGGTTTGGCGC-1,Granulocytes -ENT_GTTCATTCAAGTAGTA-1,Monocytes -ENT_GTTCATTCAGTAACGG-1,Monocytes -ENT_GTTCATTGTACTCTCC-1,Dendritic cells -ENT_GTTCATTGTTGTCGCG-1,Dendritic cells -ENT_GTTCATTTCTGGAGCC-1,Monocytes -ENT_GTTCGGGAGACCTAGG-1,Monocytes -ENT_GTTCGGGAGGAATTAC-1,Monocytes -ENT_GTTCGGGAGGCTCATT-1,Monocytes -ENT_GTTCGGGAGTAACCCT-1,T cells -ENT_GTTCGGGAGTGAAGTT-1,Monocytes -ENT_GTTCGGGTCTCCTATA-1,Monocytes -ENT_GTTCTCGAGGGCACTA-1,Monocytes -ENT_GTTCTCGAGTCTCAAC-1,T cells -ENT_GTTCTCGAGTGGAGTC-1,Monocytes -ENT_GTTCTCGCAGGCAGTA-1,Monocytes -ENT_GTTCTCGCAGTCACTA-1,Monocytes -ENT_GTTCTCGCATGACGGA-1,Monocytes -ENT_GTTTCTACATAGTAAG-1,Granulocytes -ENT_GTTTCTACATGCCCGA-1,T cells -ENT_GTTTCTACATTGGTAC-1,Granulocytes -ENT_GTTTCTATCCTTAATC-1,Monocytes -ENT_TAAACCGAGATGTGTA-1,Monocytes -ENT_TAAACCGAGCTGTTCA-1,Monocytes -ENT_TAAACCGCACCAGTTA-1,Monocytes -ENT_TAAGAGACAATGCCAT-1,Monocytes -ENT_TAAGAGACACGGTAAG-1,Granulocytes -ENT_TAAGAGAGTATCAGTC-1,Granulocytes -ENT_TAAGAGAGTATGGTTC-1,Monocytes -ENT_TAAGAGAGTCTAAAGA-1,Granulocytes -ENT_TAAGAGAGTGCAGGTA-1,Monocytes -ENT_TAAGAGATCAACACGT-1,Monocytes -ENT_TAAGAGATCCGTTGTC-1,Monocytes -ENT_TAAGCGTCAAGCGCTC-1,Monocytes -ENT_TAAGCGTCAATGGATA-1,Granulocytes -ENT_TAAGCGTTCCATGAGT-1,Monocytes -ENT_TAAGCGTTCTTAACCT-1,Granulocytes -ENT_TAAGTGCCAATCTACG-1,Dendritic cells -ENT_TAAGTGCTCCTTGCCA-1,T cells -ENT_TACACGAAGCTGAAAT-1,Monocytes -ENT_TACACGAAGCTGTCTA-1,Monocytes -ENT_TACACGAAGGCATTGG-1,Monocytes -ENT_TACACGACATCACCCT-1,Monocytes -ENT_TACACGAGTCGCGAAA-1,Monocytes -ENT_TACAGTGCACGCGAAA-1,Monocytes -ENT_TACAGTGCATCGGACC-1,Monocytes -ENT_TACAGTGGTCTAACGT-1,Monocytes -ENT_TACAGTGTCAAAGTAG-1,Monocytes -ENT_TACCTATAGATGGCGT-1,Monocytes -ENT_TACCTATCAATGACCT-1,Monocytes -ENT_TACCTATCAGAGCCAA-1,Monocytes -ENT_TACCTATCAGGAATGC-1,Granulocytes -ENT_TACCTATGTCCAGTTA-1,Monocytes -ENT_TACCTTAAGCCAACAG-1,Monocytes -ENT_TACCTTAAGGCTCAGA-1,Monocytes -ENT_TACCTTAAGGTAGCTG-1,Monocytes -ENT_TACCTTAAGTGTTAGA-1,Monocytes -ENT_TACCTTACAATCTACG-1,Dendritic cells -ENT_TACCTTACACCCAGTG-1,B cells -ENT_TACCTTAGTGTCAATC-1,Monocytes -ENT_TACCTTATCGTGACAT-1,Monocytes -ENT_TACGGATAGATGTGTA-1,Monocytes -ENT_TACGGATAGTGACTCT-1,Monocytes -ENT_TACGGATCAGACGCTC-1,Monocytes -ENT_TACGGGCAGTGTCTCA-1,Monocytes -ENT_TACGGGCCATACCATG-1,Dendritic cells -ENT_TACGGGCCATGGATGG-1,Monocytes -ENT_TACGGGCGTAAGTTCC-1,Dendritic cells -ENT_TACGGGCGTCATATGC-1,Monocytes -ENT_TACGGTAAGTGTTTGC-1,Monocytes -ENT_TACGGTATCCGGCACA-1,Monocytes -ENT_TACGGTATCCTGTAGA-1,Dendritic cells -ENT_TACTCATAGCAATATG-1,Granulocytes -ENT_TACTCATTCGAGGTAG-1,Monocytes -ENT_TACTCGCCATTTGCTT-1,Monocytes -ENT_TACTCGCTCCAGATCA-1,Granulocytes -ENT_TACTCGCTCTACTTAC-1,Monocytes -ENT_TACTTACAGCCCTAAT-1,Monocytes -ENT_TACTTACCATATACCG-1,Monocytes -ENT_TACTTACGTAGCGTAG-1,Monocytes -ENT_TACTTGTAGGTGATAT-1,Granulocytes -ENT_TACTTGTGTACAGCAG-1,Monocytes -ENT_TACTTGTGTCCCGACA-1,Dendritic cells -ENT_TACTTGTGTCCGTGAC-1,Monocytes -ENT_TACTTGTGTTGCCTCT-1,Dendritic cells -ENT_TACTTGTTCACCGGGT-1,Monocytes -ENT_TACTTGTTCCCATTTA-1,Monocytes -ENT_TACTTGTTCCGTACAA-1,Dendritic cells -ENT_TACTTGTTCGCATGGC-1,Monocytes -ENT_TACTTGTTCGGCTTGG-1,Dendritic cells -ENT_TAGACCAGTAACGTTC-1,Monocytes -ENT_TAGACCATCTTTCCTC-1,Monocytes -ENT_TAGAGCTAGACATAAC-1,Monocytes -ENT_TAGAGCTCACAGAGGT-1,Macrophages -ENT_TAGAGCTGTATAGGGC-1,Dendritic cells -ENT_TAGAGCTGTTACGTCA-1,Monocytes -ENT_TAGAGCTTCGTCTGAA-1,Monocytes -ENT_TAGCCGGAGGATGGTC-1,Macrophages -ENT_TAGCCGGAGTAGCGGT-1,T cells -ENT_TAGCCGGCAATCGGTT-1,Monocytes -ENT_TAGCCGGGTAAGAGGA-1,Dendritic cells -ENT_TAGCCGGGTCGAATCT-1,Monocytes -ENT_TAGGCATGTAAATGTG-1,Dendritic cells -ENT_TAGGCATGTACCGGCT-1,Granulocytes -ENT_TAGGCATGTCTGCGGT-1,Granulocytes -ENT_TAGTGGTAGCTCCCAG-1,Granulocytes -ENT_TAGTGGTGTCCGACGT-1,Monocytes -ENT_TAGTGGTTCTGTTTGT-1,Monocytes -ENT_TAGTTGGAGTTACGGG-1,Monocytes -ENT_TAGTTGGGTAACGCGA-1,Monocytes -ENT_TAGTTGGGTATTCTCT-1,Dendritic cells -ENT_TATCAGGCAGATGAGC-1,Monocytes -ENT_TATCAGGGTAGAGTGC-1,Monocytes -ENT_TATCAGGGTCAGTGGA-1,Monocytes -ENT_TATCAGGGTCGCATAT-1,Monocytes -ENT_TATCAGGGTGATGCCC-1,Monocytes -ENT_TATCAGGTCCGAAGAG-1,Monocytes -ENT_TATCTCAAGCCCGAAA-1,Granulocytes -ENT_TATCTCACATGCTGGC-1,T cells -ENT_TATCTCAGTCCAGTTA-1,Monocytes -ENT_TATCTCAGTTTACTCT-1,Monocytes -ENT_TATCTCATCGGTCCGA-1,Granulocytes -ENT_TATGCCCAGGAACTGC-1,Monocytes -ENT_TATGCCCAGGAGTTTA-1,Monocytes -ENT_TATGCCCCACGTCTCT-1,Monocytes -ENT_TATTACCAGGCTACGA-1,Dendritic cells -ENT_TATTACCGTGCTCTTC-1,Monocytes -ENT_TCAACGACATGGTCAT-1,T cells -ENT_TCAACGAGTAGCACGA-1,T cells -ENT_TCAACGAGTGCTGTAT-1,Monocytes -ENT_TCAACGAGTTTACTCT-1,Monocytes -ENT_TCAATCTAGCTGCCCA-1,Monocytes -ENT_TCAATCTAGGGTCGAT-1,Monocytes -ENT_TCAATCTCAGCTGCTG-1,Monocytes -ENT_TCAATCTCAGGGTACA-1,Monocytes -ENT_TCAATCTGTCTTCAAG-1,Dendritic cells -ENT_TCAATCTGTGTTGGGA-1,Dendritic cells -ENT_TCAATCTTCAGAGACG-1,T cells -ENT_TCACAAGAGATGGCGT-1,Monocytes -ENT_TCACAAGAGTGATCGG-1,Monocytes -ENT_TCACAAGCAATGGAAT-1,Granulocytes -ENT_TCACAAGCATGCATGT-1,Macrophages -ENT_TCACAAGCATGTCTCC-1,Monocytes -ENT_TCACAAGCATTATCTC-1,Monocytes -ENT_TCACAAGGTTACCGAT-1,Dendritic cells -ENT_TCACAAGGTTGGACCC-1,Monocytes -ENT_TCACGAAAGCCGGTAA-1,Monocytes -ENT_TCACGAAAGGTGATAT-1,Monocytes -ENT_TCACGAAGTAAGTAGT-1,Monocytes -ENT_TCACGAATCAGCTCTC-1,T cells -ENT_TCAGATGAGGAACTGC-1,Monocytes -ENT_TCAGATGTCAGAGACG-1,T cells -ENT_TCAGATGTCGCGTTTC-1,Monocytes -ENT_TCAGCAAAGGCAAAGA-1,Monocytes -ENT_TCAGCAACAAGCCCAC-1,Monocytes -ENT_TCAGCAACAGCAGTTT-1,NK cells -ENT_TCAGCAACATCACGAT-1,Erythrocytes -ENT_TCAGCAACATCCAACA-1,Granulocytes -ENT_TCAGCAAGTAGCGTCC-1,Monocytes -ENT_TCAGCTCAGGACACCA-1,Monocytes -ENT_TCAGCTCAGGGCACTA-1,Granulocytes -ENT_TCAGCTCCAGGATTGG-1,Granulocytes -ENT_TCAGGATAGTGTACCT-1,Monocytes -ENT_TCAGGATGTATTAGCC-1,T cells -ENT_TCAGGATGTTGTACAC-1,Monocytes -ENT_TCAGGTAAGATGGCGT-1,Monocytes -ENT_TCAGGTAAGGGAACGG-1,Monocytes -ENT_TCAGGTACACTTCGAA-1,Monocytes -ENT_TCAGGTAGTCACAAGG-1,Granulocytes -ENT_TCAGGTAGTCAGGACA-1,Monocytes -ENT_TCAGGTAGTCGCATAT-1,Monocytes -ENT_TCAGGTAGTCGTGGCT-1,Granulocytes -ENT_TCAGGTAGTTTGTGTG-1,Monocytes -ENT_TCAGGTATCGATAGAA-1,Granulocytes -ENT_TCATTACAGCTGCGAA-1,Granulocytes -ENT_TCATTACAGGATGGTC-1,Granulocytes -ENT_TCATTACGTACATCCA-1,Dendritic cells -ENT_TCATTACGTCTAACGT-1,Monocytes -ENT_TCATTACGTGGCGAAT-1,Monocytes -ENT_TCATTACGTGTCAATC-1,Monocytes -ENT_TCATTACGTGTGCGTC-1,Dendritic cells -ENT_TCATTTGAGCTACCTA-1,Monocytes -ENT_TCATTTGAGTATCTCG-1,Monocytes -ENT_TCATTTGGTGGTAACG-1,Monocytes -ENT_TCATTTGTCAGAAATG-1,Monocytes -ENT_TCATTTGTCTCAAGTG-1,Dendritic cells -ENT_TCCACACCACGTAAGG-1,Monocytes -ENT_TCCACACGTCGCGGTT-1,Monocytes -ENT_TCCACACGTTGTACAC-1,Monocytes -ENT_TCCACACTCAAACCGT-1,Granulocytes -ENT_TCCACACTCACTCCTG-1,Dendritic cells -ENT_TCCCGATAGGTGATTA-1,Monocytes -ENT_TCCCGATTCAGCTCTC-1,Dendritic cells -ENT_TCGAGGCAGAGGGATA-1,Monocytes -ENT_TCGAGGCAGCACGCCT-1,Monocytes -ENT_TCGAGGCCAAAGCGGT-1,Granulocytes -ENT_TCGAGGCCAATGAATG-1,Granulocytes -ENT_TCGAGGCCACGGACAA-1,Monocytes -ENT_TCGAGGCGTAACGCGA-1,Monocytes -ENT_TCGAGGCGTAGAGCTG-1,Monocytes -ENT_TCGAGGCTCGGTGTTA-1,Monocytes -ENT_TCGCGAGAGAGGGATA-1,Granulocytes -ENT_TCGCGAGAGGCGACAT-1,Monocytes -ENT_TCGCGAGAGTGCCATT-1,Monocytes -ENT_TCGCGAGCAGTATGCT-1,Monocytes -ENT_TCGCGAGCATCCGTGG-1,Monocytes -ENT_TCGCGAGGTTCTGTTT-1,Monocytes -ENT_TCGCGAGGTTTGACTG-1,Monocytes -ENT_TCGCGAGTCCCATTAT-1,Monocytes -ENT_TCGCGAGTCTGTTTGT-1,Dendritic cells -ENT_TCGCGTTAGTCAAGCG-1,Dendritic cells -ENT_TCGCGTTAGTCATGCT-1,Monocytes -ENT_TCGCGTTCACGAGAGT-1,Monocytes -ENT_TCGCGTTCAGTGGAGT-1,Monocytes -ENT_TCGCGTTCATTGCGGC-1,Monocytes -ENT_TCGGGACAGATCACGG-1,Monocytes -ENT_TCGGGACAGCTCAACT-1,Monocytes -ENT_TCGGGACCAACTGGCC-1,Granulocytes -ENT_TCGGGACCACGGCGTT-1,Monocytes -ENT_TCGGGACCATGGTAGG-1,Monocytes -ENT_TCGGGACGTGTGGTTT-1,Monocytes -ENT_TCGGGACTCGCATGAT-1,Monocytes -ENT_TCGGGACTCGCCAAAT-1,Monocytes -ENT_TCGGTAAAGCTCCTCT-1,Monocytes -ENT_TCGGTAACAAGCGAGT-1,Monocytes -ENT_TCGGTAAGTTATTCTC-1,Monocytes -ENT_TCGGTAAGTTTGCATG-1,Dendritic cells -ENT_TCGTACCAGAGGACGG-1,Monocytes -ENT_TCGTACCAGCAATATG-1,Monocytes -ENT_TCGTACCAGTCGCCGT-1,Monocytes -ENT_TCGTACCCAGCTCCGA-1,Granulocytes -ENT_TCGTACCTCACCTTAT-1,Monocytes -ENT_TCGTAGAAGACAGAGA-1,Monocytes -ENT_TCGTAGAAGCACCGCT-1,Monocytes -ENT_TCGTAGACAGCTGGCT-1,T cells -ENT_TCGTAGAGTCCATCCT-1,Monocytes -ENT_TCGTAGATCAACTCTT-1,Monocytes -ENT_TCGTAGATCGAGAACG-1,Monocytes -ENT_TCTATTGCACTGAAGG-1,Monocytes -ENT_TCTATTGGTATGAAAC-1,Monocytes -ENT_TCTATTGGTCCTCTTG-1,Granulocytes -ENT_TCTATTGGTTGTGGAG-1,T cells -ENT_TCTATTGTCCAAACTG-1,Monocytes -ENT_TCTCATAAGCTAGTCT-1,Monocytes -ENT_TCTCATAGTACTCTCC-1,Monocytes -ENT_TCTCATAGTTGTCTTT-1,Monocytes -ENT_TCTCTAAAGCATCATC-1,Monocytes -ENT_TCTCTAACAGTGAGTG-1,Monocytes -ENT_TCTGAGATCACTCTTA-1,Dendritic cells -ENT_TCTGAGATCCAACCAA-1,Macrophages -ENT_TCTGGAAAGGGCATGT-1,Monocytes -ENT_TCTGGAACAATCTACG-1,Monocytes -ENT_TCTGGAACAGCCTATA-1,Monocytes -ENT_TCTGGAATCCACGTGG-1,Dendritic cells -ENT_TCTGGAATCCCTAATT-1,Monocytes -ENT_TCTGGAATCGCAGGCT-1,T cells -ENT_TCTTCGGAGACTAGGC-1,Monocytes -ENT_TCTTCGGAGCGCCTCA-1,Monocytes -ENT_TCTTCGGGTTGTCTTT-1,Monocytes -ENT_TCTTCGGTCACATAGC-1,Granulocytes -ENT_TCTTCGGTCAGTTAGC-1,Monocytes -ENT_TCTTTCCAGAATGTTG-1,Monocytes -ENT_TCTTTCCAGATTACCC-1,Granulocytes -ENT_TCTTTCCAGGCCCGTT-1,Monocytes -ENT_TCTTTCCAGTGTCCAT-1,Macrophages -ENT_TCTTTCCCAATAAGCA-1,Monocytes -ENT_TCTTTCCCATCCCACT-1,Monocytes -ENT_TCTTTCCGTCTCCCTA-1,Monocytes -ENT_TCTTTCCTCTCAAACG-1,Monocytes -ENT_TGAAAGAAGGCAGGTT-1,Monocytes -ENT_TGAAAGACACATCTTT-1,Monocytes -ENT_TGAAAGATCCCTAACC-1,Monocytes -ENT_TGACAACCACGGACAA-1,Granulocytes -ENT_TGACGGCCACACTGCG-1,Monocytes -ENT_TGACGGCCAGGCGATA-1,Monocytes -ENT_TGACTAGGTAATAGCA-1,Monocytes -ENT_TGACTAGGTCGCGAAA-1,Granulocytes -ENT_TGACTAGTCGTATCAG-1,Monocytes -ENT_TGACTAGTCTCAAGTG-1,Granulocytes -ENT_TGACTTTCATGTTCCC-1,Monocytes -ENT_TGACTTTTCTGGTATG-1,Monocytes -ENT_TGAGAGGAGTCCTCCT-1,Monocytes -ENT_TGAGAGGCATCCTTGC-1,Monocytes -ENT_TGAGAGGCATGCCTAA-1,Monocytes -ENT_TGAGAGGTCAAACCGT-1,Monocytes -ENT_TGAGAGGTCACGGTTA-1,Dendritic cells -ENT_TGAGCATGTGACTACT-1,Monocytes -ENT_TGAGCATTCAGCTGGC-1,Monocytes -ENT_TGAGCATTCATGTCTT-1,Monocytes -ENT_TGAGCATTCCTAGTGA-1,Monocytes -ENT_TGAGCCGAGGATGTAT-1,Monocytes -ENT_TGAGCCGCACTGTCGG-1,Granulocytes -ENT_TGAGCCGGTCCTAGCG-1,Dendritic cells -ENT_TGAGCCGGTTACTGAC-1,Monocytes -ENT_TGAGGGAAGACAATAC-1,Granulocytes -ENT_TGAGGGAAGCCACGTC-1,Monocytes -ENT_TGAGGGAAGTGAAGTT-1,Macrophages -ENT_TGAGGGATCCTCAACC-1,Monocytes -ENT_TGATTTCCATACTCTT-1,Monocytes -ENT_TGATTTCCATTCTCAT-1,Monocytes -ENT_TGATTTCGTGATGTGG-1,Monocytes -ENT_TGATTTCTCCTAGTGA-1,Monocytes -ENT_TGCACCTAGCTAAACA-1,Granulocytes -ENT_TGCACCTTCACGACTA-1,Monocytes -ENT_TGCACCTTCTTAGCCC-1,Monocytes -ENT_TGCCAAAAGAGTAATC-1,Monocytes -ENT_TGCCAAACACATCTTT-1,Monocytes -ENT_TGCCAAACACATGGGA-1,Monocytes -ENT_TGCCAAACACTGTGTA-1,Dendritic cells -ENT_TGCCAAACATGTCTCC-1,Monocytes -ENT_TGCCAAAGTCAAACTC-1,Monocytes -ENT_TGCCAAATCTTTCCTC-1,Granulocytes -ENT_TGCCCATAGATATGGT-1,T cells -ENT_TGCCCATAGCTCCTCT-1,Granulocytes -ENT_TGCCCATCACCACCAG-1,Dendritic cells -ENT_TGCCCATCACCATGTA-1,Monocytes -ENT_TGCCCATTCACTTATC-1,Monocytes -ENT_TGCCCTAAGGCCGAAT-1,Granulocytes -ENT_TGCCCTACATGAGCGA-1,Granulocytes -ENT_TGCCCTACATGGTCAT-1,Dendritic cells -ENT_TGCCCTAGTTGCGCAC-1,Monocytes -ENT_TGCCCTATCGCAAACT-1,Granulocytes -ENT_TGCGCAGAGAGTGAGA-1,T cells -ENT_TGCGCAGCAGATTGCT-1,Dendritic cells -ENT_TGCGCAGGTCCAGTAT-1,Monocytes -ENT_TGCGCAGGTCCCTACT-1,Dendritic cells -ENT_TGCGCAGGTGTAATGA-1,Monocytes -ENT_TGCGCAGGTGTGGCTC-1,Monocytes -ENT_TGCGGGTAGAACTGTA-1,Dendritic cells -ENT_TGCGGGTAGCGTTGCC-1,Monocytes -ENT_TGCGGGTCAAGCCGTC-1,T cells -ENT_TGCGGGTGTACGCTGC-1,Monocytes -ENT_TGCGGGTGTGAGTATA-1,Monocytes -ENT_TGCGGGTTCAACACCA-1,Monocytes -ENT_TGCGGGTTCACCCGAG-1,Macrophages -ENT_TGCGGGTTCCTCTAGC-1,Monocytes -ENT_TGCGGGTTCTGCGGCA-1,Monocytes -ENT_TGCGTGGCATTGAGCT-1,Monocytes -ENT_TGCGTGGGTAATAGCA-1,Monocytes -ENT_TGCGTGGGTATAATGG-1,Monocytes -ENT_TGCGTGGGTTCGCTAA-1,Monocytes -ENT_TGCTACCAGTGTGGCA-1,NK cells -ENT_TGCTACCGTAGATTAG-1,Monocytes -ENT_TGCTACCGTATAAACG-1,Monocytes -ENT_TGCTACCTCGTTGACA-1,Monocytes -ENT_TGCTGCTAGCAACGGT-1,Granulocytes -ENT_TGCTGCTAGGCCGAAT-1,Monocytes -ENT_TGCTGCTCACGGTTTA-1,Monocytes -ENT_TGCTGCTCATGCCACG-1,Monocytes -ENT_TGCTGCTGTAAGGATT-1,Monocytes -ENT_TGCTGCTGTCCTCCAT-1,Granulocytes -ENT_TGCTGCTGTCGCTTCT-1,Monocytes -ENT_TGCTGCTTCCAAATGC-1,Monocytes -ENT_TGCTGCTTCGAATGGG-1,Granulocytes -ENT_TGGACGCAGTAGCGGT-1,Granulocytes -ENT_TGGACGCGTCGAGATG-1,Dendritic cells -ENT_TGGACGCGTGGCGAAT-1,Monocytes -ENT_TGGCCAGAGAAAGTGG-1,Granulocytes -ENT_TGGCCAGAGAGTGACC-1,Monocytes -ENT_TGGCCAGAGATTACCC-1,Dendritic cells -ENT_TGGCCAGTCATGCATG-1,Monocytes -ENT_TGGCCAGTCCTCGCAT-1,NK cells -ENT_TGGCGCAAGTCGTTTG-1,NK cells -ENT_TGGCGCACACAGGCCT-1,Monocytes -ENT_TGGCGCATCCCAACGG-1,Monocytes -ENT_TGGCTGGAGGGTGTTG-1,Monocytes -ENT_TGGCTGGCATACTACG-1,Monocytes -ENT_TGGGAAGCAAACGCGA-1,Monocytes -ENT_TGGGAAGGTCGCGTGT-1,Monocytes -ENT_TGGGAAGGTGTAAGTA-1,Monocytes -ENT_TGGGAAGTCATCGGAT-1,Dendritic cells -ENT_TGGGCGTAGACTCGGA-1,Dendritic cells -ENT_TGGGCGTAGGACAGAA-1,Dendritic cells -ENT_TGGGCGTCAATCGAAA-1,Monocytes -ENT_TGGGCGTTCACCTTAT-1,Monocytes -ENT_TGGGCGTTCTCGCTTG-1,Monocytes -ENT_TGGGCGTTCTTACCTA-1,Monocytes -ENT_TGGTTAGCAACCGCCA-1,Granulocytes -ENT_TGGTTCCAGAAACGAG-1,Monocytes -ENT_TGGTTCCAGCACCGCT-1,Granulocytes -ENT_TGGTTCCAGCTTCGCG-1,Monocytes -ENT_TGGTTCCCAGCCTATA-1,Dendritic cells -ENT_TGGTTCCCAGCTCCGA-1,Monocytes -ENT_TGGTTCCCATTGGTAC-1,Monocytes -ENT_TGGTTCCGTAGCTCCG-1,Monocytes -ENT_TGGTTCCGTCGCTTCT-1,Dendritic cells -ENT_TGTATTCAGAACTCGG-1,Monocytes -ENT_TGTATTCAGCTAAACA-1,Monocytes -ENT_TGTATTCCAATCGAAA-1,Monocytes -ENT_TGTATTCGTCCGAATT-1,Monocytes -ENT_TGTATTCGTTGAACTC-1,Granulocytes -ENT_TGTATTCTCAAGGTAA-1,T cells -ENT_TGTATTCTCACCCTCA-1,T cells -ENT_TGTATTCTCATGTGGT-1,Dendritic cells -ENT_TGTCCCAAGCACCGTC-1,Monocytes -ENT_TGTCCCAAGGTAAACT-1,Monocytes -ENT_TGTCCCAAGTCCGTAT-1,Monocytes -ENT_TGTCCCACATGCAACT-1,Dendritic cells -ENT_TGTGGTAAGAAAGTGG-1,Dendritic cells -ENT_TGTGGTAAGGCTACGA-1,Monocytes -ENT_TGTGGTAAGGCTCATT-1,Granulocytes -ENT_TGTGGTAAGTTCGCAT-1,Monocytes -ENT_TGTGGTAAGTTTAGGA-1,Granulocytes -ENT_TGTGGTAGTGTCCTCT-1,Monocytes -ENT_TGTGGTAGTTCGGCAC-1,Granulocytes -ENT_TGTGTTTAGCCCAATT-1,Dendritic cells -ENT_TGTGTTTAGCCTCGTG-1,Monocytes -ENT_TGTGTTTAGCGTTTAC-1,Monocytes -ENT_TGTGTTTCACCACGTG-1,Monocytes -ENT_TGTGTTTGTGTCGCTG-1,Monocytes -ENT_TGTGTTTTCTATCCCG-1,Monocytes -ENT_TGTGTTTTCTTGGGTA-1,Granulocytes -ENT_TGTTCCGAGCGATAGC-1,Monocytes -ENT_TGTTCCGCACCAGGCT-1,Monocytes -ENT_TGTTCCGTCACTTATC-1,Monocytes -ENT_TGTTCCGTCCTCTAGC-1,Monocytes -ENT_TGTTCCGTCGGCGGTT-1,Monocytes -ENT_TTAACTCAGCTAGGCA-1,Monocytes -ENT_TTAACTCAGTGGTAAT-1,Dendritic cells -ENT_TTAACTCCAAGCGCTC-1,Granulocytes -ENT_TTAACTCCAGCTCGAC-1,Monocytes -ENT_TTAACTCGTAGCGCTC-1,Monocytes -ENT_TTAACTCTCCACGTGG-1,Monocytes -ENT_TTAGGACAGAAACCTA-1,Monocytes -ENT_TTAGGACAGATCGGGT-1,Dendritic cells -ENT_TTAGGACAGCACAGGT-1,Granulocytes -ENT_TTAGGACAGTTAACGA-1,Monocytes -ENT_TTAGGACCAGACACTT-1,Monocytes -ENT_TTAGGACGTCAGAATA-1,Monocytes -ENT_TTAGGACGTCAGCTAT-1,Monocytes -ENT_TTAGGCAAGACCACGA-1,Dendritic cells -ENT_TTAGGCAAGTCGTACT-1,Monocytes -ENT_TTAGGCAAGTGCCATT-1,Monocytes -ENT_TTAGGCAGTATGCTTG-1,Dendritic cells -ENT_TTAGGCAGTGGTACAG-1,Monocytes -ENT_TTAGGCATCCGCTGTT-1,Monocytes -ENT_TTAGGCATCTGTCCGT-1,Monocytes -ENT_TTAGTTCAGCACCGCT-1,Monocytes -ENT_TTAGTTCAGCGTCAAG-1,Dendritic cells -ENT_TTAGTTCAGGGCATGT-1,Monocytes -ENT_TTAGTTCCAAGACGTG-1,Granulocytes -ENT_TTAGTTCCAGACGCTC-1,Monocytes -ENT_TTAGTTCCATTCGACA-1,Monocytes -ENT_TTAGTTCTCGGATGGA-1,Monocytes -ENT_TTAGTTCTCTGGTATG-1,Monocytes -ENT_TTATGCTAGGTGATTA-1,Monocytes -ENT_TTATGCTAGTGTACTC-1,Monocytes -ENT_TTATGCTCACATTTCT-1,Monocytes -ENT_TTATGCTCAGCTCGAC-1,Granulocytes -ENT_TTATGCTGTCTGGAGA-1,Monocytes -ENT_TTATGCTGTTCAGGCC-1,Macrophages -ENT_TTATGCTTCTTCATGT-1,Monocytes -ENT_TTCCCAGAGTGTGAAT-1,Monocytes -ENT_TTCCCAGGTATATGGA-1,Monocytes -ENT_TTCCCAGGTCTCTTAT-1,Granulocytes -ENT_TTCCCAGTCTGAAAGA-1,Monocytes -ENT_TTCCCAGTCTTAACCT-1,Monocytes -ENT_TTCGAAGAGCGGCTTC-1,Monocytes -ENT_TTCGAAGAGTGGAGAA-1,Dendritic cells -ENT_TTCGAAGCAATCCGAT-1,Monocytes -ENT_TTCGGTCAGAGTAAGG-1,Monocytes -ENT_TTCGGTCGTGTATGGG-1,Monocytes -ENT_TTCGGTCTCAACGCTA-1,Monocytes -ENT_TTCTACACAAGACGTG-1,Macrophages -ENT_TTCTACACACACCGCA-1,Monocytes -ENT_TTCTACACATGATCCA-1,Macrophages -ENT_TTCTACAGTAGAGCTG-1,Monocytes -ENT_TTCTCAAAGCTCCTCT-1,T cells -ENT_TTCTCAAGTATTCTCT-1,Monocytes -ENT_TTCTCAATCAGCCTAA-1,Dendritic cells -ENT_TTCTCCTAGAAACCGC-1,Dendritic cells -ENT_TTCTCCTAGCTTTGGT-1,Dendritic cells -ENT_TTCTCCTGTCAATGTC-1,Granulocytes -ENT_TTCTCCTTCTCTAGGA-1,Granulocytes -ENT_TTCTTAGAGACAAAGG-1,Monocytes -ENT_TTCTTAGCAAGAGGCT-1,Monocytes -ENT_TTCTTAGCAGCCTTGG-1,Monocytes -ENT_TTGAACGCATTCTTAC-1,Monocytes -ENT_TTGAACGGTAAGAGGA-1,Monocytes -ENT_TTGAACGTCCCATTAT-1,Monocytes -ENT_TTGAACGTCCGGGTGT-1,Monocytes -ENT_TTGACTTAGGACGAAA-1,Macrophages -ENT_TTGACTTCATATGGTC-1,Monocytes -ENT_TTGACTTCATCCAACA-1,Monocytes -ENT_TTGACTTGTTAAGAAC-1,Dendritic cells -ENT_TTGACTTGTTACGGAG-1,T cells -ENT_TTGACTTGTTACTGAC-1,Monocytes -ENT_TTGACTTTCTGTTTGT-1,Dendritic cells -ENT_TTGCCGTAGAGGGCTT-1,Monocytes -ENT_TTGCCGTCAGATCCAT-1,Monocytes -ENT_TTGCCGTGTACTTAGC-1,Macrophages -ENT_TTGCCGTTCTTTAGGG-1,Monocytes -ENT_TTGCGTCCAGATCCAT-1,Monocytes -ENT_TTGGAACGTGCAGTAG-1,Monocytes -ENT_TTGGAACGTGGTGTAG-1,Granulocytes -ENT_TTGGAACTCATTATCC-1,Monocytes -ENT_TTGGAACTCTAAGCCA-1,Granulocytes -ENT_TTGGCAACAATTCCTT-1,Monocytes -ENT_TTGGCAACACCAGGTC-1,Monocytes -ENT_TTGGCAAGTGTGCCTG-1,Monocytes -ENT_TTGGCAAGTTCAGGCC-1,Dendritic cells -ENT_TTGTAGGAGAAGATTC-1,Granulocytes -ENT_TTGTAGGAGCTGCAAG-1,Monocytes -ENT_TTGTAGGCACGGTGTC-1,Monocytes -ENT_TTGTAGGGTGAGCGAT-1,Monocytes -ENT_TTGTAGGGTTCCATGA-1,Monocytes -ENT_TTGTAGGTCGGTTAAC-1,Granulocytes -ENT_TTGTAGGTCTAACTCT-1,T cells -ENT_TTTACTGAGATCGGGT-1,Granulocytes -ENT_TTTACTGAGCTTTGGT-1,Monocytes -ENT_TTTACTGTCGCCCTTA-1,Granulocytes -ENT_TTTACTGTCGTAGGTT-1,Monocytes -ENT_TTTACTGTCTTATCTG-1,Monocytes -ENT_TTTACTGTCTTGCAAG-1,Monocytes -ENT_TTTATGCAGGTGATTA-1,Granulocytes -ENT_TTTATGCAGGTGGGTT-1,Granulocytes -ENT_TTTATGCCAACTGGCC-1,Monocytes -ENT_TTTATGCCAGGTCCAC-1,Monocytes -ENT_TTTATGCGTAAACCTC-1,Monocytes -ENT_TTTATGCGTGTTGAGG-1,Monocytes -ENT_TTTATGCTCCACGAAT-1,Granulocytes -ENT_TTTCCTCAGTCCCACG-1,Monocytes -ENT_TTTCCTCCAATAGCGG-1,Granulocytes -ENT_TTTCCTCGTGAAAGAG-1,Monocytes -ENT_TTTCCTCTCTAAGCCA-1,Monocytes -ENT_TTTCCTCTCTATCCCG-1,Monocytes -ENT_TTTGCGCAGACCTAGG-1,Monocytes -ENT_TTTGCGCAGCTAACTC-1,Dendritic cells -ENT_TTTGCGCAGTGCAAGC-1,Monocytes -ENT_TTTGCGCAGTTCCACA-1,Monocytes -ENT_TTTGCGCGTCAACTGT-1,Granulocytes -ENT_TTTGGTTAGACTAGAT-1,Monocytes -ENT_TTTGGTTAGTGCTGCC-1,Monocytes -ENT_TTTGGTTTCTATCCTA-1,Dendritic cells -ENT_TTTGGTTTCTCTGCTG-1,Monocytes -ENT_TTTGTCAAGCGTGTCC-1,Monocytes -ENT_TTTGTCAAGTCCAGGA-1,Granulocytes -ENT_TTTGTCACATCGTCGG-1,Dendritic cells -ENT_TTTGTCATCAACGAAA-1,Monocytes -ENT_TTTGTCATCCTTGCCA-1,Monocytes -NHSIL12_AAACCTGAGGCTAGAC-1,Monocytes -NHSIL12_AAACCTGTCCCAACGG-1,Monocytes -NHSIL12_AAACGGGAGTCGATAA-1,Monocytes -NHSIL12_AAACGGGCACCATGTA-1,Granulocytes -NHSIL12_AAACGGGCACTTCGAA-1,Monocytes -NHSIL12_AAACGGGCATCGACGC-1,Monocytes -NHSIL12_AAAGATGAGGATGGAA-1,Monocytes -NHSIL12_AAAGATGAGGGAACGG-1,Macrophages -NHSIL12_AAAGATGCAGGATCGA-1,Monocytes -NHSIL12_AAAGATGGTGATGTGG-1,Macrophages -NHSIL12_AAAGATGTCTAGCACA-1,Monocytes -NHSIL12_AAAGCAAGTCATCCCT-1,Monocytes -NHSIL12_AAAGTAGGTGCTTCTC-1,Monocytes -NHSIL12_AAAGTAGTCCGCAAGC-1,Monocytes -NHSIL12_AAAGTAGTCTGATTCT-1,Monocytes -NHSIL12_AAATGCCCAAGCGTAG-1,Fibroblasts -NHSIL12_AAATGCCCATATGGTC-1,Monocytes -NHSIL12_AAATGCCGTAGAAGGA-1,Monocytes -NHSIL12_AACACGTAGATACACA-1,Monocytes -NHSIL12_AACACGTTCAACACTG-1,Granulocytes -NHSIL12_AACCATGAGCGATCCC-1,Granulocytes -NHSIL12_AACCATGAGGTGACCA-1,Granulocytes -NHSIL12_AACCATGCACTAAGTC-1,Monocytes -NHSIL12_AACCATGGTCTCAACA-1,Monocytes -NHSIL12_AACCATGGTTTCCACC-1,Dendritic cells -NHSIL12_AACCGCGTCATCTGTT-1,Granulocytes -NHSIL12_AACGTTGCACTTGGAT-1,Monocytes -NHSIL12_AACGTTGCATGCCTTC-1,Monocytes -NHSIL12_AACGTTGGTTCGGCAC-1,Monocytes -NHSIL12_AACTCAGAGCCGATTT-1,Granulocytes -NHSIL12_AACTCAGTCACATGCA-1,Macrophages -NHSIL12_AACTCCCAGAGGTTGC-1,Monocytes -NHSIL12_AACTCCCGTTGACGTT-1,Monocytes -NHSIL12_AACTCTTGTTAAGTAG-1,Monocytes -NHSIL12_AACTGGTAGAGACTTA-1,Monocytes -NHSIL12_AACTGGTTCCGTACAA-1,Monocytes -NHSIL12_AACTTTCAGGTGTGGT-1,Monocytes -NHSIL12_AAGACCTGTCTGATTG-1,Macrophages -NHSIL12_AAGCCGCTCCACTGGG-1,Monocytes -NHSIL12_AAGGAGCAGTCCCACG-1,Granulocytes -NHSIL12_AAGGAGCAGTTTAGGA-1,Monocytes -NHSIL12_AAGGAGCGTCTGCCAG-1,Monocytes -NHSIL12_AAGGAGCTCCAAAGTC-1,Monocytes -NHSIL12_AAGGCAGCATGTAGTC-1,Monocytes -NHSIL12_AAGTCTGAGGGAAACA-1,Dendritic cells -NHSIL12_AAGTCTGAGTGGTAGC-1,T cells -NHSIL12_AAGTCTGGTTCAGACT-1,Monocytes -NHSIL12_AAGTCTGTCCTTGGTC-1,Granulocytes -NHSIL12_AATCCAGAGAGCTATA-1,Monocytes -NHSIL12_AATCCAGAGTACGATA-1,Macrophages -NHSIL12_AATCCAGAGTTAAGTG-1,Monocytes -NHSIL12_AATCCAGGTATCAGTC-1,Monocytes -NHSIL12_AATCCAGGTCACCCAG-1,Monocytes -NHSIL12_AATCGGTGTCTCACCT-1,Macrophages -NHSIL12_AATCGGTGTGGAAAGA-1,Dendritic cells -NHSIL12_AATCGGTGTGGTCCGT-1,Monocytes -NHSIL12_AATCGGTTCTAACTCT-1,Monocytes -NHSIL12_AATCGGTTCTGTCTCG-1,Monocytes -NHSIL12_ACACCAAAGGCTAGAC-1,Monocytes -NHSIL12_ACACCAAGTAGAAGGA-1,Dendritic cells -NHSIL12_ACACCCTCAAGGACTG-1,Monocytes -NHSIL12_ACACCCTGTGGTCTCG-1,Monocytes -NHSIL12_ACACCCTGTGTTCTTT-1,Monocytes -NHSIL12_ACACCCTTCTCACATT-1,Monocytes -NHSIL12_ACACCGGCATGGTTGT-1,Monocytes -NHSIL12_ACACCGGGTTCCATGA-1,Monocytes -NHSIL12_ACACCGGTCATCACCC-1,Monocytes -NHSIL12_ACACTGAAGCAGCCTC-1,Monocytes -NHSIL12_ACACTGAGTCAGGACA-1,Monocytes -NHSIL12_ACACTGAGTCGAACAG-1,Monocytes -NHSIL12_ACACTGATCATTCACT-1,Dendritic cells -NHSIL12_ACACTGATCTGCTGTC-1,NK cells -NHSIL12_ACAGCCGAGATATGCA-1,Monocytes -NHSIL12_ACAGCCGAGCTTATCG-1,Monocytes -NHSIL12_ACAGCCGTCTTTACAC-1,Macrophages -NHSIL12_ACAGCTATCACGACTA-1,Monocytes -NHSIL12_ACATACGAGGAGTACC-1,Dendritic cells -NHSIL12_ACATGGTCAAGTTGTC-1,Monocytes -NHSIL12_ACATGGTGTAAATGAC-1,Granulocytes -NHSIL12_ACATGGTGTCAGTGGA-1,Monocytes -NHSIL12_ACATGGTGTCGGCATC-1,Dendritic cells -NHSIL12_ACCAGTAGTGCGGTAA-1,Monocytes -NHSIL12_ACCAGTATCGGCGGTT-1,Monocytes -NHSIL12_ACCCACTAGACTGTAA-1,Monocytes -NHSIL12_ACCCACTAGGTGTTAA-1,Granulocytes -NHSIL12_ACCCACTAGTGGACGT-1,Dendritic cells -NHSIL12_ACCCACTCAGATCCAT-1,Monocytes -NHSIL12_ACCCACTCATGACGGA-1,Monocytes -NHSIL12_ACCCACTGTTAAGTAG-1,Monocytes -NHSIL12_ACCCACTTCATGCTCC-1,Monocytes -NHSIL12_ACCGTAAGTATTCTCT-1,Monocytes -NHSIL12_ACCGTAAGTCTTGATG-1,Macrophages -NHSIL12_ACCTTTAAGCTGAAAT-1,T cells -NHSIL12_ACCTTTAGTCAGAGGT-1,T cells -NHSIL12_ACCTTTAGTTTGTTTC-1,Monocytes -NHSIL12_ACCTTTATCGCATGGC-1,Dendritic cells -NHSIL12_ACCTTTATCTTACCTA-1,Monocytes -NHSIL12_ACGAGCCGTTATGCGT-1,Monocytes -NHSIL12_ACGAGGAGTCTACCTC-1,Monocytes -NHSIL12_ACGAGGATCCGCAGTG-1,Monocytes -NHSIL12_ACGATACAGGCAAAGA-1,Monocytes -NHSIL12_ACGATACAGTACTTGC-1,Macrophages -NHSIL12_ACGATGTGTAAACGCG-1,Monocytes -NHSIL12_ACGATGTGTATAGGGC-1,Monocytes -NHSIL12_ACGCAGCGTCAAACTC-1,Dendritic cells -NHSIL12_ACGCCAGGTCCCTACT-1,Monocytes -NHSIL12_ACGCCAGTCGGTGTTA-1,Monocytes -NHSIL12_ACGGAGACACAGCGTC-1,Monocytes -NHSIL12_ACGGAGACATCCCACT-1,Monocytes -NHSIL12_ACGGAGATCTACCAGA-1,Dendritic cells -NHSIL12_ACGGCCAAGTCGTTTG-1,Macrophages -NHSIL12_ACGGCCAGTAAAGGAG-1,Monocytes -NHSIL12_ACGGGCTAGGGATACC-1,Granulocytes -NHSIL12_ACGGGCTCAGTATGCT-1,Monocytes -NHSIL12_ACGGGCTCATGCCACG-1,Monocytes -NHSIL12_ACGGGCTGTCCCGACA-1,Monocytes -NHSIL12_ACGGGCTTCCATTCTA-1,Monocytes -NHSIL12_ACGGGTCGTGCTGTAT-1,Monocytes -NHSIL12_ACGTCAAAGGCATGTG-1,Monocytes -NHSIL12_ACGTCAACAACGATGG-1,Dendritic cells -NHSIL12_ACGTCAAGTATTCGTG-1,Monocytes -NHSIL12_ACGTCAAGTTCAGGCC-1,Monocytes -NHSIL12_ACTATCTAGATCCGAG-1,Monocytes -NHSIL12_ACTATCTCAATGACCT-1,Monocytes -NHSIL12_ACTATCTCACGAAACG-1,Monocytes -NHSIL12_ACTATCTCACGACGAA-1,Monocytes -NHSIL12_ACTATCTGTGCCTGTG-1,Monocytes -NHSIL12_ACTGAACAGTATGACA-1,Monocytes -NHSIL12_ACTGAACGTGCTTCTC-1,Macrophages -NHSIL12_ACTGAACTCCCAACGG-1,Granulocytes -NHSIL12_ACTGAGTAGTACCGGA-1,Dendritic cells -NHSIL12_ACTGATGAGAGACTAT-1,Monocytes -NHSIL12_ACTGATGAGAGTACAT-1,Dendritic cells -NHSIL12_ACTGATGCAGGGATTG-1,Monocytes -NHSIL12_ACTGATGGTAAGGGAA-1,Monocytes -NHSIL12_ACTGCTCCAGCATACT-1,Monocytes -NHSIL12_ACTGCTCTCAGCGATT-1,Monocytes -NHSIL12_ACTGTCCGTAGTAGTA-1,Monocytes -NHSIL12_ACTGTCCGTTACGGAG-1,Monocytes -NHSIL12_ACTTACTCAGCGTCCA-1,Monocytes -NHSIL12_ACTTACTGTGGCGAAT-1,Monocytes -NHSIL12_ACTTACTTCTTTAGGG-1,Monocytes -NHSIL12_ACTTGTTAGATATACG-1,Monocytes -NHSIL12_ACTTGTTAGCGTTCCG-1,Monocytes -NHSIL12_ACTTGTTGTATGGTTC-1,Monocytes -NHSIL12_ACTTGTTGTTAAGACA-1,Monocytes -NHSIL12_ACTTTCAAGATATGCA-1,Granulocytes -NHSIL12_ACTTTCAAGCAGCCTC-1,Monocytes -NHSIL12_ACTTTCACATTACCTT-1,Monocytes -NHSIL12_ACTTTCATCACAGGCC-1,Monocytes -NHSIL12_AGAATAGAGCCACCTG-1,Monocytes -NHSIL12_AGAATAGAGGATATAC-1,Monocytes -NHSIL12_AGAATAGGTAATTGGA-1,Monocytes -NHSIL12_AGAATAGGTCCATCCT-1,Monocytes -NHSIL12_AGAATAGGTTACGGAG-1,Dendritic cells -NHSIL12_AGACGTTCATGTCGAT-1,Monocytes -NHSIL12_AGAGCGAAGTGTACGG-1,Monocytes -NHSIL12_AGAGCGAGTGGTACAG-1,Monocytes -NHSIL12_AGAGCGATCTAGCACA-1,Monocytes -NHSIL12_AGAGCTTCACGGTAAG-1,Monocytes -NHSIL12_AGAGTGGCATGTCTCC-1,Monocytes -NHSIL12_AGATCTGCACTGCCAG-1,Macrophages -NHSIL12_AGATCTGCATAGAAAC-1,Granulocytes -NHSIL12_AGATCTGTCCGGGTGT-1,Monocytes -NHSIL12_AGATCTGTCCGTTGCT-1,Monocytes -NHSIL12_AGATCTGTCGCCAAAT-1,Dendritic cells -NHSIL12_AGATTGCGTCAATACC-1,Monocytes -NHSIL12_AGATTGCTCGCGTTTC-1,Monocytes -NHSIL12_AGATTGCTCGGATGTT-1,Monocytes -NHSIL12_AGCAGCCAGACGCAAC-1,Monocytes -NHSIL12_AGCAGCCCAAGGCTCC-1,Granulocytes -NHSIL12_AGCATACGTAGCCTAT-1,Granulocytes -NHSIL12_AGCCTAAGTACCAGTT-1,Granulocytes -NHSIL12_AGCCTAAGTATAAACG-1,Monocytes -NHSIL12_AGCCTAAGTCTGCCAG-1,Monocytes -NHSIL12_AGCGGTCGTGGTCCGT-1,Monocytes -NHSIL12_AGCGTATAGCCGATTT-1,Monocytes -NHSIL12_AGCGTATGTTACGCGC-1,Granulocytes -NHSIL12_AGCGTATTCGGCGCAT-1,Monocytes -NHSIL12_AGCGTCGGTTCGCTAA-1,Monocytes -NHSIL12_AGCGTCGTCCTCAATT-1,Monocytes -NHSIL12_AGCTCCTCAAGTAATG-1,Dendritic cells -NHSIL12_AGCTCCTTCATGCAAC-1,Monocytes -NHSIL12_AGCTCTCCACGAAACG-1,T cells -NHSIL12_AGCTCTCCATGCTAGT-1,Monocytes -NHSIL12_AGCTTGATCCACGAAT-1,Monocytes -NHSIL12_AGGCCACAGAGCTGCA-1,Macrophages -NHSIL12_AGGCCACAGTCAAGCG-1,Monocytes -NHSIL12_AGGCCACCACTCAGGC-1,Macrophages -NHSIL12_AGGCCGTAGGGATGGG-1,Dendritic cells -NHSIL12_AGGCCGTAGTACGACG-1,Monocytes -NHSIL12_AGGCCGTAGTTTCCTT-1,Monocytes -NHSIL12_AGGGAGTAGTTAGCGG-1,Granulocytes -NHSIL12_AGGGAGTCACGCATCG-1,Monocytes -NHSIL12_AGGGAGTTCACCACCT-1,Monocytes -NHSIL12_AGGGAGTTCTGAAAGA-1,Monocytes -NHSIL12_AGGGAGTTCTGTCTAT-1,Macrophages -NHSIL12_AGGGATGAGGTGTGGT-1,Monocytes -NHSIL12_AGGGATGAGTGCCAGA-1,Monocytes -NHSIL12_AGGGTGACATGAGCGA-1,Monocytes -NHSIL12_AGGGTGAGTCAGCTAT-1,Monocytes -NHSIL12_AGGTCATAGTGTCCCG-1,Monocytes -NHSIL12_AGGTCATCACATCCGG-1,Monocytes -NHSIL12_AGGTCATCAGACGCCT-1,Macrophages -NHSIL12_AGGTCCGCACAGCCCA-1,Macrophages -NHSIL12_AGTAGTCAGCAACGGT-1,Monocytes -NHSIL12_AGTAGTCAGTACGCCC-1,Monocytes -NHSIL12_AGTAGTCCACGCCAGT-1,Monocytes -NHSIL12_AGTAGTCGTTCGTTGA-1,Monocytes -NHSIL12_AGTCTTTAGTGACTCT-1,Monocytes -NHSIL12_AGTCTTTCAGGACGTA-1,Monocytes -NHSIL12_AGTCTTTCAGGTGCCT-1,Monocytes -NHSIL12_AGTCTTTGTGTCAATC-1,Monocytes -NHSIL12_AGTCTTTTCGGTGTCG-1,Monocytes -NHSIL12_AGTGAGGAGCCACTAT-1,Dendritic cells -NHSIL12_AGTGAGGAGCCTATGT-1,Monocytes -NHSIL12_AGTGAGGTCATCATTC-1,T cells -NHSIL12_AGTGGGATCCTATTCA-1,Monocytes -NHSIL12_AGTGTCACAGTCACTA-1,Monocytes -NHSIL12_AGTGTCAGTATAGTAG-1,Macrophages -NHSIL12_AGTGTCAGTTGAACTC-1,Monocytes -NHSIL12_AGTGTCATCATGGTCA-1,Monocytes -NHSIL12_AGTTGGTAGCCGGTAA-1,Macrophages -NHSIL12_AGTTGGTAGGAGCGTT-1,Monocytes -NHSIL12_AGTTGGTTCCGCATCT-1,Granulocytes -NHSIL12_ATAACGCAGCTGCAAG-1,Monocytes -NHSIL12_ATAACGCGTCACCCAG-1,Granulocytes -NHSIL12_ATAAGAGAGATGCGAC-1,Monocytes -NHSIL12_ATAAGAGAGTTGAGAT-1,Monocytes -NHSIL12_ATAAGAGGTCGAGATG-1,Monocytes -NHSIL12_ATAAGAGGTTAAAGTG-1,Monocytes -NHSIL12_ATAAGAGTCTGGAGCC-1,Monocytes -NHSIL12_ATAGACCCATGTAGTC-1,Dendritic cells -NHSIL12_ATAGACCGTCTGCGGT-1,Monocytes -NHSIL12_ATCACGAGTCATTAGC-1,Dendritic cells -NHSIL12_ATCACGAGTTCTGGTA-1,Monocytes -NHSIL12_ATCATCTCACAGGTTT-1,Monocytes -NHSIL12_ATCATCTCATTCTCAT-1,Monocytes -NHSIL12_ATCATCTGTAAGAGGA-1,Monocytes -NHSIL12_ATCATCTGTCAAAGAT-1,Monocytes -NHSIL12_ATCATGGCATGCCTTC-1,Monocytes -NHSIL12_ATCATGGTCCGAATGT-1,Monocytes -NHSIL12_ATCCACCCAATCAGAA-1,Monocytes -NHSIL12_ATCCACCCATTTGCTT-1,Monocytes -NHSIL12_ATCCACCGTGTATGGG-1,Monocytes -NHSIL12_ATCCACCTCTGTTTGT-1,Monocytes -NHSIL12_ATCCGAAAGCAACGGT-1,Monocytes -NHSIL12_ATCCGAACAGCATACT-1,Monocytes -NHSIL12_ATCCGAAGTCTTCTCG-1,Monocytes -NHSIL12_ATCCGAAGTGGGTATG-1,Dendritic cells -NHSIL12_ATCCGAATCAACCATG-1,Monocytes -NHSIL12_ATCCGAATCCAGAGGA-1,Dendritic cells -NHSIL12_ATCCGAATCTTGTACT-1,Monocytes -NHSIL12_ATCGAGTGTCCGCTGA-1,Monocytes -NHSIL12_ATGAGGGAGAGGTACC-1,Macrophages -NHSIL12_ATGAGGGGTACGCACC-1,Monocytes -NHSIL12_ATGAGGGGTACTTAGC-1,Dendritic cells -NHSIL12_ATGAGGGTCCTATGTT-1,Monocytes -NHSIL12_ATGCGATCATCGGTTA-1,Dendritic cells -NHSIL12_ATGCGATGTCTTGATG-1,Monocytes -NHSIL12_ATGGGAGAGGAATCGC-1,Granulocytes -NHSIL12_ATGGGAGTCAAACCGT-1,Macrophages -NHSIL12_ATGGGAGTCTGCGACG-1,Monocytes -NHSIL12_ATGTGTGCAATGTTGC-1,Monocytes -NHSIL12_ATGTGTGCACCGAATT-1,Dendritic cells -NHSIL12_ATTACTCAGCGTTGCC-1,Monocytes -NHSIL12_ATTACTCAGCTGATAA-1,Dendritic cells -NHSIL12_ATTACTCCATGCCCGA-1,Dendritic cells -NHSIL12_ATTACTCCATTTCAGG-1,Monocytes -NHSIL12_ATTACTCGTTGCGTTA-1,Granulocytes -NHSIL12_ATTATCCAGCACCGCT-1,Macrophages -NHSIL12_ATTATCCCAATAGCAA-1,Monocytes -NHSIL12_ATTATCCGTCAAAGAT-1,Dendritic cells -NHSIL12_ATTATCCTCCTATGTT-1,Dendritic cells -NHSIL12_ATTCTACCATGCAATC-1,Monocytes -NHSIL12_ATTCTACGTGGGTCAA-1,Monocytes -NHSIL12_ATTCTACGTGTTCTTT-1,Monocytes -NHSIL12_ATTCTACTCCTGCTTG-1,Monocytes -NHSIL12_ATTCTACTCCTTGGTC-1,Monocytes -NHSIL12_ATTGGACCACATCTTT-1,Granulocytes -NHSIL12_ATTGGACTCGGATGTT-1,Dendritic cells -NHSIL12_ATTGGACTCTTGCAAG-1,Monocytes -NHSIL12_ATTGGTGAGCCGGTAA-1,Monocytes -NHSIL12_ATTGGTGCACTGTCGG-1,Monocytes -NHSIL12_ATTGGTGGTGTAATGA-1,NK cells -NHSIL12_ATTTCTGAGAGTGAGA-1,Dendritic cells -NHSIL12_ATTTCTGGTTTCCACC-1,Dendritic cells -NHSIL12_CAACCAAAGGAGTAGA-1,Monocytes -NHSIL12_CAACCAACAAGCCTAT-1,Monocytes -NHSIL12_CAACCAAGTCAACATC-1,Monocytes -NHSIL12_CAACCTCAGCGGCTTC-1,Monocytes -NHSIL12_CAACCTCCATATGAGA-1,Monocytes -NHSIL12_CAACCTCGTAACGCGA-1,Monocytes -NHSIL12_CAACTAGAGACACGAC-1,Monocytes -NHSIL12_CAACTAGAGGTGCAAC-1,Macrophages -NHSIL12_CAAGAAACATTAGCCA-1,Dendritic cells -NHSIL12_CAAGATCAGATTACCC-1,Monocytes -NHSIL12_CAAGATCAGGTAAACT-1,Monocytes -NHSIL12_CAAGATCCAGATGGCA-1,Monocytes -NHSIL12_CAAGATCCAGGCAGTA-1,Monocytes -NHSIL12_CAAGGCCAGTAGGTGC-1,T cells -NHSIL12_CAAGGCCAGTCCAGGA-1,Monocytes -NHSIL12_CAAGGCCCAAGTTCTG-1,Monocytes -NHSIL12_CAAGGCCCATCGGAAG-1,Monocytes -NHSIL12_CAAGTTGCAGACACTT-1,Monocytes -NHSIL12_CAAGTTGCAGACGTAG-1,Monocytes -NHSIL12_CAAGTTGTCATTGCGA-1,Monocytes -NHSIL12_CACAAACAGGAACTGC-1,Monocytes -NHSIL12_CACAAACAGGTTACCT-1,Macrophages -NHSIL12_CACAAACCACTACAGT-1,Dendritic cells -NHSIL12_CACACAACAATAACGA-1,Macrophages -NHSIL12_CACACAAGTTCAGGCC-1,Monocytes -NHSIL12_CACACCTAGGGCTCTC-1,Monocytes -NHSIL12_CACACCTGTTGGTAAA-1,Dendritic cells -NHSIL12_CACACTCGTCCCTTGT-1,Dendritic cells -NHSIL12_CACAGGCGTAGGCTGA-1,Monocytes -NHSIL12_CACAGGCGTGGTACAG-1,Monocytes -NHSIL12_CACAGGCGTTACGGAG-1,Monocytes -NHSIL12_CACAGGCTCAAACCGT-1,Monocytes -NHSIL12_CACAGGCTCTCCAGGG-1,Monocytes -NHSIL12_CACAGTAAGAACAATC-1,Monocytes -NHSIL12_CACATAGAGAGTCTGG-1,Monocytes -NHSIL12_CACATAGCAGTTCCCT-1,Monocytes -NHSIL12_CACATAGGTAAGTGGC-1,Monocytes -NHSIL12_CACATAGGTCGGGTCT-1,Monocytes -NHSIL12_CACATTTGTTTGACAC-1,Monocytes -NHSIL12_CACCACTAGGTGCTAG-1,Monocytes -NHSIL12_CACCACTAGTTGAGTA-1,Macrophages -NHSIL12_CACCACTTCAGTTTGG-1,Monocytes -NHSIL12_CACCAGGAGAGACTTA-1,T cells -NHSIL12_CACCAGGCATGCATGT-1,Monocytes -NHSIL12_CACCAGGCATTTGCTT-1,Monocytes -NHSIL12_CACCAGGGTAAGTAGT-1,T cells -NHSIL12_CACCAGGGTTCAGACT-1,Monocytes -NHSIL12_CACCTTGAGGCAAAGA-1,Granulocytes -NHSIL12_CACCTTGGTCATATCG-1,Dendritic cells -NHSIL12_CACCTTGGTTGTTTGG-1,Granulocytes -NHSIL12_CACCTTGTCACTCCTG-1,Monocytes -NHSIL12_CACCTTGTCGACCAGC-1,Monocytes -NHSIL12_CACTCCAGTCGCGGTT-1,Monocytes -NHSIL12_CACTCCAGTTCCCGAG-1,Granulocytes -NHSIL12_CAGAATCAGATGCCTT-1,Monocytes -NHSIL12_CAGATCAAGCCCAACC-1,Monocytes -NHSIL12_CAGATCAGTCCCTTGT-1,Monocytes -NHSIL12_CAGATCATCGCTGATA-1,Macrophages -NHSIL12_CAGCAGCAGAAGGGTA-1,T cells -NHSIL12_CAGCAGCGTGCACGAA-1,Monocytes -NHSIL12_CAGCAGCTCTCCAACC-1,Granulocytes -NHSIL12_CAGCATAAGAGGTAGA-1,Dendritic cells -NHSIL12_CAGCATAAGATATGGT-1,Dendritic cells -NHSIL12_CAGCATAAGCGAAGGG-1,Monocytes -NHSIL12_CAGCATAAGGTGCTTT-1,Monocytes -NHSIL12_CAGCATACAACAACCT-1,Macrophages -NHSIL12_CAGCCGAGTACCAGTT-1,Monocytes -NHSIL12_CAGCCGAGTTGTGGAG-1,Granulocytes -NHSIL12_CAGCGACTCCACTGGG-1,Monocytes -NHSIL12_CAGCGACTCCCAGGTG-1,Monocytes -NHSIL12_CAGCTGGAGCTAGTCT-1,Dendritic cells -NHSIL12_CAGCTGGAGTAGCCGA-1,Monocytes -NHSIL12_CAGCTGGGTAACGTTC-1,Dendritic cells -NHSIL12_CAGCTGGGTCCGTCAG-1,Monocytes -NHSIL12_CAGGTGCGTCATCCCT-1,Dendritic cells -NHSIL12_CAGTAACAGTGTTAGA-1,Monocytes -NHSIL12_CAGTAACTCAGCTGGC-1,Monocytes -NHSIL12_CAGTAACTCCCATTTA-1,Monocytes -NHSIL12_CAGTAACTCGGAGCAA-1,Monocytes -NHSIL12_CAGTCCTAGGGCACTA-1,Monocytes -NHSIL12_CAGTCCTAGGTGTTAA-1,Dendritic cells -NHSIL12_CAGTCCTCAAGTTGTC-1,Monocytes -NHSIL12_CATATGGGTAAATGTG-1,Monocytes -NHSIL12_CATATGGGTTACTGAC-1,Monocytes -NHSIL12_CATATGGTCACTTCAT-1,Monocytes -NHSIL12_CATATGGTCCAAGCCG-1,Monocytes -NHSIL12_CATCAAGAGAAAGTGG-1,Monocytes -NHSIL12_CATCAGAAGGCCGAAT-1,Monocytes -NHSIL12_CATCAGAAGTTAAGTG-1,Monocytes -NHSIL12_CATCAGACAGATAATG-1,Monocytes -NHSIL12_CATCAGAGTCTCGTTC-1,T cells -NHSIL12_CATCCACAGCGTAATA-1,Monocytes -NHSIL12_CATCCACCAGCTCGAC-1,Dendritic cells -NHSIL12_CATCGAACACTACAGT-1,Granulocytes -NHSIL12_CATCGAATCGTGGTCG-1,Monocytes -NHSIL12_CATCGGGAGCCAGTTT-1,Monocytes -NHSIL12_CATCGGGTCATGCTCC-1,Monocytes -NHSIL12_CATCGGGTCCAAGCCG-1,Granulocytes -NHSIL12_CATGACAAGGTGCACA-1,Dendritic cells -NHSIL12_CATGACAGTATATCCG-1,Monocytes -NHSIL12_CATGCCTGTATTCGTG-1,T cells -NHSIL12_CATGGCGCAACTGGCC-1,Monocytes -NHSIL12_CATGGCGCATACGCTA-1,Monocytes -NHSIL12_CATGGCGGTCTCGTTC-1,Monocytes -NHSIL12_CATTATCAGTTACGGG-1,Monocytes -NHSIL12_CATTATCTCTAACTTC-1,Dendritic cells -NHSIL12_CATTCGCAGACAGAGA-1,Monocytes -NHSIL12_CATTCGCAGATCTGAA-1,Monocytes -NHSIL12_CATTCGCAGGTAGCTG-1,Monocytes -NHSIL12_CATTCGCCAAATACAG-1,Monocytes -NHSIL12_CATTCGCCAAGAGTCG-1,Monocytes -NHSIL12_CATTCGCCATTGGCGC-1,Monocytes -NHSIL12_CATTCGCGTCCCTTGT-1,Monocytes -NHSIL12_CATTCGCGTGTCCTCT-1,Monocytes -NHSIL12_CATTCGCTCAGTTCGA-1,Monocytes -NHSIL12_CCAATCCAGTACGCGA-1,Monocytes -NHSIL12_CCAATCCAGTCGTACT-1,Monocytes -NHSIL12_CCAATCCGTGGTCCGT-1,Monocytes -NHSIL12_CCACCTACACCGAAAG-1,Monocytes -NHSIL12_CCACGGAAGCCTATGT-1,T cells -NHSIL12_CCACGGACATCACCCT-1,Monocytes -NHSIL12_CCACTACAGGATGTAT-1,Monocytes -NHSIL12_CCACTACGTTAGAACA-1,Monocytes -NHSIL12_CCAGCGAAGAAGGACA-1,Dendritic cells -NHSIL12_CCAGCGACAGACGCAA-1,Monocytes -NHSIL12_CCATGTCTCATCATTC-1,Granulocytes -NHSIL12_CCATTCGAGCCCGAAA-1,Dendritic cells -NHSIL12_CCCAATCAGCTAGGCA-1,Monocytes -NHSIL12_CCCAATCTCCAAGCCG-1,Granulocytes -NHSIL12_CCCAGTTAGCTGCAAG-1,Monocytes -NHSIL12_CCCAGTTCAAACGCGA-1,Monocytes -NHSIL12_CCCATACGTAAATGTG-1,Monocytes -NHSIL12_CCCATACGTACCATCA-1,Monocytes -NHSIL12_CCCTCCTAGGCCCGTT-1,Monocytes -NHSIL12_CCCTCCTGTAACGCGA-1,T cells -NHSIL12_CCCTCCTGTCTCCACT-1,Monocytes -NHSIL12_CCGGGATAGACTTGAA-1,Macrophages -NHSIL12_CCGGGATAGCGACGTA-1,Monocytes -NHSIL12_CCGGGATCAAGGACAC-1,Monocytes -NHSIL12_CCGGGATCACCAGGCT-1,Monocytes -NHSIL12_CCGGGATCAGCTGTAT-1,Granulocytes -NHSIL12_CCGTACTAGTCCTCCT-1,Monocytes -NHSIL12_CCGTGGATCATGCTCC-1,Monocytes -NHSIL12_CCGTGGATCTGAGGGA-1,Dendritic cells -NHSIL12_CCGTGGATCTGGTGTA-1,Macrophages -NHSIL12_CCGTTCACACCCAGTG-1,Monocytes -NHSIL12_CCGTTCACATGCCCGA-1,Monocytes -NHSIL12_CCTAAAGAGACTTGAA-1,Monocytes -NHSIL12_CCTAAAGAGAGTAAGG-1,Monocytes -NHSIL12_CCTAAAGAGTTAAGTG-1,Monocytes -NHSIL12_CCTACACCAATCTGCA-1,Monocytes -NHSIL12_CCTACACCACAGGTTT-1,Monocytes -NHSIL12_CCTACCACACAAGCCC-1,Dendritic cells -NHSIL12_CCTAGCTAGTGCCAGA-1,Monocytes -NHSIL12_CCTAGCTCATCAGTCA-1,Monocytes -NHSIL12_CCTATTAGTTGACGTT-1,Monocytes -NHSIL12_CCTCAGTAGTCCGGTC-1,Macrophages -NHSIL12_CCTCAGTCACCCTATC-1,Monocytes -NHSIL12_CCTCAGTTCCATGAGT-1,Monocytes -NHSIL12_CCTCAGTTCTATCGCC-1,Monocytes -NHSIL12_CCTCTGAGTAGAAAGG-1,Dendritic cells -NHSIL12_CCTCTGAGTAGCGATG-1,Macrophages -NHSIL12_CCTCTGAGTCAACTGT-1,Macrophages -NHSIL12_CCTCTGATCAAGAAGT-1,Monocytes -NHSIL12_CCTCTGATCGTTTATC-1,Granulocytes -NHSIL12_CCTCTGATCTTGTCAT-1,Dendritic cells -NHSIL12_CCTTCCCAGAGTAATC-1,Monocytes -NHSIL12_CCTTCCCAGGCTACGA-1,Monocytes -NHSIL12_CCTTCCCAGGGATGGG-1,Monocytes -NHSIL12_CCTTCCCGTATCACCA-1,Monocytes -NHSIL12_CCTTCCCTCCAAGTAC-1,Monocytes -NHSIL12_CCTTCCCTCTGAAAGA-1,Monocytes -NHSIL12_CCTTCGAAGGCTAGCA-1,Granulocytes -NHSIL12_CCTTTCTCACTCAGGC-1,Monocytes -NHSIL12_CCTTTCTGTATAATGG-1,Monocytes -NHSIL12_CCTTTCTGTTTAGGAA-1,Monocytes -NHSIL12_CCTTTCTTCCCTCTTT-1,Monocytes -NHSIL12_CCTTTCTTCGGACAAG-1,Monocytes -NHSIL12_CGAACATCAAGGACAC-1,Macrophages -NHSIL12_CGAACATCAGCATACT-1,Monocytes -NHSIL12_CGAATGTCAGCATGAG-1,Monocytes -NHSIL12_CGAATGTGTACCGTTA-1,Monocytes -NHSIL12_CGAATGTTCAGGCGAA-1,Granulocytes -NHSIL12_CGAATGTTCGGTGTCG-1,Monocytes -NHSIL12_CGAATGTTCTTGACGA-1,Granulocytes -NHSIL12_CGACCTTGTACCGAGA-1,Monocytes -NHSIL12_CGACTTCAGTCTCGGC-1,Granulocytes -NHSIL12_CGACTTCCACCGCTAG-1,Monocytes -NHSIL12_CGACTTCGTGTCGCTG-1,Macrophages -NHSIL12_CGAGCCACAAACTGCT-1,Monocytes -NHSIL12_CGAGCCAGTGCCTGCA-1,Macrophages -NHSIL12_CGAGCCAGTTAAGGGC-1,Monocytes -NHSIL12_CGATCGGAGACACTAA-1,Monocytes -NHSIL12_CGATCGGAGACTGTAA-1,Monocytes -NHSIL12_CGATCGGCAGGATTGG-1,Macrophages -NHSIL12_CGATCGGTCAGTCCCT-1,Monocytes -NHSIL12_CGATGGCAGACCGGAT-1,Monocytes -NHSIL12_CGATGGCCACAACGCC-1,Monocytes -NHSIL12_CGATGGCGTCGCATCG-1,Monocytes -NHSIL12_CGATGGCGTCTCACCT-1,Monocytes -NHSIL12_CGATGGCTCTCAAACG-1,Monocytes -NHSIL12_CGATGTAAGTAGGTGC-1,Monocytes -NHSIL12_CGATGTAGTAGCGTGA-1,Monocytes -NHSIL12_CGATTGAAGAGCTTCT-1,Dendritic cells -NHSIL12_CGATTGACAGTACACT-1,Monocytes -NHSIL12_CGATTGAGTCGATTGT-1,Monocytes -NHSIL12_CGATTGAGTCTGCCAG-1,Monocytes -NHSIL12_CGCCAAGAGCCACGCT-1,T cells -NHSIL12_CGCCAAGCACCACGTG-1,Dendritic cells -NHSIL12_CGCCAAGCACGGTAAG-1,Monocytes -NHSIL12_CGCGGTATCGGATGGA-1,Macrophages -NHSIL12_CGCGTTTCAATGGACG-1,Macrophages -NHSIL12_CGCGTTTCATCACGTA-1,Monocytes -NHSIL12_CGCGTTTGTACCATCA-1,Macrophages -NHSIL12_CGCGTTTGTGTAACGG-1,Monocytes -NHSIL12_CGCGTTTGTGTCCTCT-1,Monocytes -NHSIL12_CGCGTTTTCGGTCTAA-1,Monocytes -NHSIL12_CGCGTTTTCTCTGTCG-1,Monocytes -NHSIL12_CGCTATCGTGACGCCT-1,Monocytes -NHSIL12_CGCTATCGTGCACTTA-1,Monocytes -NHSIL12_CGCTATCGTGCAGTAG-1,Monocytes -NHSIL12_CGCTATCTCTACTATC-1,Monocytes -NHSIL12_CGCTGGACACAACGCC-1,Monocytes -NHSIL12_CGCTGGAGTACAAGTA-1,Monocytes -NHSIL12_CGCTGGATCTGAGTGT-1,Monocytes -NHSIL12_CGCTGGATCTGGTATG-1,Monocytes -NHSIL12_CGGACACTCTTGAGAC-1,Monocytes -NHSIL12_CGGACTGAGAATCTCC-1,Monocytes -NHSIL12_CGGACTGCACAGACAG-1,Monocytes -NHSIL12_CGGACTGCATTCCTCG-1,Monocytes -NHSIL12_CGGACTGTCAAACCGT-1,Monocytes -NHSIL12_CGGAGCTCATTGGCGC-1,Monocytes -NHSIL12_CGGAGCTTCCTTTCTC-1,Granulocytes -NHSIL12_CGGAGTCCAAGGGTCA-1,Monocytes -NHSIL12_CGGAGTCCATTTGCCC-1,Monocytes -NHSIL12_CGGGTCAGTCTGCAAT-1,Macrophages -NHSIL12_CGGGTCAGTGCAACTT-1,Monocytes -NHSIL12_CGGGTCATCCTTGGTC-1,Monocytes -NHSIL12_CGGTTAAAGATGTAAC-1,Granulocytes -NHSIL12_CGGTTAACACTTACGA-1,Monocytes -NHSIL12_CGGTTAAGTAGCGTCC-1,Dendritic cells -NHSIL12_CGGTTAATCCACGAAT-1,Granulocytes -NHSIL12_CGTAGCGTCAGCTGGC-1,Monocytes -NHSIL12_CGTAGCGTCCTAGGGC-1,Monocytes -NHSIL12_CGTAGCGTCTCGCTTG-1,Monocytes -NHSIL12_CGTAGGCTCGGCGCTA-1,Monocytes -NHSIL12_CGTCACTAGACACGAC-1,Monocytes -NHSIL12_CGTCACTAGATACACA-1,T cells -NHSIL12_CGTCACTAGGATCGCA-1,Macrophages -NHSIL12_CGTCACTGTGTCGCTG-1,Granulocytes -NHSIL12_CGTCACTTCGCATGAT-1,Monocytes -NHSIL12_CGTCAGGGTGGCGAAT-1,Monocytes -NHSIL12_CGTCCATAGAATCTCC-1,Monocytes -NHSIL12_CGTCCATCACAACTGT-1,Monocytes -NHSIL12_CGTCCATGTATATGGA-1,Monocytes -NHSIL12_CGTCCATGTGCGAAAC-1,Monocytes -NHSIL12_CGTCTACCACACCGAC-1,Monocytes -NHSIL12_CGTCTACGTTTCCACC-1,Dendritic cells -NHSIL12_CGTGAGCTCGCCTGTT-1,NK cells -NHSIL12_CGTGTAAAGACTACAA-1,Monocytes -NHSIL12_CGTGTAAAGCGTAATA-1,Monocytes -NHSIL12_CGTGTAAAGCTTCGCG-1,Monocytes -NHSIL12_CGTGTAACAACTGGCC-1,Monocytes -NHSIL12_CGTGTAAGTCTCCACT-1,Macrophages -NHSIL12_CGTGTCTAGTGCCAGA-1,T cells -NHSIL12_CGTTAGACAGCTCCGA-1,Granulocytes -NHSIL12_CGTTAGAGTTGAGGTG-1,Macrophages -NHSIL12_CGTTCTGAGTGTTAGA-1,NK cells -NHSIL12_CGTTCTGCATCTCCCA-1,Monocytes -NHSIL12_CGTTCTGTCCGCATCT-1,Macrophages -NHSIL12_CGTTGGGAGGATGGAA-1,Monocytes -NHSIL12_CGTTGGGAGTCCGTAT-1,Monocytes -NHSIL12_CGTTGGGTCGCCTGTT-1,Monocytes -NHSIL12_CTAACTTAGGGTATCG-1,Dendritic cells -NHSIL12_CTAACTTAGTCGTACT-1,Macrophages -NHSIL12_CTAACTTAGTGAACGC-1,Monocytes -NHSIL12_CTAACTTCAGCTGTTA-1,Monocytes -NHSIL12_CTAACTTTCACGACTA-1,Dendritic cells -NHSIL12_CTAACTTTCCAGAGGA-1,Dendritic cells -NHSIL12_CTAAGACAGACTACAA-1,Macrophages -NHSIL12_CTAAGACAGTCGTTTG-1,Monocytes -NHSIL12_CTAAGACCACAAGACG-1,Macrophages -NHSIL12_CTAAGACCATGGTCAT-1,NK cells -NHSIL12_CTAAGACGTCATCGGC-1,Monocytes -NHSIL12_CTAAGACGTGCTGTAT-1,Monocytes -NHSIL12_CTAATGGGTGCCTTGG-1,Monocytes -NHSIL12_CTAATGGTCTTAGAGC-1,Dendritic cells -NHSIL12_CTACACCGTCGGATCC-1,Monocytes -NHSIL12_CTACACCGTGTCAATC-1,Granulocytes -NHSIL12_CTACATTAGATCACGG-1,Monocytes -NHSIL12_CTACATTAGGAATTAC-1,Monocytes -NHSIL12_CTACATTAGGTGGGTT-1,T cells -NHSIL12_CTACCCACATACCATG-1,Monocytes -NHSIL12_CTACCCATCTCTTGAT-1,Macrophages -NHSIL12_CTAGAGTAGCTGCGAA-1,Macrophages -NHSIL12_CTAGAGTTCTGTCAAG-1,Monocytes -NHSIL12_CTAGCCTGTCTCCACT-1,Monocytes -NHSIL12_CTAGCCTTCGAATGCT-1,Monocytes -NHSIL12_CTAGCCTTCTTGTTTG-1,Monocytes -NHSIL12_CTAGTGAAGGATCGCA-1,Granulocytes -NHSIL12_CTAGTGAGTACTCGCG-1,Monocytes -NHSIL12_CTCACACAGAGTCGGT-1,Monocytes -NHSIL12_CTCAGAAGTGACGCCT-1,Monocytes -NHSIL12_CTCAGAATCCGCGTTT-1,Monocytes -NHSIL12_CTCATTAAGCACACAG-1,Monocytes -NHSIL12_CTCATTAAGCACCGTC-1,Monocytes -NHSIL12_CTCATTAAGGAGTTGC-1,Dendritic cells -NHSIL12_CTCATTATCCTTTCTC-1,Monocytes -NHSIL12_CTCCTAGAGGCCCTCA-1,Granulocytes -NHSIL12_CTCCTAGCACCACCAG-1,Monocytes -NHSIL12_CTCCTAGGTTCAACCA-1,Dendritic cells -NHSIL12_CTCCTAGTCAAACCAC-1,NK cells -NHSIL12_CTCGAAAAGCGATAGC-1,Dendritic cells -NHSIL12_CTCGAAAAGCTAAGAT-1,Granulocytes -NHSIL12_CTCGAAACAACACCCG-1,Dendritic cells -NHSIL12_CTCGAAAGTTAAGATG-1,Macrophages -NHSIL12_CTCGAAAGTTATGTGC-1,Monocytes -NHSIL12_CTCGAAATCAAACCAC-1,T cells -NHSIL12_CTCGAGGCAATCCGAT-1,Monocytes -NHSIL12_CTCGAGGGTAGAGCTG-1,Monocytes -NHSIL12_CTCGAGGTCACATACG-1,T cells -NHSIL12_CTCGGAGCACAGACAG-1,T cells -NHSIL12_CTCGGAGGTGTTAAGA-1,Macrophages -NHSIL12_CTCGGGATCAACACTG-1,Monocytes -NHSIL12_CTCGGGATCTCGTTTA-1,Monocytes -NHSIL12_CTCGTCAAGTTACCCA-1,Monocytes -NHSIL12_CTCGTCAGTCTGATTG-1,Monocytes -NHSIL12_CTCGTCATCTACTCAT-1,Monocytes -NHSIL12_CTCTAATGTCTAGAGG-1,Monocytes -NHSIL12_CTCTACGGTAAGAGGA-1,Monocytes -NHSIL12_CTCTACGTCGTCTGAA-1,Monocytes -NHSIL12_CTCTGGTCAGTTCCCT-1,Monocytes -NHSIL12_CTCTGGTGTTTGTGTG-1,Monocytes -NHSIL12_CTCTGGTTCCTCATTA-1,Monocytes -NHSIL12_CTGAAACGTACCTACA-1,Monocytes -NHSIL12_CTGATAGCACCCATTC-1,Monocytes -NHSIL12_CTGATAGGTTCCACTC-1,Monocytes -NHSIL12_CTGATCCAGACAGGCT-1,Macrophages -NHSIL12_CTGATCCGTACCTACA-1,Macrophages -NHSIL12_CTGATCCGTGGAAAGA-1,Monocytes -NHSIL12_CTGATCCGTGGTGTAG-1,Macrophages -NHSIL12_CTGATCCTCCGAAGAG-1,Monocytes -NHSIL12_CTGCCTAAGCCTATGT-1,Monocytes -NHSIL12_CTGCCTAGTCATTAGC-1,Monocytes -NHSIL12_CTGCCTAGTTCAGACT-1,Monocytes -NHSIL12_CTGCTGTTCATCATTC-1,Monocytes -NHSIL12_CTGCTGTTCGGAGGTA-1,Macrophages -NHSIL12_CTGCTGTTCGTCTGAA-1,Dendritic cells -NHSIL12_CTGGTCTAGACCTTTG-1,Monocytes -NHSIL12_CTGGTCTAGTGTACCT-1,T cells -NHSIL12_CTGGTCTAGTTAAGTG-1,Monocytes -NHSIL12_CTGTGCTAGACTTTCG-1,Macrophages -NHSIL12_CTGTGCTAGTTCGCAT-1,Granulocytes -NHSIL12_CTGTGCTCACGTCAGC-1,Monocytes -NHSIL12_CTGTGCTCAGCTCCGA-1,Monocytes -NHSIL12_CTGTTTAAGAGGTACC-1,Macrophages -NHSIL12_CTGTTTATCATGCTCC-1,Macrophages -NHSIL12_CTTAACTAGGAATTAC-1,Granulocytes -NHSIL12_CTTAACTTCTGAGTGT-1,Monocytes -NHSIL12_CTTAACTTCTTCAACT-1,T cells -NHSIL12_CTTACCGAGCTGAACG-1,Monocytes -NHSIL12_CTTACCGGTACCATCA-1,Monocytes -NHSIL12_CTTACCGTCTAGAGTC-1,Granulocytes -NHSIL12_CTTAGGAGTGTGCGTC-1,Monocytes -NHSIL12_CTTCTCTAGCGCTTAT-1,Monocytes -NHSIL12_CTTCTCTAGCTGAACG-1,Macrophages -NHSIL12_CTTCTCTAGTTAGCGG-1,Monocytes -NHSIL12_CTTCTCTGTTGAGGTG-1,Monocytes -NHSIL12_CTTGGCTAGAATGTGT-1,Macrophages -NHSIL12_CTTGGCTAGATACACA-1,Monocytes -NHSIL12_CTTGGCTAGCGAAGGG-1,Monocytes -NHSIL12_CTTGGCTTCTTTAGGG-1,Dendritic cells -NHSIL12_CTTTGCGCACGGTAAG-1,Macrophages -NHSIL12_CTTTGCGCAGAGCCAA-1,Monocytes -NHSIL12_CTTTGCGCATTGGTAC-1,Monocytes -NHSIL12_GAAACTCAGGCAGTCA-1,Monocytes -NHSIL12_GAAACTCCACAGCCCA-1,Monocytes -NHSIL12_GAAACTCGTACGAAAT-1,Macrophages -NHSIL12_GAAATGAAGATCCCGC-1,Monocytes -NHSIL12_GAAATGAAGCAATCTC-1,Monocytes -NHSIL12_GAAATGAGTCTCTCGT-1,Granulocytes -NHSIL12_GAACGGAAGTTATCGC-1,Monocytes -NHSIL12_GAATAAGGTAATAGCA-1,Dendritic cells -NHSIL12_GAATAAGTCGCTAGCG-1,Monocytes -NHSIL12_GAATGAAGTACCGAGA-1,Granulocytes -NHSIL12_GAATGAAGTGAGGGTT-1,Macrophages -NHSIL12_GAATGAATCCCAGGTG-1,Monocytes -NHSIL12_GAATGAATCGCGTAGC-1,Dendritic cells -NHSIL12_GACACGCTCGGCTTGG-1,Monocytes -NHSIL12_GACAGAGAGCAGCCTC-1,Granulocytes -NHSIL12_GACAGAGCAAGTACCT-1,Monocytes -NHSIL12_GACAGAGGTTCTGTTT-1,Monocytes -NHSIL12_GACCAATAGCCCAACC-1,Monocytes -NHSIL12_GACCAATAGGCTCAGA-1,Monocytes -NHSIL12_GACCTGGAGGCCCGTT-1,Macrophages -NHSIL12_GACCTGGCAAGCTGAG-1,Monocytes -NHSIL12_GACCTGGCAGGATCGA-1,Monocytes -NHSIL12_GACGCGTAGCACCGTC-1,Monocytes -NHSIL12_GACGCGTGTTTGTGTG-1,Monocytes -NHSIL12_GACGGCTAGTAGTGCG-1,Monocytes -NHSIL12_GACGGCTAGTCACGCC-1,Monocytes -NHSIL12_GACGGCTAGTCGTACT-1,Fibroblasts -NHSIL12_GACGGCTTCACAGGCC-1,Monocytes -NHSIL12_GACGGCTTCATGCATG-1,Monocytes -NHSIL12_GACGTGCAGATCTGCT-1,Monocytes -NHSIL12_GACGTGCAGGGTATCG-1,Monocytes -NHSIL12_GACGTGCAGTACTTGC-1,Monocytes -NHSIL12_GACGTGCCACAGGTTT-1,Monocytes -NHSIL12_GACGTGCGTGGTACAG-1,Monocytes -NHSIL12_GACGTGCTCCCTCAGT-1,Monocytes -NHSIL12_GACGTTAAGGCGATAC-1,Monocytes -NHSIL12_GACGTTAAGTGTTGAA-1,Dendritic cells -NHSIL12_GACGTTAGTTAAGTAG-1,Monocytes -NHSIL12_GACGTTATCATACGGT-1,Monocytes -NHSIL12_GACTAACAGGCCATAG-1,Monocytes -NHSIL12_GACTAACCAAGCCGCT-1,Dendritic cells -NHSIL12_GACTAACCACAACTGT-1,Monocytes -NHSIL12_GACTAACGTTCAGACT-1,Monocytes -NHSIL12_GACTACACAAGAAAGG-1,T cells -NHSIL12_GACTACAGTAAATGTG-1,Granulocytes -NHSIL12_GACTACAGTCATCGGC-1,Monocytes -NHSIL12_GACTACAGTCGACTGC-1,Monocytes -NHSIL12_GACTGCGAGCGATAGC-1,Monocytes -NHSIL12_GACTGCGAGCTGTTCA-1,Monocytes -NHSIL12_GACTGCGGTCCTGCTT-1,Monocytes -NHSIL12_GACTGCGTCCCTTGTG-1,Monocytes -NHSIL12_GAGCAGACACGCCAGT-1,Monocytes -NHSIL12_GAGCAGAGTTGGTGGA-1,Monocytes -NHSIL12_GAGGTGACATCCCACT-1,Monocytes -NHSIL12_GAGGTGATCCTAAGTG-1,Macrophages -NHSIL12_GATCAGTAGCGTGAAC-1,Monocytes -NHSIL12_GATCAGTGTCCGAAGA-1,Granulocytes -NHSIL12_GATCGATAGCAAATCA-1,Macrophages -NHSIL12_GATCGATAGGGAAACA-1,Monocytes -NHSIL12_GATCGATGTTAAGACA-1,T cells -NHSIL12_GATCGCGAGACGCACA-1,Macrophages -NHSIL12_GATCGCGGTAGTGAAT-1,Monocytes -NHSIL12_GATCGCGTCCTCGCAT-1,Macrophages -NHSIL12_GATCGTAGTACCGAGA-1,Monocytes -NHSIL12_GATCGTAGTAGGGTAC-1,Monocytes -NHSIL12_GATCGTAGTGTTAAGA-1,Monocytes -NHSIL12_GATCGTAGTGTTGGGA-1,Granulocytes -NHSIL12_GATCGTATCAGTACGT-1,Monocytes -NHSIL12_GATCGTATCTACTCAT-1,Monocytes -NHSIL12_GATCTAGAGACCTAGG-1,Monocytes -NHSIL12_GATCTAGAGGAATCGC-1,Monocytes -NHSIL12_GATCTAGGTTCGGCAC-1,Monocytes -NHSIL12_GATCTAGTCGTCTGAA-1,Monocytes -NHSIL12_GATGAAAAGTCCCACG-1,Monocytes -NHSIL12_GATGAGGAGCCCGAAA-1,Granulocytes -NHSIL12_GATGAGGCATTTGCCC-1,NK cells -NHSIL12_GATGAGGGTCGGGTCT-1,Monocytes -NHSIL12_GATGCTAAGATGCCTT-1,Monocytes -NHSIL12_GATGCTATCAGGCCCA-1,Monocytes -NHSIL12_GATGCTATCTACCAGA-1,Dendritic cells -NHSIL12_GATGCTATCTTGTACT-1,Monocytes -NHSIL12_GATTCAGAGGTCATCT-1,Macrophages -NHSIL12_GATTCAGCATGCCCGA-1,Monocytes -NHSIL12_GATTCAGGTGTCGCTG-1,Macrophages -NHSIL12_GCAAACTAGCGATTCT-1,Monocytes -NHSIL12_GCAAACTCACAAGACG-1,Monocytes -NHSIL12_GCAAACTTCCTCGCAT-1,Monocytes -NHSIL12_GCAATCAGTGCAACTT-1,Monocytes -NHSIL12_GCACATAAGTTAACGA-1,Monocytes -NHSIL12_GCACATACACTTGGAT-1,Monocytes -NHSIL12_GCACATAGTAAGTGGC-1,Dendritic cells -NHSIL12_GCACATAGTACTCTCC-1,T cells -NHSIL12_GCACATATCAAACAAG-1,Monocytes -NHSIL12_GCACATATCGCCCTTA-1,Monocytes -NHSIL12_GCAGTTAAGAGCTGCA-1,Monocytes -NHSIL12_GCAGTTAAGCCCAACC-1,Monocytes -NHSIL12_GCAGTTAAGTTTAGGA-1,Granulocytes -NHSIL12_GCATACACAGTAGAGC-1,Monocytes -NHSIL12_GCATACACATGGTCTA-1,Monocytes -NHSIL12_GCATGATGTCGCATAT-1,Monocytes -NHSIL12_GCATGATTCAAGAAGT-1,Monocytes -NHSIL12_GCATGATTCCAGGGCT-1,Granulocytes -NHSIL12_GCATGCGCAAACGCGA-1,Monocytes -NHSIL12_GCATGTAAGACAGAGA-1,Dendritic cells -NHSIL12_GCATGTAAGTCATGCT-1,Monocytes -NHSIL12_GCCAAATAGTGTTAGA-1,Dendritic cells -NHSIL12_GCCAAATAGTTCCACA-1,Monocytes -NHSIL12_GCCAAATGTCACCTAA-1,Dendritic cells -NHSIL12_GCCAAATTCAGTTGAC-1,Monocytes -NHSIL12_GCCAAATTCGCCGTGA-1,Granulocytes -NHSIL12_GCCTCTAAGAAGCCCA-1,Monocytes -NHSIL12_GCCTCTAAGGATCGCA-1,Monocytes -NHSIL12_GCCTCTACAATAAGCA-1,NK cells -NHSIL12_GCCTCTACAGATCTGT-1,Dendritic cells -NHSIL12_GCGACCACAAATCCGT-1,Monocytes -NHSIL12_GCGACCAGTACCGTTA-1,Monocytes -NHSIL12_GCGAGAAAGCAATCTC-1,Dendritic cells -NHSIL12_GCGAGAAGTGGACGAT-1,Monocytes -NHSIL12_GCGCAACAGGATGCGT-1,Macrophages -NHSIL12_GCGCAACCATATGCTG-1,Monocytes -NHSIL12_GCGCAACGTGCAGGTA-1,Monocytes -NHSIL12_GCGCAACTCGCCCTTA-1,Monocytes -NHSIL12_GCGCAGTAGTTCGATC-1,Granulocytes -NHSIL12_GCGCAGTGTCACCCAG-1,Monocytes -NHSIL12_GCGCAGTTCTGTGCAA-1,Monocytes -NHSIL12_GCGCCAAAGACTGTAA-1,Monocytes -NHSIL12_GCGCCAAAGCGTTCCG-1,Monocytes -NHSIL12_GCGCCAAAGGATCGCA-1,Monocytes -NHSIL12_GCGCCAAAGTATCTCG-1,Monocytes -NHSIL12_GCGCCAACAGGTCTCG-1,Monocytes -NHSIL12_GCGCCAACATGGTCAT-1,Monocytes -NHSIL12_GCGCCAATCCGGCACA-1,NK cells -NHSIL12_GCGCCAATCTGCGACG-1,Monocytes -NHSIL12_GCGCGATGTACAGTTC-1,Monocytes -NHSIL12_GCGGGTTGTCTCTCTG-1,Monocytes -NHSIL12_GCGGGTTGTTCATGGT-1,Monocytes -NHSIL12_GCGGGTTGTTCTGGTA-1,Macrophages -NHSIL12_GCTCCTAAGCCTATGT-1,Monocytes -NHSIL12_GCTCTGTCACGGTAGA-1,Monocytes -NHSIL12_GCTCTGTGTCTCTCTG-1,Monocytes -NHSIL12_GCTCTGTTCAGGTTCA-1,Monocytes -NHSIL12_GCTCTGTTCTGGTTCC-1,Dendritic cells -NHSIL12_GCTGCAGGTCGTCTTC-1,Monocytes -NHSIL12_GCTGCTTCACTCGACG-1,Monocytes -NHSIL12_GCTGCTTGTCACACGC-1,NK cells -NHSIL12_GCTGGGTAGAGACTTA-1,Monocytes -NHSIL12_GCTGGGTAGTTGTCGT-1,Monocytes -NHSIL12_GCTTCCAAGTAGATGT-1,NK cells -NHSIL12_GCTTCCACAGCGAACA-1,Monocytes -NHSIL12_GCTTCCAGTGTCGCTG-1,Monocytes -NHSIL12_GCTTGAAAGAGCTTCT-1,Monocytes -NHSIL12_GCTTGAAAGGCGACAT-1,Monocytes -NHSIL12_GGAAAGCAGTACGCCC-1,Monocytes -NHSIL12_GGAAAGCCAGTATGCT-1,Dendritic cells -NHSIL12_GGAAAGCCATGCCCGA-1,Dendritic cells -NHSIL12_GGAAAGCGTGCTCTTC-1,Monocytes -NHSIL12_GGAAAGCGTGTCTGAT-1,Monocytes -NHSIL12_GGAAAGCGTTACCAGT-1,Monocytes -NHSIL12_GGAACTTAGCTGCCCA-1,Granulocytes -NHSIL12_GGAACTTCATCTGGTA-1,T cells -NHSIL12_GGAATAAGTTGTCGCG-1,Dendritic cells -NHSIL12_GGAATAATCAGGTTCA-1,Monocytes -NHSIL12_GGACAAGCAGACGCAA-1,Macrophages -NHSIL12_GGACAAGGTCTTCTCG-1,Macrophages -NHSIL12_GGACAAGGTGCCTGCA-1,Endothelial cells -NHSIL12_GGACAAGTCTCCGGTT-1,Monocytes -NHSIL12_GGACAGACACATTCGA-1,Granulocytes -NHSIL12_GGACAGATCGGTTAAC-1,Monocytes -NHSIL12_GGACAGATCTCGAGTA-1,Dendritic cells -NHSIL12_GGAGCAAAGACAGAGA-1,Macrophages -NHSIL12_GGAGCAAGTCCTCTTG-1,Monocytes -NHSIL12_GGAGCAATCTTGCATT-1,Monocytes -NHSIL12_GGATGTTTCGCGGATC-1,Monocytes -NHSIL12_GGATTACAGTTACCCA-1,Monocytes -NHSIL12_GGCAATTAGCGTGAGT-1,Macrophages -NHSIL12_GGCAATTGTTTGACTG-1,Monocytes -NHSIL12_GGCCGATAGACTAAGT-1,Macrophages -NHSIL12_GGCCGATCAGCATGAG-1,NK cells -NHSIL12_GGCCGATGTCGAACAG-1,Monocytes -NHSIL12_GGCGACTAGGACACCA-1,Monocytes -NHSIL12_GGCGACTGTACCCAAT-1,Monocytes -NHSIL12_GGCGTGTTCAAACCAC-1,Monocytes -NHSIL12_GGCTCGAGTCCGAGTC-1,Dendritic cells -NHSIL12_GGCTGGTAGAGCTTCT-1,Macrophages -NHSIL12_GGCTGGTAGGGATCTG-1,Monocytes -NHSIL12_GGCTGGTCAGGGTATG-1,Macrophages -NHSIL12_GGCTGGTGTCCTCCAT-1,Dendritic cells -NHSIL12_GGCTGGTTCGTAGGAG-1,Dendritic cells -NHSIL12_GGCTGGTTCTATGTGG-1,Monocytes -NHSIL12_GGGACCTTCTCGTTTA-1,Monocytes -NHSIL12_GGGATGACACACATGT-1,Macrophages -NHSIL12_GGGATGACATGCCCGA-1,Monocytes -NHSIL12_GGGCACTGTATAGTAG-1,Monocytes -NHSIL12_GGGCACTGTTACCGAT-1,Monocytes -NHSIL12_GGGCATCAGTCTCCTC-1,Monocytes -NHSIL12_GGGCATCCAACTTGAC-1,Monocytes -NHSIL12_GGGCATCCAATAAGCA-1,T cells -NHSIL12_GGGCATCCAGATTGCT-1,Monocytes -NHSIL12_GGGCATCTCGTTGACA-1,Dendritic cells -NHSIL12_GGGTCTGCAGCTGCAC-1,Monocytes -NHSIL12_GGGTCTGCATTCGACA-1,Macrophages -NHSIL12_GGGTCTGGTCAAAGAT-1,Monocytes -NHSIL12_GGGTCTGGTGAGGGTT-1,Monocytes -NHSIL12_GGGTCTGGTGCAACGA-1,Monocytes -NHSIL12_GGGTTGCCACTTAAGC-1,Monocytes -NHSIL12_GGGTTGCCAGCCTGTG-1,Monocytes -NHSIL12_GGGTTGCGTTATGCGT-1,Monocytes -NHSIL12_GGTATTGAGGATATAC-1,Monocytes -NHSIL12_GGTATTGAGGGTATCG-1,Monocytes -NHSIL12_GGTATTGCACCACGTG-1,Monocytes -NHSIL12_GGTATTGGTACCTACA-1,Monocytes -NHSIL12_GGTGAAGAGCTGCAAG-1,Macrophages -NHSIL12_GGTGCGTAGCTAAGAT-1,Monocytes -NHSIL12_GGTGCGTAGTTCGCGC-1,Monocytes -NHSIL12_GGTGCGTTCAGCTCTC-1,Monocytes -NHSIL12_GGTGTTAAGATAGTCA-1,Monocytes -NHSIL12_GGTGTTATCACGCGGT-1,Monocytes -NHSIL12_GTAACGTAGTGGACGT-1,Monocytes -NHSIL12_GTAACGTCATGTAGTC-1,Monocytes -NHSIL12_GTAACGTGTCAACATC-1,Monocytes -NHSIL12_GTAACGTTCTCTGAGA-1,Monocytes -NHSIL12_GTAACGTTCTGCAGTA-1,Monocytes -NHSIL12_GTAACTGAGGCGATAC-1,Monocytes -NHSIL12_GTAACTGCAGGGTTAG-1,Monocytes -NHSIL12_GTAACTGCAGTCGTGC-1,Monocytes -NHSIL12_GTACTCCAGCCCAGCT-1,Monocytes -NHSIL12_GTACTCCAGGCAGGTT-1,Monocytes -NHSIL12_GTACTCCCAATGCCAT-1,Dendritic cells -NHSIL12_GTACTCCCACCTCGGA-1,T cells -NHSIL12_GTACTCCGTGCGATAG-1,Monocytes -NHSIL12_GTACTTTAGAAGGGTA-1,NK cells -NHSIL12_GTACTTTAGTGGTCCC-1,Monocytes -NHSIL12_GTACTTTCACTACAGT-1,Monocytes -NHSIL12_GTACTTTCAGCCTATA-1,Macrophages -NHSIL12_GTACTTTCATTGGTAC-1,Monocytes -NHSIL12_GTAGGCCTCCGCGTTT-1,Monocytes -NHSIL12_GTAGTCAGTTCAGTAC-1,Monocytes -NHSIL12_GTATCTTAGCCAGTAG-1,Macrophages -NHSIL12_GTATCTTCATTGGTAC-1,Monocytes -NHSIL12_GTATCTTGTTTGGCGC-1,Monocytes -NHSIL12_GTATCTTTCATCTGTT-1,Monocytes -NHSIL12_GTATCTTTCTCTAGGA-1,Monocytes -NHSIL12_GTATTCTAGAGTAAGG-1,Granulocytes -NHSIL12_GTATTCTCAAAGGCGT-1,Monocytes -NHSIL12_GTATTCTGTATATGGA-1,Monocytes -NHSIL12_GTCAAGTGTCGAATCT-1,Monocytes -NHSIL12_GTCAAGTTCTATCCTA-1,Monocytes -NHSIL12_GTCACAACATGCAATC-1,Monocytes -NHSIL12_GTCACGGCAAAGCGGT-1,Monocytes -NHSIL12_GTCACGGGTTCCGGCA-1,Monocytes -NHSIL12_GTCATTTCATATGCTG-1,Monocytes -NHSIL12_GTCATTTTCAGAGGTG-1,Monocytes -NHSIL12_GTCCTCAGTCAGAAGC-1,Monocytes -NHSIL12_GTCGGGTAGGGAACGG-1,Monocytes -NHSIL12_GTCGGGTGTCGTGGCT-1,Monocytes -NHSIL12_GTCGGGTGTTCTCATT-1,Monocytes -NHSIL12_GTCGGGTTCTCTAAGG-1,Dendritic cells -NHSIL12_GTCGTAAGTTCACCTC-1,Monocytes -NHSIL12_GTCTCGTGTGATAAGT-1,Monocytes -NHSIL12_GTCTTCGGTTGCTCCT-1,Monocytes -NHSIL12_GTCTTCGTCGACAGCC-1,Monocytes -NHSIL12_GTGAAGGAGCACAGGT-1,Monocytes -NHSIL12_GTGAAGGCATAAGACA-1,Monocytes -NHSIL12_GTGAAGGCATCGGACC-1,Monocytes -NHSIL12_GTGAAGGGTATTCGTG-1,Monocytes -NHSIL12_GTGAAGGTCTGTCAAG-1,T cells -NHSIL12_GTGCAGCAGAATGTGT-1,Granulocytes -NHSIL12_GTGCAGCGTGATGTCT-1,Granulocytes -NHSIL12_GTGCAGCTCATTATCC-1,Monocytes -NHSIL12_GTGCAGCTCCTTGACC-1,Monocytes -NHSIL12_GTGCGGTGTCCAACTA-1,Monocytes -NHSIL12_GTGCTTCAGAGGGATA-1,Macrophages -NHSIL12_GTGCTTCAGCGGATCA-1,Monocytes -NHSIL12_GTGCTTCCATGCAACT-1,Dendritic cells -NHSIL12_GTGCTTCGTTCGTTGA-1,Monocytes -NHSIL12_GTGCTTCTCTACTCAT-1,Monocytes -NHSIL12_GTGGGTCAGACGACGT-1,Monocytes -NHSIL12_GTGGGTCCAGTTTACG-1,Monocytes -NHSIL12_GTGTGCGAGAGGTAGA-1,Dendritic cells -NHSIL12_GTGTGCGAGGGTTTCT-1,Monocytes -NHSIL12_GTGTGCGCAAGAGTCG-1,Monocytes -NHSIL12_GTGTGCGCACGCATCG-1,Macrophages -NHSIL12_GTGTTAGTCTGTTGAG-1,Macrophages -NHSIL12_GTTAAGCAGGTACTCT-1,Monocytes -NHSIL12_GTTAAGCAGTCGCCGT-1,Monocytes -NHSIL12_GTTAAGCGTAGATTAG-1,Monocytes -NHSIL12_GTTAAGCTCCACGACG-1,Dendritic cells -NHSIL12_GTTAAGCTCCCATTTA-1,Monocytes -NHSIL12_GTTACAGCATTCGACA-1,T cells -NHSIL12_GTTACAGGTATGAAAC-1,Monocytes -NHSIL12_GTTACAGGTCGCTTTC-1,Monocytes -NHSIL12_GTTCATTAGACTTGAA-1,Monocytes -NHSIL12_GTTCATTCATTCCTGC-1,Monocytes -NHSIL12_GTTCATTGTAAATGAC-1,Macrophages -NHSIL12_GTTCATTTCATAAAGG-1,Monocytes -NHSIL12_GTTCGGGAGCATCATC-1,Monocytes -NHSIL12_GTTCGGGCAAGAAAGG-1,Monocytes -NHSIL12_GTTCTCGGTACAAGTA-1,Monocytes -NHSIL12_GTTTCTATCTAACTGG-1,T cells -NHSIL12_TAAACCGAGGATGGAA-1,Monocytes -NHSIL12_TAAACCGTCAGATAAG-1,Monocytes -NHSIL12_TAAGAGAAGTATCTCG-1,Monocytes -NHSIL12_TAAGCGTCAAACGTGG-1,Macrophages -NHSIL12_TAAGCGTGTGGTGTAG-1,Dendritic cells -NHSIL12_TAAGTGCAGGTAGCTG-1,Monocytes -NHSIL12_TAAGTGCGTAAATGAC-1,Monocytes -NHSIL12_TAAGTGCGTCTTGATG-1,Macrophages -NHSIL12_TACACGATCCTAAGTG-1,Dendritic cells -NHSIL12_TACAGTGGTGTGGCTC-1,Macrophages -NHSIL12_TACCTATGTAGCCTCG-1,Monocytes -NHSIL12_TACCTATGTAGGGACT-1,Granulocytes -NHSIL12_TACCTATGTTAAGGGC-1,Monocytes -NHSIL12_TACCTTAAGCGTGTCC-1,Monocytes -NHSIL12_TACCTTAAGGTGCTAG-1,Monocytes -NHSIL12_TACCTTAGTAGTGAAT-1,Monocytes -NHSIL12_TACCTTAGTTACAGAA-1,Monocytes -NHSIL12_TACCTTATCACATAGC-1,Monocytes -NHSIL12_TACCTTATCCTGCCAT-1,Macrophages -NHSIL12_TACGGATAGAGTCGGT-1,Monocytes -NHSIL12_TACGGATAGTGTGAAT-1,Monocytes -NHSIL12_TACGGATTCTCTTATG-1,Monocytes -NHSIL12_TACGGATTCTGTCAAG-1,Monocytes -NHSIL12_TACGGGCGTACCGTTA-1,Monocytes -NHSIL12_TACGGGCTCAGAGACG-1,Monocytes -NHSIL12_TACGGGCTCGGAATCT-1,Monocytes -NHSIL12_TACGGTATCAATCTCT-1,Granulocytes -NHSIL12_TACTCATAGAGCCTAG-1,Monocytes -NHSIL12_TACTCGCAGTTTGCGT-1,Monocytes -NHSIL12_TACTCGCGTTCGTTGA-1,Monocytes -NHSIL12_TACTTGTAGAACTGTA-1,Monocytes -NHSIL12_TACTTGTCACCAGTTA-1,Dendritic cells -NHSIL12_TACTTGTCAGGAACGT-1,Monocytes -NHSIL12_TAGACCAGTAGCCTCG-1,Monocytes -NHSIL12_TAGAGCTAGAGTCGGT-1,Monocytes -NHSIL12_TAGAGCTAGCCCTAAT-1,Monocytes -NHSIL12_TAGAGCTAGCCGGTAA-1,Monocytes -NHSIL12_TAGAGCTCAACGCACC-1,Monocytes -NHSIL12_TAGCCGGCATACGCCG-1,Monocytes -NHSIL12_TAGGCATAGAATTGTG-1,Monocytes -NHSIL12_TAGGCATAGCTACCTA-1,Macrophages -NHSIL12_TAGGCATAGTACTTGC-1,Monocytes -NHSIL12_TAGGCATAGTGCAAGC-1,Monocytes -NHSIL12_TAGGCATCAATGAATG-1,Monocytes -NHSIL12_TAGGCATGTCAGGACA-1,Monocytes -NHSIL12_TAGTGGTCAAGTTAAG-1,Dendritic cells -NHSIL12_TAGTTGGAGATACACA-1,Monocytes -NHSIL12_TAGTTGGCAATCCAAC-1,Monocytes -NHSIL12_TAGTTGGTCAAACCAC-1,Monocytes -NHSIL12_TATCAGGCAAAGAATC-1,Dendritic cells -NHSIL12_TATCAGGCAAGTCATC-1,Monocytes -NHSIL12_TATCTCAAGTGCCAGA-1,Monocytes -NHSIL12_TATCTCACATGCAACT-1,Monocytes -NHSIL12_TATGCCCAGATATGCA-1,Monocytes -NHSIL12_TATGCCCCATGCAATC-1,Monocytes -NHSIL12_TATGCCCCATTTCAGG-1,Macrophages -NHSIL12_TATTACCAGTATCGAA-1,Monocytes -NHSIL12_TATTACCCAGGACCCT-1,Macrophages -NHSIL12_TATTACCGTACGACCC-1,Monocytes -NHSIL12_TCAACGAAGCAGGTCA-1,Monocytes -NHSIL12_TCAACGAAGCGATTCT-1,Granulocytes -NHSIL12_TCAACGAGTCTAGCCG-1,Dendritic cells -NHSIL12_TCAACGAGTTCGTTGA-1,Monocytes -NHSIL12_TCAATCTCATCGGGTC-1,Macrophages -NHSIL12_TCAATCTTCCTAAGTG-1,Monocytes -NHSIL12_TCACAAGAGCGTGAGT-1,Monocytes -NHSIL12_TCACAAGAGTGGGTTG-1,Monocytes -NHSIL12_TCACAAGGTGGTTTCA-1,Monocytes -NHSIL12_TCACAAGGTTCACGGC-1,Monocytes -NHSIL12_TCACAAGTCGGAGGTA-1,Macrophages -NHSIL12_TCACGAAAGACAATAC-1,Monocytes -NHSIL12_TCACGAAGTAACGCGA-1,Dendritic cells -NHSIL12_TCAGATGAGCAATCTC-1,Monocytes -NHSIL12_TCAGATGCATACTACG-1,Monocytes -NHSIL12_TCAGCAACAAGGTTCT-1,T cells -NHSIL12_TCAGCTCAGACTTTCG-1,Monocytes -NHSIL12_TCAGCTCCAGTCAGAG-1,Monocytes -NHSIL12_TCAGGATAGATGAGAG-1,Monocytes -NHSIL12_TCAGGATTCTGCGGCA-1,Monocytes -NHSIL12_TCAGGTAAGGGCTTCC-1,Dendritic cells -NHSIL12_TCAGGTAAGTGGGATC-1,Monocytes -NHSIL12_TCAGGTAGTTAGATGA-1,Macrophages -NHSIL12_TCATTACAGCAATCTC-1,Monocytes -NHSIL12_TCATTACGTTGTCGCG-1,Monocytes -NHSIL12_TCATTACTCGAGCCCA-1,Monocytes -NHSIL12_TCATTTGCAAGCCGTC-1,Granulocytes -NHSIL12_TCATTTGGTGGTAACG-1,Monocytes -NHSIL12_TCATTTGTCGGAAATA-1,Macrophages -NHSIL12_TCCACACGTTACTGAC-1,Monocytes -NHSIL12_TCCCGATCAGCGTAAG-1,Monocytes -NHSIL12_TCCCGATGTCCTCCAT-1,Monocytes -NHSIL12_TCCCGATGTCTCAACA-1,Monocytes -NHSIL12_TCCCGATGTGATGTGG-1,Monocytes -NHSIL12_TCCCGATTCGGCTTGG-1,Macrophages -NHSIL12_TCGAGGCAGACTAGGC-1,Monocytes -NHSIL12_TCGAGGCAGTTGAGAT-1,Monocytes -NHSIL12_TCGAGGCCATTGTGCA-1,Macrophages -NHSIL12_TCGAGGCGTGCCTTGG-1,Monocytes -NHSIL12_TCGAGGCGTTTGGGCC-1,Monocytes -NHSIL12_TCGCGAGAGGCTAGAC-1,Monocytes -NHSIL12_TCGCGAGAGTCTCGGC-1,Monocytes -NHSIL12_TCGCGAGGTTAAGTAG-1,Monocytes -NHSIL12_TCGCGAGTCCCAAGAT-1,Monocytes -NHSIL12_TCGCGTTCAATGCCAT-1,Monocytes -NHSIL12_TCGCGTTGTCCTCCAT-1,Monocytes -NHSIL12_TCGCGTTGTTCAGGCC-1,Monocytes -NHSIL12_TCGCGTTTCTTGAGGT-1,Monocytes -NHSIL12_TCGGGACGTTCCATGA-1,Monocytes -NHSIL12_TCGGTAAAGCTCCTCT-1,Monocytes -NHSIL12_TCGGTAAGTAGTGAAT-1,Monocytes -NHSIL12_TCGTACCGTATATGAG-1,Monocytes -NHSIL12_TCGTACCGTCCGAAGA-1,NK cells -NHSIL12_TCGTACCGTCTTGTCC-1,Dendritic cells -NHSIL12_TCGTAGACAGCTGTAT-1,Macrophages -NHSIL12_TCGTAGACATTTCAGG-1,Macrophages -NHSIL12_TCTATTGAGACTCGGA-1,Monocytes -NHSIL12_TCTATTGAGCCTTGAT-1,Macrophages -NHSIL12_TCTATTGGTGCAACTT-1,Monocytes -NHSIL12_TCTATTGTCTTTAGTC-1,Monocytes -NHSIL12_TCTCATACAGCGATCC-1,Monocytes -NHSIL12_TCTCATACATCCCATC-1,Monocytes -NHSIL12_TCTCATAGTGTGAATA-1,Monocytes -NHSIL12_TCTCATATCCGGGTGT-1,Monocytes -NHSIL12_TCTGAGACACGAAAGC-1,Granulocytes -NHSIL12_TCTGAGACAGGTCGTC-1,Granulocytes -NHSIL12_TCTGAGAGTACAGCAG-1,Monocytes -NHSIL12_TCTGAGAGTTAAGGGC-1,Macrophages -NHSIL12_TCTGAGAGTTTGTTGG-1,Monocytes -NHSIL12_TCTGAGATCCTTTACA-1,Monocytes -NHSIL12_TCTGAGATCTAGAGTC-1,Monocytes -NHSIL12_TCTGGAATCAGGCCCA-1,NK cells -NHSIL12_TCTGGAATCCAGTATG-1,Monocytes -NHSIL12_TCTGGAATCTACGAGT-1,Monocytes -NHSIL12_TCTTCGGTCCGTAGTA-1,Monocytes -NHSIL12_TGAAAGAAGAATTCCC-1,Monocytes -NHSIL12_TGAAAGAAGATGGCGT-1,Monocytes -NHSIL12_TGACAACTCGTGTAGT-1,Monocytes -NHSIL12_TGACGGCGTTCCACTC-1,Monocytes -NHSIL12_TGACGGCTCTTGACGA-1,Monocytes -NHSIL12_TGACTAGAGGATTCGG-1,Monocytes -NHSIL12_TGACTAGGTAGCCTCG-1,Monocytes -NHSIL12_TGACTAGTCAAGGCTT-1,Monocytes -NHSIL12_TGACTTTAGCCACCTG-1,Dendritic cells -NHSIL12_TGACTTTCAGATCCAT-1,Macrophages -NHSIL12_TGACTTTTCTCCCTGA-1,Monocytes -NHSIL12_TGAGAGGAGTGGTAAT-1,Monocytes -NHSIL12_TGAGAGGGTCGCCATG-1,Monocytes -NHSIL12_TGAGCATGTGACGGTA-1,Dendritic cells -NHSIL12_TGAGCATTCCAAGTAC-1,Monocytes -NHSIL12_TGAGCCGCACCATCCT-1,Granulocytes -NHSIL12_TGAGCCGCAGCTATTG-1,Dendritic cells -NHSIL12_TGAGCCGGTCAGCTAT-1,Monocytes -NHSIL12_TGAGCCGGTCATGCAT-1,Monocytes -NHSIL12_TGAGCCGTCTGAGGGA-1,Monocytes -NHSIL12_TGAGGGAAGGGTCGAT-1,Dendritic cells -NHSIL12_TGAGGGAGTAATAGCA-1,Monocytes -NHSIL12_TGCACCTAGAGTACCG-1,Monocytes -NHSIL12_TGCACCTCACCTGGTG-1,Monocytes -NHSIL12_TGCACCTCACGGTTTA-1,Monocytes -NHSIL12_TGCACCTGTAAGCACG-1,Monocytes -NHSIL12_TGCACCTGTACAGACG-1,Monocytes -NHSIL12_TGCACCTGTAGCCTAT-1,Macrophages -NHSIL12_TGCACCTGTTCGTTGA-1,Monocytes -NHSIL12_TGCACCTTCCACGAAT-1,Monocytes -NHSIL12_TGCCAAAGTCGGCACT-1,Monocytes -NHSIL12_TGCCCTAAGCGATCCC-1,Monocytes -NHSIL12_TGCCCTACAACCGCCA-1,Monocytes -NHSIL12_TGCCCTATCCAGAAGG-1,Macrophages -NHSIL12_TGCGCAGGTTCCGTCT-1,Monocytes -NHSIL12_TGCGCAGTCCATGAAC-1,T cells -NHSIL12_TGCGCAGTCGTGGGAA-1,Monocytes -NHSIL12_TGCGGGTAGTCGTACT-1,Macrophages -NHSIL12_TGCGGGTCAAACGTGG-1,Monocytes -NHSIL12_TGCGGGTCAGGAACGT-1,Monocytes -NHSIL12_TGCGTGGCATTGGTAC-1,Monocytes -NHSIL12_TGCTACCGTAAGTTCC-1,Dendritic cells -NHSIL12_TGCTACCTCACCCTCA-1,Monocytes -NHSIL12_TGCTGCTCACCAACCG-1,Monocytes -NHSIL12_TGCTGCTGTTAGATGA-1,Dendritic cells -NHSIL12_TGCTGCTTCTGGTGTA-1,Monocytes -NHSIL12_TGGACGCAGAGGGCTT-1,Monocytes -NHSIL12_TGGCCAGAGAGACTTA-1,Monocytes -NHSIL12_TGGCCAGGTAAGCACG-1,Monocytes -NHSIL12_TGGCCAGGTTGTGGAG-1,Monocytes -NHSIL12_TGGCGCAAGATCGGGT-1,Monocytes -NHSIL12_TGGCTGGAGAATGTTG-1,Monocytes -NHSIL12_TGGCTGGCAAGCGATG-1,Monocytes -NHSIL12_TGGCTGGGTTTCGCTC-1,Macrophages -NHSIL12_TGGCTGGTCATGCAAC-1,Granulocytes -NHSIL12_TGGGAAGTCACCTCGT-1,Monocytes -NHSIL12_TGGGAAGTCGCGGATC-1,Monocytes -NHSIL12_TGGGCGTAGAGACTTA-1,Macrophages -NHSIL12_TGGGCGTAGGAATTAC-1,Granulocytes -NHSIL12_TGGGCGTAGGGCTTCC-1,Monocytes -NHSIL12_TGGGCGTCATTACCTT-1,Dendritic cells -NHSIL12_TGGGCGTGTGCATCTA-1,Dendritic cells -NHSIL12_TGGGCGTGTTATGTGC-1,Monocytes -NHSIL12_TGGTTAGAGATCACGG-1,Granulocytes -NHSIL12_TGGTTAGAGCCAGAAC-1,Macrophages -NHSIL12_TGGTTAGAGTCCAGGA-1,Monocytes -NHSIL12_TGGTTAGGTGTCTGAT-1,Monocytes -NHSIL12_TGGTTAGGTTGCCTCT-1,Granulocytes -NHSIL12_TGGTTAGGTTTAGCTG-1,Monocytes -NHSIL12_TGGTTCCAGAAGGCCT-1,Monocytes -NHSIL12_TGGTTCCTCATTATCC-1,Macrophages -NHSIL12_TGTATTCAGGTCGGAT-1,Dendritic cells -NHSIL12_TGTATTCCAATCTGCA-1,Monocytes -NHSIL12_TGTATTCGTAAATGTG-1,Monocytes -NHSIL12_TGTCCCATCAGAGACG-1,Monocytes -NHSIL12_TGTCCCATCCCGACTT-1,Monocytes -NHSIL12_TGTCCCATCTCAAACG-1,Macrophages -NHSIL12_TGTGGTAAGAGCTTCT-1,Monocytes -NHSIL12_TGTGGTAAGATATACG-1,Monocytes -NHSIL12_TGTGGTATCTTCTGGC-1,Monocytes -NHSIL12_TGTGGTATCTTGACGA-1,Dendritic cells -NHSIL12_TGTGTTTCAGTTCATG-1,Monocytes -NHSIL12_TGTGTTTCATGACATC-1,Dendritic cells -NHSIL12_TGTGTTTGTTCCGGCA-1,Dendritic cells -NHSIL12_TGTGTTTTCCGGGTGT-1,Dendritic cells -NHSIL12_TGTTCCGAGCTTATCG-1,Monocytes -NHSIL12_TGTTCCGCAGTCGTGC-1,Dendritic cells -NHSIL12_TGTTCCGGTTATGTGC-1,Monocytes -NHSIL12_TGTTCCGTCTTTAGGG-1,Monocytes -NHSIL12_TTAGGACGTTACGTCA-1,T cells -NHSIL12_TTAGGCAAGCAGGTCA-1,Monocytes -NHSIL12_TTAGGCACAAGGTGTG-1,Dendritic cells -NHSIL12_TTAGGCACATATACGC-1,Granulocytes -NHSIL12_TTAGGCACATATGGTC-1,Monocytes -NHSIL12_TTAGGCAGTCCGAATT-1,Macrophages -NHSIL12_TTAGGCAGTCTTCAAG-1,Monocytes -NHSIL12_TTAGTTCAGGAATTAC-1,Monocytes -NHSIL12_TTAGTTCCACTCGACG-1,Monocytes -NHSIL12_TTAGTTCGTTGCGCAC-1,Monocytes -NHSIL12_TTAGTTCTCTGGAGCC-1,Monocytes -NHSIL12_TTATGCTAGAAGGTGA-1,Monocytes -NHSIL12_TTCCCAGAGAATAGGG-1,Monocytes -NHSIL12_TTCGAAGAGGATTCGG-1,Monocytes -NHSIL12_TTCGAAGCACAACGCC-1,Monocytes -NHSIL12_TTCGAAGGTGTGAAAT-1,Monocytes -NHSIL12_TTCGGTCGTTCTCATT-1,Monocytes -NHSIL12_TTCTACAGTCTTGTCC-1,Dendritic cells -NHSIL12_TTCTACAGTTACGACT-1,Monocytes -NHSIL12_TTCTCAACAAGCCGCT-1,Monocytes -NHSIL12_TTCTCAACAATGGAGC-1,Macrophages -NHSIL12_TTCTCCTAGATGCGAC-1,Macrophages -NHSIL12_TTCTCCTCAAGTCTAC-1,Monocytes -NHSIL12_TTCTTAGCATCCCATC-1,Monocytes -NHSIL12_TTCTTAGGTCAGTGGA-1,T cells -NHSIL12_TTCTTAGTCAGGTAAA-1,Macrophages -NHSIL12_TTGAACGAGTTCCACA-1,Monocytes -NHSIL12_TTGAACGGTAAGTGGC-1,Monocytes -NHSIL12_TTGAACGGTCCTGCTT-1,Monocytes -NHSIL12_TTGAACGTCGAACTGT-1,Monocytes -NHSIL12_TTGACTTAGCGTGAGT-1,Monocytes -NHSIL12_TTGCGTCGTAAGAGAG-1,Monocytes -NHSIL12_TTGGAACAGTCCTCCT-1,Granulocytes -NHSIL12_TTGGAACTCGTATCAG-1,Monocytes -NHSIL12_TTGGAACTCTGCAAGT-1,Dendritic cells -NHSIL12_TTGGCAACACACTGCG-1,Monocytes -NHSIL12_TTGTAGGGTTAAGATG-1,Granulocytes -NHSIL12_TTGTAGGTCCGCAAGC-1,Monocytes -NHSIL12_TTTACTGAGTCCCACG-1,Monocytes -NHSIL12_TTTACTGGTCGCCATG-1,NK cells -NHSIL12_TTTACTGGTTGGGACA-1,Monocytes -NHSIL12_TTTATGCAGGCTACGA-1,Monocytes -NHSIL12_TTTATGCCAAAGAATC-1,Dendritic cells -NHSIL12_TTTATGCGTACCATCA-1,Monocytes -NHSIL12_TTTATGCGTGAACCTT-1,Monocytes -NHSIL12_TTTGCGCAGCACAGGT-1,Monocytes -NHSIL12_TTTGCGCAGCTACCTA-1,Monocytes -NHSIL12_TTTGCGCGTGACCAAG-1,Monocytes -NHSIL12_TTTGCGCGTTGTGGAG-1,Monocytes -NHSIL12_TTTGGTTGTAAGGGCT-1,Macrophages -NHSIL12_TTTGGTTTCATGTGGT-1,Monocytes -NHSIL12_TTTGTCAAGAGTACCG-1,Monocytes -NHSIL12_TTTGTCACAGTAAGCG-1,Monocytes -NHSIL12_TTTGTCAGTAAGGATT-1,Monocytes -Combo_AAACCTGAGAGTACAT-1,Monocytes -Combo_AAACCTGAGCGTTCCG-1,Granulocytes -Combo_AAACCTGAGCGTTTAC-1,Dendritic cells -Combo_AAACCTGAGGAGTTGC-1,Monocytes -Combo_AAACCTGAGGCTCAGA-1,Dendritic cells -Combo_AAACCTGCACCGATAT-1,Monocytes -Combo_AAACCTGCATCTCGCT-1,Dendritic cells -Combo_AAACCTGCATGCTAGT-1,Monocytes -Combo_AAACCTGTCAGCACAT-1,Monocytes -Combo_AAACCTGTCGTTACGA-1,Dendritic cells -Combo_AAACCTGTCTACTATC-1,Monocytes -Combo_AAACGGGAGAAGGTTT-1,Monocytes -Combo_AAACGGGAGAATCTCC-1,Dendritic cells -Combo_AAACGGGAGGAATTAC-1,Monocytes -Combo_AAACGGGCAGTAACGG-1,T cells -Combo_AAACGGGGTCGCATCG-1,Dendritic cells -Combo_AAACGGGGTCTTGTCC-1,Monocytes -Combo_AAACGGGGTGAGTATA-1,Granulocytes -Combo_AAACGGGGTGGAAAGA-1,Monocytes -Combo_AAACGGGGTGTATGGG-1,Monocytes -Combo_AAACGGGGTTACGGAG-1,Monocytes -Combo_AAAGATGAGTAAGTAC-1,Dendritic cells -Combo_AAAGATGAGTACGATA-1,Monocytes -Combo_AAAGATGAGTCTCAAC-1,Monocytes -Combo_AAAGATGCACATTTCT-1,Monocytes -Combo_AAAGATGCACCCATGG-1,Granulocytes -Combo_AAAGATGGTGAGGGTT-1,Monocytes -Combo_AAAGATGGTGTGACGA-1,T cells -Combo_AAAGATGGTTTCCACC-1,Monocytes -Combo_AAAGATGTCCAGATCA-1,Monocytes -Combo_AAAGATGTCCCGGATG-1,Monocytes -Combo_AAAGATGTCTAACGGT-1,Monocytes -Combo_AAAGCAACAAGTTAAG-1,Dendritic cells -Combo_AAAGCAACACGGCTAC-1,Monocytes -Combo_AAAGCAACACGGTTTA-1,Monocytes -Combo_AAAGCAACAGTGGAGT-1,Granulocytes -Combo_AAAGCAAGTCTGCCAG-1,Dendritic cells -Combo_AAAGCAAGTGTTCTTT-1,Dendritic cells -Combo_AAAGCAATCACCATAG-1,Granulocytes -Combo_AAAGTAGAGCTACCTA-1,Monocytes -Combo_AAAGTAGCAAGCTGTT-1,Monocytes -Combo_AAAGTAGCAATGGACG-1,Dendritic cells -Combo_AAAGTAGCACATGTGT-1,Monocytes -Combo_AAAGTAGCATTAGGCT-1,Monocytes -Combo_AAAGTAGGTCCGAACC-1,Monocytes -Combo_AAAGTAGGTGTGACCC-1,Macrophages -Combo_AAAGTAGTCACCAGGC-1,Dendritic cells -Combo_AAAGTAGTCATCGGAT-1,Granulocytes -Combo_AAAGTAGTCTATGTGG-1,Dendritic cells -Combo_AAATGCCAGAAGAAGC-1,Monocytes -Combo_AAATGCCAGCGACGTA-1,Monocytes -Combo_AAATGCCCAAAGTCAA-1,Monocytes -Combo_AAATGCCCAAGTACCT-1,T cells -Combo_AAATGCCCAATAACGA-1,Monocytes -Combo_AAATGCCGTCTAACGT-1,Monocytes -Combo_AAATGCCGTGTTCTTT-1,Monocytes -Combo_AAATGCCTCACAACGT-1,Monocytes -Combo_AAATGCCTCGCCGTGA-1,Monocytes -Combo_AAATGCCTCGTTGCCT-1,Monocytes -Combo_AAATGCCTCTGGCGAC-1,Monocytes -Combo_AAATGCCTCTTGCAAG-1,Monocytes -Combo_AACACGTAGAGATGAG-1,Granulocytes -Combo_AACACGTAGCTAGTGG-1,Monocytes -Combo_AACACGTAGTTCGCGC-1,Monocytes -Combo_AACACGTCACTTAAGC-1,Dendritic cells -Combo_AACACGTCATGAACCT-1,Granulocytes -Combo_AACACGTTCACAAACC-1,Granulocytes -Combo_AACACGTTCATGCATG-1,Monocytes -Combo_AACACGTTCCAAACAC-1,Monocytes -Combo_AACACGTTCTTCTGGC-1,Monocytes -Combo_AACCATGAGCCACGCT-1,Monocytes -Combo_AACCATGAGGTGGGTT-1,Granulocytes -Combo_AACCATGCAAGCGATG-1,Granulocytes -Combo_AACCATGCACATGTGT-1,Granulocytes -Combo_AACCATGCACGAAAGC-1,Granulocytes -Combo_AACCATGGTAGCGCAA-1,Monocytes -Combo_AACCATGGTCACAAGG-1,Monocytes -Combo_AACCATGGTCATCCCT-1,Monocytes -Combo_AACCATGGTCTCCCTA-1,Monocytes -Combo_AACCATGTCAGAGCTT-1,Dendritic cells -Combo_AACCATGTCGTACCGG-1,Dendritic cells -Combo_AACCGCGAGCAGCCTC-1,Dendritic cells -Combo_AACCGCGTCTTGTCAT-1,Monocytes -Combo_AACGTTGAGGGTGTGT-1,Granulocytes -Combo_AACGTTGAGTAGGTGC-1,Monocytes -Combo_AACGTTGCACTCTGTC-1,Dendritic cells -Combo_AACGTTGCAGGTCGTC-1,Monocytes -Combo_AACGTTGGTACACCGC-1,Dendritic cells -Combo_AACGTTGGTAGTACCT-1,Dendritic cells -Combo_AACGTTGGTCTGGAGA-1,Monocytes -Combo_AACGTTGGTGCACCAC-1,Dendritic cells -Combo_AACGTTGGTTCCCTTG-1,Monocytes -Combo_AACGTTGTCAATCACG-1,Monocytes -Combo_AACTCAGAGAAACGCC-1,Granulocytes -Combo_AACTCAGAGATGTGTA-1,Monocytes -Combo_AACTCAGCAAAGGTGC-1,Macrophages -Combo_AACTCAGTCACTCCTG-1,Monocytes -Combo_AACTCAGTCTCGCTTG-1,Monocytes -Combo_AACTCCCAGATATGGT-1,Monocytes -Combo_AACTCCCCAGTCGTGC-1,Granulocytes -Combo_AACTCCCCATGCGCAC-1,Granulocytes -Combo_AACTCCCGTTTACTCT-1,Granulocytes -Combo_AACTCCCTCACCTTAT-1,Monocytes -Combo_AACTCCCTCGTTGCCT-1,Monocytes -Combo_AACTCTTCATTTCAGG-1,Macrophages -Combo_AACTCTTTCGATGAGG-1,Monocytes -Combo_AACTCTTTCGTCTGCT-1,Monocytes -Combo_AACTGGTAGAGGGCTT-1,Monocytes -Combo_AACTGGTCATATACGC-1,Monocytes -Combo_AACTGGTGTAGGGTAC-1,Dendritic cells -Combo_AACTGGTTCAGCTGGC-1,Monocytes -Combo_AACTGGTTCCAAATGC-1,Monocytes -Combo_AACTTTCAGGATCGCA-1,Granulocytes -Combo_AACTTTCCAGGGTATG-1,Macrophages -Combo_AACTTTCGTTATGTGC-1,Monocytes -Combo_AAGACCTAGACAAAGG-1,Monocytes -Combo_AAGACCTAGTAGCGGT-1,Monocytes -Combo_AAGACCTCAGGGAGAG-1,Dendritic cells -Combo_AAGACCTCATGGGACA-1,Dendritic cells -Combo_AAGACCTCATTGTGCA-1,Monocytes -Combo_AAGACCTGTATATGGA-1,Monocytes -Combo_AAGACCTGTGGCCCTA-1,Monocytes -Combo_AAGACCTTCACTATTC-1,Dendritic cells -Combo_AAGACCTTCCCTAACC-1,Monocytes -Combo_AAGCCGCAGAATGTGT-1,Monocytes -Combo_AAGCCGCAGCAATATG-1,Monocytes -Combo_AAGCCGCAGTCAATAG-1,Dendritic cells -Combo_AAGCCGCAGTGTCCCG-1,Monocytes -Combo_AAGCCGCCAAGAGGCT-1,Monocytes -Combo_AAGCCGCCACATTAGC-1,Monocytes -Combo_AAGCCGCGTAGAGTGC-1,Dendritic cells -Combo_AAGCCGCGTCTCCACT-1,Granulocytes -Combo_AAGCCGCGTCTCCATC-1,Dendritic cells -Combo_AAGCCGCTCAACACGT-1,Granulocytes -Combo_AAGCCGCTCCTGTACC-1,Monocytes -Combo_AAGGAGCAGATACACA-1,Dendritic cells -Combo_AAGGAGCCAGACACTT-1,Monocytes -Combo_AAGGAGCCATGACATC-1,Monocytes -Combo_AAGGAGCTCAACACTG-1,Monocytes -Combo_AAGGAGCTCAATAAGG-1,Monocytes -Combo_AAGGAGCTCACGATGT-1,Monocytes -Combo_AAGGCAGAGCGTTGCC-1,Dendritic cells -Combo_AAGGCAGAGTGCAAGC-1,Granulocytes -Combo_AAGGCAGCAAAGAATC-1,Granulocytes -Combo_AAGGCAGCACCTTGTC-1,Dendritic cells -Combo_AAGGCAGGTAAGTGGC-1,Monocytes -Combo_AAGGCAGGTGAGTATA-1,Granulocytes -Combo_AAGGCAGGTTACGTCA-1,Monocytes -Combo_AAGGCAGGTTACTGAC-1,Granulocytes -Combo_AAGGCAGTCCTGCTTG-1,Monocytes -Combo_AAGGCAGTCGAATGCT-1,Monocytes -Combo_AAGGTTCAGCTCTCGG-1,Monocytes -Combo_AAGGTTCAGGTAGCCA-1,Monocytes -Combo_AAGGTTCCACGGCCAT-1,Monocytes -Combo_AAGGTTCCAGCATACT-1,T cells -Combo_AAGGTTCCAGGATCGA-1,Monocytes -Combo_AAGGTTCGTATCGCAT-1,Granulocytes -Combo_AAGGTTCGTTCGAATC-1,Dendritic cells -Combo_AAGGTTCGTTCGTTGA-1,Monocytes -Combo_AAGGTTCTCGGATGTT-1,Dendritic cells -Combo_AAGGTTCTCGTAGGAG-1,Dendritic cells -Combo_AAGTCTGAGCAGATCG-1,Monocytes -Combo_AAGTCTGCAACACCCG-1,Granulocytes -Combo_AAGTCTGCAAGCCGCT-1,Granulocytes -Combo_AAGTCTGCATCGTCGG-1,Monocytes -Combo_AAGTCTGGTCAATACC-1,Monocytes -Combo_AAGTCTGTCCCACTTG-1,Monocytes -Combo_AAGTCTGTCTTCATGT-1,Monocytes -Combo_AATCCAGAGCTGGAAC-1,Dendritic cells -Combo_AATCCAGAGGCCCTTG-1,Monocytes -Combo_AATCCAGCAAAGGTGC-1,Monocytes -Combo_AATCCAGCACAAGACG-1,Monocytes -Combo_AATCCAGCACGGTGTC-1,Monocytes -Combo_AATCCAGCAGGTTTCA-1,Dendritic cells -Combo_AATCCAGGTGGAAAGA-1,Granulocytes -Combo_AATCCAGTCCAAGCCG-1,Dendritic cells -Combo_AATCGGTAGAAGGGTA-1,Dendritic cells -Combo_AATCGGTAGTCCGTAT-1,Monocytes -Combo_AATCGGTCACGACGAA-1,Monocytes -Combo_AATCGGTCAGGGTACA-1,Monocytes -Combo_AATCGGTCATTATCTC-1,Monocytes -Combo_AATCGGTTCCCAGGTG-1,Monocytes -Combo_AATCGGTTCTGAGGGA-1,Monocytes -Combo_AATCGGTTCTTCCTTC-1,Monocytes -Combo_ACACCAAAGGGAGTAA-1,Monocytes -Combo_ACACCAACAAGGGTCA-1,Granulocytes -Combo_ACACCAACAATGTTGC-1,Dendritic cells -Combo_ACACCAACATAACCTG-1,Monocytes -Combo_ACACCAAGTCGATTGT-1,Monocytes -Combo_ACACCAAGTGGTCTCG-1,Granulocytes -Combo_ACACCAAGTGTGGCTC-1,Granulocytes -Combo_ACACCAAGTTCTGGTA-1,Monocytes -Combo_ACACCAATCCAGTAGT-1,Dendritic cells -Combo_ACACCAATCCCACTTG-1,Monocytes -Combo_ACACCAATCCGCATAA-1,Monocytes -Combo_ACACCAATCCGTAGTA-1,Dendritic cells -Combo_ACACCAATCTGATACG-1,Monocytes -Combo_ACACCAATCTTGTCAT-1,Dendritic cells -Combo_ACACCCTAGATGCGAC-1,Monocytes -Combo_ACACCCTAGTAACCCT-1,Granulocytes -Combo_ACACCCTCACAGCGTC-1,Monocytes -Combo_ACACCCTCATCACAAC-1,Granulocytes -Combo_ACACCCTCATGTCTCC-1,Monocytes -Combo_ACACCCTGTCATATGC-1,Monocytes -Combo_ACACCCTGTCCTAGCG-1,Monocytes -Combo_ACACCCTGTTCCCTTG-1,Monocytes -Combo_ACACCCTTCACTATTC-1,Dendritic cells -Combo_ACACCGGAGGGAGTAA-1,Monocytes -Combo_ACACCGGCACGAAAGC-1,Dendritic cells -Combo_ACACCGGCACGGTGTC-1,Monocytes -Combo_ACACCGGGTATATGAG-1,Monocytes -Combo_ACACCGGGTCGACTAT-1,Monocytes -Combo_ACACCGGTCACCAGGC-1,Monocytes -Combo_ACACCGGTCGCCCTTA-1,Dendritic cells -Combo_ACACCGGTCGTGGACC-1,Monocytes -Combo_ACACTGAAGCTAGTGG-1,Granulocytes -Combo_ACACTGAAGCTCTCGG-1,Monocytes -Combo_ACACTGAAGGCCCTCA-1,T cells -Combo_ACACTGACATCCCATC-1,Dendritic cells -Combo_ACACTGACATTCACTT-1,Monocytes -Combo_ACACTGAGTCGGGTCT-1,Dendritic cells -Combo_ACACTGAGTTCGTCTC-1,Monocytes -Combo_ACACTGATCAATAAGG-1,Granulocytes -Combo_ACACTGATCCGTACAA-1,Granulocytes -Combo_ACAGCCGAGAAACGAG-1,Monocytes -Combo_ACAGCCGAGAATTGTG-1,Dendritic cells -Combo_ACAGCCGAGCGTGAAC-1,Granulocytes -Combo_ACAGCCGAGGCAAAGA-1,Granulocytes -Combo_ACAGCCGAGGGTTCCC-1,Monocytes -Combo_ACAGCCGAGTGAACGC-1,Monocytes -Combo_ACAGCCGCATCGATGT-1,Monocytes -Combo_ACAGCCGGTACTTAGC-1,Monocytes -Combo_ACAGCCGGTCAAAGCG-1,Monocytes -Combo_ACAGCCGGTGTCCTCT-1,Dendritic cells -Combo_ACAGCCGGTTACGCGC-1,Dendritic cells -Combo_ACAGCCGTCAAACAAG-1,Monocytes -Combo_ACAGCCGTCAACGGGA-1,Monocytes -Combo_ACAGCCGTCCACGAAT-1,Monocytes -Combo_ACAGCTAAGAAGAAGC-1,Monocytes -Combo_ACAGCTAAGCACGCCT-1,Dendritic cells -Combo_ACAGCTAAGGGTCGAT-1,Monocytes -Combo_ACAGCTAAGTCAATAG-1,Monocytes -Combo_ACAGCTACAACAACCT-1,Monocytes -Combo_ACAGCTACAAGGTGTG-1,Dendritic cells -Combo_ACAGCTACACAACGTT-1,Monocytes -Combo_ACAGCTAGTAAACCTC-1,Monocytes -Combo_ACAGCTAGTACCGGCT-1,Granulocytes -Combo_ACAGCTAGTAGCTAAA-1,Monocytes -Combo_ACAGCTAGTCTCCACT-1,Monocytes -Combo_ACAGCTATCCTTTACA-1,Monocytes -Combo_ACATACGAGAGAGCTC-1,Monocytes -Combo_ACATACGAGGAGCGAG-1,Monocytes -Combo_ACATACGAGGCCCTTG-1,Dendritic cells -Combo_ACATACGCACATCCAA-1,Monocytes -Combo_ACATACGGTAGCACGA-1,Dendritic cells -Combo_ACATACGGTAGCGTAG-1,Monocytes -Combo_ACATACGGTCCAACTA-1,Monocytes -Combo_ACATACGGTCTGGTCG-1,Monocytes -Combo_ACATACGGTTAGATGA-1,Monocytes -Combo_ACATCAGAGATAGGAG-1,Dendritic cells -Combo_ACATCAGAGTTGTCGT-1,Monocytes -Combo_ACATCAGCAAAGGCGT-1,Monocytes -Combo_ACATCAGTCGGGAGTA-1,Monocytes -Combo_ACATGGTAGAGTACCG-1,Dendritic cells -Combo_ACATGGTAGATGCCAG-1,Monocytes -Combo_ACATGGTAGCACACAG-1,Dendritic cells -Combo_ACATGGTAGCTAGCCC-1,Monocytes -Combo_ACATGGTCAAATACAG-1,Monocytes -Combo_ACATGGTGTCCTCTTG-1,Dendritic cells -Combo_ACATGGTGTTAAGATG-1,Monocytes -Combo_ACATGGTGTTACAGAA-1,Monocytes -Combo_ACATGGTGTTCGCTAA-1,Monocytes -Combo_ACATGGTTCCTTGCCA-1,Granulocytes -Combo_ACATGGTTCTTGTACT-1,Granulocytes -Combo_ACCAGTAAGCTGAAAT-1,Dendritic cells -Combo_ACCAGTAAGCTGTTCA-1,Monocytes -Combo_ACCAGTAAGGTGACCA-1,Monocytes -Combo_ACCAGTACAAATACAG-1,Dendritic cells -Combo_ACCAGTACAACGCACC-1,Monocytes -Combo_ACCAGTACACGAAACG-1,T cells -Combo_ACCAGTACAGATCCAT-1,Monocytes -Combo_ACCAGTACAGGTGGAT-1,Monocytes -Combo_ACCAGTAGTAATTGGA-1,Dendritic cells -Combo_ACCAGTAGTCATGCAT-1,Monocytes -Combo_ACCAGTAGTGGTCTCG-1,Monocytes -Combo_ACCAGTATCGCCTGAG-1,Dendritic cells -Combo_ACCCACTAGAAGGCCT-1,Monocytes -Combo_ACCCACTCAGCTTAAC-1,Monocytes -Combo_ACCCACTCATCGGGTC-1,Granulocytes -Combo_ACCCACTGTCAATGTC-1,T cells -Combo_ACCCACTTCAAGGTAA-1,Monocytes -Combo_ACCCACTTCCATGAAC-1,Granulocytes -Combo_ACCGTAAAGCAAATCA-1,Dendritic cells -Combo_ACCGTAAAGGCAGGTT-1,Monocytes -Combo_ACCGTAAAGGCTATCT-1,Dendritic cells -Combo_ACCGTAAAGGGAAACA-1,Monocytes -Combo_ACCGTAACAGCCTTGG-1,Monocytes -Combo_ACCGTAAGTCACCCAG-1,Dendritic cells -Combo_ACCGTAAGTCTGCGGT-1,Monocytes -Combo_ACCGTAAGTTAAGAAC-1,Granulocytes -Combo_ACCGTAAGTTTCGCTC-1,Monocytes -Combo_ACCGTAATCACTCCTG-1,Monocytes -Combo_ACCTTTAAGACAGACC-1,Monocytes -Combo_ACCTTTAAGCTGCAAG-1,Monocytes -Combo_ACCTTTAAGTAGGTGC-1,Monocytes -Combo_ACCTTTAAGTGTACCT-1,Dendritic cells -Combo_ACCTTTACAGCTGTGC-1,Monocytes -Combo_ACCTTTACATATGCTG-1,Monocytes -Combo_ACCTTTAGTAAGAGGA-1,Monocytes -Combo_ACCTTTAGTCTGCGGT-1,Dendritic cells -Combo_ACCTTTAGTGCTTCTC-1,Monocytes -Combo_ACCTTTAGTGGTAACG-1,Monocytes -Combo_ACCTTTAGTTTGACTG-1,Dendritic cells -Combo_ACCTTTATCTCAAGTG-1,Dendritic cells -Combo_ACGAGCCAGAAAGTGG-1,Granulocytes -Combo_ACGAGCCAGCATCATC-1,Dendritic cells -Combo_ACGAGCCAGCCGATTT-1,Monocytes -Combo_ACGAGCCAGCTCCTTC-1,Monocytes -Combo_ACGAGCCAGCTGCGAA-1,Monocytes -Combo_ACGAGCCAGGAATTAC-1,Monocytes -Combo_ACGAGCCCAATGTAAG-1,Monocytes -Combo_ACGAGCCGTACAGACG-1,T cells -Combo_ACGAGCCGTCCAGTAT-1,Monocytes -Combo_ACGAGCCGTTTGCATG-1,Monocytes -Combo_ACGAGCCTCGTCACGG-1,Monocytes -Combo_ACGAGCCTCTCTTATG-1,Monocytes -Combo_ACGAGGAAGTCAAGGC-1,Monocytes -Combo_ACGAGGACACATAACC-1,Monocytes -Combo_ACGAGGAGTCTCACCT-1,Monocytes -Combo_ACGAGGATCGGAAACG-1,Granulocytes -Combo_ACGATACAGACTAAGT-1,Granulocytes -Combo_ACGATACAGGGCTCTC-1,Dendritic cells -Combo_ACGATACAGGGTTTCT-1,Dendritic cells -Combo_ACGATACAGGTTCCTA-1,Granulocytes -Combo_ACGATACAGTGACTCT-1,Monocytes -Combo_ACGATACCAGATGGCA-1,Monocytes -Combo_ACGATACGTAGCGTGA-1,Monocytes -Combo_ACGATACTCTTTACAC-1,Monocytes -Combo_ACGATGTAGGGTATCG-1,Macrophages -Combo_ACGATGTCAAGTAGTA-1,Granulocytes -Combo_ACGATGTCACTACAGT-1,Monocytes -Combo_ACGATGTCAGTATGCT-1,Granulocytes -Combo_ACGATGTCATCTGGTA-1,Monocytes -Combo_ACGATGTGTAATCACC-1,Granulocytes -Combo_ACGATGTGTCGTCTTC-1,Granulocytes -Combo_ACGATGTGTGTGAATA-1,Monocytes -Combo_ACGCAGCAGATACACA-1,T cells -Combo_ACGCAGCAGCTCCTCT-1,Monocytes -Combo_ACGCAGCAGTAGCGGT-1,Granulocytes -Combo_ACGCAGCAGTGACTCT-1,Monocytes -Combo_ACGCAGCAGTGGTCCC-1,Monocytes -Combo_ACGCAGCCACCCATTC-1,Monocytes -Combo_ACGCAGCCACGAAGCA-1,Granulocytes -Combo_ACGCAGCCAGATCGGA-1,Dendritic cells -Combo_ACGCAGCCAGGCAGTA-1,Granulocytes -Combo_ACGCAGCGTCACAAGG-1,Monocytes -Combo_ACGCAGCTCGGTCCGA-1,Dendritic cells -Combo_ACGCCAGAGGGATGGG-1,Monocytes -Combo_ACGCCAGAGTTTCCTT-1,Monocytes -Combo_ACGCCAGCACCCAGTG-1,Monocytes -Combo_ACGCCAGGTAGGCATG-1,Monocytes -Combo_ACGCCAGGTCACCCAG-1,Granulocytes -Combo_ACGCCAGGTCGTGGCT-1,Monocytes -Combo_ACGCCAGGTTCAGACT-1,Monocytes -Combo_ACGCCAGTCGCTAGCG-1,Monocytes -Combo_ACGCCAGTCTCGAGTA-1,Monocytes -Combo_ACGCCGAAGGACCACA-1,Fibroblasts -Combo_ACGCCGACAATAACGA-1,Monocytes -Combo_ACGCCGACACGGCGTT-1,Monocytes -Combo_ACGCCGACATGGTAGG-1,Monocytes -Combo_ACGCCGAGTACAGACG-1,Dendritic cells -Combo_ACGCCGAGTCAAGCGA-1,Granulocytes -Combo_ACGCCGATCATCACCC-1,Granulocytes -Combo_ACGCCGATCCGTCATC-1,Monocytes -Combo_ACGCCGATCCTACAGA-1,Monocytes -Combo_ACGCCGATCGGGAGTA-1,Monocytes -Combo_ACGCCGATCTGAAAGA-1,Monocytes -Combo_ACGGAGAAGATATACG-1,Monocytes -Combo_ACGGAGAAGATCGATA-1,Monocytes -Combo_ACGGAGAAGCCTATGT-1,Granulocytes -Combo_ACGGAGAAGGATGGAA-1,Monocytes -Combo_ACGGAGAGTCATATGC-1,Granulocytes -Combo_ACGGAGATCAATAAGG-1,Monocytes -Combo_ACGGAGATCCAAGCCG-1,Dendritic cells -Combo_ACGGAGATCCCTCTTT-1,Granulocytes -Combo_ACGGCCAAGTCAAGCG-1,Granulocytes -Combo_ACGGCCAAGTGGGCTA-1,Monocytes -Combo_ACGGCCACACCCTATC-1,Monocytes -Combo_ACGGCCAGTACGAAAT-1,Monocytes -Combo_ACGGCCAGTATAATGG-1,Monocytes -Combo_ACGGCCAGTGCCTGCA-1,Dendritic cells -Combo_ACGGCCAGTGCCTGTG-1,Monocytes -Combo_ACGGCCAGTTAGAACA-1,Dendritic cells -Combo_ACGGCCAGTTAGATGA-1,Dendritic cells -Combo_ACGGCCATCCAGATCA-1,Granulocytes -Combo_ACGGCCATCGTTTAGG-1,Dendritic cells -Combo_ACGGCCATCTTGAGAC-1,Monocytes -Combo_ACGGGCTAGCGAAGGG-1,Granulocytes -Combo_ACGGGCTAGGGAGTAA-1,Monocytes -Combo_ACGGGCTCAGGTCTCG-1,Macrophages -Combo_ACGGGCTGTAAACCTC-1,Monocytes -Combo_ACGGGCTGTCGCCATG-1,Dendritic cells -Combo_ACGGGCTTCAACCATG-1,Granulocytes -Combo_ACGGGCTTCCGCAAGC-1,Granulocytes -Combo_ACGGGTCAGAGTACAT-1,T cells -Combo_ACGGGTCAGTCTTGCA-1,Granulocytes -Combo_ACGGGTCAGTGACATA-1,Dendritic cells -Combo_ACGGGTCGTAAATGAC-1,Monocytes -Combo_ACGGGTCGTAAGTGGC-1,Dendritic cells -Combo_ACGGGTCGTCTCTTAT-1,Monocytes -Combo_ACGGGTCTCCTATGTT-1,Monocytes -Combo_ACGGGTCTCGAGAGCA-1,Monocytes -Combo_ACGGGTCTCGTACGGC-1,Monocytes -Combo_ACGGGTCTCGTTGCCT-1,Dendritic cells -Combo_ACGTCAAAGACACGAC-1,Granulocytes -Combo_ACGTCAAAGATGGGTC-1,Monocytes -Combo_ACGTCAAAGATGTGTA-1,Monocytes -Combo_ACGTCAAAGCCCAACC-1,Monocytes -Combo_ACGTCAAAGGCATGGT-1,Monocytes -Combo_ACGTCAAGTCCAACTA-1,Monocytes -Combo_ACGTCAAGTGCCTGTG-1,Monocytes -Combo_ACGTCAAGTTTGTGTG-1,Macrophages -Combo_ACGTCAATCAACTCTT-1,Granulocytes -Combo_ACGTCAATCCGCAAGC-1,Granulocytes -Combo_ACGTCAATCGCACTCT-1,Granulocytes -Combo_ACTATCTAGAGGTACC-1,Monocytes -Combo_ACTATCTAGATGAGAG-1,Dendritic cells -Combo_ACTATCTCAGTCTTCC-1,T cells -Combo_ACTATCTCATATGCTG-1,Dendritic cells -Combo_ACTATCTGTATTCGTG-1,Monocytes -Combo_ACTATCTGTGGTAACG-1,Dendritic cells -Combo_ACTATCTTCCACGTTC-1,Monocytes -Combo_ACTGAACAGACAAAGG-1,Monocytes -Combo_ACTGAACAGACGCAAC-1,Monocytes -Combo_ACTGAACAGAGGTAGA-1,Monocytes -Combo_ACTGAACAGCATCATC-1,Macrophages -Combo_ACTGAACAGGTGCTTT-1,Monocytes -Combo_ACTGAACCAATAGCGG-1,Monocytes -Combo_ACTGAACCAGCTGTAT-1,Granulocytes -Combo_ACTGAGTCACGCCAGT-1,Granulocytes -Combo_ACTGAGTCAGTATAAG-1,Granulocytes -Combo_ACTGAGTGTCAGGACA-1,Monocytes -Combo_ACTGAGTGTGAGGGTT-1,Dendritic cells -Combo_ACTGAGTGTTAAAGTG-1,Granulocytes -Combo_ACTGAGTTCCAAAGTC-1,Monocytes -Combo_ACTGATGAGTCCTCCT-1,T cells -Combo_ACTGATGCAACAACCT-1,Monocytes -Combo_ACTGATGCACGACTCG-1,Monocytes -Combo_ACTGATGGTCACTTCC-1,Granulocytes -Combo_ACTGATGTCGGAGCAA-1,Monocytes -Combo_ACTGATGTCGTAGATC-1,Monocytes -Combo_ACTGATGTCTCGCTTG-1,Monocytes -Combo_ACTGATGTCTTCAACT-1,Dendritic cells -Combo_ACTGCTCAGCACCGTC-1,Monocytes -Combo_ACTGCTCAGCCGTCGT-1,Monocytes -Combo_ACTGCTCAGGTCGGAT-1,Monocytes -Combo_ACTGCTCCAAGTCTAC-1,Monocytes -Combo_ACTGCTCCACGGTAGA-1,Granulocytes -Combo_ACTGCTCCACTATCTT-1,Monocytes -Combo_ACTGCTCCATACGCCG-1,Monocytes -Combo_ACTGCTCGTGCTCTTC-1,Monocytes -Combo_ACTGCTCTCAACACTG-1,Granulocytes -Combo_ACTGCTCTCTACCAGA-1,Monocytes -Combo_ACTGTCCAGAATCTCC-1,Monocytes -Combo_ACTGTCCAGCTGTTCA-1,Granulocytes -Combo_ACTGTCCCATGGTAGG-1,Monocytes -Combo_ACTGTCCGTATAGTAG-1,Monocytes -Combo_ACTGTCCGTCTAACGT-1,Monocytes -Combo_ACTGTCCTCGACCAGC-1,Monocytes -Combo_ACTGTCCTCGGGAGTA-1,Granulocytes -Combo_ACTTACTAGATAGGAG-1,Monocytes -Combo_ACTTACTAGCCACGTC-1,Monocytes -Combo_ACTTACTAGTAACCCT-1,Granulocytes -Combo_ACTTACTGTGACTCAT-1,Dendritic cells -Combo_ACTTACTGTGGAAAGA-1,Monocytes -Combo_ACTTACTTCTGTTTGT-1,Monocytes -Combo_ACTTGTTAGATGTGTA-1,Monocytes -Combo_ACTTGTTAGGAGTCTG-1,Monocytes -Combo_ACTTGTTAGTTTAGGA-1,Granulocytes -Combo_ACTTGTTCATAGAAAC-1,Monocytes -Combo_ACTTGTTCATGTTGAC-1,Granulocytes -Combo_ACTTGTTGTAAACCTC-1,Monocytes -Combo_ACTTGTTGTGATGCCC-1,Monocytes -Combo_ACTTGTTGTTAGTGGG-1,Monocytes -Combo_ACTTGTTTCGGTTCGG-1,Monocytes -Combo_ACTTTCAAGACGACGT-1,Monocytes -Combo_ACTTTCAAGTTAGGTA-1,Granulocytes -Combo_ACTTTCAGTACTTCTT-1,Granulocytes -Combo_AGAATAGCATAGACTC-1,Dendritic cells -Combo_AGAATAGGTAAACGCG-1,Monocytes -Combo_AGAATAGTCAGTTTGG-1,Monocytes -Combo_AGAATAGTCTACTCAT-1,Monocytes -Combo_AGACGTTAGACCTTTG-1,Dendritic cells -Combo_AGACGTTAGCCACGTC-1,Monocytes -Combo_AGACGTTAGCTGTTCA-1,Macrophages -Combo_AGACGTTCAAACGTGG-1,Granulocytes -Combo_AGACGTTCAAGAGTCG-1,Monocytes -Combo_AGACGTTCAGCCTGTG-1,Granulocytes -Combo_AGACGTTCAGTACACT-1,Dendritic cells -Combo_AGACGTTGTAGCGATG-1,Monocytes -Combo_AGACGTTGTATATCCG-1,Monocytes -Combo_AGACGTTGTCTCACCT-1,Dendritic cells -Combo_AGACGTTGTTGAACTC-1,Monocytes -Combo_AGACGTTGTTGCTCCT-1,Dendritic cells -Combo_AGAGCGAAGGAGCGTT-1,Monocytes -Combo_AGAGCGACACATTCGA-1,Monocytes -Combo_AGAGCGACACCGAAAG-1,Dendritic cells -Combo_AGAGCGACACGGTGTC-1,Monocytes -Combo_AGAGCGACAGCCACCA-1,T cells -Combo_AGAGCGACATACGCTA-1,Granulocytes -Combo_AGAGCGAGTAGAGTGC-1,Monocytes -Combo_AGAGCGAGTCCGAAGA-1,Monocytes -Combo_AGAGCGAGTTCGAATC-1,Monocytes -Combo_AGAGCGAGTTCTGGTA-1,Monocytes -Combo_AGAGCGATCAGCACAT-1,Monocytes -Combo_AGAGCGATCGGCTTGG-1,Monocytes -Combo_AGAGCTTAGATCCCGC-1,Monocytes -Combo_AGAGCTTCAGCTGGCT-1,Monocytes -Combo_AGAGCTTCATTGTGCA-1,Monocytes -Combo_AGAGCTTGTAGGCTGA-1,Monocytes -Combo_AGAGCTTGTCAACATC-1,T cells -Combo_AGAGCTTGTCATTAGC-1,Monocytes -Combo_AGAGCTTGTTAGATGA-1,Monocytes -Combo_AGAGCTTTCCAGTATG-1,T cells -Combo_AGAGTGGAGACTTTCG-1,Monocytes -Combo_AGAGTGGAGGCCGAAT-1,Monocytes -Combo_AGAGTGGAGTAGATGT-1,Monocytes -Combo_AGAGTGGCACTACAGT-1,Monocytes -Combo_AGAGTGGGTCTCTTAT-1,Monocytes -Combo_AGAGTGGGTGCGAAAC-1,Monocytes -Combo_AGAGTGGTCAACGAAA-1,Monocytes -Combo_AGAGTGGTCAGTCCCT-1,Granulocytes -Combo_AGAGTGGTCGATCCCT-1,Monocytes -Combo_AGATCTGAGAGGGATA-1,Monocytes -Combo_AGATCTGAGATGTGTA-1,Dendritic cells -Combo_AGATCTGAGCTACCGC-1,Monocytes -Combo_AGATCTGAGGGAAACA-1,Monocytes -Combo_AGATCTGAGTATCGAA-1,Monocytes -Combo_AGATCTGAGTATTGGA-1,Monocytes -Combo_AGATCTGCACCGAATT-1,Monocytes -Combo_AGATCTGGTCGAAAGC-1,Monocytes -Combo_AGATCTGGTTGAGTTC-1,Monocytes -Combo_AGATCTGTCAGCGACC-1,Dendritic cells -Combo_AGATCTGTCTCAAACG-1,Granulocytes -Combo_AGATTGCAGCTAGTCT-1,Dendritic cells -Combo_AGATTGCCAAGTCATC-1,Dendritic cells -Combo_AGATTGCCACGTCTCT-1,Granulocytes -Combo_AGATTGCCAGGAACGT-1,Granulocytes -Combo_AGATTGCCATCTACGA-1,Monocytes -Combo_AGATTGCTCACAACGT-1,Monocytes -Combo_AGCAGCCAGATGTAAC-1,Monocytes -Combo_AGCAGCCAGGGATCTG-1,Monocytes -Combo_AGCAGCCAGGGATGGG-1,Dendritic cells -Combo_AGCAGCCAGTGGACGT-1,Monocytes -Combo_AGCAGCCCAAGGACTG-1,Granulocytes -Combo_AGCAGCCCACCACCAG-1,Dendritic cells -Combo_AGCAGCCCAGTATGCT-1,Granulocytes -Combo_AGCAGCCGTAGAAGGA-1,Dendritic cells -Combo_AGCAGCCGTTGGTGGA-1,Monocytes -Combo_AGCAGCCTCTTCGGTC-1,Monocytes -Combo_AGCAGCCTCTTGGGTA-1,Dendritic cells -Combo_AGCATACAGCTAAACA-1,Monocytes -Combo_AGCATACCACCTTGTC-1,Granulocytes -Combo_AGCATACCATTCCTGC-1,Monocytes -Combo_AGCATACTCCAGTAGT-1,Monocytes -Combo_AGCATACTCCGTAGGC-1,Monocytes -Combo_AGCATACTCTTGCAAG-1,Monocytes -Combo_AGCCTAAAGATCTGAA-1,Dendritic cells -Combo_AGCCTAAAGCTAGCCC-1,Granulocytes -Combo_AGCCTAAAGTGCAAGC-1,Dendritic cells -Combo_AGCCTAAGTCATCCCT-1,Monocytes -Combo_AGCCTAAGTGCGATAG-1,Granulocytes -Combo_AGCCTAATCATCTGCC-1,Monocytes -Combo_AGCCTAATCCGAATGT-1,Granulocytes -Combo_AGCGGTCAGAAGAAGC-1,Monocytes -Combo_AGCGGTCAGCAGGTCA-1,Granulocytes -Combo_AGCGGTCAGCTATGCT-1,Monocytes -Combo_AGCGGTCAGTTCGCGC-1,Monocytes -Combo_AGCGGTCCAGGGCATA-1,Granulocytes -Combo_AGCGGTCCATTCTTAC-1,Monocytes -Combo_AGCGGTCGTCAGAATA-1,Monocytes -Combo_AGCGGTCGTCTCGTTC-1,Dendritic cells -Combo_AGCGGTCGTCTTCAAG-1,Monocytes -Combo_AGCGGTCGTGACGGTA-1,Monocytes -Combo_AGCGGTCGTTAAAGAC-1,Monocytes -Combo_AGCGGTCTCAAACCAC-1,Monocytes -Combo_AGCGGTCTCACCTCGT-1,Monocytes -Combo_AGCGGTCTCTTGTATC-1,Dendritic cells -Combo_AGCGTATAGAGGGATA-1,Dendritic cells -Combo_AGCGTATAGGAATGGA-1,Monocytes -Combo_AGCGTATCAAAGGTGC-1,Monocytes -Combo_AGCGTATCAGATCGGA-1,Monocytes -Combo_AGCGTATCAGTAAGCG-1,T cells -Combo_AGCGTATGTGCCTGTG-1,Monocytes -Combo_AGCGTATGTTCCCTTG-1,Monocytes -Combo_AGCGTATTCGTCTGCT-1,Monocytes -Combo_AGCGTATTCTGATACG-1,Dendritic cells -Combo_AGCGTCGAGGTGATAT-1,Monocytes -Combo_AGCGTCGCAGCCTTTC-1,Monocytes -Combo_AGCGTCGTCCAAATGC-1,Dendritic cells -Combo_AGCGTCGTCGAACGGA-1,Monocytes -Combo_AGCTCCTAGCCCAGCT-1,Dendritic cells -Combo_AGCTCCTCAATGAAAC-1,Monocytes -Combo_AGCTCCTCACGTCAGC-1,Monocytes -Combo_AGCTCCTGTGCAGACA-1,Dendritic cells -Combo_AGCTCCTGTGGAAAGA-1,Monocytes -Combo_AGCTCCTTCGCATGAT-1,Monocytes -Combo_AGCTCTCAGAGCTGGT-1,Granulocytes -Combo_AGCTCTCAGTGGTAAT-1,Monocytes -Combo_AGCTCTCCATAGGATA-1,Dendritic cells -Combo_AGCTCTCCATTAGCCA-1,Dendritic cells -Combo_AGCTCTCGTTCCTCCA-1,Granulocytes -Combo_AGCTCTCTCAGTACGT-1,Dendritic cells -Combo_AGCTCTCTCGGCGGTT-1,Monocytes -Combo_AGCTCTCTCTATCCTA-1,Monocytes -Combo_AGCTCTCTCTTCTGGC-1,Monocytes -Combo_AGCTTGAAGACGCACA-1,Granulocytes -Combo_AGCTTGACAAGTCTGT-1,Monocytes -Combo_AGCTTGACATCCAACA-1,Monocytes -Combo_AGCTTGAGTACCTACA-1,Monocytes -Combo_AGCTTGAGTGAGGCTA-1,Dendritic cells -Combo_AGCTTGATCCTTGGTC-1,Monocytes -Combo_AGCTTGATCTGCTTGC-1,Monocytes -Combo_AGGCCACCAAACCCAT-1,Monocytes -Combo_AGGCCACCAAGTCTGT-1,Monocytes -Combo_AGGCCACGTCCCGACA-1,Monocytes -Combo_AGGCCACGTCGGCATC-1,Monocytes -Combo_AGGCCACTCACGCATA-1,Dendritic cells -Combo_AGGCCACTCCGGGTGT-1,Monocytes -Combo_AGGCCACTCCTACAGA-1,Macrophages -Combo_AGGCCACTCTCCTATA-1,Monocytes -Combo_AGGCCACTCTTATCTG-1,Dendritic cells -Combo_AGGCCGTAGGAGTCTG-1,Dendritic cells -Combo_AGGCCGTCACAGCCCA-1,Granulocytes -Combo_AGGCCGTCACCGTTGG-1,Monocytes -Combo_AGGCCGTGTCATATGC-1,Granulocytes -Combo_AGGCCGTGTGATGTCT-1,Dendritic cells -Combo_AGGCCGTTCCAGAGGA-1,Dendritic cells -Combo_AGGCCGTTCGCTTAGA-1,Granulocytes -Combo_AGGGAGTAGCCACGCT-1,Monocytes -Combo_AGGGAGTAGGCATGGT-1,Monocytes -Combo_AGGGAGTAGGGATACC-1,Monocytes -Combo_AGGGAGTAGTGGTAGC-1,Granulocytes -Combo_AGGGAGTCAACTGCTA-1,Dendritic cells -Combo_AGGGAGTCATCCCACT-1,Monocytes -Combo_AGGGAGTCATCGGAAG-1,Monocytes -Combo_AGGGAGTGTATGAAAC-1,Granulocytes -Combo_AGGGAGTGTCACTTCC-1,Monocytes -Combo_AGGGAGTGTCTCGTTC-1,Dendritic cells -Combo_AGGGAGTGTTGATTGC-1,Dendritic cells -Combo_AGGGAGTGTTTGGGCC-1,Monocytes -Combo_AGGGAGTGTTTGTGTG-1,Dendritic cells -Combo_AGGGAGTTCATGTAGC-1,Monocytes -Combo_AGGGAGTTCGACAGCC-1,Monocytes -Combo_AGGGATGAGCAGCCTC-1,Monocytes -Combo_AGGGATGAGGGTATCG-1,Monocytes -Combo_AGGGATGAGTACGATA-1,Monocytes -Combo_AGGGATGAGTCGCCGT-1,Granulocytes -Combo_AGGGATGCAGGATTGG-1,Monocytes -Combo_AGGGATGCATAACCTG-1,Dendritic cells -Combo_AGGGATGCATACGCCG-1,Monocytes -Combo_AGGGATGCATCTCCCA-1,Granulocytes -Combo_AGGGATGGTAAGTGTA-1,Dendritic cells -Combo_AGGGATGGTACATCCA-1,Monocytes -Combo_AGGGATGGTACCGTAT-1,Macrophages -Combo_AGGGATGGTCATATGC-1,Monocytes -Combo_AGGGATGGTCTGATTG-1,T cells -Combo_AGGGATGTCAAACCAC-1,Granulocytes -Combo_AGGGTGAAGAAACCGC-1,Monocytes -Combo_AGGGTGAAGATATGCA-1,Dendritic cells -Combo_AGGGTGAAGCAGCGTA-1,Monocytes -Combo_AGGGTGAAGCTACCGC-1,Monocytes -Combo_AGGGTGAAGCTAGCCC-1,Monocytes -Combo_AGGGTGAAGCTAGTTC-1,Monocytes -Combo_AGGGTGAAGGCCCTCA-1,Dendritic cells -Combo_AGGGTGACAAGCCCAC-1,Monocytes -Combo_AGGGTGAGTAGGACAC-1,Monocytes -Combo_AGGGTGAGTGTCCTCT-1,Dendritic cells -Combo_AGGGTGAGTGTGGTTT-1,Monocytes -Combo_AGGGTGAGTTCGAATC-1,Monocytes -Combo_AGGGTGAGTTGAGTTC-1,Dendritic cells -Combo_AGGGTGATCTGGCGTG-1,Monocytes -Combo_AGGTCATAGACCCACC-1,Monocytes -Combo_AGGTCATAGAGGACGG-1,Granulocytes -Combo_AGGTCATAGGCAAAGA-1,Granulocytes -Combo_AGGTCATAGTCGTACT-1,Dendritic cells -Combo_AGGTCATCAGCGTCCA-1,Monocytes -Combo_AGGTCATCAGGTCGTC-1,Monocytes -Combo_AGGTCATGTCTCCCTA-1,Dendritic cells -Combo_AGGTCATGTTCAGGCC-1,Monocytes -Combo_AGGTCATTCAGCTCTC-1,Monocytes -Combo_AGGTCATTCTTGCAAG-1,Dendritic cells -Combo_AGGTCCGAGAACTCGG-1,Dendritic cells -Combo_AGGTCCGAGGTGACCA-1,Monocytes -Combo_AGGTCCGCACCCAGTG-1,Granulocytes -Combo_AGGTCCGCAGCTCGCA-1,Dendritic cells -Combo_AGGTCCGCAGGACGTA-1,Dendritic cells -Combo_AGGTCCGCAGTGACAG-1,Monocytes -Combo_AGGTCCGGTCCGTCAG-1,Monocytes -Combo_AGGTCCGGTGGCGAAT-1,Dendritic cells -Combo_AGGTCCGTCAGAGACG-1,Monocytes -Combo_AGGTCCGTCTTGTATC-1,Monocytes -Combo_AGTAGTCAGACACGAC-1,Monocytes -Combo_AGTAGTCAGATCCCGC-1,Monocytes -Combo_AGTAGTCCACGGTTTA-1,Monocytes -Combo_AGTAGTCCAGATTGCT-1,Granulocytes -Combo_AGTAGTCCAGCTTAAC-1,Monocytes -Combo_AGTAGTCCAGTCCTTC-1,Monocytes -Combo_AGTAGTCGTGGAAAGA-1,Monocytes -Combo_AGTAGTCGTTCGTTGA-1,Monocytes -Combo_AGTAGTCTCCTTTCGG-1,Granulocytes -Combo_AGTCTTTAGGCCCGTT-1,Granulocytes -Combo_AGTCTTTAGTACACCT-1,Granulocytes -Combo_AGTCTTTCACTACAGT-1,Granulocytes -Combo_AGTCTTTCAGCCTATA-1,Granulocytes -Combo_AGTCTTTGTACCTACA-1,Monocytes -Combo_AGTCTTTTCAAGGCTT-1,Monocytes -Combo_AGTCTTTTCGATAGAA-1,Dendritic cells -Combo_AGTGAGGCAGTATGCT-1,Monocytes -Combo_AGTGAGGCATTCCTCG-1,Granulocytes -Combo_AGTGAGGGTACCATCA-1,Granulocytes -Combo_AGTGAGGGTCAACATC-1,Granulocytes -Combo_AGTGAGGGTGTTGGGA-1,Dendritic cells -Combo_AGTGAGGGTTCGGGCT-1,Monocytes -Combo_AGTGAGGTCAACACCA-1,Dendritic cells -Combo_AGTGGGAAGGATGCGT-1,Monocytes -Combo_AGTGGGAAGGCAGTCA-1,Monocytes -Combo_AGTGGGAAGGTGATTA-1,Monocytes -Combo_AGTGGGAAGGTGTTAA-1,Monocytes -Combo_AGTGGGAAGTATTGGA-1,Monocytes -Combo_AGTGGGAGTAGCGATG-1,Granulocytes -Combo_AGTGGGAGTAGGGACT-1,Monocytes -Combo_AGTGGGAGTTACCGAT-1,Monocytes -Combo_AGTGGGATCAAACGGG-1,Granulocytes -Combo_AGTGGGATCAGTGTTG-1,Dendritic cells -Combo_AGTGGGATCCACTCCA-1,Monocytes -Combo_AGTGTCAAGACGACGT-1,Monocytes -Combo_AGTGTCAAGCTAAGAT-1,Granulocytes -Combo_AGTGTCAAGTACTTGC-1,Monocytes -Combo_AGTGTCAAGTGGTAGC-1,Monocytes -Combo_AGTGTCACAAGCTGAG-1,T cells -Combo_AGTGTCAGTAGAAGGA-1,Dendritic cells -Combo_AGTGTCATCTTTAGTC-1,Monocytes -Combo_AGTTGGTAGGCAGTCA-1,Monocytes -Combo_AGTTGGTAGGCCATAG-1,Monocytes -Combo_AGTTGGTCAGTCACTA-1,Monocytes -Combo_AGTTGGTCATCGGACC-1,Granulocytes -Combo_AGTTGGTCATGGTTGT-1,Monocytes -Combo_AGTTGGTGTAAAGGAG-1,Monocytes -Combo_AGTTGGTGTCAATACC-1,Monocytes -Combo_AGTTGGTGTGAGGGTT-1,Monocytes -Combo_AGTTGGTTCAACGGGA-1,Granulocytes -Combo_AGTTGGTTCGCATGAT-1,Dendritic cells -Combo_ATAACGCAGAGCTATA-1,Dendritic cells -Combo_ATAACGCAGCACCGTC-1,Granulocytes -Combo_ATAACGCCAATGGAGC-1,Monocytes -Combo_ATAACGCCACTTAAGC-1,Monocytes -Combo_ATAACGCGTACCGCTG-1,Dendritic cells -Combo_ATAACGCGTCACCTAA-1,Granulocytes -Combo_ATAACGCGTCGAATCT-1,Dendritic cells -Combo_ATAACGCGTCGGCACT-1,Monocytes -Combo_ATAACGCTCAGCGATT-1,Monocytes -Combo_ATAAGAGAGAGCTATA-1,Dendritic cells -Combo_ATAAGAGAGCGCCTCA-1,Monocytes -Combo_ATAAGAGAGCTCCTCT-1,Fibroblasts -Combo_ATAAGAGAGGAATTAC-1,T cells -Combo_ATAAGAGCATCCGGGT-1,Dendritic cells -Combo_ATAAGAGGTAATAGCA-1,Dendritic cells -Combo_ATAAGAGGTCATACTG-1,Monocytes -Combo_ATAAGAGGTCCATCCT-1,Monocytes -Combo_ATAAGAGGTGCTTCTC-1,Dendritic cells -Combo_ATAAGAGGTTCGGCAC-1,Monocytes -Combo_ATAAGAGGTTGTCGCG-1,Monocytes -Combo_ATAGACCAGAGACGAA-1,Dendritic cells -Combo_ATAGACCAGCCGATTT-1,Monocytes -Combo_ATAGACCCAGACGTAG-1,Granulocytes -Combo_ATAGACCGTCTAGTGT-1,Dendritic cells -Combo_ATAGACCGTGCGGTAA-1,Monocytes -Combo_ATAGACCGTGGGTATG-1,Dendritic cells -Combo_ATAGACCTCACAATGC-1,Monocytes -Combo_ATAGACCTCCAAAGTC-1,Granulocytes -Combo_ATCACGAAGCCTATGT-1,Monocytes -Combo_ATCACGAAGCCTTGAT-1,Granulocytes -Combo_ATCACGAAGTCATCCA-1,Monocytes -Combo_ATCACGAAGTCCATAC-1,Dendritic cells -Combo_ATCACGACAACACCCG-1,Monocytes -Combo_ATCACGACACATGACT-1,Monocytes -Combo_ATCACGAGTAGCACGA-1,Granulocytes -Combo_ATCACGAGTCCAGTTA-1,Monocytes -Combo_ATCACGATCCCAACGG-1,Granulocytes -Combo_ATCACGATCCGTTGCT-1,Monocytes -Combo_ATCATCTAGCCTTGAT-1,Granulocytes -Combo_ATCATCTAGCTCCTCT-1,Monocytes -Combo_ATCATCTCAGCTATTG-1,Monocytes -Combo_ATCATCTGTATTACCG-1,Dendritic cells -Combo_ATCATCTGTCTTCTCG-1,Monocytes -Combo_ATCATCTGTGATGTCT-1,Monocytes -Combo_ATCATCTTCAGAAATG-1,Dendritic cells -Combo_ATCATCTTCAGTACGT-1,Dendritic cells -Combo_ATCATGGAGATGCCTT-1,Monocytes -Combo_ATCATGGAGGGTCGAT-1,Granulocytes -Combo_ATCATGGCACAGCGTC-1,Dendritic cells -Combo_ATCATGGCACGTTGGC-1,Monocytes -Combo_ATCATGGGTAGCTCCG-1,Monocytes -Combo_ATCATGGGTCAGCTAT-1,Monocytes -Combo_ATCATGGTCACCCGAG-1,Monocytes -Combo_ATCATGGTCAGGATCT-1,Monocytes -Combo_ATCCACCAGTCCCACG-1,Monocytes -Combo_ATCCACCCAATGACCT-1,Granulocytes -Combo_ATCCACCCATTACGAC-1,Monocytes -Combo_ATCCACCGTAATCGTC-1,Dendritic cells -Combo_ATCCACCGTCAGCTAT-1,Dendritic cells -Combo_ATCCACCGTTGTGGAG-1,Granulocytes -Combo_ATCCACCTCCATGAAC-1,Granulocytes -Combo_ATCCGAAAGAAGCCCA-1,Monocytes -Combo_ATCCGAAAGGGATCTG-1,Granulocytes -Combo_ATCCGAAGTCATATCG-1,Monocytes -Combo_ATCCGAAGTGTGGTTT-1,Monocytes -Combo_ATCCGAAGTTATCACG-1,Dendritic cells -Combo_ATCCGAATCAGCAACT-1,Monocytes -Combo_ATCCGAATCGGACAAG-1,Erythrocytes -Combo_ATCCGAATCTGGGCCA-1,Dendritic cells -Combo_ATCGAGTAGCTAGCCC-1,Monocytes -Combo_ATCGAGTAGGCAGTCA-1,Granulocytes -Combo_ATCGAGTAGGGTCTCC-1,Dendritic cells -Combo_ATCGAGTCAGTCAGCC-1,Dendritic cells -Combo_ATCGAGTCATGGTCTA-1,Monocytes -Combo_ATCGAGTGTAGCGCTC-1,Monocytes -Combo_ATCGAGTGTGTGTGCC-1,Monocytes -Combo_ATCGAGTGTTCAGTAC-1,Monocytes -Combo_ATCGAGTGTTTGTTTC-1,Monocytes -Combo_ATCGAGTTCAAACCAC-1,Monocytes -Combo_ATCGAGTTCCCGACTT-1,Granulocytes -Combo_ATCGAGTTCCTCAATT-1,Dendritic cells -Combo_ATCGAGTTCGCACTCT-1,Dendritic cells -Combo_ATCGAGTTCGTATCAG-1,Granulocytes -Combo_ATCTACTAGCTGGAAC-1,Monocytes -Combo_ATCTACTAGGGTTTCT-1,Dendritic cells -Combo_ATCTACTCAAGAAGAG-1,Monocytes -Combo_ATCTACTCACTAGTAC-1,Monocytes -Combo_ATCTACTCATGCAATC-1,Monocytes -Combo_ATCTACTCATGCCTAA-1,Granulocytes -Combo_ATCTACTCATGGATGG-1,Monocytes -Combo_ATCTACTGTAACGCGA-1,Granulocytes -Combo_ATCTACTGTCATACTG-1,Monocytes -Combo_ATCTGCCAGACACGAC-1,Granulocytes -Combo_ATCTGCCAGATAGGAG-1,Dendritic cells -Combo_ATCTGCCAGCCACGCT-1,Monocytes -Combo_ATCTGCCAGTCCATAC-1,Monocytes -Combo_ATCTGCCCACAGCCCA-1,Dendritic cells -Combo_ATCTGCCCAGCTATTG-1,T cells -Combo_ATCTGCCGTCGCATAT-1,Macrophages -Combo_ATCTGCCGTCTCCCTA-1,Monocytes -Combo_ATCTGCCTCCTATTCA-1,Monocytes -Combo_ATCTGCCTCGTCGTTC-1,Monocytes -Combo_ATGAGGGAGAAACCAT-1,Monocytes -Combo_ATGAGGGAGAAGGGTA-1,Monocytes -Combo_ATGAGGGAGCACCGTC-1,Monocytes -Combo_ATGAGGGAGCTCCTCT-1,Monocytes -Combo_ATGAGGGAGGACAGAA-1,Monocytes -Combo_ATGAGGGAGGGCATGT-1,T cells -Combo_ATGAGGGCAGATTGCT-1,Dendritic cells -Combo_ATGAGGGGTCCGAAGA-1,Dendritic cells -Combo_ATGAGGGGTCCGAATT-1,Dendritic cells -Combo_ATGAGGGGTGATAAGT-1,Monocytes -Combo_ATGAGGGGTTGATTCG-1,Dendritic cells -Combo_ATGAGGGTCAGCAACT-1,Monocytes -Combo_ATGAGGGTCAGGCCCA-1,Granulocytes -Combo_ATGAGGGTCTTGAGGT-1,Monocytes -Combo_ATGCGATAGTGGGTTG-1,T cells -Combo_ATGCGATCACGAGGTA-1,Dendritic cells -Combo_ATGCGATCATGCATGT-1,Monocytes -Combo_ATGCGATGTAAGGATT-1,Dendritic cells -Combo_ATGCGATGTCCAAGTT-1,Monocytes -Combo_ATGCGATGTCGTGGCT-1,Monocytes -Combo_ATGCGATGTCTTTCAT-1,Monocytes -Combo_ATGCGATGTTCAGGCC-1,Monocytes -Combo_ATGCGATTCCGAACGC-1,Monocytes -Combo_ATGGGAGAGAGAACAG-1,Monocytes -Combo_ATGGGAGAGGCCCTCA-1,Monocytes -Combo_ATGGGAGCAAGTTAAG-1,Granulocytes -Combo_ATGGGAGCAATGCCAT-1,Granulocytes -Combo_ATGGGAGGTCGCGTGT-1,Monocytes -Combo_ATGGGAGGTCTCAACA-1,Dendritic cells -Combo_ATGGGAGTCTGCAGTA-1,Dendritic cells -Combo_ATGGGAGTCTGCTGTC-1,Monocytes -Combo_ATGGGAGTCTGCTTGC-1,Monocytes -Combo_ATGTGTGAGGCGACAT-1,Granulocytes -Combo_ATGTGTGAGTCATCCA-1,Monocytes -Combo_ATGTGTGCACGAGGTA-1,Dendritic cells -Combo_ATGTGTGGTGTGCGTC-1,Monocytes -Combo_ATGTGTGGTTGTGGAG-1,Monocytes -Combo_ATGTGTGTCGACCAGC-1,Monocytes -Combo_ATGTGTGTCTCGAGTA-1,Granulocytes -Combo_ATTACTCAGTCCGGTC-1,Monocytes -Combo_ATTACTCCAAGTAATG-1,Monocytes -Combo_ATTACTCCATGACGGA-1,Granulocytes -Combo_ATTACTCGTCATACTG-1,Monocytes -Combo_ATTACTCGTGAAAGAG-1,Monocytes -Combo_ATTACTCTCACTGGGC-1,Monocytes -Combo_ATTACTCTCCAAAGTC-1,Monocytes -Combo_ATTACTCTCTAACTCT-1,Dendritic cells -Combo_ATTACTCTCTGCAAGT-1,Monocytes -Combo_ATTATCCAGGGTATCG-1,T cells -Combo_ATTATCCCACCGATAT-1,Dendritic cells -Combo_ATTATCCCACCTTGTC-1,Monocytes -Combo_ATTATCCGTAGAGTGC-1,Monocytes -Combo_ATTATCCGTATTCGTG-1,Monocytes -Combo_ATTATCCGTTGACGTT-1,Monocytes -Combo_ATTATCCTCACCAGGC-1,Monocytes -Combo_ATTATCCTCACCCTCA-1,Monocytes -Combo_ATTATCCTCCTTTACA-1,Granulocytes -Combo_ATTCTACAGATCTGAA-1,Granulocytes -Combo_ATTCTACAGGACATTA-1,Monocytes -Combo_ATTCTACAGGCCGAAT-1,Monocytes -Combo_ATTCTACAGGTAGCCA-1,Granulocytes -Combo_ATTCTACCAACGATGG-1,Monocytes -Combo_ATTCTACGTACTCAAC-1,Monocytes -Combo_ATTCTACGTCCGAGTC-1,T cells -Combo_ATTCTACGTCGGCTCA-1,Monocytes -Combo_ATTCTACGTTACAGAA-1,Dendritic cells -Combo_ATTGGACAGGACCACA-1,T cells -Combo_ATTGGACCACAGGAGT-1,Monocytes -Combo_ATTGGACCACCTCGGA-1,Granulocytes -Combo_ATTGGACCAGATCGGA-1,Monocytes -Combo_ATTGGACGTGATAAAC-1,Monocytes -Combo_ATTGGACGTTATCACG-1,Monocytes -Combo_ATTGGACTCAACGGGA-1,Monocytes -Combo_ATTGGACTCGGTTAAC-1,T cells -Combo_ATTGGACTCTGTCAAG-1,Monocytes -Combo_ATTGGTGAGAACAATC-1,Dendritic cells -Combo_ATTGGTGAGAATAGGG-1,Granulocytes -Combo_ATTGGTGAGCCAGGAT-1,Monocytes -Combo_ATTGGTGAGCGCTTAT-1,Monocytes -Combo_ATTGGTGAGGCTACGA-1,Macrophages -Combo_ATTGGTGAGGGAAACA-1,Monocytes -Combo_ATTGGTGAGTGCTGCC-1,Monocytes -Combo_ATTGGTGCAATGACCT-1,Granulocytes -Combo_ATTGGTGCACATTTCT-1,Monocytes -Combo_ATTGGTGCATGGTTGT-1,Monocytes -Combo_ATTGGTGTCACCTCGT-1,Monocytes -Combo_ATTGGTGTCCGTACAA-1,Monocytes -Combo_ATTGGTGTCCTGCTTG-1,Monocytes -Combo_ATTTCTGAGAAACCTA-1,Monocytes -Combo_ATTTCTGAGAAAGTGG-1,Monocytes -Combo_ATTTCTGAGATCACGG-1,Monocytes -Combo_ATTTCTGGTTAAGACA-1,Monocytes -Combo_ATTTCTGTCTGCTTGC-1,Monocytes -Combo_CAACCAACAATCTGCA-1,Granulocytes -Combo_CAACCAACAGCTGTAT-1,Monocytes -Combo_CAACCAAGTAATAGCA-1,Dendritic cells -Combo_CAACCAAGTCGGCACT-1,Monocytes -Combo_CAACCAAGTGTCCTCT-1,Monocytes -Combo_CAACCAATCCGAATGT-1,Dendritic cells -Combo_CAACCTCAGCTAGTCT-1,Dendritic cells -Combo_CAACCTCAGGGAGTAA-1,Monocytes -Combo_CAACCTCAGGTGACCA-1,Monocytes -Combo_CAACCTCAGTAGTGCG-1,Monocytes -Combo_CAACCTCCACATTTCT-1,Monocytes -Combo_CAACCTCGTCCCTACT-1,Granulocytes -Combo_CAACCTCGTCTAACGT-1,Granulocytes -Combo_CAACCTCTCAATAAGG-1,Monocytes -Combo_CAACTAGAGGCCCGTT-1,Granulocytes -Combo_CAACTAGAGGTGCAAC-1,Monocytes -Combo_CAACTAGCAAAGTCAA-1,Dendritic cells -Combo_CAACTAGCACAGGTTT-1,Monocytes -Combo_CAACTAGCAGATGGGT-1,Monocytes -Combo_CAACTAGCATATGCTG-1,Dendritic cells -Combo_CAACTAGCATCACCCT-1,Monocytes -Combo_CAACTAGGTACGACCC-1,Monocytes -Combo_CAACTAGGTTGTCGCG-1,Dendritic cells -Combo_CAACTAGGTTTACTCT-1,Monocytes -Combo_CAAGAAAAGAGCAATT-1,Monocytes -Combo_CAAGAAAAGCAAATCA-1,Dendritic cells -Combo_CAAGAAAAGGAGTTTA-1,Monocytes -Combo_CAAGAAAAGGTGCTTT-1,Monocytes -Combo_CAAGAAACAAGTCATC-1,Monocytes -Combo_CAAGAAACACAACGCC-1,Monocytes -Combo_CAAGAAAGTGAGTATA-1,Monocytes -Combo_CAAGAAAGTGCAGACA-1,Dendritic cells -Combo_CAAGAAAGTGTTTGTG-1,Monocytes -Combo_CAAGAAAGTTTGTGTG-1,Dendritic cells -Combo_CAAGAAATCCGTTGCT-1,Monocytes -Combo_CAAGAAATCTCGCATC-1,Monocytes -Combo_CAAGATCAGGCCGAAT-1,Granulocytes -Combo_CAAGATCCAAAGAATC-1,Granulocytes -Combo_CAAGATCCACATTAGC-1,Monocytes -Combo_CAAGATCCACTAAGTC-1,Monocytes -Combo_CAAGATCCAGCTCGAC-1,Monocytes -Combo_CAAGATCCATTATCTC-1,Monocytes -Combo_CAAGATCGTATGGTTC-1,Granulocytes -Combo_CAAGATCGTCACACGC-1,Dendritic cells -Combo_CAAGATCGTCTTTCAT-1,Monocytes -Combo_CAAGATCGTTGAGGTG-1,Dendritic cells -Combo_CAAGATCTCTTAGCCC-1,Monocytes -Combo_CAAGGCCAGAAGGTGA-1,Monocytes -Combo_CAAGGCCAGCCCTAAT-1,Monocytes -Combo_CAAGGCCAGTTGTAGA-1,Monocytes -Combo_CAAGGCCCAATGGAAT-1,Granulocytes -Combo_CAAGGCCGTACCGTAT-1,Monocytes -Combo_CAAGGCCGTCTAGGTT-1,Monocytes -Combo_CAAGGCCGTGAAATCA-1,Monocytes -Combo_CAAGGCCTCCCTTGCA-1,Monocytes -Combo_CAAGGCCTCGCAAACT-1,Dendritic cells -Combo_CAAGGCCTCTTGGGTA-1,Monocytes -Combo_CAAGTTGAGAGTACCG-1,Dendritic cells -Combo_CAAGTTGAGCAGGCTA-1,Granulocytes -Combo_CAAGTTGAGGAGTCTG-1,Dendritic cells -Combo_CAAGTTGGTACTCAAC-1,Monocytes -Combo_CAAGTTGGTCAGTGGA-1,Monocytes -Combo_CAAGTTGGTCATCCCT-1,Monocytes -Combo_CAAGTTGTCGGCTTGG-1,Monocytes -Combo_CAAGTTGTCTAGCACA-1,Monocytes -Combo_CACAAACAGAGTTGGC-1,Monocytes -Combo_CACAAACAGCCCAATT-1,Monocytes -Combo_CACAAACAGGAACTGC-1,Monocytes -Combo_CACAAACCAATAAGCA-1,Granulocytes -Combo_CACAAACCATCACGAT-1,Monocytes -Combo_CACAAACGTACCGAGA-1,Monocytes -Combo_CACAAACGTACTCTCC-1,Monocytes -Combo_CACAAACGTGAGGCTA-1,Monocytes -Combo_CACAAACTCATGTAGC-1,Monocytes -Combo_CACAAACTCCAACCAA-1,Monocytes -Combo_CACACAAAGAAGGTTT-1,Monocytes -Combo_CACACAAAGAGCTATA-1,Granulocytes -Combo_CACACAAAGGTGATTA-1,Monocytes -Combo_CACACAAAGGTGCTTT-1,Dendritic cells -Combo_CACACAACACGAAATA-1,Monocytes -Combo_CACACAACATTACGAC-1,Monocytes -Combo_CACACAAGTCAGAATA-1,Monocytes -Combo_CACACAATCAGCTCTC-1,Granulocytes -Combo_CACACCTAGGGAGTAA-1,Monocytes -Combo_CACACCTCAGCGTAAG-1,Granulocytes -Combo_CACACCTGTTAAGACA-1,Monocytes -Combo_CACACCTTCACGACTA-1,Macrophages -Combo_CACACTCAGTCAATAG-1,Dendritic cells -Combo_CACACTCCAAAGCGGT-1,Dendritic cells -Combo_CACACTCCAGGGCATA-1,Dendritic cells -Combo_CACACTCCATCACGAT-1,Dendritic cells -Combo_CACACTCCATTCTCAT-1,Dendritic cells -Combo_CACACTCGTGTCTGAT-1,Monocytes -Combo_CACACTCTCGGTGTTA-1,Monocytes -Combo_CACACTCTCGTTGACA-1,Monocytes -Combo_CACAGGCAGAGCTATA-1,Granulocytes -Combo_CACAGGCAGATCCTGT-1,Monocytes -Combo_CACAGGCCAAAGGAAG-1,Monocytes -Combo_CACAGGCCAAGCCATT-1,Monocytes -Combo_CACAGGCCAAGGCTCC-1,Monocytes -Combo_CACAGGCCACCTGGTG-1,Granulocytes -Combo_CACAGGCCAGCTGTGC-1,Dendritic cells -Combo_CACAGGCCAGGGAGAG-1,Monocytes -Combo_CACAGGCGTGCATCTA-1,Monocytes -Combo_CACAGGCGTTGGGACA-1,Dendritic cells -Combo_CACAGTAAGAACAATC-1,Monocytes -Combo_CACAGTAAGAGACTAT-1,Monocytes -Combo_CACAGTAAGGTTCCTA-1,Dendritic cells -Combo_CACAGTAAGTCGAGTG-1,Monocytes -Combo_CACAGTACAAACTGTC-1,Monocytes -Combo_CACAGTACAGCCAGAA-1,Monocytes -Combo_CACAGTACAGGATCGA-1,Monocytes -Combo_CACAGTAGTAGCCTCG-1,Monocytes -Combo_CACAGTAGTAGCTGCC-1,Monocytes -Combo_CACAGTATCACCGTAA-1,Monocytes -Combo_CACAGTATCCCTAACC-1,T cells -Combo_CACAGTATCGTGGGAA-1,Monocytes -Combo_CACAGTATCTAGAGTC-1,Monocytes -Combo_CACAGTATCTGCTGCT-1,Dendritic cells -Combo_CACATAGAGGTGCTTT-1,Monocytes -Combo_CACATAGTCAAACCGT-1,Monocytes -Combo_CACATAGTCAAAGACA-1,Granulocytes -Combo_CACATAGTCACGGTTA-1,Monocytes -Combo_CACATTTAGAGGGCTT-1,Dendritic cells -Combo_CACATTTAGCGTAGTG-1,Dendritic cells -Combo_CACATTTAGTGTACGG-1,Dendritic cells -Combo_CACATTTCACGAAAGC-1,Monocytes -Combo_CACATTTCACGACGAA-1,Monocytes -Combo_CACATTTCATCTATGG-1,Monocytes -Combo_CACATTTGTCTTTCAT-1,Dendritic cells -Combo_CACATTTGTTACGGAG-1,Monocytes -Combo_CACATTTGTTCATGGT-1,Monocytes -Combo_CACATTTTCGATCCCT-1,Granulocytes -Combo_CACATTTTCTACCTGC-1,Monocytes -Combo_CACATTTTCTGCGTAA-1,Dendritic cells -Combo_CACATTTTCTGGTTCC-1,Monocytes -Combo_CACCACTAGACAAAGG-1,Dendritic cells -Combo_CACCACTAGATGTCGG-1,Dendritic cells -Combo_CACCACTAGGAGCGTT-1,Dendritic cells -Combo_CACCACTCAGGACGTA-1,Monocytes -Combo_CACCACTGTATTCTCT-1,Dendritic cells -Combo_CACCACTGTGACTCAT-1,Monocytes -Combo_CACCACTGTGTTGGGA-1,Monocytes -Combo_CACCACTTCAACACTG-1,Granulocytes -Combo_CACCACTTCCCTAACC-1,Monocytes -Combo_CACCAGGAGACGACGT-1,Granulocytes -Combo_CACCAGGAGATGTAAC-1,Monocytes -Combo_CACCAGGAGCCAGTTT-1,Monocytes -Combo_CACCAGGAGCTATGCT-1,Monocytes -Combo_CACCAGGTCGCCAGCA-1,Monocytes -Combo_CACCTTGAGCAATCTC-1,Monocytes -Combo_CACCTTGAGCGATCCC-1,Monocytes -Combo_CACCTTGAGGTGCTTT-1,Dendritic cells -Combo_CACCTTGCAATAGAGT-1,Granulocytes -Combo_CACCTTGCAGCCACCA-1,Dendritic cells -Combo_CACTCCAAGAAACGCC-1,Monocytes -Combo_CACTCCAAGAAGGACA-1,Monocytes -Combo_CACTCCACAAAGGCGT-1,Monocytes -Combo_CACTCCACAGACGCCT-1,Monocytes -Combo_CACTCCAGTGCAGTAG-1,Monocytes -Combo_CACTCCAGTTTGGGCC-1,Monocytes -Combo_CACTCCATCATTGCGA-1,Monocytes -Combo_CAGAATCAGAGTCTGG-1,Granulocytes -Combo_CAGAATCCAAAGGCGT-1,Granulocytes -Combo_CAGAATCCACCAGCAC-1,Monocytes -Combo_CAGAATCCATAGACTC-1,Granulocytes -Combo_CAGAATCGTCATGCCG-1,Monocytes -Combo_CAGAATCGTGTCCTCT-1,Monocytes -Combo_CAGAATCGTGTTGGGA-1,Dendritic cells -Combo_CAGAATCGTTGTCGCG-1,Dendritic cells -Combo_CAGAATCTCACAGTAC-1,Dendritic cells -Combo_CAGAATCTCAGCATGT-1,Monocytes -Combo_CAGAATCTCTAGAGTC-1,Monocytes -Combo_CAGAGAGAGAGATGAG-1,Monocytes -Combo_CAGAGAGCAGATAATG-1,Dendritic cells -Combo_CAGAGAGCAGCATGAG-1,Granulocytes -Combo_CAGAGAGCATTCCTCG-1,Dendritic cells -Combo_CAGAGAGGTACAAGTA-1,Dendritic cells -Combo_CAGAGAGGTATCACCA-1,Dendritic cells -Combo_CAGAGAGGTCTCGTTC-1,Monocytes -Combo_CAGAGAGGTTGTGGCC-1,Dendritic cells -Combo_CAGATCAAGCTCCCAG-1,Monocytes -Combo_CAGATCAAGCTCTCGG-1,Monocytes -Combo_CAGATCACACGTCTCT-1,Dendritic cells -Combo_CAGATCACATGAGCGA-1,Monocytes -Combo_CAGATCACATGGAATA-1,Dendritic cells -Combo_CAGATCAGTATAAACG-1,Granulocytes -Combo_CAGATCAGTCTAAACC-1,Dendritic cells -Combo_CAGATCATCGCTTGTC-1,Dendritic cells -Combo_CAGCAGCAGATAGCAT-1,Monocytes -Combo_CAGCAGCAGATGCGAC-1,T cells -Combo_CAGCAGCAGCTTTGGT-1,Monocytes -Combo_CAGCAGCAGTTGAGTA-1,Macrophages -Combo_CAGCAGCGTCTCCCTA-1,Monocytes -Combo_CAGCAGCGTGGCGAAT-1,Dendritic cells -Combo_CAGCAGCGTTCAGTAC-1,Monocytes -Combo_CAGCAGCTCCAGATCA-1,Monocytes -Combo_CAGCATAAGACCTAGG-1,Monocytes -Combo_CAGCATAAGGTCGGAT-1,Monocytes -Combo_CAGCATAAGTGCCAGA-1,Monocytes -Combo_CAGCATACAAACCTAC-1,Monocytes -Combo_CAGCATACACATCCGG-1,Dendritic cells -Combo_CAGCATACAGATGGGT-1,Monocytes -Combo_CAGCATACATAAGACA-1,Dendritic cells -Combo_CAGCATACATCCGGGT-1,Dendritic cells -Combo_CAGCATAGTACTCAAC-1,Macrophages -Combo_CAGCATAGTCGACTAT-1,Dendritic cells -Combo_CAGCATAGTTATGTGC-1,Granulocytes -Combo_CAGCATAGTTCTGTTT-1,Granulocytes -Combo_CAGCATATCGTTGACA-1,Monocytes -Combo_CAGCCGAAGAAGAAGC-1,Monocytes -Combo_CAGCCGAAGTTACCCA-1,Dendritic cells -Combo_CAGCCGACACGTCAGC-1,Granulocytes -Combo_CAGCCGACATCCGTGG-1,Monocytes -Combo_CAGCCGACATGCTAGT-1,Monocytes -Combo_CAGCCGACATTGGTAC-1,Monocytes -Combo_CAGCCGAGTCAAAGAT-1,Monocytes -Combo_CAGCCGAGTTAGAACA-1,Granulocytes -Combo_CAGCCGAGTTATGTGC-1,Monocytes -Combo_CAGCCGAGTTGCTCCT-1,Monocytes -Combo_CAGCCGATCAGTCAGT-1,Granulocytes -Combo_CAGCCGATCGAATGGG-1,Granulocytes -Combo_CAGCCGATCGCGTAGC-1,Monocytes -Combo_CAGCCGATCTACCTGC-1,Monocytes -Combo_CAGCGACAGACGCAAC-1,Monocytes -Combo_CAGCGACAGAGTTGGC-1,Granulocytes -Combo_CAGCGACAGCTCTCGG-1,Monocytes -Combo_CAGCGACAGGATATAC-1,Monocytes -Combo_CAGCGACGTCATCGGC-1,Dendritic cells -Combo_CAGCGACTCAGTTAGC-1,Monocytes -Combo_CAGCTAAAGCTTCGCG-1,Monocytes -Combo_CAGCTAAAGGGCTTCC-1,Dendritic cells -Combo_CAGCTAAAGTATCGAA-1,Granulocytes -Combo_CAGCTAACACTAGTAC-1,Monocytes -Combo_CAGCTAACAGACAGGT-1,Monocytes -Combo_CAGCTAAGTCTCACCT-1,Dendritic cells -Combo_CAGCTAAGTGCAGACA-1,Monocytes -Combo_CAGCTAAGTTATCCGA-1,Dendritic cells -Combo_CAGCTAATCCTTGCCA-1,Monocytes -Combo_CAGCTGGAGCGTGAAC-1,Monocytes -Combo_CAGCTGGCAGATGGCA-1,Monocytes -Combo_CAGCTGGGTATAGGGC-1,Monocytes -Combo_CAGCTGGTCAAACCAC-1,Dendritic cells -Combo_CAGGTGCAGAACAATC-1,Macrophages -Combo_CAGGTGCAGGAGCGTT-1,Monocytes -Combo_CAGGTGCAGTATTGGA-1,Monocytes -Combo_CAGGTGCAGTTGAGAT-1,Granulocytes -Combo_CAGGTGCCAAGAGTCG-1,Dendritic cells -Combo_CAGGTGCCAGAGTGTG-1,Monocytes -Combo_CAGGTGCCAGATGGCA-1,Monocytes -Combo_CAGGTGCGTCAGATAA-1,Monocytes -Combo_CAGGTGCTCAGCAACT-1,Monocytes -Combo_CAGGTGCTCCAAACTG-1,Dendritic cells -Combo_CAGGTGCTCCACGCAG-1,Monocytes -Combo_CAGGTGCTCGCTTAGA-1,Monocytes -Combo_CAGTAACAGCGCCTCA-1,Granulocytes -Combo_CAGTAACAGCTTTGGT-1,Monocytes -Combo_CAGTAACCACGTCTCT-1,Monocytes -Combo_CAGTAACGTTACCGAT-1,Dendritic cells -Combo_CAGTAACGTTCCACAA-1,Monocytes -Combo_CAGTAACTCGAATCCA-1,Monocytes -Combo_CAGTAACTCGCATGGC-1,Monocytes -Combo_CAGTAACTCGCCGTGA-1,Monocytes -Combo_CAGTCCTAGGCTCTTA-1,Dendritic cells -Combo_CAGTCCTAGGGTATCG-1,Dendritic cells -Combo_CAGTCCTAGTAAGTAC-1,Monocytes -Combo_CAGTCCTCAGATGGCA-1,Monocytes -Combo_CAGTCCTCAGCCTTGG-1,Granulocytes -Combo_CAGTCCTTCTTTAGTC-1,Dendritic cells -Combo_CATATGGAGGCCATAG-1,Dendritic cells -Combo_CATATGGCACGTAAGG-1,Monocytes -Combo_CATATGGGTCAATGTC-1,Monocytes -Combo_CATATGGTCATTATCC-1,Monocytes -Combo_CATATGGTCTACTATC-1,Dendritic cells -Combo_CATATGGTCTCACATT-1,Granulocytes -Combo_CATATGGTCTGTCAAG-1,T cells -Combo_CATATTCAGATGTAAC-1,Dendritic cells -Combo_CATATTCAGCGATAGC-1,Granulocytes -Combo_CATATTCCAGATTGCT-1,Monocytes -Combo_CATATTCCATTTGCTT-1,Monocytes -Combo_CATATTCGTACATCCA-1,Monocytes -Combo_CATATTCGTACCGGCT-1,Dendritic cells -Combo_CATATTCGTGGCAAAC-1,Monocytes -Combo_CATATTCTCAAGCCTA-1,Dendritic cells -Combo_CATCAAGAGACTTGAA-1,Dendritic cells -Combo_CATCAAGAGATATACG-1,Monocytes -Combo_CATCAAGCACACATGT-1,Dendritic cells -Combo_CATCAAGCACGGTAAG-1,Dendritic cells -Combo_CATCAAGCAGGTGGAT-1,Monocytes -Combo_CATCAAGCATTCCTCG-1,Dendritic cells -Combo_CATCAAGGTGACTCAT-1,Dendritic cells -Combo_CATCAAGTCGGTGTTA-1,Granulocytes -Combo_CATCAAGTCGTCACGG-1,Granulocytes -Combo_CATCAGAAGGACAGAA-1,Granulocytes -Combo_CATCAGAAGTACGTTC-1,Monocytes -Combo_CATCAGACACTTAAGC-1,Dendritic cells -Combo_CATCAGACAGCTTCGG-1,Macrophages -Combo_CATCAGAGTTAAGATG-1,Monocytes -Combo_CATCAGATCCGAAGAG-1,Monocytes -Combo_CATCAGATCCGCATCT-1,Dendritic cells -Combo_CATCAGATCCTTAATC-1,Granulocytes -Combo_CATCAGATCGGCCGAT-1,Monocytes -Combo_CATCAGATCTACTCAT-1,Monocytes -Combo_CATCAGATCTGGTATG-1,Dendritic cells -Combo_CATCCACAGAGTCTGG-1,Monocytes -Combo_CATCCACAGCAAATCA-1,Monocytes -Combo_CATCCACCAAGGTGTG-1,Granulocytes -Combo_CATCCACGTCGACTGC-1,Dendritic cells -Combo_CATCCACGTCGCGGTT-1,Granulocytes -Combo_CATCCACGTGAAAGAG-1,Monocytes -Combo_CATCCACTCCGAAGAG-1,Monocytes -Combo_CATCGAAAGGCGATAC-1,Dendritic cells -Combo_CATCGAACACTTCTGC-1,Monocytes -Combo_CATCGAAGTCAAGCGA-1,Monocytes -Combo_CATCGAAGTCCTGCTT-1,Dendritic cells -Combo_CATCGAAGTGAGGGTT-1,Monocytes -Combo_CATCGAAGTTCCTCCA-1,Monocytes -Combo_CATCGAATCAACCAAC-1,Monocytes -Combo_CATCGAATCTTCGGTC-1,Granulocytes -Combo_CATCGGGAGACATAAC-1,Granulocytes -Combo_CATCGGGAGATCTGAA-1,Monocytes -Combo_CATCGGGAGCTCCTTC-1,Monocytes -Combo_CATCGGGAGTCATCCA-1,T cells -Combo_CATCGGGGTACCATCA-1,Dendritic cells -Combo_CATCGGGGTACCGTTA-1,Monocytes -Combo_CATCGGGGTCATATCG-1,Dendritic cells -Combo_CATCGGGGTTGGAGGT-1,Dendritic cells -Combo_CATCGGGTCAGAGACG-1,Dendritic cells -Combo_CATCGGGTCCCTCTTT-1,Monocytes -Combo_CATCGGGTCGGAGGTA-1,Monocytes -Combo_CATGACAAGGACATTA-1,Monocytes -Combo_CATGACAAGGGAAACA-1,Granulocytes -Combo_CATGACAAGGGATACC-1,Granulocytes -Combo_CATGACACACAGACTT-1,Monocytes -Combo_CATGACAGTCAGAATA-1,Granulocytes -Combo_CATGACAGTCATCGGC-1,Monocytes -Combo_CATGACAGTCGAGATG-1,Granulocytes -Combo_CATGACAGTGATAAAC-1,Dendritic cells -Combo_CATGACAGTTGGGACA-1,Monocytes -Combo_CATGACATCAGTACGT-1,Dendritic cells -Combo_CATGACATCCGATATG-1,Dendritic cells -Combo_CATGCCTAGCCGATTT-1,Monocytes -Combo_CATGCCTAGGACAGCT-1,Dendritic cells -Combo_CATGCCTAGTACACCT-1,Monocytes -Combo_CATGCCTAGTGGTAGC-1,Dendritic cells -Combo_CATGCCTCAGACTCGC-1,T cells -Combo_CATGCCTGTAATCACC-1,Monocytes -Combo_CATGCCTGTCTACCTC-1,Monocytes -Combo_CATGCCTGTGATGCCC-1,Dendritic cells -Combo_CATGGCGAGAAAGTGG-1,Monocytes -Combo_CATGGCGAGACAGAGA-1,Granulocytes -Combo_CATGGCGAGCCACGCT-1,Dendritic cells -Combo_CATGGCGAGGATATAC-1,Granulocytes -Combo_CATGGCGAGGCCCGTT-1,Monocytes -Combo_CATGGCGCATAAGACA-1,Dendritic cells -Combo_CATGGCGCATGACGGA-1,Granulocytes -Combo_CATGGCGGTGATAAAC-1,Monocytes -Combo_CATGGCGGTGTGAAAT-1,Monocytes -Combo_CATGGCGTCCATGAGT-1,Monocytes -Combo_CATGGCGTCCTCAATT-1,Monocytes -Combo_CATTATCAGCCCTAAT-1,Monocytes -Combo_CATTATCAGCTCCTCT-1,Granulocytes -Combo_CATTATCAGTGACATA-1,Granulocytes -Combo_CATTATCAGTGGTCCC-1,Dendritic cells -Combo_CATTATCCATACAGCT-1,Monocytes -Combo_CATTATCTCACTGGGC-1,Granulocytes -Combo_CATTATCTCCATTCTA-1,Granulocytes -Combo_CATTATCTCCCTAATT-1,Dendritic cells -Combo_CATTATCTCCCTGACT-1,Dendritic cells -Combo_CATTATCTCCTTTCGG-1,Monocytes -Combo_CATTATCTCGCTTGTC-1,Monocytes -Combo_CATTCGCAGAGCTGCA-1,Monocytes -Combo_CATTCGCAGATATGCA-1,Monocytes -Combo_CATTCGCAGCTATGCT-1,Monocytes -Combo_CATTCGCAGGGATGGG-1,Monocytes -Combo_CATTCGCCATTAGGCT-1,Monocytes -Combo_CATTCGCGTAAGGATT-1,Monocytes -Combo_CATTCGCGTCAAGCGA-1,Monocytes -Combo_CATTCGCGTCCAGTAT-1,Dendritic cells -Combo_CATTCGCGTCTCTCTG-1,Monocytes -Combo_CATTCGCGTTAAGTAG-1,Dendritic cells -Combo_CATTCGCTCTCCTATA-1,Monocytes -Combo_CATTCGCTCTTAGAGC-1,Monocytes -Combo_CCAATCCAGAATCTCC-1,Monocytes -Combo_CCAATCCAGCCCGAAA-1,Monocytes -Combo_CCAATCCAGCTAGTTC-1,Monocytes -Combo_CCAATCCAGGGTTCCC-1,Monocytes -Combo_CCAATCCCAATCTACG-1,Dendritic cells -Combo_CCAATCCCACCTTGTC-1,Granulocytes -Combo_CCAATCCCAGCTTAAC-1,Monocytes -Combo_CCAATCCGTACCAGTT-1,Monocytes -Combo_CCAATCCGTATATGGA-1,T cells -Combo_CCAATCCGTTCATGGT-1,Monocytes -Combo_CCAATCCGTTTAGCTG-1,Monocytes -Combo_CCACCTAAGGTGGGTT-1,Monocytes -Combo_CCACCTAAGTGGTAAT-1,Monocytes -Combo_CCACCTACAACTTGAC-1,Monocytes -Combo_CCACCTACAAGTAGTA-1,Dendritic cells -Combo_CCACCTACACGCATCG-1,Monocytes -Combo_CCACCTACAGGATCGA-1,Dendritic cells -Combo_CCACCTACATGTTCCC-1,Monocytes -Combo_CCACCTAGTCTCTCTG-1,Monocytes -Combo_CCACCTATCCGTCAAA-1,Granulocytes -Combo_CCACCTATCCTAAGTG-1,Dendritic cells -Combo_CCACCTATCTGTGCAA-1,Dendritic cells -Combo_CCACGGAAGAAACGAG-1,Monocytes -Combo_CCACGGAAGTGATCGG-1,Granulocytes -Combo_CCACGGACAGCTCGCA-1,Monocytes -Combo_CCACGGAGTACTTAGC-1,Dendritic cells -Combo_CCACGGAGTCGACTGC-1,Monocytes -Combo_CCACGGAGTCTCATCC-1,Granulocytes -Combo_CCACGGAGTGCCTGCA-1,Macrophages -Combo_CCACGGAGTGCGATAG-1,Monocytes -Combo_CCACGGAGTTTAGCTG-1,Monocytes -Combo_CCACGGATCAACACTG-1,Monocytes -Combo_CCACGGATCTACTTAC-1,Monocytes -Combo_CCACTACAGAAACCTA-1,Monocytes -Combo_CCACTACAGGTGCTAG-1,Monocytes -Combo_CCACTACCATCACAAC-1,Granulocytes -Combo_CCACTACCATTGTGCA-1,Granulocytes -Combo_CCACTACGTCCGAACC-1,Monocytes -Combo_CCACTACGTCTTTCAT-1,Dendritic cells -Combo_CCACTACGTTCCATGA-1,T cells -Combo_CCACTACTCAATAAGG-1,Dendritic cells -Combo_CCACTACTCGACAGCC-1,Granulocytes -Combo_CCACTACTCGTTTATC-1,Monocytes -Combo_CCACTACTCTTAGAGC-1,Monocytes -Combo_CCAGCGAAGTACCGGA-1,Granulocytes -Combo_CCAGCGACAGTGGGAT-1,Granulocytes -Combo_CCAGCGAGTAAGGGAA-1,Granulocytes -Combo_CCAGCGAGTACGAAAT-1,Monocytes -Combo_CCAGCGAGTCACTGGC-1,Monocytes -Combo_CCAGCGAGTGACTCAT-1,Monocytes -Combo_CCAGCGAGTTAGTGGG-1,Monocytes -Combo_CCATGTCAGAACTCGG-1,Monocytes -Combo_CCATGTCAGATCTGAA-1,Monocytes -Combo_CCATGTCAGATGCCTT-1,Granulocytes -Combo_CCATGTCAGGGCTCTC-1,Monocytes -Combo_CCATGTCAGTCATCCA-1,Monocytes -Combo_CCATGTCAGTCATGCT-1,Dendritic cells -Combo_CCATGTCGTCCTCCAT-1,Monocytes -Combo_CCATGTCGTCGGCACT-1,Monocytes -Combo_CCATGTCGTCTTTCAT-1,Dendritic cells -Combo_CCATGTCGTTACGTCA-1,Monocytes -Combo_CCATGTCTCCCAGGTG-1,Monocytes -Combo_CCATGTCTCCCTTGCA-1,Dendritic cells -Combo_CCATGTCTCGATAGAA-1,Granulocytes -Combo_CCATTCGAGATCTGAA-1,T cells -Combo_CCATTCGAGCATGGCA-1,Monocytes -Combo_CCATTCGCAAAGTCAA-1,Dendritic cells -Combo_CCATTCGCACTTAACG-1,Monocytes -Combo_CCATTCGGTAAGTTCC-1,Monocytes -Combo_CCATTCGGTAGGCATG-1,Monocytes -Combo_CCATTCGGTCATCGGC-1,Monocytes -Combo_CCATTCGGTTCGTCTC-1,Monocytes -Combo_CCATTCGTCATCTGCC-1,Monocytes -Combo_CCATTCGTCTTGTATC-1,Monocytes -Combo_CCCAATCAGAGACTAT-1,Monocytes -Combo_CCCAATCAGCAAATCA-1,Monocytes -Combo_CCCAATCAGCGATTCT-1,Monocytes -Combo_CCCAATCCATGGATGG-1,Dendritic cells -Combo_CCCAATCGTAACGCGA-1,Dendritic cells -Combo_CCCAATCGTCGTCTTC-1,Monocytes -Combo_CCCAATCGTCTTGATG-1,Monocytes -Combo_CCCAATCGTGACTCAT-1,Granulocytes -Combo_CCCAATCGTTGAGTTC-1,Monocytes -Combo_CCCAATCGTTTCGCTC-1,Monocytes -Combo_CCCAATCTCACTTACT-1,Monocytes -Combo_CCCAATCTCGGCCGAT-1,Monocytes -Combo_CCCAGTTAGAGTCTGG-1,Monocytes -Combo_CCCAGTTAGTACGCGA-1,Monocytes -Combo_CCCAGTTAGTTACCCA-1,Monocytes -Combo_CCCAGTTGTAGTGAAT-1,Monocytes -Combo_CCCAGTTGTCCGTTAA-1,Granulocytes -Combo_CCCAGTTGTCGCTTTC-1,Dendritic cells -Combo_CCCAGTTTCATGTCCC-1,Monocytes -Combo_CCCAGTTTCCGCGCAA-1,Monocytes -Combo_CCCAGTTTCCGGGTGT-1,Monocytes -Combo_CCCAGTTTCGATCCCT-1,Monocytes -Combo_CCCAGTTTCTCATTCA-1,Monocytes -Combo_CCCATACGTCCGTGAC-1,Monocytes -Combo_CCCATACGTCTCCCTA-1,Monocytes -Combo_CCCTCCTAGGTGATTA-1,Monocytes -Combo_CCCTCCTCACGTGAGA-1,Granulocytes -Combo_CCCTCCTGTCCGTTAA-1,Dendritic cells -Combo_CCCTCCTGTCTACCTC-1,Monocytes -Combo_CCCTCCTGTTAGGGTG-1,T cells -Combo_CCCTCCTTCAGTCAGT-1,Dendritic cells -Combo_CCCTCCTTCCTTTACA-1,Monocytes -Combo_CCGGGATAGCCGATTT-1,Monocytes -Combo_CCGGGATCACTGTCGG-1,Granulocytes -Combo_CCGGGATGTACATCCA-1,Monocytes -Combo_CCGGGATGTCACACGC-1,Dendritic cells -Combo_CCGGGATGTCTCACCT-1,Monocytes -Combo_CCGGGATGTTCCCGAG-1,Dendritic cells -Combo_CCGGGATGTTTAAGCC-1,Monocytes -Combo_CCGGGATTCAGTTGAC-1,Monocytes -Combo_CCGGGATTCCCAACGG-1,Granulocytes -Combo_CCGGTAGCATGCAACT-1,Granulocytes -Combo_CCGGTAGGTATAGTAG-1,Granulocytes -Combo_CCGGTAGGTTTCGCTC-1,Granulocytes -Combo_CCGGTAGTCGCATGAT-1,Monocytes -Combo_CCGTACTAGCCAGGAT-1,Granulocytes -Combo_CCGTACTAGGCAATTA-1,Monocytes -Combo_CCGTACTAGTGCTGCC-1,Dendritic cells -Combo_CCGTACTCAGCTGTAT-1,Monocytes -Combo_CCGTACTCAGTCGTGC-1,Granulocytes -Combo_CCGTACTCATGCAATC-1,Monocytes -Combo_CCGTACTGTGTATGGG-1,Granulocytes -Combo_CCGTACTTCAAACCAC-1,Monocytes -Combo_CCGTACTTCGGTTAAC-1,Macrophages -Combo_CCGTACTTCTCAACTT-1,Monocytes -Combo_CCGTGGAAGTGCCATT-1,Monocytes -Combo_CCGTGGAGTATAATGG-1,Monocytes -Combo_CCGTGGAGTCATATGC-1,Macrophages -Combo_CCGTTCAAGGATGTAT-1,Dendritic cells -Combo_CCGTTCAAGTTAGGTA-1,Monocytes -Combo_CCGTTCACACGGTGTC-1,Monocytes -Combo_CCGTTCACATATACGC-1,T cells -Combo_CCGTTCAGTAAGTGTA-1,Monocytes -Combo_CCGTTCATCCGAGCCA-1,Monocytes -Combo_CCGTTCATCTATGTGG-1,Dendritic cells -Combo_CCTAAAGAGAAGCCCA-1,Monocytes -Combo_CCTAAAGAGAGACGAA-1,T cells -Combo_CCTAAAGAGTGTACGG-1,Monocytes -Combo_CCTAAAGAGTGTGGCA-1,Monocytes -Combo_CCTAAAGCAGACGCCT-1,Monocytes -Combo_CCTAAAGCAGCTATTG-1,Dendritic cells -Combo_CCTAAAGCAGCTGGCT-1,Monocytes -Combo_CCTAAAGGTACGCACC-1,Monocytes -Combo_CCTAAAGGTTGAGGTG-1,Monocytes -Combo_CCTAAAGTCGGACAAG-1,T cells -Combo_CCTACACAGACTGGGT-1,Monocytes -Combo_CCTACACAGAGACTTA-1,Dendritic cells -Combo_CCTACACAGGATTCGG-1,Monocytes -Combo_CCTACACCAATCCGAT-1,Dendritic cells -Combo_CCTACACCAATCTACG-1,Dendritic cells -Combo_CCTACACGTAAGAGGA-1,Granulocytes -Combo_CCTACACGTAGAGTGC-1,Monocytes -Combo_CCTACACGTGCCTTGG-1,Monocytes -Combo_CCTACACGTTGATTGC-1,Dendritic cells -Combo_CCTACACTCCTACAGA-1,Monocytes -Combo_CCTACACTCCTGCCAT-1,Monocytes -Combo_CCTACACTCGTACCGG-1,Monocytes -Combo_CCTACACTCTATGTGG-1,T cells -Combo_CCTACCAAGAGGTTGC-1,Monocytes -Combo_CCTACCAAGGCAATTA-1,Monocytes -Combo_CCTACCACAAGGACTG-1,Monocytes -Combo_CCTACCACACAGACTT-1,Monocytes -Combo_CCTACCAGTATGGTTC-1,Dendritic cells -Combo_CCTACCAGTCCAAGTT-1,Monocytes -Combo_CCTACCATCATGCTCC-1,Granulocytes -Combo_CCTACCATCCTTTCGG-1,Monocytes -Combo_CCTACCATCGACAGCC-1,Monocytes -Combo_CCTAGCTAGGGTGTTG-1,Monocytes -Combo_CCTAGCTAGTCCATAC-1,Monocytes -Combo_CCTAGCTCATAAGACA-1,Monocytes -Combo_CCTAGCTGTAGCGTAG-1,Monocytes -Combo_CCTAGCTGTAGGCATG-1,Dendritic cells -Combo_CCTAGCTGTCCGTTAA-1,Monocytes -Combo_CCTAGCTTCTGCGACG-1,Monocytes -Combo_CCTATTAAGACCACGA-1,Monocytes -Combo_CCTATTAAGCGTCTAT-1,Monocytes -Combo_CCTATTACACCAGGCT-1,Dendritic cells -Combo_CCTATTACAGCCTTGG-1,Monocytes -Combo_CCTATTAGTCGGCACT-1,Monocytes -Combo_CCTATTAGTTAGTGGG-1,Granulocytes -Combo_CCTATTAGTTGCGCAC-1,Dendritic cells -Combo_CCTATTATCAAACAAG-1,Monocytes -Combo_CCTCAGTAGCCTATGT-1,Macrophages -Combo_CCTCAGTAGGAATGGA-1,Granulocytes -Combo_CCTCAGTCAATCCGAT-1,Monocytes -Combo_CCTCAGTCACCCATTC-1,Monocytes -Combo_CCTCAGTCATCCCACT-1,Dendritic cells -Combo_CCTCAGTGTCGTGGCT-1,Monocytes -Combo_CCTCAGTGTGCGCTTG-1,Monocytes -Combo_CCTCAGTGTGTATGGG-1,Monocytes -Combo_CCTCAGTGTTACGGAG-1,Monocytes -Combo_CCTCTGAAGCGATATA-1,Monocytes -Combo_CCTCTGAAGCTAGTCT-1,T cells -Combo_CCTCTGAAGTAGGCCA-1,Dendritic cells -Combo_CCTCTGACAAGGACAC-1,Fibroblasts -Combo_CCTCTGACACACCGCA-1,Monocytes -Combo_CCTCTGACAGTCGATT-1,Dendritic cells -Combo_CCTCTGACATGTTCCC-1,Monocytes -Combo_CCTCTGAGTAAGTGTA-1,Dendritic cells -Combo_CCTCTGAGTACCATCA-1,Monocytes -Combo_CCTCTGAGTATAAACG-1,Monocytes -Combo_CCTCTGAGTGCAACGA-1,Granulocytes -Combo_CCTCTGATCCAGTATG-1,Monocytes -Combo_CCTCTGATCCATGCTC-1,Dendritic cells -Combo_CCTCTGATCTGTCCGT-1,Monocytes -Combo_CCTTACGAGATCGATA-1,Monocytes -Combo_CCTTACGAGCCAGGAT-1,Dendritic cells -Combo_CCTTACGAGCTCAACT-1,Granulocytes -Combo_CCTTACGAGTCCATAC-1,Monocytes -Combo_CCTTACGCACTCTGTC-1,Macrophages -Combo_CCTTACGGTCTCATCC-1,Monocytes -Combo_CCTTACGTCCTATGTT-1,Monocytes -Combo_CCTTACGTCGCTAGCG-1,Monocytes -Combo_CCTTACGTCTTGTTTG-1,Granulocytes -Combo_CCTTCCCAGCGTAATA-1,Monocytes -Combo_CCTTCCCCACCTGGTG-1,Macrophages -Combo_CCTTCCCGTTGGTAAA-1,Monocytes -Combo_CCTTCCCTCCAAATGC-1,Granulocytes -Combo_CCTTCCCTCGCATGAT-1,Monocytes -Combo_CCTTCGAAGCCAGGAT-1,Monocytes -Combo_CCTTCGAAGCTCCCAG-1,Monocytes -Combo_CCTTCGAAGGCTCTTA-1,T cells -Combo_CCTTCGACATCTGGTA-1,Monocytes -Combo_CCTTCGAGTGACGGTA-1,Monocytes -Combo_CCTTCGATCCAAGTAC-1,Monocytes -Combo_CCTTCGATCTCACATT-1,Granulocytes -Combo_CCTTTCTAGCCACCTG-1,Monocytes -Combo_CCTTTCTAGTACGCCC-1,Monocytes -Combo_CCTTTCTCAGCTCCGA-1,Monocytes -Combo_CCTTTCTCATGTAGTC-1,Dendritic cells -Combo_CCTTTCTGTGAAAGAG-1,Granulocytes -Combo_CCTTTCTTCTGCGGCA-1,Monocytes -Combo_CGAACATAGATGTTAG-1,Monocytes -Combo_CGAACATAGCTGATAA-1,Monocytes -Combo_CGAACATCACGGTTTA-1,Monocytes -Combo_CGAACATCAGCTGGCT-1,Monocytes -Combo_CGAACATCATGCCTAA-1,Monocytes -Combo_CGAACATGTAGCGTAG-1,Monocytes -Combo_CGAACATGTGGGTATG-1,Monocytes -Combo_CGAACATGTGTCAATC-1,Monocytes -Combo_CGAACATTCATGTAGC-1,Monocytes -Combo_CGAACATTCTAAGCCA-1,Granulocytes -Combo_CGAATGTAGACTCGGA-1,Monocytes -Combo_CGAATGTAGCAGATCG-1,Monocytes -Combo_CGAATGTAGCTGAACG-1,Monocytes -Combo_CGAATGTAGTAGATGT-1,Monocytes -Combo_CGAATGTAGTAGGCCA-1,Dendritic cells -Combo_CGAATGTAGTGGAGTC-1,Monocytes -Combo_CGAATGTCAAACTGTC-1,Granulocytes -Combo_CGAATGTCAGTATGCT-1,Monocytes -Combo_CGAATGTCATCCGTGG-1,Granulocytes -Combo_CGAATGTGTAGCTCCG-1,Monocytes -Combo_CGAATGTGTCTAGGTT-1,Dendritic cells -Combo_CGAATGTGTGTAATGA-1,Granulocytes -Combo_CGAATGTTCACAATGC-1,Monocytes -Combo_CGAATGTTCGGAATCT-1,Monocytes -Combo_CGAATGTTCTAACTCT-1,Dendritic cells -Combo_CGACCTTAGGCTACGA-1,Monocytes -Combo_CGACCTTAGGGCATGT-1,Granulocytes -Combo_CGACCTTCAAACCCAT-1,Monocytes -Combo_CGACCTTCAAGCTGAG-1,Granulocytes -Combo_CGACCTTCAGGGAGAG-1,Monocytes -Combo_CGACCTTGTAATTGGA-1,Monocytes -Combo_CGACCTTGTGCCTGGT-1,Granulocytes -Combo_CGACCTTGTTAAAGTG-1,Monocytes -Combo_CGACCTTGTTCAGGCC-1,Monocytes -Combo_CGACCTTTCGGTCTAA-1,T cells -Combo_CGACTTCCAAACGCGA-1,Monocytes -Combo_CGACTTCGTGGTGTAG-1,Monocytes -Combo_CGACTTCGTTCTGTTT-1,Monocytes -Combo_CGAGAAGAGTCGTACT-1,Monocytes -Combo_CGAGAAGAGTTGTAGA-1,Monocytes -Combo_CGAGAAGCACATCCGG-1,Granulocytes -Combo_CGAGAAGCACTTGGAT-1,Monocytes -Combo_CGAGAAGCATCACCCT-1,Monocytes -Combo_CGAGAAGGTACCGTTA-1,Dendritic cells -Combo_CGAGAAGGTCCATGAT-1,Monocytes -Combo_CGAGAAGGTCCGAACC-1,Dendritic cells -Combo_CGAGAAGGTCGGCACT-1,Monocytes -Combo_CGAGAAGGTCGTCTTC-1,Monocytes -Combo_CGAGAAGGTCTTCAAG-1,Monocytes -Combo_CGAGAAGGTCTTTCAT-1,Monocytes -Combo_CGAGAAGTCCGTACAA-1,Granulocytes -Combo_CGAGCACAGACTCGGA-1,T cells -Combo_CGAGCACAGCTGCGAA-1,Dendritic cells -Combo_CGAGCACAGTACACCT-1,Monocytes -Combo_CGAGCACCAGCTCGCA-1,Dendritic cells -Combo_CGAGCACCATAGTAAG-1,Granulocytes -Combo_CGAGCACGTACCATCA-1,Granulocytes -Combo_CGAGCACTCCACTCCA-1,Granulocytes -Combo_CGAGCACTCTAAGCCA-1,Monocytes -Combo_CGAGCCAAGTAATCCC-1,Monocytes -Combo_CGAGCCACACGTGAGA-1,T cells -Combo_CGAGCCACAGAGCCAA-1,Monocytes -Combo_CGAGCCACATAGACTC-1,Monocytes -Combo_CGAGCCAGTCTCAACA-1,Monocytes -Combo_CGAGCCAGTGTCGCTG-1,Monocytes -Combo_CGAGCCAGTTCACGGC-1,Monocytes -Combo_CGAGCCATCAAACAAG-1,Monocytes -Combo_CGAGCCATCTCCAGGG-1,Dendritic cells -Combo_CGATCGGCAAAGCAAT-1,Granulocytes -Combo_CGATCGGCACCGTTGG-1,Monocytes -Combo_CGATCGGCAGGATCGA-1,Monocytes -Combo_CGATCGGGTGGTAACG-1,Monocytes -Combo_CGATCGGGTTTAAGCC-1,Monocytes -Combo_CGATCGGTCAGGTAAA-1,Monocytes -Combo_CGATCGGTCGGCGCAT-1,Monocytes -Combo_CGATCGGTCTCTGCTG-1,Granulocytes -Combo_CGATCGGTCTGGGCCA-1,Monocytes -Combo_CGATGGCGTAAGTAGT-1,Monocytes -Combo_CGATGGCGTAGCGTGA-1,Monocytes -Combo_CGATGGCTCATAACCG-1,Dendritic cells -Combo_CGATGGCTCTCCAGGG-1,Monocytes -Combo_CGATGTACAAGCGAGT-1,Monocytes -Combo_CGATGTACACGGATAG-1,Monocytes -Combo_CGATGTACAGGTGCCT-1,Monocytes -Combo_CGATGTAGTAGAAGGA-1,Monocytes -Combo_CGATGTAGTAGCGCTC-1,Monocytes -Combo_CGATGTAGTATGGTTC-1,Monocytes -Combo_CGATGTAGTCTCCCTA-1,Monocytes -Combo_CGATGTAGTTCCAACA-1,Monocytes -Combo_CGATGTATCACATACG-1,Monocytes -Combo_CGATGTATCGGAAATA-1,Monocytes -Combo_CGATGTATCGTTACAG-1,Dendritic cells -Combo_CGATGTATCTCAAACG-1,Granulocytes -Combo_CGATGTATCTTGTCAT-1,Monocytes -Combo_CGATTGAAGCGCCTCA-1,Monocytes -Combo_CGATTGAAGTGCCATT-1,Monocytes -Combo_CGATTGAAGTTGAGTA-1,Monocytes -Combo_CGATTGAGTGCGGTAA-1,Monocytes -Combo_CGATTGAGTTGCGCAC-1,Monocytes -Combo_CGATTGAGTTGGTGGA-1,Monocytes -Combo_CGATTGATCAGCTGGC-1,Granulocytes -Combo_CGATTGATCGAATGGG-1,Dendritic cells -Combo_CGATTGATCTTGCAAG-1,Monocytes -Combo_CGCCAAGAGACAGACC-1,Granulocytes -Combo_CGCCAAGAGACCACGA-1,Monocytes -Combo_CGCCAAGAGACGCAAC-1,Monocytes -Combo_CGCCAAGCAATGACCT-1,Granulocytes -Combo_CGCCAAGCAGACGTAG-1,Monocytes -Combo_CGCCAAGCAGCGTTCG-1,Granulocytes -Combo_CGCCAAGCATTTCAGG-1,Monocytes -Combo_CGCCAAGTCGCGATCG-1,Granulocytes -Combo_CGCGGTAAGCTTCGCG-1,Granulocytes -Combo_CGCGGTAAGGTAAACT-1,Dendritic cells -Combo_CGCGGTACAAACGCGA-1,Monocytes -Combo_CGCGGTACAAATTGCC-1,Monocytes -Combo_CGCGGTAGTACATGTC-1,Dendritic cells -Combo_CGCGGTAGTGCATCTA-1,Monocytes -Combo_CGCGTTTAGCTTATCG-1,Granulocytes -Combo_CGCGTTTAGGACATTA-1,Granulocytes -Combo_CGCGTTTCAAAGCGGT-1,Dendritic cells -Combo_CGCGTTTCAGCTCGCA-1,Monocytes -Combo_CGCGTTTCATCACGTA-1,Granulocytes -Combo_CGCGTTTGTAAGCACG-1,Dendritic cells -Combo_CGCGTTTGTGCGAAAC-1,Granulocytes -Combo_CGCGTTTGTTACGCGC-1,Monocytes -Combo_CGCGTTTGTTTGCATG-1,Monocytes -Combo_CGCGTTTGTTTGGGCC-1,Dendritic cells -Combo_CGCGTTTTCAAACAAG-1,Monocytes -Combo_CGCGTTTTCCAAGCCG-1,Dendritic cells -Combo_CGCGTTTTCCAGTAGT-1,Macrophages -Combo_CGCGTTTTCTTGTTTG-1,Dendritic cells -Combo_CGCTATCAGCCAGTAG-1,Monocytes -Combo_CGCTATCCAAGCCTAT-1,Monocytes -Combo_CGCTATCCAAGCTGGA-1,Monocytes -Combo_CGCTATCCACGGCGTT-1,Dendritic cells -Combo_CGCTATCCAGACACTT-1,Granulocytes -Combo_CGCTATCCATGGGAAC-1,Monocytes -Combo_CGCTATCGTCCAACTA-1,Dendritic cells -Combo_CGCTATCTCAAGCCTA-1,Granulocytes -Combo_CGCTATCTCCGAACGC-1,Dendritic cells -Combo_CGCTATCTCTTGGGTA-1,Dendritic cells -Combo_CGCTGGAAGAAGCCCA-1,Dendritic cells -Combo_CGCTGGAAGAATCTCC-1,Dendritic cells -Combo_CGCTGGAAGAGACTTA-1,Dendritic cells -Combo_CGCTGGAAGTGGGATC-1,Monocytes -Combo_CGCTGGACAACGCACC-1,Monocytes -Combo_CGCTGGACAGTGAGTG-1,Dendritic cells -Combo_CGCTGGAGTCGACTAT-1,Monocytes -Combo_CGCTGGAGTTAAGTAG-1,Monocytes -Combo_CGCTTCAAGACTAGAT-1,Granulocytes -Combo_CGCTTCAAGATGTTAG-1,Monocytes -Combo_CGCTTCAAGGTAGCCA-1,Monocytes -Combo_CGCTTCACAAGCCGTC-1,Granulocytes -Combo_CGCTTCACAATGGATA-1,Dendritic cells -Combo_CGCTTCACACAAGCCC-1,Monocytes -Combo_CGCTTCACATATACGC-1,Dendritic cells -Combo_CGCTTCAGTCAAAGAT-1,Monocytes -Combo_CGCTTCAGTGGTCCGT-1,Monocytes -Combo_CGGACACCATTAGCCA-1,Monocytes -Combo_CGGACACGTATAAACG-1,Monocytes -Combo_CGGACACGTCAGTGGA-1,Granulocytes -Combo_CGGACACTCCGAGCCA-1,Monocytes -Combo_CGGACACTCGGTCCGA-1,Monocytes -Combo_CGGACGTAGACAAGCC-1,Monocytes -Combo_CGGACGTAGGACAGCT-1,T cells -Combo_CGGACGTAGTGACTCT-1,Monocytes -Combo_CGGACGTCACGAAGCA-1,Monocytes -Combo_CGGACGTCATGATCCA-1,Monocytes -Combo_CGGACGTCATGCCTTC-1,Dendritic cells -Combo_CGGACGTGTTATGCGT-1,Dendritic cells -Combo_CGGACGTTCACGATGT-1,Granulocytes -Combo_CGGACGTTCTTGAGGT-1,Dendritic cells -Combo_CGGACTGAGAGGACGG-1,Monocytes -Combo_CGGACTGAGCTACCGC-1,Dendritic cells -Combo_CGGACTGAGGAGTCTG-1,Granulocytes -Combo_CGGACTGAGGGCTCTC-1,Monocytes -Combo_CGGACTGAGTACCGGA-1,Dendritic cells -Combo_CGGACTGCAGGTGGAT-1,Monocytes -Combo_CGGACTGGTAGAGCTG-1,Monocytes -Combo_CGGACTGGTAGCGTAG-1,Monocytes -Combo_CGGACTGGTCTAGTCA-1,Monocytes -Combo_CGGACTGGTGCCTGGT-1,Monocytes -Combo_CGGACTGGTGTCGCTG-1,Dendritic cells -Combo_CGGACTGGTTCCCGAG-1,Dendritic cells -Combo_CGGACTGTCAATACCG-1,Granulocytes -Combo_CGGAGCTAGACAAGCC-1,Monocytes -Combo_CGGAGCTAGTGGACGT-1,Dendritic cells -Combo_CGGAGCTCAAGCGTAG-1,Monocytes -Combo_CGGAGCTGTAAACACA-1,Monocytes -Combo_CGGAGCTGTCCGTCAG-1,Dendritic cells -Combo_CGGAGCTGTGTTGAGG-1,Monocytes -Combo_CGGAGCTTCAGGCCCA-1,Monocytes -Combo_CGGAGTCAGTGTCTCA-1,Granulocytes -Combo_CGGAGTCTCAACCATG-1,Monocytes -Combo_CGGAGTCTCAATAAGG-1,Dendritic cells -Combo_CGGAGTCTCATTCACT-1,Dendritic cells -Combo_CGGAGTCTCGTGGGAA-1,Dendritic cells -Combo_CGGAGTCTCTATGTGG-1,Dendritic cells -Combo_CGGAGTCTCTTAACCT-1,Monocytes -Combo_CGGCTAGGTTACGCGC-1,Monocytes -Combo_CGGCTAGTCGAGCCCA-1,Monocytes -Combo_CGGCTAGTCGCATGAT-1,Monocytes -Combo_CGGCTAGTCTCAAACG-1,Dendritic cells -Combo_CGGGTCAAGATCTGAA-1,Monocytes -Combo_CGGGTCAAGGTCATCT-1,Monocytes -Combo_CGGGTCAAGTCCTCCT-1,Granulocytes -Combo_CGGGTCACAAACCCAT-1,Granulocytes -Combo_CGGGTCACAGTTCCCT-1,Dendritic cells -Combo_CGGGTCACATCACGTA-1,Granulocytes -Combo_CGGGTCAGTCGCCATG-1,Monocytes -Combo_CGGGTCAGTCGGATCC-1,Dendritic cells -Combo_CGGGTCATCCTCAACC-1,Monocytes -Combo_CGGGTCATCTTGAGGT-1,Dendritic cells -Combo_CGGTTAAGTAAGTGGC-1,Monocytes -Combo_CGGTTAAGTAGCGTAG-1,Dendritic cells -Combo_CGGTTAAGTGCCTGGT-1,Monocytes -Combo_CGGTTAAGTTAGTGGG-1,Monocytes -Combo_CGGTTAAGTTCGGCAC-1,Monocytes -Combo_CGTAGCGAGCTCAACT-1,Monocytes -Combo_CGTAGCGAGGCCGAAT-1,Monocytes -Combo_CGTAGCGAGTCCATAC-1,Monocytes -Combo_CGTAGCGCAATCGGTT-1,Monocytes -Combo_CGTAGCGCATTCTTAC-1,Dendritic cells -Combo_CGTAGCGGTACAGTGG-1,Monocytes -Combo_CGTAGCGGTCCAGTGC-1,Monocytes -Combo_CGTAGCGGTCGGCATC-1,Granulocytes -Combo_CGTAGCGGTCTCCCTA-1,Monocytes -Combo_CGTAGCGTCGTACCGG-1,Dendritic cells -Combo_CGTAGCGTCTGGTATG-1,Monocytes -Combo_CGTAGGCAGAGCCTAG-1,Monocytes -Combo_CGTAGGCAGATCCCAT-1,Dendritic cells -Combo_CGTAGGCAGGATGCGT-1,Granulocytes -Combo_CGTAGGCGTACAGCAG-1,Dendritic cells -Combo_CGTAGGCGTACTTAGC-1,Monocytes -Combo_CGTAGGCGTCAGATAA-1,Dendritic cells -Combo_CGTAGGCGTGAGTGAC-1,Monocytes -Combo_CGTAGGCTCAGAGGTG-1,Granulocytes -Combo_CGTAGGCTCTGCCAGG-1,Dendritic cells -Combo_CGTCACTAGTACGACG-1,Monocytes -Combo_CGTCACTAGTGGGCTA-1,Monocytes -Combo_CGTCACTCAATGACCT-1,Granulocytes -Combo_CGTCACTCAGTGGAGT-1,Monocytes -Combo_CGTCACTCATGTTGAC-1,Monocytes -Combo_CGTCACTTCCCGGATG-1,Granulocytes -Combo_CGTCACTTCGTCTGAA-1,Monocytes -Combo_CGTCACTTCTGATACG-1,Dendritic cells -Combo_CGTCAGGAGAACTCGG-1,Monocytes -Combo_CGTCAGGAGGCCCGTT-1,Monocytes -Combo_CGTCAGGAGTTAAGTG-1,Monocytes -Combo_CGTCAGGCAGTAACGG-1,Monocytes -Combo_CGTCAGGCATAGAAAC-1,Granulocytes -Combo_CGTCAGGCATGTTGAC-1,Granulocytes -Combo_CGTCAGGGTAAATGTG-1,Dendritic cells -Combo_CGTCAGGTCGCATGAT-1,Dendritic cells -Combo_CGTCAGGTCGCCGTGA-1,Granulocytes -Combo_CGTCCATAGCGACGTA-1,Monocytes -Combo_CGTCCATAGGATATAC-1,Monocytes -Combo_CGTCCATGTTATCACG-1,Monocytes -Combo_CGTCCATTCAACCATG-1,Monocytes -Combo_CGTCCATTCAATACCG-1,Dendritic cells -Combo_CGTCTACAGCTTTGGT-1,Monocytes -Combo_CGTCTACAGGACAGAA-1,Granulocytes -Combo_CGTCTACAGGCTCTTA-1,Dendritic cells -Combo_CGTCTACAGTCAAGCG-1,Monocytes -Combo_CGTCTACAGTGCCATT-1,Dendritic cells -Combo_CGTCTACAGTTTAGGA-1,Macrophages -Combo_CGTCTACCAAGTTAAG-1,Monocytes -Combo_CGTCTACCACAAGCCC-1,Monocytes -Combo_CGTCTACCATGGATGG-1,Monocytes -Combo_CGTCTACGTAAGGGCT-1,Granulocytes -Combo_CGTCTACTCGAGAGCA-1,Dendritic cells -Combo_CGTCTACTCGCAGGCT-1,Monocytes -Combo_CGTCTACTCGTTTGCC-1,Monocytes -Combo_CGTCTACTCTATGTGG-1,Monocytes -Combo_CGTCTACTCTGAAAGA-1,Granulocytes -Combo_CGTGAGCAGCCACGCT-1,Monocytes -Combo_CGTGAGCAGCTGCGAA-1,Monocytes -Combo_CGTGAGCAGGTAAACT-1,Monocytes -Combo_CGTGAGCAGTCATCCA-1,Monocytes -Combo_CGTGAGCCAAAGAATC-1,Dendritic cells -Combo_CGTGAGCCAAGCTGGA-1,Granulocytes -Combo_CGTGAGCCAATAAGCA-1,Dendritic cells -Combo_CGTGAGCGTGCCTGTG-1,Dendritic cells -Combo_CGTGAGCGTGGCCCTA-1,Dendritic cells -Combo_CGTGAGCGTTTCGCTC-1,Monocytes -Combo_CGTGAGCTCAACGCTA-1,Granulocytes -Combo_CGTGAGCTCATATCGG-1,Monocytes -Combo_CGTGAGCTCCTATTCA-1,Monocytes -Combo_CGTGTAAAGACGACGT-1,Monocytes -Combo_CGTGTAAAGCGTGAGT-1,Monocytes -Combo_CGTGTAAAGGCCCTCA-1,Monocytes -Combo_CGTGTAAAGTACGATA-1,Monocytes -Combo_CGTGTAACATCGATGT-1,Monocytes -Combo_CGTGTAAGTGTTGGGA-1,Monocytes -Combo_CGTGTAAGTTAGGGTG-1,Monocytes -Combo_CGTGTAATCTCTTATG-1,NK cells -Combo_CGTGTAATCTGTGCAA-1,Monocytes -Combo_CGTGTAATCTTGACGA-1,Monocytes -Combo_CGTGTCTAGATCTGAA-1,Monocytes -Combo_CGTGTCTAGCGTTTAC-1,Monocytes -Combo_CGTGTCTAGGCAAAGA-1,Granulocytes -Combo_CGTGTCTCAATCTACG-1,Monocytes -Combo_CGTGTCTGTAACGACG-1,Monocytes -Combo_CGTTAGAAGCATCATC-1,Monocytes -Combo_CGTTAGAAGCGATATA-1,Monocytes -Combo_CGTTAGAAGCGTAGTG-1,Monocytes -Combo_CGTTAGAAGGGATCTG-1,Granulocytes -Combo_CGTTAGAAGTACTTGC-1,Dendritic cells -Combo_CGTTAGAAGTGGTAAT-1,Monocytes -Combo_CGTTAGACAAGTTGTC-1,Monocytes -Combo_CGTTAGACAGCATACT-1,Monocytes -Combo_CGTTAGAGTAAGTTCC-1,Dendritic cells -Combo_CGTTAGAGTATATGAG-1,Dendritic cells -Combo_CGTTAGAGTGTTTGGT-1,Granulocytes -Combo_CGTTAGATCAGGTTCA-1,Monocytes -Combo_CGTTAGATCCCAAGTA-1,Granulocytes -Combo_CGTTAGATCGTGACAT-1,T cells -Combo_CGTTCTGAGAATTGTG-1,Dendritic cells -Combo_CGTTCTGAGATATGGT-1,Dendritic cells -Combo_CGTTCTGCACTAAGTC-1,Monocytes -Combo_CGTTCTGCAGATCCAT-1,Monocytes -Combo_CGTTCTGGTCAAACTC-1,Monocytes -Combo_CGTTCTGGTCAGTGGA-1,Granulocytes -Combo_CGTTCTGGTCCGAACC-1,Monocytes -Combo_CGTTCTGGTGGCCCTA-1,Granulocytes -Combo_CGTTCTGTCATCTGCC-1,Monocytes -Combo_CGTTCTGTCCCTCAGT-1,Monocytes -Combo_CGTTCTGTCCTGCAGG-1,Monocytes -Combo_CGTTGGGAGCTGGAAC-1,Monocytes -Combo_CGTTGGGAGGCCGAAT-1,Granulocytes -Combo_CGTTGGGAGGGTGTGT-1,Monocytes -Combo_CGTTGGGCAAATCCGT-1,Monocytes -Combo_CGTTGGGCATGGTTGT-1,Monocytes -Combo_CGTTGGGGTAAGGGAA-1,Monocytes -Combo_CGTTGGGGTAGCGTAG-1,Granulocytes -Combo_CGTTGGGGTGTAATGA-1,Dendritic cells -Combo_CGTTGGGTCCTTGACC-1,Monocytes -Combo_CTAACTTAGAAGGTTT-1,Dendritic cells -Combo_CTAACTTAGCTAGTCT-1,Monocytes -Combo_CTAACTTAGTTCGCGC-1,Granulocytes -Combo_CTAACTTAGTTGTAGA-1,Monocytes -Combo_CTAACTTCAGCATACT-1,Monocytes -Combo_CTAACTTCAGTTAACC-1,Dendritic cells -Combo_CTAACTTCATACTCTT-1,Monocytes -Combo_CTAACTTGTAATCGTC-1,Granulocytes -Combo_CTAACTTTCACCAGGC-1,Monocytes -Combo_CTAACTTTCATGCTCC-1,T cells -Combo_CTAACTTTCGTCCGTT-1,Dendritic cells -Combo_CTAAGACAGCTGGAAC-1,Monocytes -Combo_CTAAGACAGGGATGGG-1,Granulocytes -Combo_CTAAGACCAGTAACGG-1,Dendritic cells -Combo_CTAAGACGTACAGACG-1,Monocytes -Combo_CTAAGACGTACCTACA-1,Monocytes -Combo_CTAAGACGTCGTGGCT-1,Monocytes -Combo_CTAAGACGTGCGATAG-1,Monocytes -Combo_CTAATGGAGATGGCGT-1,Monocytes -Combo_CTAATGGCAACGATCT-1,Granulocytes -Combo_CTAATGGCATCCCATC-1,Monocytes -Combo_CTAATGGGTCAGGACA-1,Monocytes -Combo_CTAATGGTCATATCGG-1,Monocytes -Combo_CTAATGGTCTTGTTTG-1,Monocytes -Combo_CTACACCAGAGGTACC-1,Monocytes -Combo_CTACACCAGCTAGTCT-1,Monocytes -Combo_CTACACCCATCTCGCT-1,Monocytes -Combo_CTACACCGTACCATCA-1,Monocytes -Combo_CTACACCGTCTCATCC-1,Monocytes -Combo_CTACACCGTTCCTCCA-1,Monocytes -Combo_CTACACCTCAGTGTTG-1,Monocytes -Combo_CTACACCTCCTGTACC-1,Dendritic cells -Combo_CTACACCTCTCCCTGA-1,T cells -Combo_CTACATTAGCGCCTTG-1,Dendritic cells -Combo_CTACATTAGCGTAGTG-1,Monocytes -Combo_CTACATTAGGGTCGAT-1,Granulocytes -Combo_CTACATTAGGTACTCT-1,Monocytes -Combo_CTACATTAGTTACCCA-1,Granulocytes -Combo_CTACATTCAGGAATGC-1,Monocytes -Combo_CTACATTGTGTAACGG-1,Macrophages -Combo_CTACATTTCACATAGC-1,Monocytes -Combo_CTACCCACAAGAAAGG-1,Monocytes -Combo_CTACCCACATCTGGTA-1,Monocytes -Combo_CTACCCAGTCAATACC-1,Granulocytes -Combo_CTACCCAGTGAAAGAG-1,Monocytes -Combo_CTACCCATCAGCGACC-1,Monocytes -Combo_CTACCCATCGGGAGTA-1,Dendritic cells -Combo_CTACCCATCTTCGGTC-1,Monocytes -Combo_CTACGTCAGACAGACC-1,Monocytes -Combo_CTACGTCAGCTACCGC-1,Dendritic cells -Combo_CTACGTCAGGACGAAA-1,Dendritic cells -Combo_CTACGTCCAATCGAAA-1,Monocytes -Combo_CTACGTCGTAAGAGAG-1,Monocytes -Combo_CTACGTCGTAGAGTGC-1,Monocytes -Combo_CTACGTCGTAGCTAAA-1,Monocytes -Combo_CTACGTCGTCACTGGC-1,Monocytes -Combo_CTACGTCGTCGCGAAA-1,Monocytes -Combo_CTACGTCGTTCCAACA-1,Granulocytes -Combo_CTACGTCGTTCCACAA-1,Monocytes -Combo_CTACGTCGTTTAAGCC-1,Monocytes -Combo_CTACGTCTCCAAGCCG-1,Monocytes -Combo_CTAGAGTAGATCTGAA-1,Monocytes -Combo_CTAGAGTCACATAACC-1,Dendritic cells -Combo_CTAGAGTCATACGCTA-1,Granulocytes -Combo_CTAGAGTGTCTAGCGC-1,Monocytes -Combo_CTAGAGTTCATAGCAC-1,Monocytes -Combo_CTAGCCTAGACTTGAA-1,Granulocytes -Combo_CTAGCCTAGAGGTAGA-1,Dendritic cells -Combo_CTAGCCTAGGAGTAGA-1,Monocytes -Combo_CTAGCCTAGTACGTTC-1,Monocytes -Combo_CTAGCCTCAGTCTTCC-1,Dendritic cells -Combo_CTAGCCTGTAGCGTAG-1,Dendritic cells -Combo_CTAGCCTGTCCTAGCG-1,Dendritic cells -Combo_CTAGCCTTCAGGCAAG-1,Monocytes -Combo_CTAGTGAAGCGTGAAC-1,Monocytes -Combo_CTAGTGAAGGTGCACA-1,Dendritic cells -Combo_CTAGTGAAGTGAATTG-1,Granulocytes -Combo_CTAGTGAGTAAGTGTA-1,Dendritic cells -Combo_CTAGTGAGTCGGCACT-1,Monocytes -Combo_CTAGTGAGTCTAGTCA-1,Monocytes -Combo_CTAGTGAGTCTCTTAT-1,Granulocytes -Combo_CTAGTGATCCCAAGAT-1,Monocytes -Combo_CTAGTGATCGCTGATA-1,Monocytes -Combo_CTAGTGATCGGTTCGG-1,Monocytes -Combo_CTAGTGATCTCGTTTA-1,Dendritic cells -Combo_CTCACACAGCGATTCT-1,Dendritic cells -Combo_CTCACACAGTGACATA-1,Monocytes -Combo_CTCACACCAAACAACA-1,Monocytes -Combo_CTCACACGTACCCAAT-1,Dendritic cells -Combo_CTCACACGTCAACATC-1,Monocytes -Combo_CTCACACGTCTAGAGG-1,Monocytes -Combo_CTCACACGTTAAGGGC-1,Monocytes -Combo_CTCACACTCCGTACAA-1,Monocytes -Combo_CTCACACTCGACGGAA-1,Dendritic cells -Combo_CTCAGAAAGAGTGACC-1,Monocytes -Combo_CTCAGAACAGCCAATT-1,Granulocytes -Combo_CTCAGAACATCACGAT-1,Granulocytes -Combo_CTCAGAACATGCAATC-1,Dendritic cells -Combo_CTCAGAAGTATAGGGC-1,Monocytes -Combo_CTCAGAAGTCCTCCAT-1,Granulocytes -Combo_CTCAGAAGTTCCACAA-1,Monocytes -Combo_CTCAGAAGTTGGGACA-1,Dendritic cells -Combo_CTCAGAATCGTCTGAA-1,Granulocytes -Combo_CTCAGAATCTTGAGAC-1,Granulocytes -Combo_CTCATTAAGACTCGGA-1,Monocytes -Combo_CTCATTAAGCGTAGTG-1,Monocytes -Combo_CTCATTAAGTGGAGAA-1,Monocytes -Combo_CTCATTACAGACACTT-1,Monocytes -Combo_CTCATTAGTACCTACA-1,T cells -Combo_CTCATTAGTAGAAAGG-1,Monocytes -Combo_CTCATTAGTTCAGACT-1,Dendritic cells -Combo_CTCATTAGTTCAGTAC-1,Monocytes -Combo_CTCATTATCCATGAGT-1,Monocytes -Combo_CTCATTATCCGTAGTA-1,Granulocytes -Combo_CTCATTATCCTGCTTG-1,Dendritic cells -Combo_CTCATTATCGTCTGAA-1,Monocytes -Combo_CTCATTATCTAACCGA-1,Monocytes -Combo_CTCCTAGAGCGAGAAA-1,Dendritic cells -Combo_CTCCTAGAGGGATGGG-1,Dendritic cells -Combo_CTCCTAGAGTTAGGTA-1,Dendritic cells -Combo_CTCCTAGCAGCTCCGA-1,Monocytes -Combo_CTCCTAGCATGTCTCC-1,T cells -Combo_CTCCTAGGTGCAGGTA-1,Monocytes -Combo_CTCCTAGGTTCATGGT-1,Dendritic cells -Combo_CTCCTAGTCAGCGACC-1,Monocytes -Combo_CTCGAAAAGTCACGCC-1,Monocytes -Combo_CTCGAAAAGTCATCCA-1,Dendritic cells -Combo_CTCGAAAAGTGCAAGC-1,T cells -Combo_CTCGAAAAGTGGGATC-1,Monocytes -Combo_CTCGAAACAGAGCCAA-1,Monocytes -Combo_CTCGAAAGTACCGTTA-1,Monocytes -Combo_CTCGAAAGTACTTGAC-1,Granulocytes -Combo_CTCGAAAGTAGCGCTC-1,Monocytes -Combo_CTCGAAAGTCAATACC-1,Dendritic cells -Combo_CTCGAAAGTGGTCCGT-1,Monocytes -Combo_CTCGAAAGTTGGTGGA-1,Macrophages -Combo_CTCGAAATCCGCGGTA-1,Monocytes -Combo_CTCGAGGAGCAGGCTA-1,Monocytes -Combo_CTCGAGGAGTAGGCCA-1,Dendritic cells -Combo_CTCGAGGAGTGAAGAG-1,Monocytes -Combo_CTCGAGGCAGCATGAG-1,Monocytes -Combo_CTCGAGGCATACTCTT-1,Granulocytes -Combo_CTCGAGGTCCCAAGAT-1,Granulocytes -Combo_CTCGAGGTCGTGACAT-1,Monocytes -Combo_CTCGGAGAGAAGAAGC-1,Monocytes -Combo_CTCGGAGAGAAGATTC-1,Granulocytes -Combo_CTCGGAGAGAGTTGGC-1,Monocytes -Combo_CTCGGAGAGTACGTAA-1,Monocytes -Combo_CTCGGAGCATACCATG-1,Monocytes -Combo_CTCGGAGCATCGGACC-1,Monocytes -Combo_CTCGGAGCATGGGACA-1,Dendritic cells -Combo_CTCGGAGTCTACTCAT-1,Monocytes -Combo_CTCGGAGTCTGTCAAG-1,Monocytes -Combo_CTCGGGAAGATGAGAG-1,Monocytes -Combo_CTCGGGAAGGCGCTCT-1,Dendritic cells -Combo_CTCGGGAAGTGACTCT-1,Monocytes -Combo_CTCGGGACAGACACTT-1,Monocytes -Combo_CTCGGGAGTCAAAGAT-1,Monocytes -Combo_CTCGGGAGTCCGCTGA-1,Monocytes -Combo_CTCGGGAGTGGCTCCA-1,Monocytes -Combo_CTCGGGAGTTTCCACC-1,Monocytes -Combo_CTCGTACAGAGGTAGA-1,Macrophages -Combo_CTCGTACAGCGTAATA-1,Dendritic cells -Combo_CTCGTACCACATCTTT-1,T cells -Combo_CTCGTACCATCCGCGA-1,Monocytes -Combo_CTCGTACGTATAAACG-1,Monocytes -Combo_CTCGTACGTCGAGATG-1,Dendritic cells -Combo_CTCGTACGTCGCCATG-1,Dendritic cells -Combo_CTCGTACGTGACGCCT-1,Monocytes -Combo_CTCGTACGTGAGGGAG-1,Dendritic cells -Combo_CTCGTACGTTCGTGAT-1,Dendritic cells -Combo_CTCGTACTCTTATCTG-1,Monocytes -Combo_CTCGTCAAGCACACAG-1,Dendritic cells -Combo_CTCGTCAAGCTGTTCA-1,Dendritic cells -Combo_CTCGTCAAGTGTTAGA-1,Monocytes -Combo_CTCGTCACATCGACGC-1,Monocytes -Combo_CTCGTCAGTACCGTAT-1,Monocytes -Combo_CTCGTCAGTAGTACCT-1,Monocytes -Combo_CTCGTCAGTCTAGCGC-1,Dendritic cells -Combo_CTCGTCATCAAACAAG-1,Monocytes -Combo_CTCGTCATCACAACGT-1,Dendritic cells -Combo_CTCGTCATCCAAGTAC-1,Dendritic cells -Combo_CTCGTCATCGTATCAG-1,Dendritic cells -Combo_CTCTAATAGACACGAC-1,Granulocytes -Combo_CTCTAATAGTATTGGA-1,Monocytes -Combo_CTCTAATCACTGAAGG-1,Monocytes -Combo_CTCTAATCAGCCACCA-1,Monocytes -Combo_CTCTAATGTACTCTCC-1,Dendritic cells -Combo_CTCTAATGTAGCCTCG-1,Monocytes -Combo_CTCTAATGTCTCGTTC-1,Dendritic cells -Combo_CTCTAATGTGCATCTA-1,Monocytes -Combo_CTCTAATGTTAAAGTG-1,Monocytes -Combo_CTCTAATGTTGTGGCC-1,Monocytes -Combo_CTCTAATTCACTTACT-1,Monocytes -Combo_CTCTAATTCATTGCGA-1,Macrophages -Combo_CTCTAATTCGTCGTTC-1,Monocytes -Combo_CTCTACGAGAGGTTGC-1,Monocytes -Combo_CTCTACGAGTTCGCAT-1,Monocytes -Combo_CTCTACGCACTCGACG-1,Monocytes -Combo_CTCTACGCATGGATGG-1,Monocytes -Combo_CTCTACGTCCCTTGCA-1,Monocytes -Combo_CTCTACGTCCGAATGT-1,Monocytes -Combo_CTCTACGTCTGGCGAC-1,Monocytes -Combo_CTCTGGTAGAAGCCCA-1,Monocytes -Combo_CTCTGGTAGAGCTTCT-1,Monocytes -Combo_CTCTGGTAGTGAATTG-1,Monocytes -Combo_CTCTGGTAGTGTACGG-1,Monocytes -Combo_CTCTGGTCAGCTTCGG-1,Monocytes -Combo_CTCTGGTGTAGCTTGT-1,Monocytes -Combo_CTCTGGTGTCCATGAT-1,Monocytes -Combo_CTCTGGTGTGAAAGAG-1,Dendritic cells -Combo_CTCTGGTGTTGTGGCC-1,Dendritic cells -Combo_CTCTGGTTCAGCGATT-1,Monocytes -Combo_CTCTGGTTCCGCGTTT-1,Dendritic cells -Combo_CTCTGGTTCCTCCTAG-1,Dendritic cells -Combo_CTGAAACAGATCTGCT-1,Monocytes -Combo_CTGAAACCACATGGGA-1,Dendritic cells -Combo_CTGAAACCACCCAGTG-1,Monocytes -Combo_CTGAAACGTAATCGTC-1,Monocytes -Combo_CTGAAACGTTCCGGCA-1,Dendritic cells -Combo_CTGAAACTCCACTGGG-1,Monocytes -Combo_CTGAAGTAGGTCGGAT-1,Monocytes -Combo_CTGAAGTGTCGTTGTA-1,Dendritic cells -Combo_CTGAAGTTCGCTTGTC-1,Monocytes -Combo_CTGAAGTTCTATCCTA-1,Monocytes -Combo_CTGAAGTTCTCCAGGG-1,Monocytes -Combo_CTGATAGAGTCCAGGA-1,Granulocytes -Combo_CTGATAGCACGGTGTC-1,Monocytes -Combo_CTGATAGCATGTCGAT-1,Dendritic cells -Combo_CTGATAGTCCTTCAAT-1,Dendritic cells -Combo_CTGATAGTCCTTTACA-1,Dendritic cells -Combo_CTGATAGTCTCGCATC-1,Granulocytes -Combo_CTGATAGTCTTGACGA-1,Dendritic cells -Combo_CTGATCCAGATGCGAC-1,Monocytes -Combo_CTGATCCAGGCTAGCA-1,Dendritic cells -Combo_CTGATCCAGGTGACCA-1,Granulocytes -Combo_CTGATCCAGTCAAGGC-1,Monocytes -Combo_CTGATCCGTAAGAGAG-1,Dendritic cells -Combo_CTGATCCGTAGGCTGA-1,Dendritic cells -Combo_CTGATCCGTCCCTACT-1,Dendritic cells -Combo_CTGATCCTCACGACTA-1,Monocytes -Combo_CTGATCCTCGTTTAGG-1,Granulocytes -Combo_CTGCCTAAGAGGGATA-1,Dendritic cells -Combo_CTGCCTAAGAGTACAT-1,Granulocytes -Combo_CTGCCTAAGATGGCGT-1,Dendritic cells -Combo_CTGCCTAAGGAATCGC-1,Monocytes -Combo_CTGCCTACAATGGAAT-1,Monocytes -Combo_CTGCCTACACATGACT-1,Granulocytes -Combo_CTGCCTAGTAGGCTGA-1,Monocytes -Combo_CTGCCTAGTCGCTTCT-1,Granulocytes -Combo_CTGCCTAGTTGATTGC-1,Monocytes -Combo_CTGCCTATCCTAGAAC-1,Granulocytes -Combo_CTGCGGAAGGTTCCTA-1,T cells -Combo_CTGCGGAAGTGCTGCC-1,Monocytes -Combo_CTGCGGAAGTGTCCCG-1,Monocytes -Combo_CTGCGGACAACTGGCC-1,Monocytes -Combo_CTGCGGACACGGTTTA-1,Dendritic cells -Combo_CTGCGGACAGTGGAGT-1,Dendritic cells -Combo_CTGCGGAGTACCGTAT-1,Monocytes -Combo_CTGCGGAGTCTAAACC-1,Dendritic cells -Combo_CTGCGGATCAGAAATG-1,Dendritic cells -Combo_CTGCGGATCCGAGCCA-1,Monocytes -Combo_CTGCTGTAGTCATGCT-1,Monocytes -Combo_CTGCTGTAGTGACATA-1,T cells -Combo_CTGCTGTAGTTTAGGA-1,Monocytes -Combo_CTGCTGTCACGGTAAG-1,Monocytes -Combo_CTGCTGTCATCCGGGT-1,Monocytes -Combo_CTGCTGTGTACCGCTG-1,Monocytes -Combo_CTGCTGTGTACTTCTT-1,Monocytes -Combo_CTGCTGTGTCGAATCT-1,Dendritic cells -Combo_CTGCTGTGTCTAAAGA-1,Granulocytes -Combo_CTGCTGTGTTAAGGGC-1,Monocytes -Combo_CTGCTGTTCAGGCAAG-1,Granulocytes -Combo_CTGCTGTTCGGACAAG-1,Monocytes -Combo_CTGGTCTAGAATGTGT-1,Granulocytes -Combo_CTGGTCTAGAATTCCC-1,Monocytes -Combo_CTGGTCTAGGCTCTTA-1,Monocytes -Combo_CTGGTCTAGTGCGATG-1,Monocytes -Combo_CTGGTCTCACACAGAG-1,Monocytes -Combo_CTGGTCTCACGGTAAG-1,Monocytes -Combo_CTGGTCTCAGGGAGAG-1,Monocytes -Combo_CTGGTCTCAGTAGAGC-1,Granulocytes -Combo_CTGGTCTGTCGGATCC-1,Monocytes -Combo_CTGGTCTGTCTCTCGT-1,Monocytes -Combo_CTGGTCTGTGAGTGAC-1,Monocytes -Combo_CTGGTCTTCATCACCC-1,Granulocytes -Combo_CTGGTCTTCCTTTCGG-1,Monocytes -Combo_CTGGTCTTCGCGCCAA-1,Dendritic cells -Combo_CTGTGCTAGACACTAA-1,Dendritic cells -Combo_CTGTGCTAGATCCTGT-1,Monocytes -Combo_CTGTGCTAGGAATTAC-1,Dendritic cells -Combo_CTGTGCTCAGATGGCA-1,Monocytes -Combo_CTGTGCTGTAACGCGA-1,Dendritic cells -Combo_CTGTGCTGTCTTTCAT-1,Dendritic cells -Combo_CTGTGCTTCCGTCATC-1,Monocytes -Combo_CTGTGCTTCTACTATC-1,Dendritic cells -Combo_CTGTTTAAGAAACCGC-1,Dendritic cells -Combo_CTGTTTACAGCTGTTA-1,Dendritic cells -Combo_CTGTTTACATGCATGT-1,Monocytes -Combo_CTGTTTAGTCAATACC-1,Monocytes -Combo_CTGTTTAGTTGATTCG-1,Dendritic cells -Combo_CTGTTTATCGACAGCC-1,Monocytes -Combo_CTTAACTAGACGACGT-1,Monocytes -Combo_CTTAACTAGATGTGTA-1,Monocytes -Combo_CTTAACTAGTACCGGA-1,Monocytes -Combo_CTTAACTCAAAGTGCG-1,Monocytes -Combo_CTTAACTCAGCGATCC-1,Dendritic cells -Combo_CTTAACTCAGGGTATG-1,Monocytes -Combo_CTTAACTCATACGCCG-1,Monocytes -Combo_CTTAACTGTAACGACG-1,Dendritic cells -Combo_CTTAACTGTACAGTGG-1,Dendritic cells -Combo_CTTAACTGTACTCAAC-1,Dendritic cells -Combo_CTTAACTGTATGAAAC-1,Monocytes -Combo_CTTAACTGTCCGAAGA-1,Macrophages -Combo_CTTAACTGTCTAGCGC-1,Dendritic cells -Combo_CTTAACTGTTACGGAG-1,Monocytes -Combo_CTTAACTTCAGTTAGC-1,Dendritic cells -Combo_CTTACCGAGATGTGTA-1,Monocytes -Combo_CTTACCGAGCTGATAA-1,Dendritic cells -Combo_CTTACCGAGGAGTTTA-1,Monocytes -Combo_CTTACCGCACTTCTGC-1,Monocytes -Combo_CTTACCGCAGATAATG-1,Dendritic cells -Combo_CTTACCGCATCAGTAC-1,Granulocytes -Combo_CTTACCGCATTAGCCA-1,Macrophages -Combo_CTTACCGGTAAGGATT-1,Granulocytes -Combo_CTTACCGGTTACTGAC-1,Dendritic cells -Combo_CTTACCGGTTCTGGTA-1,Dendritic cells -Combo_CTTACCGTCACAAACC-1,Monocytes -Combo_CTTAGGAAGGCTAGAC-1,Monocytes -Combo_CTTAGGAGTTCCCTTG-1,Monocytes -Combo_CTTAGGATCATTGCGA-1,Monocytes -Combo_CTTAGGATCCCTCAGT-1,Monocytes -Combo_CTTAGGATCTGTCTCG-1,Monocytes -Combo_CTTCTCTAGGAGCGTT-1,Monocytes -Combo_CTTCTCTAGGCTACGA-1,Granulocytes -Combo_CTTCTCTAGTTACCCA-1,Granulocytes -Combo_CTTCTCTCAAGCCATT-1,Granulocytes -Combo_CTTCTCTCACCTCGGA-1,Granulocytes -Combo_CTTCTCTCATGAAGTA-1,Granulocytes -Combo_CTTCTCTGTCACCTAA-1,Dendritic cells -Combo_CTTCTCTGTCATATCG-1,Monocytes -Combo_CTTCTCTTCACTCCTG-1,Monocytes -Combo_CTTCTCTTCACTGGGC-1,Monocytes -Combo_CTTCTCTTCCTTCAAT-1,Monocytes -Combo_CTTCTCTTCGTCGTTC-1,T cells -Combo_CTTCTCTTCTGATTCT-1,Monocytes -Combo_CTTGGCTAGACATAAC-1,Granulocytes -Combo_CTTGGCTAGAGACTAT-1,Monocytes -Combo_CTTGGCTAGCAGGTCA-1,Monocytes -Combo_CTTGGCTAGCGATATA-1,Monocytes -Combo_CTTGGCTCACATTAGC-1,Granulocytes -Combo_CTTGGCTGTGAGGGTT-1,Granulocytes -Combo_CTTGGCTGTTACGGAG-1,Dendritic cells -Combo_CTTGGCTTCATTTGGG-1,Granulocytes -Combo_CTTGGCTTCTGCAAGT-1,Dendritic cells -Combo_CTTTGCGAGGCTCTTA-1,Monocytes -Combo_CTTTGCGCACTGAAGG-1,Monocytes -Combo_CTTTGCGCAGATGGGT-1,Granulocytes -Combo_CTTTGCGCAGGTGGAT-1,Dendritic cells -Combo_GAAACTCAGCAGATCG-1,Granulocytes -Combo_GAAACTCAGGACTGGT-1,Granulocytes -Combo_GAAACTCAGGATGTAT-1,Monocytes -Combo_GAAACTCAGTCCCACG-1,Monocytes -Combo_GAAACTCGTCAGAAGC-1,Dendritic cells -Combo_GAAACTCGTGCTTCTC-1,Monocytes -Combo_GAAACTCTCAGCAACT-1,Granulocytes -Combo_GAAACTCTCTACTATC-1,Monocytes -Combo_GAAATGAAGCCCTAAT-1,Monocytes -Combo_GAAATGAAGTCTCCTC-1,Monocytes -Combo_GAAATGAAGTTGAGTA-1,Monocytes -Combo_GAAATGAGTCCAGTAT-1,Dendritic cells -Combo_GAAATGAGTGTAACGG-1,Monocytes -Combo_GAAATGATCAAGGTAA-1,Monocytes -Combo_GAAATGATCATATCGG-1,Monocytes -Combo_GAACATCCAAGAAAGG-1,Monocytes -Combo_GAACATCCAGTGGGAT-1,Dendritic cells -Combo_GAACATCCATAGACTC-1,Dendritic cells -Combo_GAACATCGTCTAGAGG-1,Monocytes -Combo_GAACATCGTCTGCCAG-1,Monocytes -Combo_GAACATCTCGCCTGTT-1,Dendritic cells -Combo_GAACATCTCGTTGCCT-1,Monocytes -Combo_GAACCTAAGACCTTTG-1,Dendritic cells -Combo_GAACCTAAGCCTCGTG-1,Monocytes -Combo_GAACCTAAGCGCCTCA-1,Granulocytes -Combo_GAACCTAAGGAGCGTT-1,Monocytes -Combo_GAACCTAAGTCACGCC-1,Monocytes -Combo_GAACCTACAAGCCGTC-1,Monocytes -Combo_GAACCTACACCGATAT-1,Monocytes -Combo_GAACCTAGTACTTGAC-1,Granulocytes -Combo_GAACCTAGTGATAAAC-1,Monocytes -Combo_GAACCTATCCACGAAT-1,Granulocytes -Combo_GAACCTATCGCTTGTC-1,Monocytes -Combo_GAACCTATCGTTTAGG-1,Monocytes -Combo_GAACGGAGTACACCGC-1,Dendritic cells -Combo_GAACGGAGTCCAAGTT-1,Dendritic cells -Combo_GAACGGAGTTCCACTC-1,Granulocytes -Combo_GAACGGAGTTTGACTG-1,Monocytes -Combo_GAACGGATCATACGGT-1,Dendritic cells -Combo_GAACGGATCGAGAGCA-1,Monocytes -Combo_GAACGGATCTCACATT-1,Monocytes -Combo_GAAGCAGAGACAAGCC-1,Monocytes -Combo_GAAGCAGAGGTAGCCA-1,Monocytes -Combo_GAAGCAGCACTTAACG-1,Dendritic cells -Combo_GAAGCAGCAGATCGGA-1,Monocytes -Combo_GAAGCAGTCACCGTAA-1,Monocytes -Combo_GAAGCAGTCATTGCCC-1,Granulocytes -Combo_GAAGCAGTCCACTGGG-1,Monocytes -Combo_GAAGCAGTCTATCGCC-1,Macrophages -Combo_GAAGCAGTCTGCAAGT-1,Dendritic cells -Combo_GAATAAGAGATTACCC-1,Monocytes -Combo_GAATAAGAGTAGGTGC-1,Granulocytes -Combo_GAATAAGCATCCCATC-1,Monocytes -Combo_GAATAAGGTCAACATC-1,Monocytes -Combo_GAATAAGGTCCGTTAA-1,Dendritic cells -Combo_GAATAAGTCACTTCAT-1,Dendritic cells -Combo_GAATAAGTCAGTCAGT-1,Granulocytes -Combo_GAATAAGTCCGTCATC-1,Monocytes -Combo_GAATAAGTCTCCGGTT-1,Granulocytes -Combo_GAATGAAAGGCGTACA-1,Dendritic cells -Combo_GAATGAACAAGGACAC-1,Granulocytes -Combo_GAATGAACACAACTGT-1,Monocytes -Combo_GAATGAAGTAAGGATT-1,Dendritic cells -Combo_GAATGAAGTATGGTTC-1,Monocytes -Combo_GAATGAAGTCTGATCA-1,Monocytes -Combo_GAATGAATCACATGCA-1,Monocytes -Combo_GAATGAATCTAGAGTC-1,Monocytes -Combo_GAATGAATCTGTCTAT-1,Dendritic cells -Combo_GACACGCAGCCAACAG-1,Monocytes -Combo_GACACGCCATCGGAAG-1,Monocytes -Combo_GACACGCGTAGAGTGC-1,Monocytes -Combo_GACACGCGTTTCCACC-1,Monocytes -Combo_GACACGCTCATGTCCC-1,Monocytes -Combo_GACACGCTCCCGGATG-1,Dendritic cells -Combo_GACAGAGAGAATCTCC-1,Granulocytes -Combo_GACAGAGAGAGCTGCA-1,Monocytes -Combo_GACAGAGAGCAGATCG-1,Monocytes -Combo_GACAGAGAGGCACATG-1,Granulocytes -Combo_GACAGAGGTCAGAAGC-1,Monocytes -Combo_GACAGAGGTCTTTCAT-1,Dendritic cells -Combo_GACAGAGGTTCGGCAC-1,Monocytes -Combo_GACAGAGGTTGACGTT-1,Monocytes -Combo_GACAGAGTCTGATTCT-1,Dendritic cells -Combo_GACCAATAGCACAGGT-1,Monocytes -Combo_GACCAATAGCTAAACA-1,Monocytes -Combo_GACCAATAGTACGCGA-1,Granulocytes -Combo_GACCAATCAAGGACAC-1,Dendritic cells -Combo_GACCAATGTCTTTCAT-1,Dendritic cells -Combo_GACCAATGTTCGCGAC-1,Monocytes -Combo_GACCTGGCAAGGACAC-1,Dendritic cells -Combo_GACCTGGCACACCGCA-1,Monocytes -Combo_GACCTGGCAGCCTGTG-1,Monocytes -Combo_GACCTGGCATCCGTGG-1,Dendritic cells -Combo_GACCTGGGTGACAAAT-1,Dendritic cells -Combo_GACCTGGGTGATGATA-1,Dendritic cells -Combo_GACCTGGGTGGAAAGA-1,Dendritic cells -Combo_GACCTGGTCACGCGGT-1,Monocytes -Combo_GACCTGGTCAGCGATT-1,Dendritic cells -Combo_GACCTGGTCCTGCCAT-1,Monocytes -Combo_GACCTGGTCGGATGGA-1,Granulocytes -Combo_GACGCGTAGACTCGGA-1,Monocytes -Combo_GACGCGTAGAGAACAG-1,Monocytes -Combo_GACGCGTAGGCTACGA-1,Dendritic cells -Combo_GACGCGTAGGGCTTCC-1,Monocytes -Combo_GACGCGTCAATGGATA-1,Monocytes -Combo_GACGCGTCATCGACGC-1,Monocytes -Combo_GACGCGTCATGGGACA-1,Monocytes -Combo_GACGCGTGTCATATCG-1,Monocytes -Combo_GACGCGTGTCTAGTCA-1,Macrophages -Combo_GACGCGTTCGACAGCC-1,Monocytes -Combo_GACGCGTTCGCCTGAG-1,Monocytes -Combo_GACGCGTTCGTCGTTC-1,Granulocytes -Combo_GACGCGTTCTTGTACT-1,Dendritic cells -Combo_GACGGCTAGAGTGACC-1,Monocytes -Combo_GACGGCTAGCTGCCCA-1,Granulocytes -Combo_GACGGCTAGGAGTTGC-1,Monocytes -Combo_GACGGCTCACCAGCAC-1,Dendritic cells -Combo_GACGGCTCACGAGGTA-1,Dendritic cells -Combo_GACGGCTCATGCCACG-1,Monocytes -Combo_GACGGCTGTCATTAGC-1,Monocytes -Combo_GACGGCTGTGGTGTAG-1,Monocytes -Combo_GACGGCTGTGTTGGGA-1,Monocytes -Combo_GACGGCTTCATGTCCC-1,Granulocytes -Combo_GACGGCTTCGGTGTCG-1,Dendritic cells -Combo_GACGTGCAGGCTAGGT-1,Monocytes -Combo_GACGTGCAGGTGATAT-1,Granulocytes -Combo_GACGTGCCACGAAAGC-1,Monocytes -Combo_GACGTGCCACTTACGA-1,Monocytes -Combo_GACGTGCCATTCCTCG-1,Dendritic cells -Combo_GACGTGCGTTCACGGC-1,Monocytes -Combo_GACGTGCTCTAACTTC-1,Monocytes -Combo_GACGTTAAGTTGAGAT-1,Monocytes -Combo_GACGTTACATCCGTGG-1,Monocytes -Combo_GACGTTAGTCTGCCAG-1,Monocytes -Combo_GACGTTATCCGTAGGC-1,Monocytes -Combo_GACGTTATCCTTGGTC-1,Dendritic cells -Combo_GACGTTATCGCCGTGA-1,T cells -Combo_GACTAACAGCTCAACT-1,Dendritic cells -Combo_GACTAACCAAGCTGTT-1,Dendritic cells -Combo_GACTAACCACACTGCG-1,Dendritic cells -Combo_GACTAACCATCCCATC-1,Granulocytes -Combo_GACTAACGTCTTCGTC-1,Monocytes -Combo_GACTAACTCTGATTCT-1,Monocytes -Combo_GACTACAAGAATAGGG-1,Monocytes -Combo_GACTACAAGATCACGG-1,Granulocytes -Combo_GACTACAAGTCCATAC-1,Dendritic cells -Combo_GACTACACAGATGGGT-1,Monocytes -Combo_GACTACAGTCAAACTC-1,Monocytes -Combo_GACTACAGTCGACTAT-1,T cells -Combo_GACTACATCGAATCCA-1,Monocytes -Combo_GACTGCGAGAGACTAT-1,Granulocytes -Combo_GACTGCGAGAGGACGG-1,Dendritic cells -Combo_GACTGCGAGATACACA-1,Dendritic cells -Combo_GACTGCGAGCGTCTAT-1,Monocytes -Combo_GACTGCGCAAGTTGTC-1,Monocytes -Combo_GACTGCGGTCAGAGGT-1,Granulocytes -Combo_GACTGCGGTGCCTGCA-1,T cells -Combo_GACTGCGGTGCGATAG-1,T cells -Combo_GACTGCGGTTAGGGTG-1,Monocytes -Combo_GACTGCGTCCCAGGTG-1,Monocytes -Combo_GACTGCGTCCTAAGTG-1,Monocytes -Combo_GACTGCGTCTCTTATG-1,Monocytes -Combo_GAGCAGAAGACGCTTT-1,Monocytes -Combo_GAGCAGAAGGATGGTC-1,Dendritic cells -Combo_GAGCAGACAATGGTCT-1,Monocytes -Combo_GAGCAGACACACATGT-1,Dendritic cells -Combo_GAGCAGACACGCTTTC-1,Monocytes -Combo_GAGCAGACACGTAAGG-1,Monocytes -Combo_GAGCAGACATGCCTTC-1,Monocytes -Combo_GAGCAGACATTAGGCT-1,Granulocytes -Combo_GAGCAGAGTAAATGAC-1,Dendritic cells -Combo_GAGCAGAGTTCCGGCA-1,Dendritic cells -Combo_GAGCAGATCAATCACG-1,Monocytes -Combo_GAGCAGATCAGCTGGC-1,Monocytes -Combo_GAGCAGATCTCTAAGG-1,Dendritic cells -Combo_GAGGTGAAGACCACGA-1,Dendritic cells -Combo_GAGGTGAAGGTGCTTT-1,Granulocytes -Combo_GAGGTGACACAACTGT-1,Monocytes -Combo_GAGGTGAGTATCTGCA-1,Dendritic cells -Combo_GAGGTGAGTTCCTCCA-1,Monocytes -Combo_GAGGTGATCCACGAAT-1,Monocytes -Combo_GAGGTGATCCTATGTT-1,Dendritic cells -Combo_GAGGTGATCGCCAAAT-1,Monocytes -Combo_GAGGTGATCGGCATCG-1,Dendritic cells -Combo_GAGGTGATCTATCGCC-1,Monocytes -Combo_GAGTCCGCACCAACCG-1,Monocytes -Combo_GAGTCCGCACGAAATA-1,Dendritic cells -Combo_GAGTCCGGTCTGCCAG-1,Monocytes -Combo_GAGTCCGTCTGTGCAA-1,Macrophages -Combo_GAGTCCGTCTTTAGGG-1,Monocytes -Combo_GATCAGTAGGCCGAAT-1,Dendritic cells -Combo_GATCAGTCATCGTCGG-1,Monocytes -Combo_GATCAGTGTCGGATCC-1,Monocytes -Combo_GATCAGTTCACGATGT-1,Granulocytes -Combo_GATCAGTTCTCAAACG-1,Monocytes -Combo_GATCGATAGACAAGCC-1,Monocytes -Combo_GATCGATAGAGTGACC-1,Dendritic cells -Combo_GATCGATAGCGATGAC-1,Monocytes -Combo_GATCGATAGGCAAAGA-1,Monocytes -Combo_GATCGATCAACTTGAC-1,Monocytes -Combo_GATCGATGTAGAGCTG-1,Monocytes -Combo_GATCGATTCTCGATGA-1,Macrophages -Combo_GATCGCGAGATGCCAG-1,Dendritic cells -Combo_GATCGCGAGGCAGTCA-1,Monocytes -Combo_GATCGTAAGAAACCAT-1,Granulocytes -Combo_GATCGTAGTACCCAAT-1,Monocytes -Combo_GATCGTAGTATATCCG-1,Monocytes -Combo_GATCGTAGTATCGCAT-1,Monocytes -Combo_GATCGTAGTATGCTTG-1,Monocytes -Combo_GATCGTAGTCTAGAGG-1,Monocytes -Combo_GATCGTATCCTAGGGC-1,Monocytes -Combo_GATCTAGAGCGTTCCG-1,Monocytes -Combo_GATCTAGAGGGTTTCT-1,Monocytes -Combo_GATCTAGCACCCATGG-1,Monocytes -Combo_GATCTAGCACGCATCG-1,Monocytes -Combo_GATCTAGCAGTGAGTG-1,Dendritic cells -Combo_GATCTAGCATCTACGA-1,Monocytes -Combo_GATCTAGGTCGATTGT-1,Monocytes -Combo_GATCTAGTCGGCGCTA-1,Granulocytes -Combo_GATGAAAAGACGCTTT-1,Dendritic cells -Combo_GATGAAAAGAGGTTAT-1,Monocytes -Combo_GATGAAAAGATATGGT-1,Monocytes -Combo_GATGAAAAGGACAGAA-1,Monocytes -Combo_GATGAAACAGACGCTC-1,Dendritic cells -Combo_GATGAAAGTGTGACCC-1,Granulocytes -Combo_GATGAAAGTGTTTGTG-1,Dendritic cells -Combo_GATGAAAGTTCCACGG-1,Monocytes -Combo_GATGAAAGTTTGACTG-1,Monocytes -Combo_GATGAAATCTTATCTG-1,Granulocytes -Combo_GATGAGGAGAGCAATT-1,Dendritic cells -Combo_GATGAGGAGATGCCAG-1,Granulocytes -Combo_GATGAGGAGCCGCCTA-1,Dendritic cells -Combo_GATGAGGAGCGCCTCA-1,Monocytes -Combo_GATGAGGAGGTCGGAT-1,Monocytes -Combo_GATGAGGAGTGCCAGA-1,Monocytes -Combo_GATGAGGAGTTAGCGG-1,Monocytes -Combo_GATGAGGCAACTTGAC-1,Dendritic cells -Combo_GATGAGGCAGACGCTC-1,Granulocytes -Combo_GATGAGGGTATGAAAC-1,Monocytes -Combo_GATGAGGTCCCAAGAT-1,Monocytes -Combo_GATGAGGTCCCAGGTG-1,Monocytes -Combo_GATGAGGTCGGAGCAA-1,Monocytes -Combo_GATGCTAAGCAACGGT-1,Monocytes -Combo_GATGCTAAGTGGTAGC-1,Monocytes -Combo_GATGCTAAGTTAAGTG-1,Monocytes -Combo_GATGCTAGTACTTCTT-1,Dendritic cells -Combo_GATGCTAGTCTAGTCA-1,Monocytes -Combo_GATGCTATCGTCACGG-1,Monocytes -Combo_GATGCTATCTCACATT-1,Monocytes -Combo_GATTCAGAGCGTTGCC-1,Monocytes -Combo_GATTCAGAGTAGGCCA-1,Dendritic cells -Combo_GATTCAGAGTCGAGTG-1,Dendritic cells -Combo_GATTCAGCACACCGCA-1,Monocytes -Combo_GATTCAGTCAGCAACT-1,T cells -Combo_GATTCAGTCTGGTGTA-1,Monocytes -Combo_GCAAACTAGATGCGAC-1,Monocytes -Combo_GCAAACTAGCAGATCG-1,Monocytes -Combo_GCAAACTAGCGCCTCA-1,Monocytes -Combo_GCAAACTAGGGTTTCT-1,Granulocytes -Combo_GCAAACTCAAGTTAAG-1,Monocytes -Combo_GCAAACTCAGTTCATG-1,Granulocytes -Combo_GCAAACTCATCGGGTC-1,Dendritic cells -Combo_GCAAACTGTAGAAGGA-1,Granulocytes -Combo_GCAAACTGTCAGGACA-1,Dendritic cells -Combo_GCAATCAAGACTAAGT-1,Dendritic cells -Combo_GCAATCAAGCCGTCGT-1,Granulocytes -Combo_GCAATCAAGTCGAGTG-1,Monocytes -Combo_GCAATCAAGTTAGCGG-1,Dendritic cells -Combo_GCAATCACAATCCAAC-1,Dendritic cells -Combo_GCAATCACACATTCGA-1,Dendritic cells -Combo_GCAATCAGTAAGGGAA-1,Dendritic cells -Combo_GCAATCAGTCAGCTAT-1,Monocytes -Combo_GCAATCATCAACACCA-1,Monocytes -Combo_GCAATCATCAGTTCGA-1,Monocytes -Combo_GCAATCATCATGGTCA-1,Monocytes -Combo_GCAATCATCGGTGTCG-1,Granulocytes -Combo_GCAATCATCTGTCAAG-1,Monocytes -Combo_GCACATAAGCTAGTGG-1,Dendritic cells -Combo_GCACATAAGTCTCCTC-1,Monocytes -Combo_GCACATACACACTGCG-1,Monocytes -Combo_GCACATACATGGATGG-1,Monocytes -Combo_GCACATAGTAAACCTC-1,Monocytes -Combo_GCACATAGTCATCGGC-1,Monocytes -Combo_GCACATAGTTCGAATC-1,Granulocytes -Combo_GCACATATCACGGTTA-1,Monocytes -Combo_GCACATATCATCTGTT-1,Monocytes -Combo_GCACATATCTAACTCT-1,Dendritic cells -Combo_GCACTCTAGAAACCTA-1,Monocytes -Combo_GCACTCTAGCAGCCTC-1,Monocytes -Combo_GCACTCTCATCCCATC-1,Dendritic cells -Combo_GCACTCTTCGAGAACG-1,Granulocytes -Combo_GCAGCCAAGCCTATGT-1,Dendritic cells -Combo_GCAGCCAAGGGAACGG-1,Monocytes -Combo_GCAGCCACACCGTTGG-1,Granulocytes -Combo_GCAGCCACAGGACGTA-1,Dendritic cells -Combo_GCAGCCACAGGTGGAT-1,Monocytes -Combo_GCAGCCACATCTCCCA-1,Monocytes -Combo_GCAGCCAGTTAAGAAC-1,Monocytes -Combo_GCAGCCATCATCTGTT-1,T cells -Combo_GCAGCCATCCTTTACA-1,Monocytes -Combo_GCAGCCATCTACTATC-1,Granulocytes -Combo_GCAGTTAAGAGGGATA-1,Monocytes -Combo_GCAGTTACAATCTGCA-1,Monocytes -Combo_GCAGTTACATTCTTAC-1,Monocytes -Combo_GCAGTTAGTGGTCCGT-1,Monocytes -Combo_GCAGTTATCATCTGCC-1,Monocytes -Combo_GCAGTTATCCGCAGTG-1,Monocytes -Combo_GCAGTTATCTTCGGTC-1,Monocytes -Combo_GCATACAAGCTGCAAG-1,T cells -Combo_GCATACACAACGATCT-1,Monocytes -Combo_GCATACACACAGACTT-1,Monocytes -Combo_GCATACACAGCTGTAT-1,Dendritic cells -Combo_GCATACAGTGGCAAAC-1,T cells -Combo_GCATGATAGATCGATA-1,Monocytes -Combo_GCATGATAGCCAGGAT-1,Monocytes -Combo_GCATGATAGTGGGCTA-1,Dendritic cells -Combo_GCATGATCAACTGCGC-1,Monocytes -Combo_GCATGATCACCAACCG-1,Monocytes -Combo_GCATGATCAGTCGTGC-1,Monocytes -Combo_GCATGATGTACCATCA-1,Granulocytes -Combo_GCATGATGTCGCGGTT-1,Dendritic cells -Combo_GCATGATGTGGTCCGT-1,Monocytes -Combo_GCATGATTCGGAGGTA-1,Monocytes -Combo_GCATGCGAGAGCCCAA-1,Monocytes -Combo_GCATGCGAGCAGACTG-1,Monocytes -Combo_GCATGCGAGGCTAGCA-1,Monocytes -Combo_GCATGCGCATTAGGCT-1,T cells -Combo_GCATGCGGTCTACCTC-1,Monocytes -Combo_GCATGCGGTTAAGGGC-1,Monocytes -Combo_GCATGCGTCAGCATGT-1,Dendritic cells -Combo_GCATGCGTCGGCGCTA-1,Monocytes -Combo_GCATGTAAGACTAAGT-1,Monocytes -Combo_GCATGTACACTTGGAT-1,Dendritic cells -Combo_GCATGTATCAAGGCTT-1,Granulocytes -Combo_GCCAAATAGATATACG-1,Dendritic cells -Combo_GCCAAATAGCTGCAAG-1,Monocytes -Combo_GCCAAATAGGGCTTGA-1,Dendritic cells -Combo_GCCAAATAGGTGGGTT-1,Granulocytes -Combo_GCCAAATCATCTCGCT-1,Monocytes -Combo_GCCAAATCATTGTGCA-1,Monocytes -Combo_GCCAAATGTAAACCTC-1,Monocytes -Combo_GCCAAATGTAAATGAC-1,Monocytes -Combo_GCCAAATGTCAACATC-1,Granulocytes -Combo_GCCAAATGTCTTGCGG-1,Dendritic cells -Combo_GCCAAATGTGTGGCTC-1,Monocytes -Combo_GCCAAATTCAAACAAG-1,Monocytes -Combo_GCCAAATTCACCCGAG-1,Dendritic cells -Combo_GCCAAATTCCGCAAGC-1,Monocytes -Combo_GCCAAATTCCTATGTT-1,Dendritic cells -Combo_GCCTCTAAGACATAAC-1,Monocytes -Combo_GCCTCTAAGGTGCTAG-1,Granulocytes -Combo_GCCTCTAAGTGACATA-1,Granulocytes -Combo_GCCTCTAAGTGACTCT-1,Monocytes -Combo_GCCTCTACACTGAAGG-1,Monocytes -Combo_GCCTCTACATGCCTAA-1,Granulocytes -Combo_GCCTCTAGTCCAGTGC-1,Monocytes -Combo_GCCTCTAGTCTAGCCG-1,Dendritic cells -Combo_GCCTCTAGTCTCTCGT-1,Dendritic cells -Combo_GCCTCTAGTTATTCTC-1,Granulocytes -Combo_GCGACCAAGACTAGAT-1,Monocytes -Combo_GCGACCAAGCCTCGTG-1,Monocytes -Combo_GCGACCACAAGTTCTG-1,Dendritic cells -Combo_GCGACCACAGACGCAA-1,Monocytes -Combo_GCGACCACATCTCGCT-1,Monocytes -Combo_GCGACCAGTCATACTG-1,Dendritic cells -Combo_GCGACCATCATGTCCC-1,Monocytes -Combo_GCGACCATCTACTTAC-1,Monocytes -Combo_GCGACCATCTGGCGAC-1,Dendritic cells -Combo_GCGAGAAAGCTGATAA-1,Monocytes -Combo_GCGAGAAAGGCTAGCA-1,Monocytes -Combo_GCGAGAACAAGTTGTC-1,Monocytes -Combo_GCGAGAAGTAGTAGTA-1,Granulocytes -Combo_GCGAGAAGTCTAGGTT-1,Dendritic cells -Combo_GCGAGAATCCACGTGG-1,Monocytes -Combo_GCGAGAATCCGCAGTG-1,Dendritic cells -Combo_GCGAGAATCTTGACGA-1,Dendritic cells -Combo_GCGCAACAGATGAGAG-1,Monocytes -Combo_GCGCAACAGTTTAGGA-1,Dendritic cells -Combo_GCGCAACCACACTGCG-1,Dendritic cells -Combo_GCGCAACCACGTCTCT-1,Dendritic cells -Combo_GCGCAACGTTCTGTTT-1,Monocytes -Combo_GCGCAACTCATGTCTT-1,T cells -Combo_GCGCAACTCGACGGAA-1,Monocytes -Combo_GCGCAACTCGCGCCAA-1,Granulocytes -Combo_GCGCAACTCGTATCAG-1,Monocytes -Combo_GCGCAACTCTGCAAGT-1,Granulocytes -Combo_GCGCAACTCTGTGCAA-1,Monocytes -Combo_GCGCAACTCTTGAGGT-1,Monocytes -Combo_GCGCAGTCAATCGGTT-1,Granulocytes -Combo_GCGCAGTCACATGGGA-1,Dendritic cells -Combo_GCGCAGTGTAGAAAGG-1,Granulocytes -Combo_GCGCAGTTCACAGTAC-1,Monocytes -Combo_GCGCAGTTCTCCTATA-1,Dendritic cells -Combo_GCGCAGTTCTTGTCAT-1,Monocytes -Combo_GCGCCAAAGCGTGTCC-1,Monocytes -Combo_GCGCCAAAGGTGCTAG-1,Monocytes -Combo_GCGCCAACAACTGCGC-1,Monocytes -Combo_GCGCCAACACAACGTT-1,Granulocytes -Combo_GCGCCAACATACGCCG-1,Monocytes -Combo_GCGCCAAGTCATGCCG-1,Granulocytes -Combo_GCGCCAAGTTAAGTAG-1,Monocytes -Combo_GCGCCAAGTTGAACTC-1,Monocytes -Combo_GCGCGATCAGAGTGTG-1,Granulocytes -Combo_GCGCGATCAGATTGCT-1,Monocytes -Combo_GCGCGATCATAGAAAC-1,Dendritic cells -Combo_GCGCGATTCACCACCT-1,Monocytes -Combo_GCGCGATTCATACGGT-1,Dendritic cells -Combo_GCGCGATTCCGCAGTG-1,Monocytes -Combo_GCGGGTTGTAAAGGAG-1,Dendritic cells -Combo_GCGGGTTTCTGAGGGA-1,Monocytes -Combo_GCGGGTTTCTGGTTCC-1,Granulocytes -Combo_GCGGGTTTCTTCAACT-1,Monocytes -Combo_GCTCCTAAGCTGTTCA-1,Dendritic cells -Combo_GCTCCTAGTAAATGAC-1,Monocytes -Combo_GCTCCTAGTGAGGCTA-1,Monocytes -Combo_GCTCCTAGTGATGTCT-1,Monocytes -Combo_GCTCCTAGTGTGAATA-1,Monocytes -Combo_GCTCCTATCGGAAATA-1,Dendritic cells -Combo_GCTCTGTCAACGATGG-1,Granulocytes -Combo_GCTCTGTCAAGAGGCT-1,Granulocytes -Combo_GCTCTGTGTAAAGTCA-1,Monocytes -Combo_GCTCTGTGTCGCCATG-1,Monocytes -Combo_GCTCTGTGTTACCGAT-1,Monocytes -Combo_GCTCTGTTCTTACCTA-1,Dendritic cells -Combo_GCTGCAGAGACTAAGT-1,Monocytes -Combo_GCTGCAGAGCGATTCT-1,Monocytes -Combo_GCTGCAGAGCGTCTAT-1,Monocytes -Combo_GCTGCAGCAGTCTTCC-1,Monocytes -Combo_GCTGCAGGTAGTAGTA-1,Monocytes -Combo_GCTGCAGGTATAGTAG-1,Dendritic cells -Combo_GCTGCAGGTTGGTAAA-1,Monocytes -Combo_GCTGCAGTCATGCATG-1,Monocytes -Combo_GCTGCAGTCGACCAGC-1,Granulocytes -Combo_GCTGCGAAGAGCTGGT-1,Dendritic cells -Combo_GCTGCGAAGCTAACAA-1,Granulocytes -Combo_GCTGCGAAGGCATTGG-1,Monocytes -Combo_GCTGCGAGTCCGTCAG-1,Monocytes -Combo_GCTGCGATCCGGCACA-1,Dendritic cells -Combo_GCTGCGATCGGCGCTA-1,Monocytes -Combo_GCTGCTTAGGTGGGTT-1,Monocytes -Combo_GCTGCTTCACCCAGTG-1,Granulocytes -Combo_GCTGCTTGTCACAAGG-1,Monocytes -Combo_GCTGCTTTCCCTAACC-1,Dendritic cells -Combo_GCTGGGTCAGCTGCTG-1,Dendritic cells -Combo_GCTGGGTCATACGCTA-1,Monocytes -Combo_GCTGGGTGTACCATCA-1,Monocytes -Combo_GCTGGGTGTACTTCTT-1,Dendritic cells -Combo_GCTGGGTTCACCACCT-1,Monocytes -Combo_GCTGGGTTCACTCTTA-1,Monocytes -Combo_GCTTCCAAGTAGCCGA-1,Monocytes -Combo_GCTTCCACAAACTGTC-1,Dendritic cells -Combo_GCTTCCACAATGAATG-1,Granulocytes -Combo_GCTTCCAGTATATCCG-1,Monocytes -Combo_GCTTCCAGTGAGTGAC-1,Monocytes -Combo_GCTTCCAGTTACGCGC-1,Monocytes -Combo_GCTTCCAGTTTGGGCC-1,Monocytes -Combo_GCTTGAAAGAAGGCCT-1,Monocytes -Combo_GCTTGAAAGGGTGTGT-1,Dendritic cells -Combo_GCTTGAAAGTTTAGGA-1,Monocytes -Combo_GCTTGAACAACACGCC-1,T cells -Combo_GCTTGAACACAGCCCA-1,Monocytes -Combo_GCTTGAACACCGCTAG-1,Monocytes -Combo_GCTTGAACACGCTTTC-1,Dendritic cells -Combo_GCTTGAACATGCTAGT-1,Dendritic cells -Combo_GCTTGAAGTCGTGGCT-1,Dendritic cells -Combo_GCTTGAAGTGACTCAT-1,Monocytes -Combo_GCTTGAATCAATAAGG-1,T cells -Combo_GGAAAGCAGAAGCCCA-1,Monocytes -Combo_GGAAAGCAGAAGGCCT-1,Granulocytes -Combo_GGAAAGCCAACTGCGC-1,Monocytes -Combo_GGAAAGCCATGCGCAC-1,Monocytes -Combo_GGAAAGCGTGTAATGA-1,Monocytes -Combo_GGAAAGCGTTTCCACC-1,Monocytes -Combo_GGAAAGCTCAAACCAC-1,Monocytes -Combo_GGAAAGCTCAGTACGT-1,Granulocytes -Combo_GGAAAGCTCTTACCGC-1,Monocytes -Combo_GGAACTTAGAGAACAG-1,Granulocytes -Combo_GGAACTTAGAGTAATC-1,Monocytes -Combo_GGAACTTGTCGCATAT-1,T cells -Combo_GGAACTTGTCGTCTTC-1,Granulocytes -Combo_GGAACTTTCGTATCAG-1,Granulocytes -Combo_GGAATAAAGGCTATCT-1,Monocytes -Combo_GGAATAAAGTGACTCT-1,Monocytes -Combo_GGAATAACACTCTGTC-1,Monocytes -Combo_GGAATAACATGATCCA-1,Monocytes -Combo_GGAATAAGTCGAGTTT-1,Dendritic cells -Combo_GGAATAAGTGCACGAA-1,Granulocytes -Combo_GGAATAATCAAAGACA-1,Monocytes -Combo_GGACAAGAGCCTTGAT-1,Monocytes -Combo_GGACAAGAGCGATCCC-1,Monocytes -Combo_GGACAAGAGGAGTACC-1,Granulocytes -Combo_GGACAAGCAAATTGCC-1,Dendritic cells -Combo_GGACAAGCACATCCAA-1,Granulocytes -Combo_GGACAAGCATGCAATC-1,Dendritic cells -Combo_GGACAAGGTAAGCACG-1,Monocytes -Combo_GGACAAGGTACGCACC-1,Dendritic cells -Combo_GGACAAGGTATTCGTG-1,Monocytes -Combo_GGACAAGGTATTCTCT-1,Dendritic cells -Combo_GGACAAGGTGAAAGAG-1,Monocytes -Combo_GGACAAGGTTACAGAA-1,Granulocytes -Combo_GGACAGAAGCACGCCT-1,Monocytes -Combo_GGACAGAGTCGCATAT-1,Monocytes -Combo_GGACAGAGTTTGCATG-1,Monocytes -Combo_GGACAGATCATGCATG-1,Monocytes -Combo_GGACAGATCGCCATAA-1,Dendritic cells -Combo_GGACATTAGACTTGAA-1,Monocytes -Combo_GGACATTAGCGATCCC-1,Dendritic cells -Combo_GGACATTAGCGGCTTC-1,Granulocytes -Combo_GGACATTGTACGCTGC-1,Dendritic cells -Combo_GGACATTGTCCGTTAA-1,Dendritic cells -Combo_GGACATTTCATGCATG-1,Granulocytes -Combo_GGACATTTCGGTGTCG-1,Monocytes -Combo_GGACGTCAGGGATACC-1,Monocytes -Combo_GGACGTCAGTGGGATC-1,Dendritic cells -Combo_GGACGTCCATAAGACA-1,Monocytes -Combo_GGACGTCGTAGGACAC-1,Granulocytes -Combo_GGACGTCTCCACGCAG-1,Dendritic cells -Combo_GGACGTCTCGCCAGCA-1,Dendritic cells -Combo_GGACGTCTCGCCTGAG-1,Monocytes -Combo_GGACGTCTCGGCGGTT-1,Monocytes -Combo_GGAGCAAAGAGACTAT-1,Monocytes -Combo_GGAGCAAAGAGTAAGG-1,Granulocytes -Combo_GGAGCAAAGCGTTGCC-1,Monocytes -Combo_GGAGCAAAGGAACTGC-1,Monocytes -Combo_GGAGCAACACGAAAGC-1,Granulocytes -Combo_GGAGCAACAGATCCAT-1,Dendritic cells -Combo_GGAGCAAGTTAAGTAG-1,Monocytes -Combo_GGAGCAATCGCCGTGA-1,NK cells -Combo_GGAGCAATCTCGAGTA-1,Dendritic cells -Combo_GGATGTTAGATCCCGC-1,Monocytes -Combo_GGATGTTAGCCACGTC-1,Granulocytes -Combo_GGATGTTGTACCGAGA-1,Granulocytes -Combo_GGATGTTGTCGCCATG-1,Monocytes -Combo_GGATGTTGTTACGCGC-1,Monocytes -Combo_GGATGTTTCATCACCC-1,Dendritic cells -Combo_GGATGTTTCATCGATG-1,Monocytes -Combo_GGATTACAGATAGCAT-1,Granulocytes -Combo_GGATTACAGATGCCTT-1,Monocytes -Combo_GGATTACCAAGCGCTC-1,Monocytes -Combo_GGATTACGTACGCTGC-1,Dendritic cells -Combo_GGATTACTCGTGACAT-1,Dendritic cells -Combo_GGCAATTAGGGCTCTC-1,Dendritic cells -Combo_GGCAATTAGGTCGGAT-1,Monocytes -Combo_GGCAATTAGTCGTACT-1,Dendritic cells -Combo_GGCAATTAGTGGTCCC-1,Monocytes -Combo_GGCAATTGTATAAACG-1,Monocytes -Combo_GGCAATTGTCTCTCTG-1,Dendritic cells -Combo_GGCAATTGTGCTTCTC-1,Monocytes -Combo_GGCAATTGTTGAACTC-1,Monocytes -Combo_GGCCGATAGGCGATAC-1,Granulocytes -Combo_GGCCGATAGGGATACC-1,Monocytes -Combo_GGCCGATCATGAGCGA-1,Monocytes -Combo_GGCCGATGTTCGGGCT-1,Granulocytes -Combo_GGCCGATGTTTCCACC-1,Dendritic cells -Combo_GGCGACTAGCTGATAA-1,Dendritic cells -Combo_GGCGACTAGCTTTGGT-1,Monocytes -Combo_GGCGACTAGGAGTACC-1,Monocytes -Combo_GGCGACTCAGTTTACG-1,Monocytes -Combo_GGCGACTCATGGTCTA-1,Monocytes -Combo_GGCGACTCATTGCGGC-1,Monocytes -Combo_GGCGACTGTCGACTGC-1,Dendritic cells -Combo_GGCGACTGTGATGATA-1,Monocytes -Combo_GGCGACTTCATTGCCC-1,Granulocytes -Combo_GGCGACTTCCTAGAAC-1,Monocytes -Combo_GGCGACTTCGTAGGTT-1,Dendritic cells -Combo_GGCGTGTAGCGTGTCC-1,Monocytes -Combo_GGCGTGTAGGTGACCA-1,Monocytes -Combo_GGCGTGTAGTCGAGTG-1,Dendritic cells -Combo_GGCGTGTCACGGCTAC-1,Monocytes -Combo_GGCGTGTCATTCCTGC-1,Monocytes -Combo_GGCGTGTGTCCAACTA-1,Granulocytes -Combo_GGCGTGTGTCGATTGT-1,Monocytes -Combo_GGCGTGTGTCTCATCC-1,Dendritic cells -Combo_GGCGTGTGTGTAACGG-1,Dendritic cells -Combo_GGCGTGTTCTGGGCCA-1,Granulocytes -Combo_GGCTCGAAGACGACGT-1,Dendritic cells -Combo_GGCTCGAGTTATCACG-1,Monocytes -Combo_GGCTCGATCAACGGCC-1,Dendritic cells -Combo_GGCTCGATCAGCAACT-1,Monocytes -Combo_GGCTCGATCCGTTGCT-1,Monocytes -Combo_GGCTGGTAGTGAACAT-1,Monocytes -Combo_GGCTGGTCAAGCCATT-1,Monocytes -Combo_GGCTGGTGTCCAAGTT-1,Monocytes -Combo_GGCTGGTGTGTCGCTG-1,Granulocytes -Combo_GGCTGGTGTTCTCATT-1,Dendritic cells -Combo_GGCTGGTGTTTAGGAA-1,Monocytes -Combo_GGCTGGTTCCTTTCGG-1,Granulocytes -Combo_GGGAATGAGACAAGCC-1,Dendritic cells -Combo_GGGAATGAGACTGTAA-1,Monocytes -Combo_GGGAATGAGTGACTCT-1,Granulocytes -Combo_GGGAATGGTGGAAAGA-1,Monocytes -Combo_GGGAATGGTGTGACGA-1,Monocytes -Combo_GGGAATGTCGGTCTAA-1,Granulocytes -Combo_GGGAATGTCTATCCTA-1,Dendritic cells -Combo_GGGACCTAGAACAATC-1,Dendritic cells -Combo_GGGACCTAGAATAGGG-1,Monocytes -Combo_GGGACCTCACTTCGAA-1,Granulocytes -Combo_GGGACCTCAGTAGAGC-1,Dendritic cells -Combo_GGGACCTGTAATCGTC-1,Monocytes -Combo_GGGACCTGTACGACCC-1,Dendritic cells -Combo_GGGACCTGTAGTGAAT-1,Monocytes -Combo_GGGACCTGTCTTCGTC-1,Monocytes -Combo_GGGACCTTCTCGATGA-1,Dendritic cells -Combo_GGGAGATAGCGTAATA-1,Monocytes -Combo_GGGAGATAGTACTTGC-1,Dendritic cells -Combo_GGGAGATAGTCAAGCG-1,Monocytes -Combo_GGGAGATCATTGGGCC-1,T cells -Combo_GGGAGATGTGCAGACA-1,Monocytes -Combo_GGGATGAAGACATAAC-1,Dendritic cells -Combo_GGGATGAAGTCAAGCG-1,Monocytes -Combo_GGGATGACAATCCAAC-1,Dendritic cells -Combo_GGGATGAGTACCGGCT-1,Monocytes -Combo_GGGATGAGTTGTACAC-1,Monocytes -Combo_GGGATGATCATAACCG-1,T cells -Combo_GGGATGATCCCTCAGT-1,Granulocytes -Combo_GGGATGATCTGATTCT-1,Dendritic cells -Combo_GGGCACTCAGGATTGG-1,Monocytes -Combo_GGGCACTGTCCAGTTA-1,Monocytes -Combo_GGGCACTGTTTGGCGC-1,Dendritic cells -Combo_GGGCACTTCACGAAGG-1,Dendritic cells -Combo_GGGCATCAGATGGCGT-1,Monocytes -Combo_GGGCATCAGTACGCGA-1,Monocytes -Combo_GGGCATCCATACAGCT-1,Monocytes -Combo_GGGCATCCATCACGTA-1,Granulocytes -Combo_GGGCATCGTAATCGTC-1,Dendritic cells -Combo_GGGCATCGTAGGCTGA-1,Monocytes -Combo_GGGCATCGTCATCGGC-1,Dendritic cells -Combo_GGGCATCGTCGCATCG-1,Monocytes -Combo_GGGCATCTCACCATAG-1,Monocytes -Combo_GGGCATCTCGCTTAGA-1,Granulocytes -Combo_GGGTCTGAGAAGGTTT-1,Monocytes -Combo_GGGTCTGAGCTAGTCT-1,Monocytes -Combo_GGGTCTGAGGACATTA-1,Dendritic cells -Combo_GGGTCTGAGGGTGTGT-1,Monocytes -Combo_GGGTCTGCAGCCTTTC-1,Granulocytes -Combo_GGGTCTGGTACATGTC-1,Granulocytes -Combo_GGGTCTGGTCACAAGG-1,Dendritic cells -Combo_GGGTCTGGTCGTGGCT-1,Granulocytes -Combo_GGGTCTGGTGAAAGAG-1,Monocytes -Combo_GGGTCTGGTGATGATA-1,Dendritic cells -Combo_GGGTCTGTCGTACGGC-1,Granulocytes -Combo_GGGTCTGTCTCAAGTG-1,Granulocytes -Combo_GGGTCTGTCTTAACCT-1,Monocytes -Combo_GGGTTGCAGATGTCGG-1,Granulocytes -Combo_GGGTTGCCAGGGATTG-1,Dendritic cells -Combo_GGGTTGCGTATAGGGC-1,Monocytes -Combo_GGGTTGCGTCCGCTGA-1,Monocytes -Combo_GGGTTGCGTTAGGGTG-1,Dendritic cells -Combo_GGGTTGCGTTTCCACC-1,Granulocytes -Combo_GGGTTGCTCAAAGTAG-1,Monocytes -Combo_GGTATTGCAAGCCTAT-1,Granulocytes -Combo_GGTATTGCATACCATG-1,Monocytes -Combo_GGTATTGCATCAGTAC-1,Monocytes -Combo_GGTATTGGTAGCTCCG-1,Monocytes -Combo_GGTATTGGTCTAAAGA-1,Monocytes -Combo_GGTATTGGTCTTTCAT-1,Monocytes -Combo_GGTATTGGTTCCTCCA-1,Dendritic cells -Combo_GGTATTGTCTTCTGGC-1,Monocytes -Combo_GGTGAAGAGAGTACAT-1,Monocytes -Combo_GGTGAAGAGATATGCA-1,Dendritic cells -Combo_GGTGAAGAGGGCATGT-1,Dendritic cells -Combo_GGTGAAGAGTGCTGCC-1,Dendritic cells -Combo_GGTGAAGCAGACGCCT-1,Dendritic cells -Combo_GGTGAAGGTACCGCTG-1,Monocytes -Combo_GGTGAAGGTTCCCGAG-1,Monocytes -Combo_GGTGAAGTCACTTCAT-1,Macrophages -Combo_GGTGAAGTCTCGTTTA-1,Granulocytes -Combo_GGTGCGTAGGCAATTA-1,Dendritic cells -Combo_GGTGCGTAGGCAGGTT-1,Monocytes -Combo_GGTGCGTAGTTGAGAT-1,Monocytes -Combo_GGTGCGTCAATAGCGG-1,Monocytes -Combo_GGTGCGTCAGACGCCT-1,Monocytes -Combo_GGTGCGTGTCTAGGTT-1,Monocytes -Combo_GGTGCGTGTTCCCTTG-1,Monocytes -Combo_GGTGCGTTCACGGTTA-1,Monocytes -Combo_GGTGCGTTCCGATATG-1,Macrophages -Combo_GGTGCGTTCGTGGACC-1,Dendritic cells -Combo_GGTGTTAAGCGAGAAA-1,Monocytes -Combo_GGTGTTACATTCTTAC-1,Monocytes -Combo_GGTGTTAGTTATCACG-1,T cells -Combo_GGTGTTATCCGCATAA-1,Granulocytes -Combo_GGTGTTATCGTTTGCC-1,Granulocytes -Combo_GTAACGTAGTTTGCGT-1,Dendritic cells -Combo_GTAACGTCAACTGCGC-1,Granulocytes -Combo_GTAACGTCAAGTTGTC-1,Monocytes -Combo_GTAACGTCAGCTGTTA-1,Granulocytes -Combo_GTAACGTGTTATCCGA-1,Monocytes -Combo_GTAACGTTCCAAGCCG-1,Granulocytes -Combo_GTAACGTTCGCCATAA-1,Granulocytes -Combo_GTAACTGAGATATACG-1,Monocytes -Combo_GTAACTGAGCGATCCC-1,Granulocytes -Combo_GTAACTGCAACGCACC-1,Monocytes -Combo_GTAACTGCAAGGTTTC-1,Monocytes -Combo_GTAACTGCACGCCAGT-1,Monocytes -Combo_GTAACTGGTAGAGCTG-1,Monocytes -Combo_GTAACTGGTCGAGTTT-1,Monocytes -Combo_GTACGTAAGAGAACAG-1,Dendritic cells -Combo_GTACGTAAGCGTCTAT-1,Granulocytes -Combo_GTACGTAAGTATGACA-1,Granulocytes -Combo_GTACGTACAATAGCAA-1,Granulocytes -Combo_GTACGTACACCGAAAG-1,Dendritic cells -Combo_GTACGTACACGTCTCT-1,Monocytes -Combo_GTACGTAGTAGCACGA-1,Dendritic cells -Combo_GTACGTAGTATGAAAC-1,Dendritic cells -Combo_GTACGTAGTCTGCAAT-1,Dendritic cells -Combo_GTACGTATCGCAGGCT-1,Dendritic cells -Combo_GTACTCCAGGAACTGC-1,Monocytes -Combo_GTACTCCAGGATATAC-1,Monocytes -Combo_GTACTCCAGTGGGTTG-1,Monocytes -Combo_GTACTCCCAAGAAGAG-1,Monocytes -Combo_GTACTCCCACCCAGTG-1,Monocytes -Combo_GTACTCCGTAGCAAAT-1,Dendritic cells -Combo_GTACTCCTCATCGGAT-1,Monocytes -Combo_GTACTCCTCCCTCTTT-1,Monocytes -Combo_GTACTCCTCTGCAAGT-1,Monocytes -Combo_GTACTTTAGCGCCTTG-1,Monocytes -Combo_GTACTTTAGTGATCGG-1,Monocytes -Combo_GTACTTTAGTGCAAGC-1,Granulocytes -Combo_GTACTTTCACCGCTAG-1,Dendritic cells -Combo_GTACTTTCACGTCAGC-1,Granulocytes -Combo_GTACTTTCACTGTCGG-1,Monocytes -Combo_GTACTTTCAGAGTGTG-1,T cells -Combo_GTACTTTGTAGGCTGA-1,T cells -Combo_GTACTTTTCGGCATCG-1,Dendritic cells -Combo_GTAGGCCAGTACGACG-1,Monocytes -Combo_GTAGGCCCACGACGAA-1,Dendritic cells -Combo_GTAGGCCCACGTAAGG-1,Monocytes -Combo_GTAGGCCGTCAAACTC-1,Dendritic cells -Combo_GTAGGCCGTCCAACTA-1,Macrophages -Combo_GTAGGCCTCCGCGGTA-1,Monocytes -Combo_GTAGTCAAGACCGGAT-1,Monocytes -Combo_GTAGTCACACGAGGTA-1,Monocytes -Combo_GTAGTCACACGGCCAT-1,Monocytes -Combo_GTAGTCACATATACGC-1,Monocytes -Combo_GTAGTCACATCCGGGT-1,Monocytes -Combo_GTAGTCACATCGACGC-1,T cells -Combo_GTAGTCAGTCAGCTAT-1,Monocytes -Combo_GTAGTCATCACCTCGT-1,Monocytes -Combo_GTAGTCATCGGATGGA-1,Dendritic cells -Combo_GTATCTTAGACTACAA-1,Monocytes -Combo_GTATCTTAGGGCATGT-1,Monocytes -Combo_GTATCTTAGGGTCTCC-1,Monocytes -Combo_GTATCTTAGTAATCCC-1,Monocytes -Combo_GTATCTTAGTGTCTCA-1,Monocytes -Combo_GTATCTTCAATTGCTG-1,Dendritic cells -Combo_GTATCTTCAGCTTAAC-1,Dendritic cells -Combo_GTATCTTCATAACCTG-1,Dendritic cells -Combo_GTATCTTGTTGCTCCT-1,Granulocytes -Combo_GTATCTTTCTTCAACT-1,Granulocytes -Combo_GTATTCTAGCTAGTGG-1,Monocytes -Combo_GTATTCTCAGCTGGCT-1,Monocytes -Combo_GTATTCTCAGGATTGG-1,Dendritic cells -Combo_GTATTCTCATTAGCCA-1,Monocytes -Combo_GTATTCTGTACAGCAG-1,Monocytes -Combo_GTATTCTGTACGAAAT-1,Granulocytes -Combo_GTATTCTGTAGTGAAT-1,Monocytes -Combo_GTATTCTGTTATGCGT-1,Monocytes -Combo_GTATTCTGTTTACTCT-1,Dendritic cells -Combo_GTATTCTTCAACTCTT-1,Granulocytes -Combo_GTATTCTTCAGAAATG-1,Monocytes -Combo_GTATTCTTCCCTGACT-1,Dendritic cells -Combo_GTATTCTTCGCCATAA-1,Monocytes -Combo_GTATTCTTCGTAGGAG-1,Granulocytes -Combo_GTCAAGTAGACTACAA-1,Monocytes -Combo_GTCAAGTGTATATGAG-1,Granulocytes -Combo_GTCAAGTGTATTCGTG-1,Dendritic cells -Combo_GTCACAAAGACCTTTG-1,Granulocytes -Combo_GTCACAAAGGAGTAGA-1,Monocytes -Combo_GTCACAAAGGCCCGTT-1,Monocytes -Combo_GTCACAACACTGTTAG-1,Granulocytes -Combo_GTCACAACATGTTCCC-1,Granulocytes -Combo_GTCACAAGTCAGATAA-1,Granulocytes -Combo_GTCACAAGTGTCGCTG-1,Monocytes -Combo_GTCACAAGTTAAGACA-1,Dendritic cells -Combo_GTCACAATCAGTTGAC-1,Monocytes -Combo_GTCACAATCATCGCTC-1,Dendritic cells -Combo_GTCACAATCCGCAGTG-1,Granulocytes -Combo_GTCACAATCTATGTGG-1,Dendritic cells -Combo_GTCACAATCTTACCTA-1,Granulocytes -Combo_GTCACGGAGCCGATTT-1,Monocytes -Combo_GTCACGGGTGGACGAT-1,Monocytes -Combo_GTCACGGTCTGGCGTG-1,Granulocytes -Combo_GTCATTTAGCTGATAA-1,Dendritic cells -Combo_GTCATTTAGTCCAGGA-1,Monocytes -Combo_GTCATTTCACAGGCCT-1,Monocytes -Combo_GTCATTTCAGCGTAAG-1,Monocytes -Combo_GTCATTTCATAGACTC-1,Granulocytes -Combo_GTCATTTGTCGAACAG-1,Dendritic cells -Combo_GTCATTTTCAAACCAC-1,Granulocytes -Combo_GTCATTTTCAACGAAA-1,Monocytes -Combo_GTCATTTTCAGGCAAG-1,Dendritic cells -Combo_GTCATTTTCATTTGGG-1,Dendritic cells -Combo_GTCATTTTCCTGCTTG-1,Monocytes -Combo_GTCATTTTCGCTTGTC-1,Monocytes -Combo_GTCATTTTCTGCGTAA-1,Monocytes -Combo_GTCATTTTCTTTAGGG-1,Monocytes -Combo_GTCCTCAAGAAGGCCT-1,Monocytes -Combo_GTCCTCAAGGATGGAA-1,Monocytes -Combo_GTCCTCAAGGCATGTG-1,Monocytes -Combo_GTCCTCAAGGCGTACA-1,Monocytes -Combo_GTCCTCAAGTAGTGCG-1,Monocytes -Combo_GTCCTCAAGTCATGCT-1,Monocytes -Combo_GTCCTCACATCAGTCA-1,Dendritic cells -Combo_GTCCTCACATTTCAGG-1,Granulocytes -Combo_GTCCTCAGTCCTAGCG-1,Monocytes -Combo_GTCCTCAGTCTCCACT-1,Monocytes -Combo_GTCCTCATCATTCACT-1,Dendritic cells -Combo_GTCGGGTAGCGTAATA-1,Monocytes -Combo_GTCGGGTCATAGAAAC-1,Granulocytes -Combo_GTCGGGTCATTCACTT-1,T cells -Combo_GTCGGGTGTGATGTCT-1,Dendritic cells -Combo_GTCGGGTGTGTCCTCT-1,Monocytes -Combo_GTCGGGTGTTCTGTTT-1,Monocytes -Combo_GTCGTAAAGCGCCTTG-1,Dendritic cells -Combo_GTCGTAAAGTGCCATT-1,Dendritic cells -Combo_GTCGTAACAAGCCTAT-1,Granulocytes -Combo_GTCGTAATCCGATATG-1,Monocytes -Combo_GTCGTAATCTATCCTA-1,Monocytes -Combo_GTCTCGTAGTGTTAGA-1,Dendritic cells -Combo_GTCTCGTCAAAGGTGC-1,Dendritic cells -Combo_GTCTCGTCAATCCGAT-1,Monocytes -Combo_GTCTCGTCAGGCTCAC-1,Dendritic cells -Combo_GTCTCGTCATGTTCCC-1,Granulocytes -Combo_GTCTCGTGTTCAGCGC-1,Granulocytes -Combo_GTCTTCGAGAAGGACA-1,Granulocytes -Combo_GTCTTCGAGTCACGCC-1,Monocytes -Combo_GTCTTCGCAAGCCATT-1,Dendritic cells -Combo_GTCTTCGCACAGATTC-1,Dendritic cells -Combo_GTCTTCGCACGGCGTT-1,Monocytes -Combo_GTCTTCGGTTAAGTAG-1,Monocytes -Combo_GTCTTCGTCATAACCG-1,Granulocytes -Combo_GTCTTCGTCGTTGCCT-1,Dendritic cells -Combo_GTGAAGGAGACCACGA-1,Dendritic cells -Combo_GTGAAGGAGCAAATCA-1,Monocytes -Combo_GTGAAGGAGCGGCTTC-1,Monocytes -Combo_GTGAAGGAGCTCAACT-1,Monocytes -Combo_GTGAAGGAGCTTCGCG-1,Monocytes -Combo_GTGAAGGAGGCAATTA-1,Monocytes -Combo_GTGAAGGAGGGCATGT-1,Monocytes -Combo_GTGAAGGAGTCTCCTC-1,Dendritic cells -Combo_GTGAAGGGTAGCGATG-1,Dendritic cells -Combo_GTGAAGGGTCCTCCAT-1,Granulocytes -Combo_GTGAAGGGTTCCAACA-1,Monocytes -Combo_GTGAAGGTCAACCAAC-1,Monocytes -Combo_GTGAAGGTCAAGGCTT-1,Monocytes -Combo_GTGAAGGTCGGATGTT-1,Monocytes -Combo_GTGAAGGTCGGCGGTT-1,Monocytes -Combo_GTGAAGGTCTAACCGA-1,Monocytes -Combo_GTGCAGCAGACTACAA-1,Monocytes -Combo_GTGCAGCAGCTACCGC-1,Monocytes -Combo_GTGCAGCCACGAAGCA-1,Monocytes -Combo_GTGCAGCCAGTTAACC-1,Granulocytes -Combo_GTGCAGCGTCGCGAAA-1,Monocytes -Combo_GTGCAGCTCACGATGT-1,Granulocytes -Combo_GTGCAGCTCGAGCCCA-1,Dendritic cells -Combo_GTGCAGCTCGGCCGAT-1,Dendritic cells -Combo_GTGCATAAGAGCAATT-1,Monocytes -Combo_GTGCATACACCAGGCT-1,Dendritic cells -Combo_GTGCATACACTCAGGC-1,Monocytes -Combo_GTGCATACATATGAGA-1,Dendritic cells -Combo_GTGCATAGTAGGACAC-1,Dendritic cells -Combo_GTGCATAGTCCAGTAT-1,Monocytes -Combo_GTGCATATCATCTGTT-1,Monocytes -Combo_GTGCATATCGCATGAT-1,Monocytes -Combo_GTGCGGTCAAGCCGTC-1,Monocytes -Combo_GTGCGGTCAGTCGATT-1,Monocytes -Combo_GTGCGGTCATCCGCGA-1,Monocytes -Combo_GTGCGGTGTATGCTTG-1,Monocytes -Combo_GTGCGGTGTCGAGATG-1,Monocytes -Combo_GTGCGGTGTCTAGGTT-1,Monocytes -Combo_GTGCGGTTCAGTTTGG-1,Monocytes -Combo_GTGCTTCAGAAGGTGA-1,Granulocytes -Combo_GTGCTTCCAACTGCTA-1,Monocytes -Combo_GTGCTTCCACATTCGA-1,Monocytes -Combo_GTGCTTCCATCTGGTA-1,Monocytes -Combo_GTGCTTCGTAAACACA-1,Dendritic cells -Combo_GTGCTTCTCAGCAACT-1,Monocytes -Combo_GTGCTTCTCTACTATC-1,Monocytes -Combo_GTGGGTCAGATGTGGC-1,Monocytes -Combo_GTGGGTCAGGTGTGGT-1,Monocytes -Combo_GTGGGTCAGTCCATAC-1,Monocytes -Combo_GTGGGTCCACGAGAGT-1,Monocytes -Combo_GTGGGTCGTAGCTCCG-1,Monocytes -Combo_GTGGGTCGTTACGCGC-1,Monocytes -Combo_GTGGGTCGTTGTTTGG-1,Monocytes -Combo_GTGGGTCTCCTTTACA-1,Dendritic cells -Combo_GTGGGTCTCTCTAAGG-1,Monocytes -Combo_GTGTGCGAGGCGTACA-1,Monocytes -Combo_GTGTGCGAGGGTCTCC-1,Dendritic cells -Combo_GTGTGCGAGTACGTAA-1,Dendritic cells -Combo_GTGTGCGAGTAGGCCA-1,Dendritic cells -Combo_GTGTGCGCATGCCACG-1,Monocytes -Combo_GTGTGCGGTACCTACA-1,Monocytes -Combo_GTGTGCGGTCGTTGTA-1,Monocytes -Combo_GTGTTAGCACGACGAA-1,Granulocytes -Combo_GTGTTAGCACTGTGTA-1,Granulocytes -Combo_GTGTTAGCATGCCACG-1,Dendritic cells -Combo_GTGTTAGGTAATCGTC-1,Granulocytes -Combo_GTGTTAGGTGATGTGG-1,Monocytes -Combo_GTGTTAGGTGGTCCGT-1,Dendritic cells -Combo_GTGTTAGTCAGCACAT-1,Monocytes -Combo_GTTAAGCAGCATGGCA-1,Dendritic cells -Combo_GTTAAGCAGCTGCCCA-1,Monocytes -Combo_GTTAAGCGTAGCGCAA-1,Monocytes -Combo_GTTAAGCGTCGAATCT-1,Monocytes -Combo_GTTAAGCGTCTAGAGG-1,Monocytes -Combo_GTTAAGCGTGTTTGGT-1,Monocytes -Combo_GTTAAGCGTTAAAGTG-1,Monocytes -Combo_GTTAAGCGTTAAGATG-1,Monocytes -Combo_GTTAAGCGTTGGTGGA-1,Granulocytes -Combo_GTTAAGCGTTGTTTGG-1,Granulocytes -Combo_GTTAAGCTCTAACTCT-1,Monocytes -Combo_GTTAAGCTCTCGATGA-1,Monocytes -Combo_GTTACAGAGAACTCGG-1,Monocytes -Combo_GTTACAGAGCCGGTAA-1,Granulocytes -Combo_GTTACAGAGGTGTTAA-1,Dendritic cells -Combo_GTTCATTAGCAGGCTA-1,Granulocytes -Combo_GTTCATTAGGAATGGA-1,Monocytes -Combo_GTTCATTCAATAGCGG-1,Monocytes -Combo_GTTCATTCATACCATG-1,Monocytes -Combo_GTTCATTCATCCTTGC-1,Monocytes -Combo_GTTCATTGTAAATACG-1,Dendritic cells -Combo_GTTCATTGTCACTTCC-1,Monocytes -Combo_GTTCATTGTGATGATA-1,Monocytes -Combo_GTTCATTGTGATGCCC-1,Monocytes -Combo_GTTCGGGAGCTGCAAG-1,Monocytes -Combo_GTTCGGGAGGGAACGG-1,Monocytes -Combo_GTTCGGGGTCGCATCG-1,Dendritic cells -Combo_GTTCGGGTCAAGGTAA-1,Monocytes -Combo_GTTCGGGTCACCGGGT-1,Monocytes -Combo_GTTCGGGTCGAGAACG-1,Monocytes -Combo_GTTCGGGTCGCCGTGA-1,Granulocytes -Combo_GTTCTCGAGGTTCCTA-1,Monocytes -Combo_GTTCTCGCAAGGCTCC-1,Monocytes -Combo_GTTCTCGCACTTAAGC-1,Dendritic cells -Combo_GTTCTCGCAGGAATCG-1,Dendritic cells -Combo_GTTCTCGCATCGATTG-1,Monocytes -Combo_GTTCTCGCATGCCTTC-1,Monocytes -Combo_GTTCTCGGTAGCGATG-1,Monocytes -Combo_GTTCTCGGTCCAAGTT-1,Granulocytes -Combo_GTTCTCGTCATTTGGG-1,Monocytes -Combo_GTTCTCGTCCAGAAGG-1,Monocytes -Combo_GTTCTCGTCGTAGATC-1,Dendritic cells -Combo_GTTTCTAGTACGAAAT-1,Dendritic cells -Combo_GTTTCTATCGGCGCTA-1,Monocytes -Combo_GTTTCTATCTAACCGA-1,Dendritic cells -Combo_TAAACCGAGAGACGAA-1,Monocytes -Combo_TAAACCGAGCTAGTGG-1,Granulocytes -Combo_TAAACCGCACTAGTAC-1,Monocytes -Combo_TAAACCGCAGAGCCAA-1,Monocytes -Combo_TAAACCGCATGCCACG-1,Granulocytes -Combo_TAAACCGGTATTCGTG-1,Monocytes -Combo_TAAACCGGTGATGATA-1,Monocytes -Combo_TAAACCGGTGCAACTT-1,Dendritic cells -Combo_TAAACCGGTGGTGTAG-1,T cells -Combo_TAAACCGGTGTGCCTG-1,Monocytes -Combo_TAAACCGGTGTTAAGA-1,T cells -Combo_TAAACCGTCAATCTCT-1,Monocytes -Combo_TAAACCGTCACATACG-1,Monocytes -Combo_TAAACCGTCATTGCCC-1,Granulocytes -Combo_TAAACCGTCCGCAAGC-1,Monocytes -Combo_TAAGAGAAGAATTGTG-1,Monocytes -Combo_TAAGAGAAGTGACATA-1,Dendritic cells -Combo_TAAGAGACAGGGAGAG-1,Monocytes -Combo_TAAGAGACATTCGACA-1,Dendritic cells -Combo_TAAGAGAGTCCCTACT-1,Granulocytes -Combo_TAAGAGAGTCTCTTTA-1,Monocytes -Combo_TAAGAGAGTTATCCGA-1,Monocytes -Combo_TAAGAGATCCACGAAT-1,Monocytes -Combo_TAAGCGTAGCACAGGT-1,Granulocytes -Combo_TAAGCGTCATTCTCAT-1,T cells -Combo_TAAGCGTGTTTAGCTG-1,Granulocytes -Combo_TAAGCGTTCCCAAGAT-1,Dendritic cells -Combo_TAAGTGCAGAGTGACC-1,T cells -Combo_TAAGTGCAGATCTGCT-1,Monocytes -Combo_TAAGTGCAGCGTCTAT-1,Granulocytes -Combo_TAAGTGCAGGCCCGTT-1,Monocytes -Combo_TAAGTGCAGTTCCACA-1,Monocytes -Combo_TAAGTGCCACAGCCCA-1,Granulocytes -Combo_TAAGTGCCAGTGACAG-1,Monocytes -Combo_TAAGTGCGTAGCGATG-1,Monocytes -Combo_TAAGTGCGTGACCAAG-1,Dendritic cells -Combo_TAAGTGCGTGGTCTCG-1,Granulocytes -Combo_TAAGTGCGTTACGACT-1,Monocytes -Combo_TACACGAAGGCATTGG-1,Monocytes -Combo_TACACGACACTGCCAG-1,Dendritic cells -Combo_TACACGAGTCGCTTTC-1,Dendritic cells -Combo_TACACGAGTGTGCCTG-1,Monocytes -Combo_TACACGATCCTCGCAT-1,Dendritic cells -Combo_TACAGTGAGCCCGAAA-1,Monocytes -Combo_TACAGTGGTCATACTG-1,Monocytes -Combo_TACAGTGGTGAAATCA-1,Dendritic cells -Combo_TACAGTGGTGTGAAAT-1,Dendritic cells -Combo_TACAGTGGTTACCGAT-1,Granulocytes -Combo_TACAGTGGTTCGCTAA-1,Monocytes -Combo_TACAGTGTCGTTACAG-1,Granulocytes -Combo_TACCTATAGATGGGTC-1,Dendritic cells -Combo_TACCTATAGCTGGAAC-1,Macrophages -Combo_TACCTATAGTGCGATG-1,Monocytes -Combo_TACCTATCAAGCCGTC-1,Monocytes -Combo_TACCTATCACCACGTG-1,Dendritic cells -Combo_TACCTATCACTCAGGC-1,Monocytes -Combo_TACCTATCAGGGCATA-1,Dendritic cells -Combo_TACCTATGTATTACCG-1,Granulocytes -Combo_TACCTATTCGGGAGTA-1,Monocytes -Combo_TACCTTAAGTCACGCC-1,Monocytes -Combo_TACCTTAAGTCCCACG-1,Monocytes -Combo_TACCTTACAAGCTGGA-1,Monocytes -Combo_TACCTTACACCGGAAA-1,Monocytes -Combo_TACCTTACAGCCTATA-1,Dendritic cells -Combo_TACCTTACATCAGTCA-1,Monocytes -Combo_TACCTTAGTAAACACA-1,Monocytes -Combo_TACCTTAGTCCCGACA-1,Dendritic cells -Combo_TACCTTAGTTGGTGGA-1,Granulocytes -Combo_TACCTTATCAGCAACT-1,Monocytes -Combo_TACCTTATCAGTGCAT-1,Monocytes -Combo_TACCTTATCGCTAGCG-1,Monocytes -Combo_TACCTTATCTACTTAC-1,Granulocytes -Combo_TACGGATAGAAGGGTA-1,Monocytes -Combo_TACGGATAGCGTAATA-1,Dendritic cells -Combo_TACGGATAGTCCGGTC-1,Monocytes -Combo_TACGGATGTGACTACT-1,Granulocytes -Combo_TACGGATTCACCTTAT-1,Monocytes -Combo_TACGGATTCAGCTCGG-1,Monocytes -Combo_TACGGATTCCGCAAGC-1,Monocytes -Combo_TACGGATTCGGCTTGG-1,Monocytes -Combo_TACGGATTCGTGGACC-1,Monocytes -Combo_TACGGATTCTCCTATA-1,Granulocytes -Combo_TACGGGCAGATCCCAT-1,Granulocytes -Combo_TACGGGCAGGAATGGA-1,Granulocytes -Combo_TACGGGCCATTGGCGC-1,Monocytes -Combo_TACGGGCGTACCGTTA-1,Dendritic cells -Combo_TACGGGCTCCACGTTC-1,Monocytes -Combo_TACGGGCTCGCCAAAT-1,Monocytes -Combo_TACGGGCTCTCAAGTG-1,Monocytes -Combo_TACGGGCTCTTAACCT-1,Monocytes -Combo_TACGGGCTCTTAGAGC-1,T cells -Combo_TACGGTAAGCGGCTTC-1,Monocytes -Combo_TACGGTAAGGGTGTTG-1,NK cells -Combo_TACGGTAAGTAGCCGA-1,Monocytes -Combo_TACGGTACATACTACG-1,Dendritic cells -Combo_TACGGTAGTGTGACCC-1,Monocytes -Combo_TACGGTAGTTGTACAC-1,Granulocytes -Combo_TACGGTAGTTGTGGAG-1,Monocytes -Combo_TACGGTATCAAACAAG-1,Granulocytes -Combo_TACTCATAGATCCTGT-1,Dendritic cells -Combo_TACTCATAGCCTTGAT-1,Monocytes -Combo_TACTCATAGGCGACAT-1,Granulocytes -Combo_TACTCATCACAACTGT-1,Monocytes -Combo_TACTCATCACGTCTCT-1,Dendritic cells -Combo_TACTCATGTAAGCACG-1,Granulocytes -Combo_TACTCATGTCCTAGCG-1,Monocytes -Combo_TACTCATGTCGGCATC-1,Monocytes -Combo_TACTCATGTGGTACAG-1,Monocytes -Combo_TACTCATTCCAATGGT-1,Granulocytes -Combo_TACTCGCAGAGCTATA-1,Granulocytes -Combo_TACTCGCAGAGTACAT-1,Monocytes -Combo_TACTCGCAGATATGCA-1,Monocytes -Combo_TACTCGCAGCACACAG-1,Dendritic cells -Combo_TACTCGCAGTCCGGTC-1,Monocytes -Combo_TACTCGCCAATGGACG-1,Dendritic cells -Combo_TACTCGCCACCGTTGG-1,Monocytes -Combo_TACTCGCGTAGCGTGA-1,Monocytes -Combo_TACTCGCGTCCTAGCG-1,Monocytes -Combo_TACTCGCGTGCAGGTA-1,Monocytes -Combo_TACTCGCTCATGTCTT-1,Dendritic cells -Combo_TACTTACAGAACAATC-1,Macrophages -Combo_TACTTACAGCAGGTCA-1,Granulocytes -Combo_TACTTACAGGAGTTGC-1,Monocytes -Combo_TACTTACAGTCATGCT-1,Dendritic cells -Combo_TACTTACCAACGATGG-1,Dendritic cells -Combo_TACTTACCAATTCCTT-1,Dendritic cells -Combo_TACTTACGTAAGTGTA-1,Monocytes -Combo_TACTTACGTGCAGTAG-1,Monocytes -Combo_TACTTACGTTGGAGGT-1,Monocytes -Combo_TACTTGTAGAATCTCC-1,Monocytes -Combo_TACTTGTAGCACACAG-1,Dendritic cells -Combo_TACTTGTAGTTAGCGG-1,Monocytes -Combo_TACTTGTGTAAAGTCA-1,Monocytes -Combo_TACTTGTGTGCGATAG-1,Granulocytes -Combo_TAGACCAAGAGTCTGG-1,Monocytes -Combo_TAGACCAAGTAAGTAC-1,Granulocytes -Combo_TAGACCAAGTGATCGG-1,Monocytes -Combo_TAGACCAAGTGTGGCA-1,Monocytes -Combo_TAGACCACAAGCTGAG-1,Monocytes -Combo_TAGACCACATCACCCT-1,Monocytes -Combo_TAGACCATCAATCACG-1,Dendritic cells -Combo_TAGACCATCCTGCTTG-1,Monocytes -Combo_TAGACCATCGAACGGA-1,Dendritic cells -Combo_TAGACCATCGAGGTAG-1,Granulocytes -Combo_TAGACCATCGCTTAGA-1,Monocytes -Combo_TAGACCATCTGCGGCA-1,Granulocytes -Combo_TAGAGCTCAAGGACTG-1,Dendritic cells -Combo_TAGAGCTCATTAACCG-1,Dendritic cells -Combo_TAGAGCTGTCGCGAAA-1,Monocytes -Combo_TAGAGCTGTGCTGTAT-1,Monocytes -Combo_TAGAGCTGTTAAGATG-1,Monocytes -Combo_TAGAGCTGTTTGTGTG-1,Monocytes -Combo_TAGCCGGAGATAGCAT-1,Monocytes -Combo_TAGCCGGCAATGCCAT-1,Dendritic cells -Combo_TAGCCGGCAGATAATG-1,Monocytes -Combo_TAGCCGGGTCACAAGG-1,Monocytes -Combo_TAGCCGGGTCGAGTTT-1,Monocytes -Combo_TAGCCGGTCAATACCG-1,Monocytes -Combo_TAGCCGGTCACGCGGT-1,Monocytes -Combo_TAGCCGGTCCCAAGAT-1,Dendritic cells -Combo_TAGCCGGTCTTGGGTA-1,Granulocytes -Combo_TAGGCATAGTCGAGTG-1,Dendritic cells -Combo_TAGGCATCAAGTTCTG-1,Monocytes -Combo_TAGGCATCAGCGTTCG-1,Dendritic cells -Combo_TAGGCATGTCACAAGG-1,Dendritic cells -Combo_TAGGCATGTCCAGTAT-1,Monocytes -Combo_TAGGCATGTGGACGAT-1,Dendritic cells -Combo_TAGGCATTCTGATACG-1,Macrophages -Combo_TAGTGGTAGACTAGAT-1,Dendritic cells -Combo_TAGTGGTAGATCACGG-1,Monocytes -Combo_TAGTGGTAGGCTCATT-1,Monocytes -Combo_TAGTGGTCACAAGTAA-1,Monocytes -Combo_TAGTGGTCACCCAGTG-1,Monocytes -Combo_TAGTGGTCAGCTCGCA-1,Monocytes -Combo_TAGTGGTGTAGGGACT-1,Monocytes -Combo_TAGTGGTGTATTACCG-1,Dendritic cells -Combo_TAGTGGTTCACATACG-1,Granulocytes -Combo_TAGTGGTTCGAATCCA-1,Granulocytes -Combo_TAGTGGTTCTATGTGG-1,Monocytes -Combo_TAGTGGTTCTCAAGTG-1,Monocytes -Combo_TAGTGGTTCTGATTCT-1,Monocytes -Combo_TAGTTGGAGACCCACC-1,Dendritic cells -Combo_TAGTTGGAGGTGTTAA-1,Granulocytes -Combo_TAGTTGGCAAGCGCTC-1,Monocytes -Combo_TAGTTGGCAGTAAGCG-1,Dendritic cells -Combo_TAGTTGGCATCGTCGG-1,Dendritic cells -Combo_TAGTTGGCATGTCTCC-1,Monocytes -Combo_TAGTTGGCATTCCTCG-1,Monocytes -Combo_TAGTTGGGTTAAGACA-1,Granulocytes -Combo_TAGTTGGGTTACCAGT-1,Granulocytes -Combo_TAGTTGGTCAAACAAG-1,Monocytes -Combo_TAGTTGGTCAACGGGA-1,Monocytes -Combo_TAGTTGGTCTGTCTCG-1,Monocytes -Combo_TATCAGGAGACCCACC-1,Monocytes -Combo_TATCAGGAGATATACG-1,Granulocytes -Combo_TATCAGGAGCGTGAGT-1,Monocytes -Combo_TATCAGGAGGCGCTCT-1,Monocytes -Combo_TATCAGGAGTACGCCC-1,Monocytes -Combo_TATCAGGAGTGTCTCA-1,Dendritic cells -Combo_TATCAGGCACACAGAG-1,Granulocytes -Combo_TATCAGGCAGTATGCT-1,Monocytes -Combo_TATCAGGGTAGCGCAA-1,Monocytes -Combo_TATCAGGGTCGACTGC-1,Granulocytes -Combo_TATCAGGGTTAAAGAC-1,Monocytes -Combo_TATCTCAAGATAGTCA-1,Monocytes -Combo_TATCTCAAGATATACG-1,Dendritic cells -Combo_TATCTCAAGGGTATCG-1,Monocytes -Combo_TATCTCAAGTACGATA-1,Dendritic cells -Combo_TATCTCAAGTGGTAGC-1,Monocytes -Combo_TATCTCAAGTGTCCCG-1,Monocytes -Combo_TATCTCACAACGCACC-1,Monocytes -Combo_TATCTCACAATTCCTT-1,Monocytes -Combo_TATCTCACAGGTGCCT-1,Monocytes -Combo_TATCTCAGTACCATCA-1,Monocytes -Combo_TATCTCAGTCACCTAA-1,Granulocytes -Combo_TATCTCAGTGAACCTT-1,Monocytes -Combo_TATCTCAGTTCTGGTA-1,Dendritic cells -Combo_TATGCCCAGAACAACT-1,Monocytes -Combo_TATGCCCAGACTGGGT-1,Granulocytes -Combo_TATGCCCAGATGTGGC-1,Dendritic cells -Combo_TATGCCCAGGAGTCTG-1,Monocytes -Combo_TATGCCCGTACCAGTT-1,Monocytes -Combo_TATGCCCGTTACGTCA-1,Granulocytes -Combo_TATGCCCTCACCAGGC-1,Monocytes -Combo_TATGCCCTCCCGACTT-1,Monocytes -Combo_TATGCCCTCCGAACGC-1,Monocytes -Combo_TATTACCCAACACGCC-1,Dendritic cells -Combo_TATTACCCAGGAATGC-1,Granulocytes -Combo_TATTACCGTGACCAAG-1,Granulocytes -Combo_TATTACCTCCTATTCA-1,Dendritic cells -Combo_TCAACGAAGGAGTTTA-1,Monocytes -Combo_TCAACGACAAGCCCAC-1,Granulocytes -Combo_TCAACGACAGCCAGAA-1,Granulocytes -Combo_TCAACGAGTAAATGTG-1,Monocytes -Combo_TCAACGAGTACGCACC-1,Monocytes -Combo_TCAATCTAGCGATGAC-1,Granulocytes -Combo_TCAATCTAGGATCGCA-1,Monocytes -Combo_TCAATCTAGGGTGTGT-1,Monocytes -Combo_TCAATCTAGTGTACTC-1,Dendritic cells -Combo_TCAATCTCAAGCCCAC-1,Macrophages -Combo_TCAATCTCACGGTTTA-1,Monocytes -Combo_TCAATCTCAGATTGCT-1,Granulocytes -Combo_TCAATCTCAGCCTTGG-1,Monocytes -Combo_TCAATCTCATCCAACA-1,Granulocytes -Combo_TCAATCTGTAGAGCTG-1,Dendritic cells -Combo_TCAATCTGTGTGGTTT-1,Monocytes -Combo_TCAATCTTCTGCCAGG-1,Monocytes -Combo_TCACAAGAGACATAAC-1,Dendritic cells -Combo_TCACAAGAGGCAGTCA-1,Monocytes -Combo_TCACAAGCATCCCACT-1,Monocytes -Combo_TCACAAGGTCCAACTA-1,Monocytes -Combo_TCACAAGGTGAAGGCT-1,Monocytes -Combo_TCACAAGGTTGGACCC-1,Monocytes -Combo_TCACAAGTCACGCGGT-1,Monocytes -Combo_TCACAAGTCTTCATGT-1,Monocytes -Combo_TCACAAGTCTTGTATC-1,Monocytes -Combo_TCACGAAAGATGAGAG-1,Monocytes -Combo_TCACGAAAGGTGGGTT-1,Monocytes -Combo_TCACGAAAGTTCGCGC-1,Monocytes -Combo_TCACGAACAAACGTGG-1,Granulocytes -Combo_TCACGAACATACTCTT-1,Granulocytes -Combo_TCACGAAGTAGCCTAT-1,Dendritic cells -Combo_TCACGAAGTGCACCAC-1,Monocytes -Combo_TCACGAAGTTAGGGTG-1,Monocytes -Combo_TCACGAATCAAGGCTT-1,Granulocytes -Combo_TCACGAATCCTAGGGC-1,Monocytes -Combo_TCAGATGAGCTCCTCT-1,Monocytes -Combo_TCAGATGCACATCCGG-1,Granulocytes -Combo_TCAGATGCACCAGATT-1,Monocytes -Combo_TCAGATGCATGCAACT-1,Monocytes -Combo_TCAGATGGTCTAGCGC-1,Granulocytes -Combo_TCAGATGGTCTTGCGG-1,Dendritic cells -Combo_TCAGATGTCTGTTGAG-1,Granulocytes -Combo_TCAGCAAAGAACTGTA-1,Dendritic cells -Combo_TCAGCAAAGCAATATG-1,Monocytes -Combo_TCAGCAAAGCTTATCG-1,Monocytes -Combo_TCAGCAAAGGATCGCA-1,Monocytes -Combo_TCAGCAAAGGTGATAT-1,Granulocytes -Combo_TCAGCAAAGTAGTGCG-1,Dendritic cells -Combo_TCAGCAACACATTAGC-1,Monocytes -Combo_TCAGCAACATTAACCG-1,Monocytes -Combo_TCAGCAAGTTCAACCA-1,Monocytes -Combo_TCAGCAAGTTCCGTCT-1,Monocytes -Combo_TCAGCAATCAGTTAGC-1,Granulocytes -Combo_TCAGCAATCCAACCAA-1,Granulocytes -Combo_TCAGCAATCGGTCTAA-1,Dendritic cells -Combo_TCAGCTCCACTAGTAC-1,Dendritic cells -Combo_TCAGCTCCACTTGGAT-1,Monocytes -Combo_TCAGCTCCAGATGGGT-1,Monocytes -Combo_TCAGCTCCAGTGAGTG-1,Monocytes -Combo_TCAGCTCGTTAGGGTG-1,Monocytes -Combo_TCAGCTCGTTGTCTTT-1,Monocytes -Combo_TCAGCTCTCTACTCAT-1,Dendritic cells -Combo_TCAGGATCACACCGCA-1,Monocytes -Combo_TCAGGATCACCCAGTG-1,Monocytes -Combo_TCAGGATCACTATCTT-1,Monocytes -Combo_TCAGGATCAGACAAGC-1,Monocytes -Combo_TCAGGATCAGATCGGA-1,Monocytes -Combo_TCAGGATCAGGTCTCG-1,Monocytes -Combo_TCAGGATCATCGGACC-1,Monocytes -Combo_TCAGGATGTCCGAACC-1,Dendritic cells -Combo_TCAGGATGTGCACCAC-1,T cells -Combo_TCAGGATGTGCCTGGT-1,Monocytes -Combo_TCAGGATTCAAAGTAG-1,Monocytes -Combo_TCAGGATTCGTAGATC-1,Granulocytes -Combo_TCAGGTAAGTCAAGCG-1,Macrophages -Combo_TCAGGTAAGTGGTAGC-1,Monocytes -Combo_TCAGGTACACGACTCG-1,Granulocytes -Combo_TCAGGTACAGAGTGTG-1,Monocytes -Combo_TCAGGTACAGCTGCTG-1,Dendritic cells -Combo_TCAGGTAGTCGCATAT-1,Granulocytes -Combo_TCAGGTAGTTACCGAT-1,Dendritic cells -Combo_TCAGGTATCATCTGTT-1,B cells -Combo_TCAGGTATCCAAGTAC-1,Granulocytes -Combo_TCATTACAGATCTGAA-1,Monocytes -Combo_TCATTACCAACGATGG-1,Monocytes -Combo_TCATTACCATCGGGTC-1,Monocytes -Combo_TCATTACGTAGAGTGC-1,Dendritic cells -Combo_TCATTACGTGATGATA-1,Monocytes -Combo_TCATTACTCATTTGGG-1,Granulocytes -Combo_TCATTTGAGGGTTTCT-1,Monocytes -Combo_TCATTTGAGTGGGCTA-1,Dendritic cells -Combo_TCATTTGGTAAGGATT-1,Dendritic cells -Combo_TCATTTGGTTGTGGAG-1,Dendritic cells -Combo_TCATTTGTCATGGTCA-1,Dendritic cells -Combo_TCATTTGTCGGTTCGG-1,Granulocytes -Combo_TCATTTGTCTTGCCGT-1,Monocytes -Combo_TCCACACAGTTAACGA-1,Dendritic cells -Combo_TCCACACCAAGTCTGT-1,Monocytes -Combo_TCCACACCACCGAAAG-1,Dendritic cells -Combo_TCCACACGTCAACTGT-1,Monocytes -Combo_TCCACACGTCAGCTAT-1,Monocytes -Combo_TCCACACTCAGCCTAA-1,Monocytes -Combo_TCCACACTCATGGTCA-1,Dendritic cells -Combo_TCCACACTCATTTGGG-1,Monocytes -Combo_TCCACACTCCATGAGT-1,Monocytes -Combo_TCCCGATAGATCCGAG-1,Monocytes -Combo_TCCCGATAGGCTCAGA-1,Dendritic cells -Combo_TCCCGATGTAAATGAC-1,Monocytes -Combo_TCCCGATGTACGCACC-1,Dendritic cells -Combo_TCCCGATGTAGTAGTA-1,Dendritic cells -Combo_TCCCGATTCAATAAGG-1,Monocytes -Combo_TCCCGATTCACCTCGT-1,Granulocytes -Combo_TCGAGGCAGGCAGGTT-1,Monocytes -Combo_TCGAGGCAGGGCTTGA-1,Monocytes -Combo_TCGAGGCCAACACCCG-1,Monocytes -Combo_TCGAGGCCAAGCGATG-1,Monocytes -Combo_TCGAGGCCAGCATACT-1,Dendritic cells -Combo_TCGAGGCGTACTTAGC-1,Monocytes -Combo_TCGAGGCGTCTCGTTC-1,Monocytes -Combo_TCGAGGCGTGTGGCTC-1,Monocytes -Combo_TCGAGGCGTTCGCGAC-1,Granulocytes -Combo_TCGAGGCGTTTGACTG-1,Monocytes -Combo_TCGCGAGAGCGCCTCA-1,Monocytes -Combo_TCGCGAGAGCTAGTTC-1,Monocytes -Combo_TCGCGAGAGGCCGAAT-1,Monocytes -Combo_TCGCGAGCAATAGCAA-1,Monocytes -Combo_TCGCGAGCAGCTTCGG-1,Monocytes -Combo_TCGCGAGCAGTCTTCC-1,Monocytes -Combo_TCGCGAGGTACCAGTT-1,Monocytes -Combo_TCGCGAGGTCAAACTC-1,Granulocytes -Combo_TCGCGAGGTCTGGAGA-1,Granulocytes -Combo_TCGCGAGGTTGATTGC-1,Monocytes -Combo_TCGCGAGTCCAGAGGA-1,Dendritic cells -Combo_TCGCGAGTCGGCATCG-1,Granulocytes -Combo_TCGCGTTAGCCAACAG-1,Monocytes -Combo_TCGCGTTAGTATCGAA-1,Granulocytes -Combo_TCGCGTTCATTCACTT-1,Monocytes -Combo_TCGCGTTGTCGCTTCT-1,Monocytes -Combo_TCGCGTTGTCTAAAGA-1,Granulocytes -Combo_TCGCGTTGTGCTCTTC-1,Monocytes -Combo_TCGCGTTTCGGTTAAC-1,Monocytes -Combo_TCGCGTTTCTTTCCTC-1,Monocytes -Combo_TCGGGACAGAGGTTGC-1,Monocytes -Combo_TCGGGACAGATCCTGT-1,Granulocytes -Combo_TCGGGACAGCATCATC-1,Dendritic cells -Combo_TCGGGACAGGACGAAA-1,Granulocytes -Combo_TCGGGACAGGGTATCG-1,Granulocytes -Combo_TCGGGACAGTAACCCT-1,Granulocytes -Combo_TCGGGACCAGGGAGAG-1,Dendritic cells -Combo_TCGGGACCAGTAGAGC-1,Monocytes -Combo_TCGGGACGTGACGCCT-1,T cells -Combo_TCGGGACGTGGAAAGA-1,Monocytes -Combo_TCGGGACTCAGCATGT-1,Monocytes -Combo_TCGGTAAAGAAGAAGC-1,Granulocytes -Combo_TCGGTAAAGTGAATTG-1,Dendritic cells -Combo_TCGGTAACAATGGAAT-1,Monocytes -Combo_TCGGTAACATTAACCG-1,Granulocytes -Combo_TCGGTAACATTAGGCT-1,Granulocytes -Combo_TCGGTAACATTGAGCT-1,Monocytes -Combo_TCGGTAAGTAAAGTCA-1,Monocytes -Combo_TCGGTAAGTGTTGAGG-1,Dendritic cells -Combo_TCGTACCAGCACAGGT-1,Granulocytes -Combo_TCGTACCAGCTAGTCT-1,Granulocytes -Combo_TCGTACCAGGGTATCG-1,Granulocytes -Combo_TCGTACCCACGAAATA-1,Monocytes -Combo_TCGTACCCACGAGAGT-1,Monocytes -Combo_TCGTACCCATCTCCCA-1,Dendritic cells -Combo_TCGTACCGTGTAAGTA-1,Monocytes -Combo_TCGTACCGTGTGAATA-1,Monocytes -Combo_TCGTACCTCCAGAAGG-1,Granulocytes -Combo_TCGTACCTCCTTGCCA-1,Monocytes -Combo_TCGTAGAAGGCCATAG-1,Granulocytes -Combo_TCGTAGACACGAAACG-1,Monocytes -Combo_TCGTAGACACTCGACG-1,Monocytes -Combo_TCGTAGACATCAGTCA-1,Monocytes -Combo_TCGTAGACATTTGCTT-1,T cells -Combo_TCGTAGAGTAACGCGA-1,Monocytes -Combo_TCGTAGAGTATCGCAT-1,Dendritic cells -Combo_TCGTAGAGTGCATCTA-1,Dendritic cells -Combo_TCGTAGAGTTGAGGTG-1,Monocytes -Combo_TCGTAGATCACCGTAA-1,Monocytes -Combo_TCGTAGATCTCGATGA-1,Monocytes -Combo_TCGTAGATCTTTAGGG-1,Monocytes -Combo_TCTATTGAGATCACGG-1,Macrophages -Combo_TCTATTGAGCACCGCT-1,Monocytes -Combo_TCTATTGAGCTAGTTC-1,Granulocytes -Combo_TCTATTGGTATCACCA-1,Granulocytes -Combo_TCTATTGGTCTCCCTA-1,Monocytes -Combo_TCTATTGGTTGCGCAC-1,Dendritic cells -Combo_TCTCATAAGAGTGAGA-1,Monocytes -Combo_TCTCATAAGGAGTTGC-1,Monocytes -Combo_TCTCATACAATGGTCT-1,Monocytes -Combo_TCTCATACAGGGCATA-1,Dendritic cells -Combo_TCTCATAGTACAGACG-1,Granulocytes -Combo_TCTCATAGTCCTGCTT-1,Granulocytes -Combo_TCTCATAGTCGCATAT-1,Granulocytes -Combo_TCTCATAGTGCCTTGG-1,Monocytes -Combo_TCTCATAGTGTGTGCC-1,Monocytes -Combo_TCTCATATCACGCGGT-1,Monocytes -Combo_TCTCATATCCGCAGTG-1,Dendritic cells -Combo_TCTCATATCGGAGGTA-1,Dendritic cells -Combo_TCTCTAAAGAAACGAG-1,Dendritic cells -Combo_TCTCTAAAGAGTACCG-1,Granulocytes -Combo_TCTCTAAAGAGTGACC-1,Monocytes -Combo_TCTCTAAAGATCTGAA-1,Monocytes -Combo_TCTCTAACACAGGCCT-1,Granulocytes -Combo_TCTCTAAGTAATAGCA-1,Monocytes -Combo_TCTCTAAGTCTAAAGA-1,Dendritic cells -Combo_TCTCTAATCAGTTTGG-1,Dendritic cells -Combo_TCTCTAATCCTATGTT-1,Granulocytes -Combo_TCTCTAATCGATAGAA-1,Dendritic cells -Combo_TCTGAGAAGCGTGTCC-1,Monocytes -Combo_TCTGAGACACTTAACG-1,Monocytes -Combo_TCTGAGACATTCCTGC-1,Monocytes -Combo_TCTGAGAGTCAAAGAT-1,Monocytes -Combo_TCTGAGAGTCTGCAAT-1,Monocytes -Combo_TCTGAGAGTGACGCCT-1,Dendritic cells -Combo_TCTGAGAGTTGTCTTT-1,Monocytes -Combo_TCTGAGAGTTTAGCTG-1,Dendritic cells -Combo_TCTGGAAAGAGCCTAG-1,Dendritic cells -Combo_TCTGGAAAGAGTACCG-1,Monocytes -Combo_TCTGGAAAGATGCGAC-1,Monocytes -Combo_TCTGGAAAGCGGATCA-1,Monocytes -Combo_TCTGGAAAGTTCGCAT-1,Monocytes -Combo_TCTGGAACAAAGAATC-1,Granulocytes -Combo_TCTGGAACACAACGTT-1,T cells -Combo_TCTGGAAGTAATTGGA-1,Monocytes -Combo_TCTGGAAGTTATCCGA-1,Monocytes -Combo_TCTGGAATCAGCGACC-1,Granulocytes -Combo_TCTTCGGAGAGTAAGG-1,Granulocytes -Combo_TCTTCGGAGCTACCGC-1,Monocytes -Combo_TCTTCGGAGGCTCTTA-1,Granulocytes -Combo_TCTTCGGAGTACGCCC-1,Granulocytes -Combo_TCTTCGGCAAGTTGTC-1,Dendritic cells -Combo_TCTTCGGCACTGAAGG-1,Monocytes -Combo_TCTTCGGGTGCACGAA-1,Monocytes -Combo_TCTTCGGGTGCCTGCA-1,Macrophages -Combo_TCTTCGGGTTGAGTTC-1,Monocytes -Combo_TCTTCGGTCAGCGATT-1,Monocytes -Combo_TCTTCGGTCTATCCTA-1,Macrophages -Combo_TCTTTCCAGAAACCTA-1,Monocytes -Combo_TCTTTCCAGAGAACAG-1,Monocytes -Combo_TCTTTCCCACACTGCG-1,Monocytes -Combo_TCTTTCCCAGATGAGC-1,Granulocytes -Combo_TCTTTCCCATCACAAC-1,Monocytes -Combo_TCTTTCCCATTGTGCA-1,Dendritic cells -Combo_TCTTTCCGTAAGAGGA-1,Dendritic cells -Combo_TCTTTCCGTGAGGGTT-1,Monocytes -Combo_TCTTTCCGTGCTCTTC-1,Monocytes -Combo_TCTTTCCTCGTTGCCT-1,Granulocytes -Combo_TGAAAGAAGAAGCCCA-1,Dendritic cells -Combo_TGAAAGAAGACCCACC-1,Monocytes -Combo_TGAAAGAAGTTCGCGC-1,Monocytes -Combo_TGAAAGACAGCATACT-1,Monocytes -Combo_TGAAAGAGTAAGAGAG-1,Monocytes -Combo_TGAAAGAGTCTAAAGA-1,Monocytes -Combo_TGAAAGATCAACACCA-1,Monocytes -Combo_TGAAAGATCCGTAGTA-1,Granulocytes -Combo_TGAAAGATCCGTTGTC-1,Monocytes -Combo_TGAAAGATCTTTAGGG-1,Monocytes -Combo_TGACAACAGAGTAATC-1,Dendritic cells -Combo_TGACAACAGGAACTGC-1,Monocytes -Combo_TGACAACCACCAACCG-1,Monocytes -Combo_TGACAACGTACATCCA-1,Monocytes -Combo_TGACAACGTAGAGCTG-1,Monocytes -Combo_TGACAACGTCTAGCGC-1,Monocytes -Combo_TGACAACTCCAAAGTC-1,Granulocytes -Combo_TGACAACTCGCCAAAT-1,Monocytes -Combo_TGACAACTCGTCTGAA-1,T cells -Combo_TGACAACTCTAACTTC-1,Monocytes -Combo_TGACGGCAGGATCGCA-1,Monocytes -Combo_TGACGGCAGGGAGTAA-1,Monocytes -Combo_TGACGGCAGTCCGTAT-1,Dendritic cells -Combo_TGACGGCGTACGCTGC-1,Monocytes -Combo_TGACTAGAGAAACCTA-1,Monocytes -Combo_TGACTAGAGAATCTCC-1,Monocytes -Combo_TGACTAGCACGTGAGA-1,Dendritic cells -Combo_TGACTAGGTCGCGAAA-1,Monocytes -Combo_TGACTAGGTCTCCCTA-1,Monocytes -Combo_TGACTAGGTGAAGGCT-1,Dendritic cells -Combo_TGACTAGGTTCCCGAG-1,T cells -Combo_TGACTAGTCAGGCAAG-1,Monocytes -Combo_TGACTAGTCATCGCTC-1,Monocytes -Combo_TGACTAGTCATCTGTT-1,Monocytes -Combo_TGACTAGTCCGCAAGC-1,Granulocytes -Combo_TGACTAGTCGCGGATC-1,Monocytes -Combo_TGACTTTAGTTGTAGA-1,Monocytes -Combo_TGACTTTCAGACACTT-1,Dendritic cells -Combo_TGACTTTCATTTGCCC-1,Monocytes -Combo_TGACTTTGTAGTACCT-1,Dendritic cells -Combo_TGACTTTTCGTCTGCT-1,Granulocytes -Combo_TGAGAGGAGTGGTAAT-1,Dendritic cells -Combo_TGAGAGGCAGCTGTGC-1,T cells -Combo_TGAGAGGCATTACGAC-1,Monocytes -Combo_TGAGAGGGTTGTTTGG-1,Dendritic cells -Combo_TGAGAGGTCCATTCTA-1,Dendritic cells -Combo_TGAGAGGTCGCTAGCG-1,Monocytes -Combo_TGAGAGGTCTCCAGGG-1,Monocytes -Combo_TGAGCATAGCTGAACG-1,Dendritic cells -Combo_TGAGCATAGGACGAAA-1,Monocytes -Combo_TGAGCATCAATCCGAT-1,Dendritic cells -Combo_TGAGCATCAATGGATA-1,Dendritic cells -Combo_TGAGCATCACCAACCG-1,Granulocytes -Combo_TGAGCATCATGTAGTC-1,Dendritic cells -Combo_TGAGCATGTCGCGTGT-1,Monocytes -Combo_TGAGCATGTCTCGTTC-1,Monocytes -Combo_TGAGCATGTTCCATGA-1,Monocytes -Combo_TGAGCCGCACCGAATT-1,Monocytes -Combo_TGAGCCGGTATATGAG-1,Monocytes -Combo_TGAGCCGGTCCCGACA-1,Monocytes -Combo_TGAGCCGTCTGTGCAA-1,Monocytes -Combo_TGAGGGAAGACACTAA-1,Monocytes -Combo_TGAGGGAAGCCTATGT-1,Monocytes -Combo_TGAGGGACAAACGTGG-1,Monocytes -Combo_TGAGGGACAAGGACAC-1,Dendritic cells -Combo_TGAGGGACAGCGTCCA-1,Dendritic cells -Combo_TGAGGGAGTCCAGTAT-1,Monocytes -Combo_TGAGGGAGTGCATCTA-1,Dendritic cells -Combo_TGAGGGAGTTCGCGAC-1,Monocytes -Combo_TGAGGGATCCGGGTGT-1,Dendritic cells -Combo_TGATTTCAGATGTGGC-1,Monocytes -Combo_TGATTTCCAAGGGTCA-1,Monocytes -Combo_TGATTTCGTAGCGCAA-1,Monocytes -Combo_TGATTTCGTGGTCCGT-1,Dendritic cells -Combo_TGATTTCGTTCTCATT-1,Granulocytes -Combo_TGATTTCTCATCGCTC-1,T cells -Combo_TGATTTCTCCTGCCAT-1,Monocytes -Combo_TGATTTCTCTGAGTGT-1,Monocytes -Combo_TGCACCTAGACCTAGG-1,Monocytes -Combo_TGCACCTAGGACACCA-1,Granulocytes -Combo_TGCACCTCAAACAACA-1,Monocytes -Combo_TGCACCTCACGGCTAC-1,Monocytes -Combo_TGCACCTCATCTATGG-1,Granulocytes -Combo_TGCACCTCATTATCTC-1,Granulocytes -Combo_TGCACCTGTGCAGTAG-1,Monocytes -Combo_TGCACCTGTGTAAGTA-1,Monocytes -Combo_TGCACCTGTTAGAACA-1,Granulocytes -Combo_TGCACCTTCTTGTATC-1,Monocytes -Combo_TGCCAAAAGAATCTCC-1,Monocytes -Combo_TGCCAAAAGACAGACC-1,Monocytes -Combo_TGCCAAAAGAGCAATT-1,Monocytes -Combo_TGCCAAAAGCACCGCT-1,Granulocytes -Combo_TGCCAAAAGCGTGAGT-1,Dendritic cells -Combo_TGCCAAAAGGCGACAT-1,Monocytes -Combo_TGCCAAACAGCCTTTC-1,Dendritic cells -Combo_TGCCAAATCAGTCAGT-1,Dendritic cells -Combo_TGCCAAATCATCTGCC-1,Granulocytes -Combo_TGCCCATAGACCCACC-1,Monocytes -Combo_TGCCCATAGACTTTCG-1,Monocytes -Combo_TGCCCATAGAGGACGG-1,Monocytes -Combo_TGCCCATAGCGCCTTG-1,Monocytes -Combo_TGCCCATAGTCCATAC-1,Granulocytes -Combo_TGCCCATCAGAGTGTG-1,Monocytes -Combo_TGCCCATGTGCGCTTG-1,Monocytes -Combo_TGCCCATTCTATCCTA-1,Dendritic cells -Combo_TGCCCTAAGACTTGAA-1,Monocytes -Combo_TGCCCTAAGCCACGCT-1,Granulocytes -Combo_TGCCCTAAGGACATTA-1,Monocytes -Combo_TGCCCTACACGGTAGA-1,Monocytes -Combo_TGCCCTAGTCACTTCC-1,Dendritic cells -Combo_TGCCCTAGTTCCGTCT-1,Monocytes -Combo_TGCCCTATCCGCATAA-1,Dendritic cells -Combo_TGCGCAGAGCACCGCT-1,Monocytes -Combo_TGCGCAGAGTGCAAGC-1,Monocytes -Combo_TGCGCAGCAAAGGTGC-1,Dendritic cells -Combo_TGCGCAGCAAGTACCT-1,Dendritic cells -Combo_TGCGCAGCACACGCTG-1,Monocytes -Combo_TGCGCAGCACATAACC-1,Monocytes -Combo_TGCGCAGGTACAGTGG-1,Monocytes -Combo_TGCGCAGGTTCACGGC-1,Monocytes -Combo_TGCGCAGTCAACCAAC-1,Granulocytes -Combo_TGCGCAGTCCGTACAA-1,Monocytes -Combo_TGCGGGTAGATCCCGC-1,Dendritic cells -Combo_TGCGGGTAGGATGGAA-1,Monocytes -Combo_TGCGGGTAGGTGATTA-1,Monocytes -Combo_TGCGGGTAGTCGCCGT-1,Dendritic cells -Combo_TGCGGGTCAAAGCAAT-1,Monocytes -Combo_TGCGGGTCACCAGTTA-1,Monocytes -Combo_TGCGGGTGTAAGAGAG-1,Dendritic cells -Combo_TGCGGGTGTATCTGCA-1,Monocytes -Combo_TGCGGGTGTCTCGTTC-1,Macrophages -Combo_TGCGGGTGTCTCTCGT-1,Monocytes -Combo_TGCGTGGAGACTAGAT-1,Monocytes -Combo_TGCGTGGAGACTTGAA-1,Monocytes -Combo_TGCGTGGAGATGGCGT-1,Dendritic cells -Combo_TGCGTGGAGTTTAGGA-1,Granulocytes -Combo_TGCGTGGCAAGGTTTC-1,Dendritic cells -Combo_TGCGTGGGTAACGCGA-1,Granulocytes -Combo_TGCGTGGTCACAATGC-1,Dendritic cells -Combo_TGCGTGGTCAGCATGT-1,Dendritic cells -Combo_TGCGTGGTCGGAGCAA-1,Dendritic cells -Combo_TGCTACCAGTAGATGT-1,Monocytes -Combo_TGCTACCCACGGCCAT-1,Dendritic cells -Combo_TGCTACCCAGGATTGG-1,T cells -Combo_TGCTACCGTATCTGCA-1,Monocytes -Combo_TGCTACCGTCCGAGTC-1,Monocytes -Combo_TGCTACCGTGAGCGAT-1,Monocytes -Combo_TGCTACCGTGGAAAGA-1,Granulocytes -Combo_TGCTACCTCCAGAAGG-1,Dendritic cells -Combo_TGCTGCTAGCCACTAT-1,Monocytes -Combo_TGCTGCTAGGGATGGG-1,Dendritic cells -Combo_TGCTGCTAGTGCGTGA-1,Dendritic cells -Combo_TGCTGCTCATACGCTA-1,Monocytes -Combo_TGCTGCTTCCCTTGCA-1,Monocytes -Combo_TGCTGCTTCGGTGTTA-1,Macrophages -Combo_TGGACGCAGCCAGGAT-1,Monocytes -Combo_TGGACGCAGCGATTCT-1,T cells -Combo_TGGACGCAGTGTCTCA-1,Granulocytes -Combo_TGGACGCAGTTTGCGT-1,Dendritic cells -Combo_TGGACGCCACTGTGTA-1,Granulocytes -Combo_TGGACGCGTTGTTTGG-1,Monocytes -Combo_TGGACGCTCCACTCCA-1,Dendritic cells -Combo_TGGACGCTCGTACCGG-1,Dendritic cells -Combo_TGGCCAGAGGACGAAA-1,Monocytes -Combo_TGGCCAGAGTACTTGC-1,Granulocytes -Combo_TGGCCAGCACGGTGTC-1,Dendritic cells -Combo_TGGCCAGCACTCGACG-1,Dendritic cells -Combo_TGGCCAGGTACCTACA-1,Monocytes -Combo_TGGCCAGGTAGCCTAT-1,Monocytes -Combo_TGGCCAGGTCGGGTCT-1,Monocytes -Combo_TGGCCAGGTGCCTTGG-1,NK cells -Combo_TGGCCAGGTTAGAACA-1,Dendritic cells -Combo_TGGCCAGTCGACAGCC-1,Dendritic cells -Combo_TGGCGCAAGGACATTA-1,Dendritic cells -Combo_TGGCGCACACTGTTAG-1,Monocytes -Combo_TGGCGCACATGGATGG-1,Dendritic cells -Combo_TGGCGCACATTAGCCA-1,Monocytes -Combo_TGGCGCACATTATCTC-1,Dendritic cells -Combo_TGGCGCAGTACCGTAT-1,Monocytes -Combo_TGGCGCAGTCAGAAGC-1,Dendritic cells -Combo_TGGCGCAGTCTTGATG-1,Monocytes -Combo_TGGCGCAGTTATTCTC-1,Monocytes -Combo_TGGCGCATCCTAAGTG-1,Monocytes -Combo_TGGCTGGAGCTGCAAG-1,Granulocytes -Combo_TGGCTGGCAAAGGTGC-1,Monocytes -Combo_TGGCTGGGTAGAAGGA-1,Dendritic cells -Combo_TGGCTGGGTCCATGAT-1,Monocytes -Combo_TGGCTGGGTCGGCATC-1,Monocytes -Combo_TGGCTGGGTGCATCTA-1,Monocytes -Combo_TGGCTGGTCATGTCCC-1,Dendritic cells -Combo_TGGGAAGAGAAGCCCA-1,Monocytes -Combo_TGGGAAGAGCTGCAAG-1,Dendritic cells -Combo_TGGGAAGAGTTCGCGC-1,Dendritic cells -Combo_TGGGAAGCAACTGCTA-1,Monocytes -Combo_TGGGAAGCATCAGTCA-1,Monocytes -Combo_TGGGAAGGTAAGGGCT-1,Monocytes -Combo_TGGGAAGGTATATCCG-1,Granulocytes -Combo_TGGGAAGGTCAGAGGT-1,Dendritic cells -Combo_TGGGAAGGTCCCGACA-1,Monocytes -Combo_TGGGAAGGTCTAAAGA-1,Granulocytes -Combo_TGGGAAGGTTCATGGT-1,Monocytes -Combo_TGGGAAGTCAGAAATG-1,Monocytes -Combo_TGGGAAGTCGGTGTCG-1,Monocytes -Combo_TGGGCGTAGAGCCTAG-1,Monocytes -Combo_TGGGCGTAGGCGACAT-1,Monocytes -Combo_TGGGCGTCAACTGCTA-1,Dendritic cells -Combo_TGGGCGTCAATCCAAC-1,Monocytes -Combo_TGGGCGTGTTCATGGT-1,Dendritic cells -Combo_TGGGCGTTCGTACGGC-1,Monocytes -Combo_TGGTTAGAGGCGATAC-1,Monocytes -Combo_TGGTTAGAGGTACTCT-1,Monocytes -Combo_TGGTTAGAGTCTCCTC-1,Granulocytes -Combo_TGGTTAGCAAGCCGTC-1,Macrophages -Combo_TGGTTAGCATGGTAGG-1,T cells -Combo_TGGTTAGCATTAACCG-1,Monocytes -Combo_TGGTTAGGTCGCATAT-1,Monocytes -Combo_TGGTTAGTCAGATAAG-1,Monocytes -Combo_TGGTTAGTCCACGAAT-1,Granulocytes -Combo_TGGTTAGTCGTAGGAG-1,Monocytes -Combo_TGGTTCCAGAATTGTG-1,Granulocytes -Combo_TGGTTCCCACGCGAAA-1,Monocytes -Combo_TGGTTCCCAGACACTT-1,Monocytes -Combo_TGGTTCCCAGTATAAG-1,Dendritic cells -Combo_TGGTTCCGTACCGAGA-1,Monocytes -Combo_TGGTTCCGTCTTGCGG-1,Dendritic cells -Combo_TGGTTCCTCCATGAGT-1,Monocytes -Combo_TGTATTCAGGAACTGC-1,Monocytes -Combo_TGTATTCAGTACGCCC-1,Monocytes -Combo_TGTATTCCAAGCGAGT-1,Dendritic cells -Combo_TGTATTCCAGCTGGCT-1,Monocytes -Combo_TGTATTCGTAGGGTAC-1,Monocytes -Combo_TGTATTCTCAAACAAG-1,Monocytes -Combo_TGTATTCTCGTTTGCC-1,Monocytes -Combo_TGTATTCTCTTGAGAC-1,Dendritic cells -Combo_TGTATTCTCTTTCCTC-1,Dendritic cells -Combo_TGTCCCAAGATTACCC-1,Monocytes -Combo_TGTCCCAAGCTAAACA-1,Granulocytes -Combo_TGTCCCAGTAAATGTG-1,Monocytes -Combo_TGTCCCAGTCAAAGCG-1,Monocytes -Combo_TGTCCCAGTGCAACTT-1,Monocytes -Combo_TGTCCCATCCGTTGCT-1,Monocytes -Combo_TGTCCCATCTACCTGC-1,Macrophages -Combo_TGTGGTAAGAAACGAG-1,Monocytes -Combo_TGTGGTAAGCCTCGTG-1,Dendritic cells -Combo_TGTGGTAAGTGGAGTC-1,Monocytes -Combo_TGTGGTACAGTGGGAT-1,Dendritic cells -Combo_TGTGGTACATCCGTGG-1,Monocytes -Combo_TGTGGTAGTTCGGCAC-1,Monocytes -Combo_TGTGGTATCTTGTACT-1,Monocytes -Combo_TGTGTTTAGCTAACTC-1,Dendritic cells -Combo_TGTGTTTAGGAATGGA-1,Monocytes -Combo_TGTGTTTCAGATGGGT-1,Granulocytes -Combo_TGTGTTTGTCTAAACC-1,Monocytes -Combo_TGTGTTTTCGTAGGAG-1,T cells -Combo_TGTGTTTTCTCGGACG-1,Monocytes -Combo_TGTGTTTTCTGTTGAG-1,Monocytes -Combo_TGTGTTTTCTTCCTTC-1,Monocytes -Combo_TGTTCCGAGCAAATCA-1,Dendritic cells -Combo_TGTTCCGAGGCCATAG-1,Monocytes -Combo_TGTTCCGAGGCCCGTT-1,Granulocytes -Combo_TGTTCCGAGTCCGTAT-1,Granulocytes -Combo_TGTTCCGAGTTGTAGA-1,Monocytes -Combo_TGTTCCGAGTTGTCGT-1,Dendritic cells -Combo_TGTTCCGCAAGCGCTC-1,Dendritic cells -Combo_TGTTCCGCATGACGGA-1,Dendritic cells -Combo_TGTTCCGCATTGGTAC-1,Granulocytes -Combo_TGTTCCGGTCTAGAGG-1,Monocytes -Combo_TGTTCCGGTGCGAAAC-1,Monocytes -Combo_TGTTCCGGTGTAACGG-1,Dendritic cells -Combo_TGTTCCGTCACGACTA-1,Granulocytes -Combo_TGTTCCGTCATGGTCA-1,Dendritic cells -Combo_TTAACTCAGATTACCC-1,Granulocytes -Combo_TTAACTCAGTCCAGGA-1,Monocytes -Combo_TTAACTCCACAAGCCC-1,Monocytes -Combo_TTAACTCGTAGCGTGA-1,Monocytes -Combo_TTAACTCGTTCTCATT-1,Dendritic cells -Combo_TTAACTCTCTTGGGTA-1,Monocytes -Combo_TTAACTCTCTTTCCTC-1,Monocytes -Combo_TTAGGACAGATATGCA-1,Monocytes -Combo_TTAGGACAGTACGTTC-1,Monocytes -Combo_TTAGGACAGTGCGTGA-1,Monocytes -Combo_TTAGGACAGTGGAGAA-1,Granulocytes -Combo_TTAGGACCAAAGGAAG-1,Dendritic cells -Combo_TTAGGACCACAGCCCA-1,Monocytes -Combo_TTAGGACCATTGCGGC-1,Monocytes -Combo_TTAGGACGTAGCGCAA-1,Monocytes -Combo_TTAGGACGTATTCGTG-1,Dendritic cells -Combo_TTAGGACGTGTGACGA-1,Monocytes -Combo_TTAGGCAAGAATTCCC-1,Granulocytes -Combo_TTAGGCAAGCGATAGC-1,Dendritic cells -Combo_TTAGGCAAGGTGTGGT-1,Dendritic cells -Combo_TTAGGCAAGTACTTGC-1,Monocytes -Combo_TTAGGCAAGTGGAGAA-1,Monocytes -Combo_TTAGGCACAATGCCAT-1,Monocytes -Combo_TTAGGCACAGCCAGAA-1,Granulocytes -Combo_TTAGGCAGTAAGGATT-1,Monocytes -Combo_TTAGGCAGTACGCACC-1,Monocytes -Combo_TTAGGCAGTATTAGCC-1,T cells -Combo_TTAGGCAGTTTAGCTG-1,Monocytes -Combo_TTAGGCATCGATGAGG-1,Granulocytes -Combo_TTAGTTCCAAAGGTGC-1,Granulocytes -Combo_TTAGTTCCACAGATTC-1,Granulocytes -Combo_TTAGTTCCAGACGCAA-1,Granulocytes -Combo_TTAGTTCGTAGCAAAT-1,Granulocytes -Combo_TTAGTTCGTCACCTAA-1,Monocytes -Combo_TTATGCTAGTCGTACT-1,Dendritic cells -Combo_TTATGCTCACGAAACG-1,Monocytes -Combo_TTATGCTCACTAAGTC-1,Monocytes -Combo_TTATGCTCAGGATTGG-1,Monocytes -Combo_TTATGCTCATCACAAC-1,Monocytes -Combo_TTATGCTGTAGCGCAA-1,Monocytes -Combo_TTATGCTGTAGGCATG-1,T cells -Combo_TTATGCTGTGAGGGAG-1,Monocytes -Combo_TTATGCTTCCAAACTG-1,Monocytes -Combo_TTATGCTTCCCATTAT-1,Monocytes -Combo_TTATGCTTCCTGTACC-1,Monocytes -Combo_TTATGCTTCTCGCTTG-1,Dendritic cells -Combo_TTCCCAGAGATCTGAA-1,Dendritic cells -Combo_TTCCCAGAGCCCAACC-1,Dendritic cells -Combo_TTCCCAGAGTACGTAA-1,Monocytes -Combo_TTCCCAGAGTGACTCT-1,Monocytes -Combo_TTCCCAGCACAGATTC-1,Monocytes -Combo_TTCCCAGCAGTTTACG-1,Monocytes -Combo_TTCCCAGGTCGCGAAA-1,Monocytes -Combo_TTCCCAGGTGAACCTT-1,Granulocytes -Combo_TTCCCAGGTTCAGCGC-1,Monocytes -Combo_TTCCCAGTCCGATATG-1,Monocytes -Combo_TTCGAAGAGAAACCGC-1,Macrophages -Combo_TTCGAAGAGAAAGTGG-1,Dendritic cells -Combo_TTCGAAGAGCACCGCT-1,Monocytes -Combo_TTCGAAGAGGGTCGAT-1,Monocytes -Combo_TTCGAAGCAACTTGAC-1,Monocytes -Combo_TTCGAAGCAGTATCTG-1,Dendritic cells -Combo_TTCGAAGCATGGATGG-1,Dendritic cells -Combo_TTCGAAGGTGAACCTT-1,Dendritic cells -Combo_TTCGAAGGTGCAACGA-1,Granulocytes -Combo_TTCGAAGTCCCAAGAT-1,Monocytes -Combo_TTCGAAGTCCGTAGGC-1,Monocytes -Combo_TTCGAAGTCTAGAGTC-1,Monocytes -Combo_TTCGAAGTCTCTAAGG-1,T cells -Combo_TTCGGTCAGACGCTTT-1,Monocytes -Combo_TTCGGTCAGCCAACAG-1,Monocytes -Combo_TTCGGTCCAAGGTTTC-1,Dendritic cells -Combo_TTCGGTCCACATTAGC-1,T cells -Combo_TTCGGTCGTATAATGG-1,Granulocytes -Combo_TTCGGTCGTCTAAAGA-1,Monocytes -Combo_TTCGGTCGTCTCCATC-1,Monocytes -Combo_TTCGGTCTCAGCAACT-1,Dendritic cells -Combo_TTCGGTCTCGTTTATC-1,Monocytes -Combo_TTCTACAAGACTAAGT-1,Monocytes -Combo_TTCTACAAGATATGGT-1,Granulocytes -Combo_TTCTACAAGCCACCTG-1,Monocytes -Combo_TTCTACACACGTGAGA-1,Granulocytes -Combo_TTCTACAGTAAACGCG-1,Dendritic cells -Combo_TTCTACAGTAAATGAC-1,Monocytes -Combo_TTCTACAGTAGAAGGA-1,Monocytes -Combo_TTCTACAGTCAGCTAT-1,Dendritic cells -Combo_TTCTACAGTCTCTTTA-1,Granulocytes -Combo_TTCTACAGTTCAGGCC-1,Granulocytes -Combo_TTCTACAGTTCCACGG-1,Monocytes -Combo_TTCTCAAAGTAACCCT-1,Granulocytes -Combo_TTCTCAAAGTCCGTAT-1,Monocytes -Combo_TTCTCAACACGCCAGT-1,Monocytes -Combo_TTCTCAACACGGCTAC-1,Monocytes -Combo_TTCTCAACATTGGTAC-1,Monocytes -Combo_TTCTCAAGTTAGTGGG-1,Monocytes -Combo_TTCTCAATCCTTTACA-1,Monocytes -Combo_TTCTCCTAGAACTCGG-1,Monocytes -Combo_TTCTCCTAGCTGCGAA-1,Monocytes -Combo_TTCTCCTAGGTACTCT-1,Granulocytes -Combo_TTCTCCTAGTGGCACA-1,Monocytes -Combo_TTCTCCTAGTGTACCT-1,Monocytes -Combo_TTCTCCTCAAGCGCTC-1,Dendritic cells -Combo_TTCTCCTCAAGGTTTC-1,Monocytes -Combo_TTCTCCTCATCTGGTA-1,Monocytes -Combo_TTCTCCTGTAGCGATG-1,Monocytes -Combo_TTCTCCTGTATTAGCC-1,Dendritic cells -Combo_TTCTCCTGTCGTGGCT-1,Monocytes -Combo_TTCTCCTTCATCGATG-1,Dendritic cells -Combo_TTCTCCTTCATTATCC-1,Monocytes -Combo_TTCTCCTTCCACGTGG-1,Granulocytes -Combo_TTCTCCTTCGACGGAA-1,Monocytes -Combo_TTCTCCTTCTCCAACC-1,Dendritic cells -Combo_TTCTTAGAGCATCATC-1,Monocytes -Combo_TTCTTAGCAGCTGGCT-1,Granulocytes -Combo_TTCTTAGCATTCTTAC-1,Monocytes -Combo_TTCTTAGGTGTTGAGG-1,Monocytes -Combo_TTCTTAGGTTATCGGT-1,Monocytes -Combo_TTCTTAGGTTCTGTTT-1,Monocytes -Combo_TTCTTAGTCAAGCCTA-1,Monocytes -Combo_TTCTTAGTCGACAGCC-1,Dendritic cells -Combo_TTGAACGAGGACCACA-1,Dendritic cells -Combo_TTGAACGCACAGTCGC-1,Dendritic cells -Combo_TTGAACGGTCAGGACA-1,Granulocytes -Combo_TTGAACGGTCCAGTAT-1,Monocytes -Combo_TTGAACGGTGAACCTT-1,Monocytes -Combo_TTGAACGTCAGCCTAA-1,Monocytes -Combo_TTGAACGTCAGCTCTC-1,Monocytes -Combo_TTGAACGTCGAGAGCA-1,Dendritic cells -Combo_TTGAACGTCTCGCATC-1,Monocytes -Combo_TTGACTTAGCTATGCT-1,Monocytes -Combo_TTGACTTAGTTAAGTG-1,Granulocytes -Combo_TTGACTTGTATCTGCA-1,Monocytes -Combo_TTGACTTGTCCGCTGA-1,Granulocytes -Combo_TTGACTTGTGGCGAAT-1,Monocytes -Combo_TTGACTTGTGTCAATC-1,Monocytes -Combo_TTGACTTGTTCGTTGA-1,Dendritic cells -Combo_TTGACTTTCACCTTAT-1,Granulocytes -Combo_TTGACTTTCTGCTTGC-1,Monocytes -Combo_TTGCCGTAGTATTGGA-1,Granulocytes -Combo_TTGCCGTAGTTAAGTG-1,Dendritic cells -Combo_TTGCCGTCAGACTCGC-1,Monocytes -Combo_TTGCCGTCATCGATGT-1,Monocytes -Combo_TTGCCGTCATCGGAAG-1,Monocytes -Combo_TTGCCGTGTCCAGTGC-1,Monocytes -Combo_TTGCCGTGTCCTCCAT-1,Dendritic cells -Combo_TTGCCGTGTGGACGAT-1,Monocytes -Combo_TTGCCGTTCCAGATCA-1,Dendritic cells -Combo_TTGCCGTTCGCACTCT-1,Monocytes -Combo_TTGCCGTTCTAGAGTC-1,Monocytes -Combo_TTGCGTCAGCTGCGAA-1,Granulocytes -Combo_TTGCGTCCAGAAGCAC-1,Dendritic cells -Combo_TTGCGTCCAGCTGGCT-1,Monocytes -Combo_TTGCGTCCATCATCCC-1,Monocytes -Combo_TTGCGTCGTACTTGAC-1,Monocytes -Combo_TTGCGTCGTTAAGGGC-1,Monocytes -Combo_TTGCGTCTCATAGCAC-1,Monocytes -Combo_TTGGAACAGCGAGAAA-1,Monocytes -Combo_TTGGAACAGGCTCAGA-1,Monocytes -Combo_TTGGAACAGGGCACTA-1,Dendritic cells -Combo_TTGGAACCAAAGGCGT-1,Monocytes -Combo_TTGGAACCACATGACT-1,Monocytes -Combo_TTGGAACCATACAGCT-1,Monocytes -Combo_TTGGAACGTAAGGGCT-1,Dendritic cells -Combo_TTGGAACGTGACCAAG-1,Monocytes -Combo_TTGGAACGTTATGTGC-1,Monocytes -Combo_TTGGAACTCACCTCGT-1,Monocytes -Combo_TTGGAACTCGCGTTTC-1,Monocytes -Combo_TTGGAACTCTTGTTTG-1,Monocytes -Combo_TTGGCAAAGATCCCAT-1,Monocytes -Combo_TTGGCAAAGTGTCCAT-1,Granulocytes -Combo_TTGGCAACAAGAAAGG-1,Monocytes -Combo_TTGGCAACAAGCTGAG-1,Monocytes -Combo_TTGGCAATCTGACCTC-1,Dendritic cells -Combo_TTGTAGGAGCGTTCCG-1,Monocytes -Combo_TTGTAGGAGTCATGCT-1,Granulocytes -Combo_TTGTAGGCACGGATAG-1,Monocytes -Combo_TTGTAGGCAGCCTGTG-1,Granulocytes -Combo_TTGTAGGGTAACGCGA-1,Monocytes -Combo_TTGTAGGGTAGCACGA-1,Monocytes -Combo_TTGTAGGGTCCCTACT-1,Granulocytes -Combo_TTGTAGGGTGATGTCT-1,Monocytes -Combo_TTGTAGGTCACAGTAC-1,Monocytes -Combo_TTGTAGGTCAGAGGTG-1,Monocytes -Combo_TTTACTGAGCAGGTCA-1,Monocytes -Combo_TTTACTGAGGCCCTCA-1,Dendritic cells -Combo_TTTACTGAGTGAACGC-1,Monocytes -Combo_TTTACTGAGTGGCACA-1,Dendritic cells -Combo_TTTACTGCATCGACGC-1,Dendritic cells -Combo_TTTATGCAGCGTGAGT-1,T cells -Combo_TTTATGCAGGCCGAAT-1,Monocytes -Combo_TTTATGCAGTGGTAGC-1,Granulocytes -Combo_TTTATGCGTAGGGTAC-1,Monocytes -Combo_TTTATGCGTATAAACG-1,Dendritic cells -Combo_TTTATGCTCTTTAGGG-1,Monocytes -Combo_TTTCCTCAGCGTAATA-1,Monocytes -Combo_TTTCCTCAGGGCACTA-1,Dendritic cells -Combo_TTTCCTCAGGTGGGTT-1,T cells -Combo_TTTCCTCCAAGCTGTT-1,Dendritic cells -Combo_TTTCCTCCAATAGAGT-1,Monocytes -Combo_TTTCCTCGTAAGTAGT-1,Monocytes -Combo_TTTCCTCGTTTGGGCC-1,Monocytes -Combo_TTTCCTCTCGAGGTAG-1,Granulocytes -Combo_TTTGCGCAGATCCCAT-1,Dendritic cells -Combo_TTTGCGCCAGCGTTCG-1,Monocytes -Combo_TTTGCGCCAGTATAAG-1,Monocytes -Combo_TTTGCGCGTCGAAAGC-1,Monocytes -Combo_TTTGCGCTCAGTTCGA-1,Monocytes -Combo_TTTGCGCTCGTGGACC-1,Dendritic cells -Combo_TTTGCGCTCTTAGAGC-1,Monocytes -Combo_TTTGGTTAGATATGCA-1,Dendritic cells -Combo_TTTGGTTAGTAGGTGC-1,Monocytes -Combo_TTTGGTTAGTCGAGTG-1,Granulocytes -Combo_TTTGGTTAGTCGATAA-1,Dendritic cells -Combo_TTTGGTTCACCTCGTT-1,Monocytes -Combo_TTTGGTTCATTGGCGC-1,Granulocytes -Combo_TTTGGTTGTAGCAAAT-1,Monocytes -Combo_TTTGGTTGTGTTAAGA-1,Monocytes -Combo_TTTGGTTTCGGCGCAT-1,Monocytes -Combo_TTTGTCAAGAGTTGGC-1,Monocytes -Combo_TTTGTCAGTCAGAGGT-1,Monocytes -Combo_TTTGTCAGTGAACCTT-1,Monocytes -Combo_TTTGTCATCAACTCTT-1,Monocytes -Combo_TTTGTCATCATCGATG-1,Dendritic cells -Combo_TTTGTCATCTCAACTT-1,Monocytes -Combo_TTTGTCATCTTGAGAC-1,Monocytes -CD8dep_AAACCTGAGACAGAGA-1,Monocytes -CD8dep_AAACCTGCACAACGTT-1,Monocytes -CD8dep_AAACCTGCACGTTGGC-1,Dendritic cells -CD8dep_AAACCTGTCACCAGGC-1,Monocytes -CD8dep_AAACCTGTCACTGGGC-1,Monocytes -CD8dep_AAACCTGTCAGGTTCA-1,Monocytes -CD8dep_AAACGGGCACGTTGGC-1,Monocytes -CD8dep_AAACGGGCAGCTATTG-1,Dendritic cells -CD8dep_AAACGGGCATTGGTAC-1,Dendritic cells -CD8dep_AAACGGGGTAGGACAC-1,T cells -CD8dep_AAACGGGGTCCCTTGT-1,Monocytes -CD8dep_AAACGGGTCTCGCATC-1,Monocytes -CD8dep_AAACGGGTCTGGCGTG-1,Monocytes -CD8dep_AAAGATGAGGATGTAT-1,Monocytes -CD8dep_AAAGATGCACAAGCCC-1,Monocytes -CD8dep_AAAGATGCAGCATGAG-1,Dendritic cells -CD8dep_AAAGATGGTACCGAGA-1,Monocytes -CD8dep_AAAGATGGTAGTAGTA-1,Monocytes -CD8dep_AAAGATGGTCCAACTA-1,Monocytes -CD8dep_AAAGATGGTCGTGGCT-1,Monocytes -CD8dep_AAAGATGTCGTACCGG-1,Monocytes -CD8dep_AAAGATGTCTCTGAGA-1,Monocytes -CD8dep_AAAGCAAAGCGCTCCA-1,Monocytes -CD8dep_AAAGCAAAGCTGCCCA-1,Monocytes -CD8dep_AAAGCAAAGTGTCTCA-1,Dendritic cells -CD8dep_AAAGCAACAGTTAACC-1,Macrophages -CD8dep_AAAGCAACATATGAGA-1,Monocytes -CD8dep_AAAGCAAGTACCAGTT-1,Monocytes -CD8dep_AAAGCAAGTCTCCACT-1,Macrophages -CD8dep_AAAGCAATCACAATGC-1,Monocytes -CD8dep_AAAGCAATCCTTCAAT-1,Monocytes -CD8dep_AAAGCAATCTTGCATT-1,Monocytes -CD8dep_AAAGTAGAGACTAAGT-1,Monocytes -CD8dep_AAAGTAGAGACTTGAA-1,Monocytes -CD8dep_AAAGTAGAGAGCAATT-1,Monocytes -CD8dep_AAAGTAGCAAAGGTGC-1,Monocytes -CD8dep_AAAGTAGCAAATCCGT-1,Dendritic cells -CD8dep_AAAGTAGCACTCGACG-1,Monocytes -CD8dep_AAAGTAGCAGGTCCAC-1,Monocytes -CD8dep_AAAGTAGCAGTAGAGC-1,T cells -CD8dep_AAAGTAGCATAGGATA-1,Monocytes -CD8dep_AAAGTAGCATCACGAT-1,Monocytes -CD8dep_AAAGTAGGTATTCGTG-1,T cells -CD8dep_AAAGTAGGTTCATGGT-1,Macrophages -CD8dep_AAATGCCAGAAACCTA-1,Monocytes -CD8dep_AAATGCCAGATCGATA-1,Monocytes -CD8dep_AAATGCCAGCAATCTC-1,Monocytes -CD8dep_AAATGCCAGTATCGAA-1,Monocytes -CD8dep_AAATGCCCAATGAATG-1,Monocytes -CD8dep_AAATGCCCACCACGTG-1,Dendritic cells -CD8dep_AAATGCCGTTGATTGC-1,Macrophages -CD8dep_AAATGCCTCAGAGGTG-1,Monocytes -CD8dep_AAATGCCTCCAAAGTC-1,Monocytes -CD8dep_AAATGCCTCCGTTGCT-1,Monocytes -CD8dep_AAATGCCTCTATGTGG-1,Monocytes -CD8dep_AACACGTAGAAGGACA-1,Monocytes -CD8dep_AACACGTAGAGGGATA-1,Granulocytes -CD8dep_AACACGTAGAGTCGGT-1,Monocytes -CD8dep_AACACGTCAGTTCATG-1,Monocytes -CD8dep_AACACGTCATGAAGTA-1,Macrophages -CD8dep_AACACGTGTCTCTCTG-1,Monocytes -CD8dep_AACACGTGTGGTGTAG-1,Monocytes -CD8dep_AACACGTTCTACCAGA-1,Monocytes -CD8dep_AACCATGAGACATAAC-1,Macrophages -CD8dep_AACCATGAGTCATGCT-1,Dendritic cells -CD8dep_AACCATGCACCGAATT-1,Macrophages -CD8dep_AACCATGCACTTGGAT-1,Monocytes -CD8dep_AACCATGGTTTACTCT-1,Dendritic cells -CD8dep_AACCATGTCACGACTA-1,Monocytes -CD8dep_AACCATGTCTGCTTGC-1,Monocytes -CD8dep_AACCATGTCTGGTGTA-1,Granulocytes -CD8dep_AACCGCGAGGAGTTTA-1,Monocytes -CD8dep_AACCGCGGTAATCGTC-1,Monocytes -CD8dep_AACCGCGGTATTACCG-1,Monocytes -CD8dep_AACCGCGGTCGCTTCT-1,Monocytes -CD8dep_AACCGCGTCAATCTCT-1,Monocytes -CD8dep_AACCGCGTCCAGTAGT-1,Macrophages -CD8dep_AACCGCGTCTGTGCAA-1,Monocytes -CD8dep_AACGTTGAGACACTAA-1,Monocytes -CD8dep_AACGTTGAGCGATTCT-1,Monocytes -CD8dep_AACGTTGAGTACATGA-1,Monocytes -CD8dep_AACGTTGCAAATACAG-1,Monocytes -CD8dep_AACGTTGCACACGCTG-1,Monocytes -CD8dep_AACGTTGCATTACGAC-1,Monocytes -CD8dep_AACGTTGCATTATCTC-1,Monocytes -CD8dep_AACGTTGGTAAGTGTA-1,Monocytes -CD8dep_AACGTTGGTCCAGTAT-1,Monocytes -CD8dep_AACGTTGGTCTTGATG-1,Monocytes -CD8dep_AACGTTGGTGTGAATA-1,Monocytes -CD8dep_AACGTTGTCAAGGCTT-1,Monocytes -CD8dep_AACTCAGAGAGAGCTC-1,Monocytes -CD8dep_AACTCAGAGATGGCGT-1,Monocytes -CD8dep_AACTCAGAGCCACGCT-1,Monocytes -CD8dep_AACTCAGAGCGTTTAC-1,Monocytes -CD8dep_AACTCAGCATCGACGC-1,Monocytes -CD8dep_AACTCAGTCAGCATGT-1,Monocytes -CD8dep_AACTCAGTCTCACATT-1,Monocytes -CD8dep_AACTCCCAGAGCCCAA-1,Monocytes -CD8dep_AACTCCCCACAGCGTC-1,Monocytes -CD8dep_AACTCCCCATACAGCT-1,Monocytes -CD8dep_AACTCCCGTCATGCCG-1,Monocytes -CD8dep_AACTCCCGTCCTGCTT-1,Dendritic cells -CD8dep_AACTCCCGTGTCCTCT-1,Monocytes -CD8dep_AACTCCCGTTACCGAT-1,Monocytes -CD8dep_AACTCCCTCCGCAAGC-1,Monocytes -CD8dep_AACTCTTAGACAGAGA-1,Macrophages -CD8dep_AACTCTTAGTCAAGCG-1,Dendritic cells -CD8dep_AACTCTTAGTCAATAG-1,Monocytes -CD8dep_AACTCTTTCAACACCA-1,Monocytes -CD8dep_AACTCTTTCAGTGCAT-1,Dendritic cells -CD8dep_AACTCTTTCCTGCTTG-1,Monocytes -CD8dep_AACTCTTTCGCGTAGC-1,Monocytes -CD8dep_AACTGGTAGCTAACAA-1,Monocytes -CD8dep_AACTGGTAGGATTCGG-1,Monocytes -CD8dep_AACTGGTCAAACAACA-1,Dendritic cells -CD8dep_AACTGGTCATGGTAGG-1,Monocytes -CD8dep_AACTGGTGTAAATGAC-1,Monocytes -CD8dep_AACTGGTGTAGGCATG-1,Monocytes -CD8dep_AACTGGTGTCTCTCGT-1,Monocytes -CD8dep_AACTGGTGTGATAAGT-1,Dendritic cells -CD8dep_AACTGGTGTTACCAGT-1,Dendritic cells -CD8dep_AACTGGTTCCTGTACC-1,Monocytes -CD8dep_AACTGGTTCGATAGAA-1,Monocytes -CD8dep_AACTGGTTCTATCCTA-1,Monocytes -CD8dep_AACTTTCAGACACTAA-1,Granulocytes -CD8dep_AACTTTCAGCAGATCG-1,Monocytes -CD8dep_AACTTTCAGCTAGCCC-1,Monocytes -CD8dep_AACTTTCAGGTGCTTT-1,Monocytes -CD8dep_AACTTTCCAATCGAAA-1,Monocytes -CD8dep_AACTTTCCAGATGGGT-1,Monocytes -CD8dep_AACTTTCGTCTAGCGC-1,Monocytes -CD8dep_AACTTTCGTGACGCCT-1,Monocytes -CD8dep_AACTTTCGTTTGGGCC-1,Monocytes -CD8dep_AACTTTCTCGAACGGA-1,Dendritic cells -CD8dep_AAGACCTAGAAGCCCA-1,Monocytes -CD8dep_AAGACCTAGGCTCATT-1,Monocytes -CD8dep_AAGACCTGTCGTGGCT-1,Monocytes -CD8dep_AAGACCTGTGCGCTTG-1,Macrophages -CD8dep_AAGACCTGTGTCAATC-1,Granulocytes -CD8dep_AAGACCTGTTCGTCTC-1,Monocytes -CD8dep_AAGACCTTCAGATAAG-1,Monocytes -CD8dep_AAGCCGCCAGGTGCCT-1,Monocytes -CD8dep_AAGCCGCGTTAAGAAC-1,Monocytes -CD8dep_AAGCCGCTCGAATGGG-1,Granulocytes -CD8dep_AAGCCGCTCGTCACGG-1,Monocytes -CD8dep_AAGGAGCAGCCCGAAA-1,Monocytes -CD8dep_AAGGAGCCATGACATC-1,Monocytes -CD8dep_AAGGAGCGTAGGCTGA-1,Dendritic cells -CD8dep_AAGGAGCGTGACAAAT-1,Monocytes -CD8dep_AAGGAGCGTGAGGCTA-1,Monocytes -CD8dep_AAGGAGCTCAGCACAT-1,Monocytes -CD8dep_AAGGCAGAGTACGCGA-1,Monocytes -CD8dep_AAGGCAGAGTACGTAA-1,Monocytes -CD8dep_AAGGCAGCACAGGTTT-1,Granulocytes -CD8dep_AAGGCAGCACCCATGG-1,Monocytes -CD8dep_AAGGCAGGTAGGCTGA-1,Dendritic cells -CD8dep_AAGGCAGGTCACAAGG-1,Monocytes -CD8dep_AAGGCAGGTCTCTCTG-1,Monocytes -CD8dep_AAGGCAGTCACATACG-1,Monocytes -CD8dep_AAGGCAGTCCCAAGAT-1,Monocytes -CD8dep_AAGGCAGTCCGAAGAG-1,Monocytes -CD8dep_AAGGCAGTCCTAGAAC-1,Monocytes -CD8dep_AAGGTTCCAACTTGAC-1,Monocytes -CD8dep_AAGGTTCCACAGGCCT-1,Monocytes -CD8dep_AAGGTTCCATATACGC-1,Monocytes -CD8dep_AAGGTTCGTACACCGC-1,Monocytes -CD8dep_AAGGTTCGTGTATGGG-1,Monocytes -CD8dep_AAGGTTCTCAACGCTA-1,Macrophages -CD8dep_AAGGTTCTCAGTTTGG-1,Monocytes -CD8dep_AAGGTTCTCGTACCGG-1,Monocytes -CD8dep_AAGTCTGAGACTAGAT-1,Monocytes -CD8dep_AAGTCTGAGAGAACAG-1,Monocytes -CD8dep_AAGTCTGAGTCCAGGA-1,Macrophages -CD8dep_AAGTCTGAGTCTTGCA-1,Monocytes -CD8dep_AAGTCTGCAATAGAGT-1,Monocytes -CD8dep_AAGTCTGCAGTATCTG-1,Monocytes -CD8dep_AAGTCTGCATTCACTT-1,Macrophages -CD8dep_AAGTCTGGTATAATGG-1,Macrophages -CD8dep_AAGTCTGGTATTCGTG-1,Monocytes -CD8dep_AAGTCTGGTCCGTGAC-1,Monocytes -CD8dep_AAGTCTGTCTGAGGGA-1,Macrophages -CD8dep_AATCCAGAGAACTGTA-1,Monocytes -CD8dep_AATCCAGAGATGAGAG-1,Granulocytes -CD8dep_AATCCAGAGGCAAAGA-1,Granulocytes -CD8dep_AATCCAGGTCTGGAGA-1,Dendritic cells -CD8dep_AATCCAGGTGGGTCAA-1,Monocytes -CD8dep_AATCCAGGTTCCACAA-1,Monocytes -CD8dep_AATCCAGTCCCAGGTG-1,Monocytes -CD8dep_AATCGGTAGAACTCGG-1,Monocytes -CD8dep_AATCGGTAGACGCACA-1,Monocytes -CD8dep_AATCGGTAGAGTGACC-1,Monocytes -CD8dep_AATCGGTAGGCCCTCA-1,Monocytes -CD8dep_AATCGGTAGGTTCCTA-1,Dendritic cells -CD8dep_AATCGGTGTAAGTGGC-1,Monocytes -CD8dep_AATCGGTGTGCATCTA-1,Dendritic cells -CD8dep_AATCGGTGTGCGGTAA-1,Monocytes -CD8dep_AATCGGTTCAACCAAC-1,Monocytes -CD8dep_AATCGGTTCGCTGATA-1,Monocytes -CD8dep_AATCGGTTCTCGAGTA-1,Monocytes -CD8dep_ACACCAAAGAAGGTGA-1,Monocytes -CD8dep_ACACCAAAGCACACAG-1,Monocytes -CD8dep_ACACCAAAGCGTGTCC-1,Monocytes -CD8dep_ACACCAAAGTTTAGGA-1,Monocytes -CD8dep_ACACCAATCAACGAAA-1,Monocytes -CD8dep_ACACCAATCAGGCAAG-1,Granulocytes -CD8dep_ACACCAATCAGTTGAC-1,Monocytes -CD8dep_ACACCAATCCTTCAAT-1,Monocytes -CD8dep_ACACCAATCTCTGAGA-1,Monocytes -CD8dep_ACACCCTAGACTAAGT-1,Monocytes -CD8dep_ACACCCTAGCCAGTAG-1,Monocytes -CD8dep_ACACCCTAGGACAGAA-1,Monocytes -CD8dep_ACACCCTAGGTGCAAC-1,Monocytes -CD8dep_ACACCCTCATGACATC-1,Monocytes -CD8dep_ACACCCTGTAATCGTC-1,Macrophages -CD8dep_ACACCCTGTCTACCTC-1,Monocytes -CD8dep_ACACCCTGTTGAGGTG-1,Monocytes -CD8dep_ACACCCTTCTAACCGA-1,Monocytes -CD8dep_ACACCGGAGCTACCGC-1,Monocytes -CD8dep_ACACCGGAGGTAGCTG-1,Monocytes -CD8dep_ACACCGGGTCTCATCC-1,Monocytes -CD8dep_ACACCGGGTGCCTTGG-1,Monocytes -CD8dep_ACACCGGGTGGTGTAG-1,Monocytes -CD8dep_ACACCGGTCAGCGACC-1,Monocytes -CD8dep_ACACCGGTCGCGATCG-1,Macrophages -CD8dep_ACACCGGTCGCGGATC-1,Monocytes -CD8dep_ACACTGAAGAGCCCAA-1,Monocytes -CD8dep_ACACTGAAGCTAGCCC-1,Monocytes -CD8dep_ACACTGAAGTCTCAAC-1,Monocytes -CD8dep_ACACTGAAGTGTTGAA-1,Monocytes -CD8dep_ACACTGACAGGAATGC-1,Monocytes -CD8dep_ACACTGAGTACAGCAG-1,Monocytes -CD8dep_ACACTGAGTAGCGTGA-1,Monocytes -CD8dep_ACACTGATCGCCAGCA-1,Monocytes -CD8dep_ACACTGATCGGATGTT-1,Monocytes -CD8dep_ACAGCCGAGGAGCGTT-1,Monocytes -CD8dep_ACAGCCGAGTTCGATC-1,Monocytes -CD8dep_ACAGCCGCAACACCTA-1,Monocytes -CD8dep_ACAGCCGGTAGCGCTC-1,Macrophages -CD8dep_ACAGCCGGTCCGCTGA-1,Dendritic cells -CD8dep_ACAGCCGGTGGTTTCA-1,Dendritic cells -CD8dep_ACAGCCGGTTTGCATG-1,Macrophages -CD8dep_ACAGCCGTCGCCCTTA-1,Monocytes -CD8dep_ACAGCCGTCTTGACGA-1,Monocytes -CD8dep_ACAGCTACACCAGCAC-1,Granulocytes -CD8dep_ACAGCTACAGCATGAG-1,Dendritic cells -CD8dep_ACAGCTACAGTAAGAT-1,Monocytes -CD8dep_ACAGCTAGTAGGACAC-1,Monocytes -CD8dep_ACAGCTAGTCCGAACC-1,Monocytes -CD8dep_ACAGCTATCCAGATCA-1,Monocytes -CD8dep_ACAGCTATCGCATGGC-1,Monocytes -CD8dep_ACAGCTATCGGCGCAT-1,Monocytes -CD8dep_ACAGCTATCTCTTGAT-1,Monocytes -CD8dep_ACATACGAGAAAGTGG-1,Granulocytes -CD8dep_ACATACGAGCTCTCGG-1,Monocytes -CD8dep_ACATACGAGTGGCACA-1,Monocytes -CD8dep_ACATACGCACCCATGG-1,Monocytes -CD8dep_ACATACGCATCCAACA-1,Monocytes -CD8dep_ACATACGGTACTTGAC-1,Monocytes -CD8dep_ACATACGGTCCGAGTC-1,Granulocytes -CD8dep_ACATACGTCCAGAGGA-1,Monocytes -CD8dep_ACATACGTCCGCAAGC-1,Macrophages -CD8dep_ACATCAGAGCTCAACT-1,Macrophages -CD8dep_ACATCAGAGGAACTGC-1,Monocytes -CD8dep_ACATCAGAGTATCTCG-1,Monocytes -CD8dep_ACATCAGGTATAGGTA-1,Monocytes -CD8dep_ACATCAGGTTATCGGT-1,Monocytes -CD8dep_ACATCAGGTTCTGTTT-1,Monocytes -CD8dep_ACATCAGGTTGCGCAC-1,Dendritic cells -CD8dep_ACATCAGTCAACGAAA-1,Monocytes -CD8dep_ACATCAGTCCGTCAAA-1,Monocytes -CD8dep_ACATGGTAGCGCCTTG-1,Monocytes -CD8dep_ACATGGTAGTACGTTC-1,Monocytes -CD8dep_ACATGGTAGTGTTAGA-1,Monocytes -CD8dep_ACATGGTCACAGTCGC-1,Granulocytes -CD8dep_ACATGGTCATCGACGC-1,Monocytes -CD8dep_ACATGGTCATGGGACA-1,Monocytes -CD8dep_ACATGGTGTACCCAAT-1,Monocytes -CD8dep_ACATGGTGTACCGCTG-1,Monocytes -CD8dep_ACATGGTGTGAGTATA-1,Monocytes -CD8dep_ACATGGTTCACTTACT-1,Monocytes -CD8dep_ACCAGTAAGATGCGAC-1,Dendritic cells -CD8dep_ACCAGTAAGGCATTGG-1,Monocytes -CD8dep_ACCAGTAAGTGGTAAT-1,Macrophages -CD8dep_ACCAGTACAAGGTGTG-1,Granulocytes -CD8dep_ACCAGTAGTACCAGTT-1,Monocytes -CD8dep_ACCAGTAGTCGGCACT-1,Monocytes -CD8dep_ACCAGTAGTTTGGGCC-1,Monocytes -CD8dep_ACCAGTATCAGTTGAC-1,Monocytes -CD8dep_ACCCACTAGATGGGTC-1,Monocytes -CD8dep_ACCCACTAGCCAACAG-1,Monocytes -CD8dep_ACCCACTCATTAGCCA-1,Monocytes -CD8dep_ACCCACTGTGCGCTTG-1,Monocytes -CD8dep_ACCCACTGTGTTCGAT-1,Monocytes -CD8dep_ACCGTAAAGACCTTTG-1,Monocytes -CD8dep_ACCGTAAAGATACACA-1,Monocytes -CD8dep_ACCGTAAAGGTGTTAA-1,Macrophages -CD8dep_ACCGTAAAGTCGATAA-1,Monocytes -CD8dep_ACCGTAACAATCGAAA-1,Monocytes -CD8dep_ACCGTAACAGACGTAG-1,Dendritic cells -CD8dep_ACCGTAACAGGATCGA-1,Monocytes -CD8dep_ACCGTAAGTAGCTAAA-1,Monocytes -CD8dep_ACCGTAAGTCACCTAA-1,Monocytes -CD8dep_ACCGTAAGTCCGACGT-1,Monocytes -CD8dep_ACCGTAAGTTACGTCA-1,Monocytes -CD8dep_ACCGTAATCAGTTTGG-1,Monocytes -CD8dep_ACCGTAATCCACTCCA-1,Monocytes -CD8dep_ACCGTAATCTGACCTC-1,Monocytes -CD8dep_ACCGTAATCTTGCATT-1,Monocytes -CD8dep_ACCTTTAAGCCCGAAA-1,Monocytes -CD8dep_ACCTTTAAGCGTGAAC-1,Monocytes -CD8dep_ACCTTTACAACGATCT-1,Dendritic cells -CD8dep_ACCTTTACACAAGTAA-1,Macrophages -CD8dep_ACCTTTACACATCCAA-1,Monocytes -CD8dep_ACCTTTACACCAGATT-1,Monocytes -CD8dep_ACCTTTAGTAACGTTC-1,Monocytes -CD8dep_ACCTTTAGTACGCACC-1,Monocytes -CD8dep_ACCTTTAGTAGCTCCG-1,Dendritic cells -CD8dep_ACCTTTAGTATAGGTA-1,Dendritic cells -CD8dep_ACCTTTAGTCTTCGTC-1,Monocytes -CD8dep_ACCTTTAGTCTTGATG-1,Granulocytes -CD8dep_ACGAGCCAGAGAACAG-1,Monocytes -CD8dep_ACGAGCCAGGCAAAGA-1,Granulocytes -CD8dep_ACGAGCCAGGGTGTTG-1,Dendritic cells -CD8dep_ACGAGCCGTAGAAGGA-1,Monocytes -CD8dep_ACGAGCCGTATAAACG-1,Monocytes -CD8dep_ACGAGGAAGTGAACAT-1,Monocytes -CD8dep_ACGAGGAAGTGGGATC-1,Monocytes -CD8dep_ACGAGGAAGTTACCCA-1,Monocytes -CD8dep_ACGAGGACAAGGTTTC-1,Monocytes -CD8dep_ACGAGGACAGATGAGC-1,Monocytes -CD8dep_ACGAGGACAGCCAATT-1,Dendritic cells -CD8dep_ACGAGGAGTATTCTCT-1,Monocytes -CD8dep_ACGAGGAGTGTGAAAT-1,Monocytes -CD8dep_ACGAGGAGTTGACGTT-1,Monocytes -CD8dep_ACGAGGAGTTTAGGAA-1,Monocytes -CD8dep_ACGATACAGCAGCGTA-1,Dendritic cells -CD8dep_ACGATACAGCGTGAGT-1,Monocytes -CD8dep_ACGATACAGGAGCGAG-1,Dendritic cells -CD8dep_ACGATACCAAAGGCGT-1,Monocytes -CD8dep_ACGATACCACGAGGTA-1,Monocytes -CD8dep_ACGATACCAGCGTAAG-1,Macrophages -CD8dep_ACGATACGTAGTAGTA-1,Monocytes -CD8dep_ACGATACGTGACCAAG-1,Monocytes -CD8dep_ACGATACGTGCAGACA-1,Monocytes -CD8dep_ACGATACTCACGAAGG-1,Monocytes -CD8dep_ACGATACTCCAGATCA-1,Monocytes -CD8dep_ACGATACTCCTATGTT-1,Monocytes -CD8dep_ACGATACTCGAATGCT-1,Monocytes -CD8dep_ACGATACTCGCGATCG-1,Monocytes -CD8dep_ACGATACTCGGCTACG-1,Macrophages -CD8dep_ACGATGTAGAAGGTTT-1,Monocytes -CD8dep_ACGATGTAGAGACGAA-1,Monocytes -CD8dep_ACGATGTAGTGTTTGC-1,Monocytes -CD8dep_ACGATGTGTAAAGTCA-1,Monocytes -CD8dep_ACGATGTGTGGAAAGA-1,Monocytes -CD8dep_ACGATGTTCAGAGCTT-1,Dendritic cells -CD8dep_ACGCAGCAGACGCACA-1,Monocytes -CD8dep_ACGCAGCAGCCAACAG-1,Monocytes -CD8dep_ACGCAGCAGCTAAACA-1,Monocytes -CD8dep_ACGCAGCAGTCTTGCA-1,Monocytes -CD8dep_ACGCAGCCAAGTTGTC-1,Dendritic cells -CD8dep_ACGCAGCCAGCTCGCA-1,Monocytes -CD8dep_ACGCAGCGTCTAGCCG-1,Dendritic cells -CD8dep_ACGCAGCGTTATTCTC-1,Monocytes -CD8dep_ACGCAGCGTTTGTTGG-1,Macrophages -CD8dep_ACGCAGCTCACCACCT-1,Monocytes -CD8dep_ACGCAGCTCAGCCTAA-1,Macrophages -CD8dep_ACGCAGCTCCCAACGG-1,Monocytes -CD8dep_ACGCAGCTCGAGCCCA-1,Monocytes -CD8dep_ACGCCAGAGTAAGTAC-1,Monocytes -CD8dep_ACGCCAGAGTGCCATT-1,Monocytes -CD8dep_ACGCCAGCACACGCTG-1,Monocytes -CD8dep_ACGCCAGCACCACGTG-1,Macrophages -CD8dep_ACGCCAGTCTATCCTA-1,Monocytes -CD8dep_ACGCCAGTCTCTGTCG-1,Monocytes -CD8dep_ACGCCGAAGTCGTACT-1,Monocytes -CD8dep_ACGCCGAAGTGTTGAA-1,Monocytes -CD8dep_ACGCCGACAACACGCC-1,Monocytes -CD8dep_ACGCCGACAAGAGTCG-1,Monocytes -CD8dep_ACGCCGACACCAGGTC-1,Macrophages -CD8dep_ACGCCGAGTATCGCAT-1,Monocytes -CD8dep_ACGCCGAGTCGTCTTC-1,Macrophages -CD8dep_ACGCCGATCAAGAAGT-1,Dendritic cells -CD8dep_ACGCCGATCCGCATAA-1,Dendritic cells -CD8dep_ACGCCGATCCTATGTT-1,Monocytes -CD8dep_ACGCCGATCTCTTATG-1,Monocytes -CD8dep_ACGCCGATCTGTCTCG-1,Monocytes -CD8dep_ACGGAGACAATCCGAT-1,Monocytes -CD8dep_ACGGAGACACCAACCG-1,Monocytes -CD8dep_ACGGAGACATCGATGT-1,Monocytes -CD8dep_ACGGAGACATCTCCCA-1,Monocytes -CD8dep_ACGGAGACATTCCTGC-1,Monocytes -CD8dep_ACGGAGAGTATATCCG-1,Monocytes -CD8dep_ACGGAGATCTAACTCT-1,Monocytes -CD8dep_ACGGCCACAACGATCT-1,Monocytes -CD8dep_ACGGCCACAGGATCGA-1,Monocytes -CD8dep_ACGGCCACATGTTCCC-1,Granulocytes -CD8dep_ACGGCCAGTAGAAAGG-1,Monocytes -CD8dep_ACGGCCAGTCATATGC-1,Macrophages -CD8dep_ACGGCCAGTCCTAGCG-1,Monocytes -CD8dep_ACGGCCAGTCTAGGTT-1,Monocytes -CD8dep_ACGGCCAGTGACGGTA-1,Monocytes -CD8dep_ACGGCCAGTGTCAATC-1,Monocytes -CD8dep_ACGGCCAGTGTGTGCC-1,Monocytes -CD8dep_ACGGCCATCAGTTGAC-1,Dendritic cells -CD8dep_ACGGCCATCCGGCACA-1,Monocytes -CD8dep_ACGGCCATCGAACGGA-1,Monocytes -CD8dep_ACGGGCTAGAAACCGC-1,Monocytes -CD8dep_ACGGGCTCATATACCG-1,Monocytes -CD8dep_ACGGGCTCATGCTAGT-1,Monocytes -CD8dep_ACGGGCTCATGGTCAT-1,Monocytes -CD8dep_ACGGGCTGTTATTCTC-1,Monocytes -CD8dep_ACGGGTCAGTTACGGG-1,Monocytes -CD8dep_ACGGGTCCAATAGCAA-1,Monocytes -CD8dep_ACGGGTCCATGTAGTC-1,Monocytes -CD8dep_ACGGGTCCATTGTGCA-1,Monocytes -CD8dep_ACGGGTCGTCTAGTCA-1,Monocytes -CD8dep_ACGGGTCGTGAGGGTT-1,Monocytes -CD8dep_ACGGGTCGTGTTGAGG-1,Monocytes -CD8dep_ACGGGTCGTTTGGCGC-1,Monocytes -CD8dep_ACGGGTCTCCCTCAGT-1,Monocytes -CD8dep_ACGGGTCTCGTTACGA-1,Monocytes -CD8dep_ACGTCAAAGACGACGT-1,Monocytes -CD8dep_ACGTCAACAAGTTGTC-1,Monocytes -CD8dep_ACGTCAACAGCGTTCG-1,Monocytes -CD8dep_ACGTCAACAGGACCCT-1,Dendritic cells -CD8dep_ACGTCAACATCTACGA-1,Monocytes -CD8dep_ACGTCAACATTTCAGG-1,Monocytes -CD8dep_ACGTCAAGTAGCTTGT-1,Monocytes -CD8dep_ACGTCAAGTATGCTTG-1,Macrophages -CD8dep_ACGTCAAGTGCACGAA-1,Granulocytes -CD8dep_ACGTCAAGTGGTTTCA-1,Dendritic cells -CD8dep_ACGTCAAGTTGACGTT-1,Monocytes -CD8dep_ACGTCAATCAGAAATG-1,Monocytes -CD8dep_ACGTCAATCATCGGAT-1,Monocytes -CD8dep_ACGTCAATCTAACCGA-1,Dendritic cells -CD8dep_ACTATCTCACTTACGA-1,Monocytes -CD8dep_ACTATCTCATGCAATC-1,Macrophages -CD8dep_ACTATCTCATGGGAAC-1,Monocytes -CD8dep_ACTATCTGTTACGCGC-1,Monocytes -CD8dep_ACTGAACAGGCAAAGA-1,Granulocytes -CD8dep_ACTGAACAGGCCCTTG-1,Granulocytes -CD8dep_ACTGAACCAGCTGCAC-1,Monocytes -CD8dep_ACTGAACGTAAGAGAG-1,Dendritic cells -CD8dep_ACTGAACGTACATGTC-1,Monocytes -CD8dep_ACTGAACGTCTTCGTC-1,Macrophages -CD8dep_ACTGAACTCAACACTG-1,Monocytes -CD8dep_ACTGAACTCGTTACAG-1,Macrophages -CD8dep_ACTGAGTAGAGTCGGT-1,Monocytes -CD8dep_ACTGAGTAGATCGGGT-1,Monocytes -CD8dep_ACTGAGTAGCGTTTAC-1,Monocytes -CD8dep_ACTGAGTCAACGATGG-1,Monocytes -CD8dep_ACTGAGTCAGATTGCT-1,Monocytes -CD8dep_ACTGAGTGTACGACCC-1,Monocytes -CD8dep_ACTGAGTGTCGGCTCA-1,Monocytes -CD8dep_ACTGAGTGTCTAGGTT-1,Monocytes -CD8dep_ACTGATGAGAGACGAA-1,Monocytes -CD8dep_ACTGATGAGAGGTTGC-1,Monocytes -CD8dep_ACTGATGAGATGCCTT-1,Monocytes -CD8dep_ACTGATGAGCAGGTCA-1,Monocytes -CD8dep_ACTGATGCATTGGCGC-1,Monocytes -CD8dep_ACTGATGGTTAGGGTG-1,Monocytes -CD8dep_ACTGATGGTTATCACG-1,Dendritic cells -CD8dep_ACTGATGTCAACACTG-1,Monocytes -CD8dep_ACTGATGTCAGTTAGC-1,Monocytes -CD8dep_ACTGATGTCGCTTAGA-1,Macrophages -CD8dep_ACTGATGTCTAGAGTC-1,Macrophages -CD8dep_ACTGCTCAGTTCGCGC-1,Monocytes -CD8dep_ACTGCTCCACCCATTC-1,Monocytes -CD8dep_ACTGCTCCAGGCTGAA-1,Monocytes -CD8dep_ACTGCTCGTGGCTCCA-1,Monocytes -CD8dep_ACTGCTCGTGGTCTCG-1,Dendritic cells -CD8dep_ACTGCTCGTTACCAGT-1,Monocytes -CD8dep_ACTGCTCTCTCCCTGA-1,Monocytes -CD8dep_ACTGTCCAGAACTCGG-1,Monocytes -CD8dep_ACTGTCCAGGCTCAGA-1,Monocytes -CD8dep_ACTGTCCGTACTTCTT-1,Monocytes -CD8dep_ACTGTCCGTCGCGGTT-1,Monocytes -CD8dep_ACTGTCCGTTACTGAC-1,Monocytes -CD8dep_ACTGTCCGTTCCAACA-1,Monocytes -CD8dep_ACTTACTAGTGCCATT-1,Monocytes -CD8dep_ACTTACTAGTGGCACA-1,Monocytes -CD8dep_ACTTACTCAGGGAGAG-1,Monocytes -CD8dep_ACTTACTCATGATCCA-1,Monocytes -CD8dep_ACTTACTCATGCGCAC-1,Monocytes -CD8dep_ACTTACTCATGGATGG-1,Granulocytes -CD8dep_ACTTACTCATTAGGCT-1,Monocytes -CD8dep_ACTTACTGTATTCGTG-1,Monocytes -CD8dep_ACTTACTGTCGCTTTC-1,Monocytes -CD8dep_ACTTACTTCTGTCTAT-1,Monocytes -CD8dep_ACTTGTTAGCTCCCAG-1,Monocytes -CD8dep_ACTTGTTAGGAGTCTG-1,Monocytes -CD8dep_ACTTGTTAGTGATCGG-1,Monocytes -CD8dep_ACTTGTTCACAAGCCC-1,Monocytes -CD8dep_ACTTGTTGTAGAGTGC-1,Monocytes -CD8dep_ACTTGTTGTCGACTAT-1,Monocytes -CD8dep_ACTTGTTGTCTGATCA-1,Monocytes -CD8dep_ACTTGTTGTGATGTCT-1,Monocytes -CD8dep_ACTTGTTGTGGTTTCA-1,Dendritic cells -CD8dep_ACTTGTTGTGTGTGCC-1,Dendritic cells -CD8dep_ACTTGTTTCGTCCGTT-1,Monocytes -CD8dep_ACTTTCAAGATCACGG-1,Macrophages -CD8dep_ACTTTCAAGGGATACC-1,Monocytes -CD8dep_ACTTTCAAGGTAGCTG-1,Monocytes -CD8dep_ACTTTCACAGTATAAG-1,Monocytes -CD8dep_ACTTTCAGTACAGCAG-1,Monocytes -CD8dep_ACTTTCAGTAGCACGA-1,Monocytes -CD8dep_ACTTTCATCAAGGTAA-1,Monocytes -CD8dep_ACTTTCATCACTGGGC-1,Dendritic cells -CD8dep_ACTTTCATCCACGCAG-1,Macrophages -CD8dep_ACTTTCATCCTAGAAC-1,Monocytes -CD8dep_ACTTTCATCCTGCCAT-1,Monocytes -CD8dep_ACTTTCATCGTCACGG-1,Dendritic cells -CD8dep_AGAATAGAGAGCTGGT-1,Granulocytes -CD8dep_AGAATAGAGCATCATC-1,Monocytes -CD8dep_AGAATAGCAGGTCGTC-1,Monocytes -CD8dep_AGAATAGGTTCACCTC-1,Macrophages -CD8dep_AGAATAGGTTTGTGTG-1,Macrophages -CD8dep_AGAATAGTCCACGTGG-1,Monocytes -CD8dep_AGACGTTAGCTGAACG-1,Monocytes -CD8dep_AGACGTTAGTAACCCT-1,Monocytes -CD8dep_AGACGTTGTCCGCTGA-1,Monocytes -CD8dep_AGACGTTGTGATGTGG-1,Granulocytes -CD8dep_AGACGTTGTGCACTTA-1,Macrophages -CD8dep_AGACGTTGTGTAACGG-1,Monocytes -CD8dep_AGACGTTTCGACGGAA-1,Monocytes -CD8dep_AGACGTTTCTGGAGCC-1,Macrophages -CD8dep_AGAGCGAAGATACACA-1,Monocytes -CD8dep_AGAGCGAAGATCCCAT-1,Monocytes -CD8dep_AGAGCGACAAGGTGTG-1,Macrophages -CD8dep_AGAGCGAGTACATGTC-1,Monocytes -CD8dep_AGAGCGAGTACGACCC-1,Monocytes -CD8dep_AGAGCGAGTAGCACGA-1,Monocytes -CD8dep_AGAGCGAGTCATACTG-1,Dendritic cells -CD8dep_AGAGCGAGTCGGGTCT-1,Dendritic cells -CD8dep_AGAGCGAGTCGTTGTA-1,Monocytes -CD8dep_AGAGCGAGTGAGGGAG-1,Dendritic cells -CD8dep_AGAGCGATCACAGGCC-1,Macrophages -CD8dep_AGAGCGATCTGCTTGC-1,Monocytes -CD8dep_AGAGCTTCACGGACAA-1,Monocytes -CD8dep_AGAGCTTGTAAACGCG-1,Monocytes -CD8dep_AGAGCTTGTAGAGGAA-1,Monocytes -CD8dep_AGAGCTTGTCCGTCAG-1,Monocytes -CD8dep_AGAGCTTGTGGTACAG-1,Monocytes -CD8dep_AGAGCTTTCAGCGATT-1,Monocytes -CD8dep_AGAGCTTTCCGCATAA-1,Monocytes -CD8dep_AGAGCTTTCGCCCTTA-1,Monocytes -CD8dep_AGAGTGGAGAAGGTTT-1,Monocytes -CD8dep_AGAGTGGAGCTACCTA-1,Monocytes -CD8dep_AGAGTGGGTAACGACG-1,Monocytes -CD8dep_AGAGTGGGTACCGGCT-1,Monocytes -CD8dep_AGAGTGGGTATATCCG-1,Dendritic cells -CD8dep_AGAGTGGGTATCGCAT-1,Monocytes -CD8dep_AGAGTGGGTCCATGAT-1,Dendritic cells -CD8dep_AGAGTGGTCACGACTA-1,Macrophages -CD8dep_AGAGTGGTCCGATATG-1,Dendritic cells -CD8dep_AGATCTGAGACAAGCC-1,Monocytes -CD8dep_AGATCTGAGTAATCCC-1,Monocytes -CD8dep_AGATCTGAGTTGTCGT-1,Monocytes -CD8dep_AGATCTGCAGCCTATA-1,Monocytes -CD8dep_AGATCTGGTAACGTTC-1,Monocytes -CD8dep_AGATCTGGTCATTAGC-1,Monocytes -CD8dep_AGATCTGGTTCGGGCT-1,Monocytes -CD8dep_AGATCTGTCCGTAGTA-1,Monocytes -CD8dep_AGATCTGTCGGAATCT-1,Monocytes -CD8dep_AGATTGCAGACTAGGC-1,Monocytes -CD8dep_AGATTGCCAACTTGAC-1,Macrophages -CD8dep_AGATTGCCAAGTAATG-1,Dendritic cells -CD8dep_AGATTGCCACTACAGT-1,Monocytes -CD8dep_AGATTGCGTAAATACG-1,Granulocytes -CD8dep_AGATTGCGTGACTACT-1,Macrophages -CD8dep_AGATTGCGTGGCGAAT-1,Granulocytes -CD8dep_AGATTGCGTGTGACCC-1,Monocytes -CD8dep_AGCAGCCAGCTAGTGG-1,Monocytes -CD8dep_AGCAGCCAGGACTGGT-1,Monocytes -CD8dep_AGCAGCCGTGGTGTAG-1,Monocytes -CD8dep_AGCAGCCGTTATCGGT-1,Monocytes -CD8dep_AGCAGCCGTTCGAATC-1,Monocytes -CD8dep_AGCAGCCTCTCTTATG-1,Monocytes -CD8dep_AGCAGCCTCTTGTCAT-1,Monocytes -CD8dep_AGCATACAGAGAGCTC-1,Monocytes -CD8dep_AGCATACAGCACACAG-1,Monocytes -CD8dep_AGCATACCACGTAAGG-1,Monocytes -CD8dep_AGCATACCAGTCAGCC-1,Dendritic cells -CD8dep_AGCATACGTACTTCTT-1,Monocytes -CD8dep_AGCATACGTCGGGTCT-1,Monocytes -CD8dep_AGCATACGTGGTCCGT-1,Monocytes -CD8dep_AGCATACTCAAGATCC-1,Monocytes -CD8dep_AGCATACTCACATGCA-1,Monocytes -CD8dep_AGCATACTCGGTCTAA-1,Monocytes -CD8dep_AGCCTAAAGGACTGGT-1,Monocytes -CD8dep_AGCCTAAAGTTCGCGC-1,Dendritic cells -CD8dep_AGCCTAAGTAAATGAC-1,Monocytes -CD8dep_AGCCTAAGTCTTTCAT-1,Monocytes -CD8dep_AGCCTAATCCGTTGCT-1,Monocytes -CD8dep_AGCCTAATCGCTGATA-1,Monocytes -CD8dep_AGCCTAATCTCACATT-1,Granulocytes -CD8dep_AGCGGTCAGCCATCGC-1,Monocytes -CD8dep_AGCGGTCAGCCGCCTA-1,Monocytes -CD8dep_AGCGGTCAGGCGATAC-1,Monocytes -CD8dep_AGCGGTCAGGTGATTA-1,Monocytes -CD8dep_AGCGGTCCAAGTTGTC-1,Monocytes -CD8dep_AGCGGTCCAGCTTCGG-1,Monocytes -CD8dep_AGCGGTCCAGTAACGG-1,Monocytes -CD8dep_AGCGGTCCATCGGAAG-1,Monocytes -CD8dep_AGCGGTCCATGGGAAC-1,Monocytes -CD8dep_AGCGGTCGTACCGCTG-1,Monocytes -CD8dep_AGCGGTCGTCCAGTAT-1,Dendritic cells -CD8dep_AGCGGTCTCGGCCGAT-1,Monocytes -CD8dep_AGCGTATAGACTAAGT-1,Monocytes -CD8dep_AGCGTATAGATGTTAG-1,Monocytes -CD8dep_AGCGTATAGGATGGTC-1,Macrophages -CD8dep_AGCGTATAGTCCGGTC-1,Monocytes -CD8dep_AGCGTATAGTGTCTCA-1,Monocytes -CD8dep_AGCGTATGTAAATGAC-1,Dendritic cells -CD8dep_AGCGTATGTCATTAGC-1,Monocytes -CD8dep_AGCGTATGTGGCTCCA-1,Monocytes -CD8dep_AGCGTATGTTCGAATC-1,Monocytes -CD8dep_AGCGTATTCAACGAAA-1,Monocytes -CD8dep_AGCGTATTCACGATGT-1,Dendritic cells -CD8dep_AGCGTATTCATAAAGG-1,Granulocytes -CD8dep_AGCGTATTCATACGGT-1,Granulocytes -CD8dep_AGCGTATTCCCAAGAT-1,Monocytes -CD8dep_AGCGTATTCGTCTGCT-1,Monocytes -CD8dep_AGCGTATTCTTGAGGT-1,Monocytes -CD8dep_AGCGTCGAGCCAGAAC-1,Monocytes -CD8dep_AGCGTCGCAGTGGGAT-1,Monocytes -CD8dep_AGCGTCGGTCATCCCT-1,Monocytes -CD8dep_AGCGTCGTCCACGCAG-1,Monocytes -CD8dep_AGCTCCTAGATCCCGC-1,Macrophages -CD8dep_AGCTCCTGTGAGCGAT-1,Monocytes -CD8dep_AGCTCCTGTGATGTGG-1,Granulocytes -CD8dep_AGCTCCTTCCAAAGTC-1,Granulocytes -CD8dep_AGCTCCTTCTGCCCTA-1,Macrophages -CD8dep_AGCTCTCAGACTTGAA-1,Granulocytes -CD8dep_AGCTCTCAGAGACTAT-1,Dendritic cells -CD8dep_AGCTCTCCAATAACGA-1,Macrophages -CD8dep_AGCTCTCCAGCCAATT-1,Monocytes -CD8dep_AGCTCTCCATTTCAGG-1,Monocytes -CD8dep_AGCTCTCGTCATGCAT-1,Monocytes -CD8dep_AGCTCTCGTCTCAACA-1,Monocytes -CD8dep_AGCTCTCTCATCACCC-1,Dendritic cells -CD8dep_AGCTCTCTCCTAGGGC-1,Monocytes -CD8dep_AGCTCTCTCGGAAATA-1,Monocytes -CD8dep_AGCTCTCTCTCTGAGA-1,Monocytes -CD8dep_AGCTCTCTCTTGCAAG-1,Monocytes -CD8dep_AGCTTGAAGCTCTCGG-1,Macrophages -CD8dep_AGCTTGAAGGCAAAGA-1,Monocytes -CD8dep_AGCTTGACAAAGAATC-1,Monocytes -CD8dep_AGCTTGACAGACACTT-1,Dendritic cells -CD8dep_AGCTTGAGTCGTCTTC-1,Monocytes -CD8dep_AGCTTGATCTGTCCGT-1,Monocytes -CD8dep_AGGCCACAGCGTTTAC-1,Monocytes -CD8dep_AGGCCACCAACGATGG-1,Monocytes -CD8dep_AGGCCACCACGAGAGT-1,Monocytes -CD8dep_AGGCCACCAGTATAAG-1,Monocytes -CD8dep_AGGCCACGTATCGCAT-1,Monocytes -CD8dep_AGGCCACGTCTGATCA-1,Monocytes -CD8dep_AGGCCACGTGTAACGG-1,Monocytes -CD8dep_AGGCCACTCCCAAGAT-1,Monocytes -CD8dep_AGGCCACTCTGCCAGG-1,Monocytes -CD8dep_AGGCCACTCTGGCGAC-1,Monocytes -CD8dep_AGGCCGTAGAAACGAG-1,Monocytes -CD8dep_AGGCCGTAGGCAGGTT-1,Monocytes -CD8dep_AGGCCGTAGGCTCATT-1,Monocytes -CD8dep_AGGCCGTCATAACCTG-1,Monocytes -CD8dep_AGGCCGTGTACATGTC-1,Dendritic cells -CD8dep_AGGCCGTGTACCGTTA-1,Monocytes -CD8dep_AGGCCGTGTATAGTAG-1,Monocytes -CD8dep_AGGCCGTGTCCAAGTT-1,Monocytes -CD8dep_AGGCCGTGTCTCCCTA-1,Monocytes -CD8dep_AGGCCGTGTCTGCGGT-1,Monocytes -CD8dep_AGGGAGTAGAGCCCAA-1,Monocytes -CD8dep_AGGGAGTAGGCGACAT-1,Monocytes -CD8dep_AGGGAGTAGTGTCCAT-1,Monocytes -CD8dep_AGGGAGTCAACTGGCC-1,Monocytes -CD8dep_AGGGAGTGTGTCCTCT-1,Monocytes -CD8dep_AGGGAGTTCAAGGTAA-1,Monocytes -CD8dep_AGGGAGTTCATCGATG-1,Monocytes -CD8dep_AGGGAGTTCCCATTAT-1,Monocytes -CD8dep_AGGGAGTTCTATGTGG-1,Monocytes -CD8dep_AGGGATGAGCTGATAA-1,Dendritic cells -CD8dep_AGGGATGCACAAGCCC-1,Dendritic cells -CD8dep_AGGGATGCAGACGCCT-1,Macrophages -CD8dep_AGGGATGGTCTAGTGT-1,Monocytes -CD8dep_AGGGATGTCCATGAAC-1,Monocytes -CD8dep_AGGGATGTCCGTACAA-1,Monocytes -CD8dep_AGGGATGTCCGTCAAA-1,Monocytes -CD8dep_AGGGATGTCGGAGCAA-1,Monocytes -CD8dep_AGGGTGAAGCAGATCG-1,Monocytes -CD8dep_AGGGTGAAGCCACCTG-1,T cells -CD8dep_AGGGTGAAGCTAAACA-1,Monocytes -CD8dep_AGGGTGACAAGGTTTC-1,Monocytes -CD8dep_AGGGTGACAGGACCCT-1,Monocytes -CD8dep_AGGGTGACAGGGAGAG-1,Dendritic cells -CD8dep_AGGGTGAGTCAGAGGT-1,Monocytes -CD8dep_AGGGTGAGTTAAGTAG-1,Monocytes -CD8dep_AGGGTGATCACCCTCA-1,Monocytes -CD8dep_AGGTCATAGCTAACAA-1,Monocytes -CD8dep_AGGTCATAGCTAGCCC-1,Monocytes -CD8dep_AGGTCATAGGCTCTTA-1,Monocytes -CD8dep_AGGTCATCAAACGTGG-1,Macrophages -CD8dep_AGGTCATCAAGTCTGT-1,Macrophages -CD8dep_AGGTCATCACCACCAG-1,Macrophages -CD8dep_AGGTCATCATGCTAGT-1,Dendritic cells -CD8dep_AGGTCATGTAACGCGA-1,Monocytes -CD8dep_AGGTCATGTACCGTTA-1,Monocytes -CD8dep_AGGTCATGTAGTACCT-1,Monocytes -CD8dep_AGGTCATGTCCTAGCG-1,Monocytes -CD8dep_AGGTCATGTCGGGTCT-1,Granulocytes -CD8dep_AGGTCATGTTTGTTGG-1,Dendritic cells -CD8dep_AGGTCATTCACGCATA-1,Monocytes -CD8dep_AGGTCATTCCTCAATT-1,Monocytes -CD8dep_AGGTCATTCGCTAGCG-1,Monocytes -CD8dep_AGGTCATTCGGCTTGG-1,Dendritic cells -CD8dep_AGGTCATTCTCAACTT-1,Monocytes -CD8dep_AGGTCATTCTGCGACG-1,Monocytes -CD8dep_AGGTCCGAGAAGGGTA-1,Monocytes -CD8dep_AGGTCCGAGCGGATCA-1,Monocytes -CD8dep_AGGTCCGAGTACCGGA-1,Monocytes -CD8dep_AGGTCCGAGTGTTAGA-1,Monocytes -CD8dep_AGGTCCGCACCTTGTC-1,Monocytes -CD8dep_AGGTCCGCAGCCAATT-1,Macrophages -CD8dep_AGGTCCGGTAAAGGAG-1,Monocytes -CD8dep_AGGTCCGGTAGCGCTC-1,Monocytes -CD8dep_AGGTCCGGTCAAGCGA-1,Dendritic cells -CD8dep_AGGTCCGGTGTATGGG-1,Monocytes -CD8dep_AGGTCCGGTTACGGAG-1,Monocytes -CD8dep_AGGTCCGTCAGCCTAA-1,Monocytes -CD8dep_AGGTCCGTCTGCGGCA-1,Monocytes -CD8dep_AGTAGTCAGAGACGAA-1,Monocytes -CD8dep_AGTAGTCAGCCGGTAA-1,Monocytes -CD8dep_AGTAGTCAGTGAAGTT-1,Monocytes -CD8dep_AGTAGTCCAGGTGCCT-1,Monocytes -CD8dep_AGTAGTCCATGCAATC-1,Monocytes -CD8dep_AGTAGTCGTAGCTAAA-1,Monocytes -CD8dep_AGTAGTCGTCAGGACA-1,Monocytes -CD8dep_AGTCTTTAGGGAGTAA-1,Monocytes -CD8dep_AGTCTTTAGGGTCGAT-1,Monocytes -CD8dep_AGTCTTTCAAGCGTAG-1,Monocytes -CD8dep_AGTCTTTCATACGCCG-1,Monocytes -CD8dep_AGTCTTTGTCAAAGAT-1,Monocytes -CD8dep_AGTCTTTGTCAAGCGA-1,Monocytes -CD8dep_AGTCTTTGTCCAGTGC-1,Dendritic cells -CD8dep_AGTCTTTGTCTGATCA-1,Monocytes -CD8dep_AGTCTTTGTCTTGTCC-1,Monocytes -CD8dep_AGTCTTTGTGGTAACG-1,Monocytes -CD8dep_AGTCTTTGTTCGTTGA-1,Monocytes -CD8dep_AGTCTTTTCGCCAAAT-1,Monocytes -CD8dep_AGTGAGGAGCTTCGCG-1,Monocytes -CD8dep_AGTGAGGAGTGGTAAT-1,Monocytes -CD8dep_AGTGAGGCAAAGGCGT-1,Monocytes -CD8dep_AGTGAGGCAATAACGA-1,Granulocytes -CD8dep_AGTGAGGGTAGAAGGA-1,Monocytes -CD8dep_AGTGAGGTCATGCTCC-1,Monocytes -CD8dep_AGTGAGGTCCTATGTT-1,Macrophages -CD8dep_AGTGAGGTCTATCCTA-1,Monocytes -CD8dep_AGTGGGAAGATGGCGT-1,Monocytes -CD8dep_AGTGGGAAGCACCGCT-1,Monocytes -CD8dep_AGTGGGAAGTTATCGC-1,Dendritic cells -CD8dep_AGTGGGACACTATCTT-1,Monocytes -CD8dep_AGTGGGACAGGAATGC-1,Monocytes -CD8dep_AGTGGGACAGGCAGTA-1,Monocytes -CD8dep_AGTGGGACAGTAAGCG-1,Monocytes -CD8dep_AGTGGGAGTCTAGTGT-1,Monocytes -CD8dep_AGTGGGAGTTGGGACA-1,Monocytes -CD8dep_AGTGTCAAGCGATCCC-1,Dendritic cells -CD8dep_AGTGTCAAGTCTCAAC-1,Monocytes -CD8dep_AGTGTCACAGCCAATT-1,Granulocytes -CD8dep_AGTGTCACATGTTGAC-1,Monocytes -CD8dep_AGTGTCAGTGTTCTTT-1,Monocytes -CD8dep_AGTGTCATCCTGTAGA-1,Dendritic cells -CD8dep_AGTGTCATCGCACTCT-1,Dendritic cells -CD8dep_AGTTGGTAGAAGATTC-1,Dendritic cells -CD8dep_AGTTGGTAGGGTGTGT-1,Dendritic cells -CD8dep_AGTTGGTGTCCATGAT-1,Macrophages -CD8dep_AGTTGGTGTGAAATCA-1,Monocytes -CD8dep_AGTTGGTGTGGTCTCG-1,Monocytes -CD8dep_AGTTGGTTCAGTTGAC-1,Dendritic cells -CD8dep_AGTTGGTTCCCAGGTG-1,Monocytes -CD8dep_AGTTGGTTCGGAAACG-1,Dendritic cells -CD8dep_AGTTGGTTCTAGCACA-1,Monocytes -CD8dep_AGTTGGTTCTGCGTAA-1,Monocytes -CD8dep_ATAACGCGTCAGAATA-1,Monocytes -CD8dep_ATAACGCTCACCTTAT-1,Monocytes -CD8dep_ATAACGCTCATGCAAC-1,Monocytes -CD8dep_ATAACGCTCTCCAGGG-1,Monocytes -CD8dep_ATAAGAGAGATGAGAG-1,Monocytes -CD8dep_ATAAGAGAGCGGCTTC-1,Monocytes -CD8dep_ATAAGAGCAAGTACCT-1,Monocytes -CD8dep_ATAAGAGCACTCGACG-1,Monocytes -CD8dep_ATAAGAGCATGGGACA-1,Monocytes -CD8dep_ATAAGAGGTACGCTGC-1,Monocytes -CD8dep_ATAAGAGGTTTGGCGC-1,Monocytes -CD8dep_ATAAGAGTCCAGGGCT-1,Monocytes -CD8dep_ATAAGAGTCGCCAAAT-1,Monocytes -CD8dep_ATAAGAGTCTCGGACG-1,Monocytes -CD8dep_ATAGACCAGAATGTTG-1,Monocytes -CD8dep_ATAGACCAGATAGTCA-1,Monocytes -CD8dep_ATAGACCAGGACTGGT-1,Monocytes -CD8dep_ATAGACCAGGATGTAT-1,Macrophages -CD8dep_ATAGACCAGGCTCATT-1,Monocytes -CD8dep_ATAGACCCAAGTACCT-1,Monocytes -CD8dep_ATAGACCGTCTCTTTA-1,Monocytes -CD8dep_ATAGACCGTTTAGCTG-1,Monocytes -CD8dep_ATAGACCTCACTTCAT-1,Monocytes -CD8dep_ATAGACCTCCAGATCA-1,Monocytes -CD8dep_ATAGACCTCCCATTTA-1,Monocytes -CD8dep_ATAGACCTCGTGGACC-1,Monocytes -CD8dep_ATAGACCTCTGGTTCC-1,Monocytes -CD8dep_ATAGACCTCTTGCATT-1,Monocytes -CD8dep_ATCACGAAGACCCACC-1,Granulocytes -CD8dep_ATCACGACAATCGAAA-1,Monocytes -CD8dep_ATCACGACAGCCAGAA-1,Monocytes -CD8dep_ATCACGACATGTAAGA-1,Granulocytes -CD8dep_ATCACGATCAACACAC-1,Monocytes -CD8dep_ATCACGATCCATGAGT-1,Monocytes -CD8dep_ATCACGATCGGACAAG-1,Monocytes -CD8dep_ATCACGATCTATCGCC-1,Monocytes -CD8dep_ATCACGATCTCGCTTG-1,Monocytes -CD8dep_ATCACGATCTGTCAAG-1,Monocytes -CD8dep_ATCATCTCATGTCGAT-1,Monocytes -CD8dep_ATCATGGAGTTGAGAT-1,Monocytes -CD8dep_ATCATGGCAAGCCGTC-1,Monocytes -CD8dep_ATCATGGCATGTAAGA-1,Monocytes -CD8dep_ATCATGGGTCAAAGAT-1,Monocytes -CD8dep_ATCATGGGTTGGTAAA-1,Monocytes -CD8dep_ATCATGGTCACAGTAC-1,Monocytes -CD8dep_ATCATGGTCTTGCAAG-1,Monocytes -CD8dep_ATCCACCAGACTAAGT-1,Monocytes -CD8dep_ATCCACCAGTACGCCC-1,Monocytes -CD8dep_ATCCACCAGTTGCAGG-1,Monocytes -CD8dep_ATCCACCCACATCCGG-1,Monocytes -CD8dep_ATCCACCGTCTTGATG-1,Monocytes -CD8dep_ATCCGAAAGAAGCCCA-1,Monocytes -CD8dep_ATCCGAAAGAATTGTG-1,Macrophages -CD8dep_ATCCGAAAGATGTGGC-1,Fibroblasts -CD8dep_ATCCGAAAGTTGAGTA-1,Monocytes -CD8dep_ATCCGAACAACGATGG-1,Monocytes -CD8dep_ATCCGAACAGGGATTG-1,Monocytes -CD8dep_ATCCGAAGTAAAGTCA-1,Monocytes -CD8dep_ATCCGAAGTTTCCACC-1,Dendritic cells -CD8dep_ATCCGAATCGGCCGAT-1,Monocytes -CD8dep_ATCCGAATCTTAGAGC-1,Monocytes -CD8dep_ATCCGAATCTTGACGA-1,Monocytes -CD8dep_ATCGAGTAGAAGGCCT-1,Monocytes -CD8dep_ATCGAGTAGTCTCCTC-1,Monocytes -CD8dep_ATCGAGTAGTGCAAGC-1,Monocytes -CD8dep_ATCGAGTCAGGCAGTA-1,Monocytes -CD8dep_ATCGAGTGTACAGTGG-1,Dendritic cells -CD8dep_ATCGAGTTCAATCTCT-1,Monocytes -CD8dep_ATCGAGTTCGTTGCCT-1,Monocytes -CD8dep_ATCTACTAGAGATGAG-1,Monocytes -CD8dep_ATCTACTAGATGCGAC-1,Monocytes -CD8dep_ATCTACTAGTGCGTGA-1,Monocytes -CD8dep_ATCTACTAGTTCCACA-1,Macrophages -CD8dep_ATCTACTCACATTTCT-1,T cells -CD8dep_ATCTACTGTTGTGGAG-1,Monocytes -CD8dep_ATCTGCCAGAACAATC-1,Monocytes -CD8dep_ATCTGCCAGACGCAAC-1,Monocytes -CD8dep_ATCTGCCAGATGTGTA-1,Dendritic cells -CD8dep_ATCTGCCAGCTCCTCT-1,Monocytes -CD8dep_ATCTGCCAGTTATCGC-1,Monocytes -CD8dep_ATCTGCCCAACGATCT-1,Dendritic cells -CD8dep_ATCTGCCCAAGACGTG-1,B cells -CD8dep_ATCTGCCCAAGTAATG-1,Monocytes -CD8dep_ATCTGCCCACAGAGGT-1,Monocytes -CD8dep_ATCTGCCCACTAGTAC-1,Monocytes -CD8dep_ATCTGCCCATGCTAGT-1,Monocytes -CD8dep_ATCTGCCCATTACCTT-1,Monocytes -CD8dep_ATCTGCCGTACGACCC-1,Monocytes -CD8dep_ATCTGCCGTACTTGAC-1,Monocytes -CD8dep_ATCTGCCGTCATGCAT-1,Monocytes -CD8dep_ATCTGCCGTTAAGACA-1,Dendritic cells -CD8dep_ATCTGCCGTTACTGAC-1,Monocytes -CD8dep_ATCTGCCTCAACTCTT-1,Monocytes -CD8dep_ATGAGGGAGCCATCGC-1,Monocytes -CD8dep_ATGAGGGAGGCATGGT-1,Monocytes -CD8dep_ATGAGGGGTCCTCTTG-1,Monocytes -CD8dep_ATGAGGGGTCGCTTTC-1,Monocytes -CD8dep_ATGAGGGGTGCCTTGG-1,Monocytes -CD8dep_ATGAGGGGTGGTCCGT-1,Monocytes -CD8dep_ATGAGGGGTTCCAACA-1,Monocytes -CD8dep_ATGAGGGTCACCGGGT-1,Monocytes -CD8dep_ATGAGGGTCCTCATTA-1,Monocytes -CD8dep_ATGAGGGTCGCACTCT-1,Monocytes -CD8dep_ATGAGGGTCGTCTGAA-1,Monocytes -CD8dep_ATGCGATAGTATGACA-1,Monocytes -CD8dep_ATGCGATAGTCCGGTC-1,Monocytes -CD8dep_ATGCGATAGTTAACGA-1,Monocytes -CD8dep_ATGCGATCATGCCTTC-1,Monocytes -CD8dep_ATGCGATGTCAGTGGA-1,Monocytes -CD8dep_ATGCGATGTCCAGTAT-1,Monocytes -CD8dep_ATGCGATGTTTCCACC-1,Monocytes -CD8dep_ATGCGATTCAGCACAT-1,Monocytes -CD8dep_ATGCGATTCTACGAGT-1,Monocytes -CD8dep_ATGGGAGAGCCAGAAC-1,Monocytes -CD8dep_ATGGGAGAGCGCTCCA-1,Monocytes -CD8dep_ATGGGAGAGGGCATGT-1,Monocytes -CD8dep_ATGGGAGCACCGATAT-1,Monocytes -CD8dep_ATGGGAGCAGATTGCT-1,Monocytes -CD8dep_ATGGGAGTCGGCTTGG-1,Dendritic cells -CD8dep_ATGTGTGAGATAGTCA-1,Monocytes -CD8dep_ATGTGTGAGCCCAGCT-1,Dendritic cells -CD8dep_ATGTGTGAGGTGCTTT-1,Monocytes -CD8dep_ATGTGTGAGTTGAGTA-1,Dendritic cells -CD8dep_ATGTGTGCACTACAGT-1,Monocytes -CD8dep_ATGTGTGGTGATGTCT-1,Monocytes -CD8dep_ATGTGTGTCGCGCCAA-1,Monocytes -CD8dep_ATTACTCAGCATGGCA-1,Granulocytes -CD8dep_ATTACTCAGCGTGAAC-1,Dendritic cells -CD8dep_ATTACTCAGGTGCTTT-1,Monocytes -CD8dep_ATTACTCAGTGCGTGA-1,Monocytes -CD8dep_ATTACTCGTGCGGTAA-1,Monocytes -CD8dep_ATTACTCTCGCTAGCG-1,Monocytes -CD8dep_ATTACTCTCTATGTGG-1,Monocytes -CD8dep_ATTACTCTCTTTAGTC-1,Monocytes -CD8dep_ATTATCCAGATGCCAG-1,Monocytes -CD8dep_ATTATCCAGATGCCTT-1,Monocytes -CD8dep_ATTATCCAGTCCTCCT-1,Monocytes -CD8dep_ATTATCCCACTACAGT-1,Monocytes -CD8dep_ATTATCCCAGACAAAT-1,Monocytes -CD8dep_ATTATCCCAGGTTTCA-1,Monocytes -CD8dep_ATTATCCCATATACGC-1,Monocytes -CD8dep_ATTATCCGTTCCGTCT-1,Monocytes -CD8dep_ATTATCCGTTGTACAC-1,Dendritic cells -CD8dep_ATTATCCTCAGGATCT-1,Monocytes -CD8dep_ATTATCCTCAGTGCAT-1,Macrophages -CD8dep_ATTCTACAGATAGGAG-1,Granulocytes -CD8dep_ATTCTACAGCAGATCG-1,Monocytes -CD8dep_ATTCTACCATGCGCAC-1,Monocytes -CD8dep_ATTCTACGTGAGGGAG-1,Monocytes -CD8dep_ATTCTACGTGGGTCAA-1,Monocytes -CD8dep_ATTCTACGTTCGTCTC-1,Monocytes -CD8dep_ATTGGACAGACCACGA-1,Monocytes -CD8dep_ATTGGACAGATATGGT-1,Monocytes -CD8dep_ATTGGACAGTACGACG-1,Monocytes -CD8dep_ATTGGACCAAACCTAC-1,Monocytes -CD8dep_ATTGGACCAAGCCGCT-1,Monocytes -CD8dep_ATTGGACCAATGTAAG-1,Monocytes -CD8dep_ATTGGACCACACAGAG-1,Monocytes -CD8dep_ATTGGACCACGAAACG-1,Monocytes -CD8dep_ATTGGTGAGAAAGTGG-1,Monocytes -CD8dep_ATTGGTGAGAACTGTA-1,Monocytes -CD8dep_ATTGGTGAGTCCGGTC-1,T cells -CD8dep_ATTGGTGGTCAGAATA-1,Granulocytes -CD8dep_ATTGGTGGTCCGTGAC-1,Dendritic cells -CD8dep_ATTGGTGGTGATAAGT-1,Monocytes -CD8dep_ATTGGTGGTGTTCGAT-1,Monocytes -CD8dep_ATTGGTGTCATACGGT-1,Monocytes -CD8dep_ATTGGTGTCGTACCGG-1,Dendritic cells -CD8dep_ATTGGTGTCTAACGGT-1,Monocytes -CD8dep_ATTGGTGTCTGTTGAG-1,Monocytes -CD8dep_ATTTCTGAGTGCCATT-1,Monocytes -CD8dep_ATTTCTGTCAGTTAGC-1,Monocytes -CD8dep_ATTTCTGTCATTGCGA-1,Monocytes -CD8dep_ATTTCTGTCCTTGGTC-1,Fibroblasts -CD8dep_ATTTCTGTCGCGCCAA-1,Monocytes -CD8dep_ATTTCTGTCTTAGCCC-1,Monocytes -CD8dep_CAACCAAAGACTGTAA-1,Monocytes -CD8dep_CAACCAAAGACTTTCG-1,Monocytes -CD8dep_CAACCAAAGAGGTTGC-1,Dendritic cells -CD8dep_CAACCAACAACACGCC-1,Monocytes -CD8dep_CAACCAACACATGGGA-1,Monocytes -CD8dep_CAACCAACAGGACCCT-1,Granulocytes -CD8dep_CAACCAACAGGGTACA-1,Monocytes -CD8dep_CAACCAACATGGGACA-1,Monocytes -CD8dep_CAACCAAGTCACTTCC-1,Monocytes -CD8dep_CAACCAAGTCATTAGC-1,Monocytes -CD8dep_CAACCAAGTTCCACAA-1,Monocytes -CD8dep_CAACCTCAGCGACGTA-1,Macrophages -CD8dep_CAACCTCGTCCGCTGA-1,Monocytes -CD8dep_CAACCTCGTCGAGTTT-1,Monocytes -CD8dep_CAACCTCGTTCATGGT-1,Monocytes -CD8dep_CAACTAGAGGTAAACT-1,Monocytes -CD8dep_CAACTAGCAAGTCTAC-1,Dendritic cells -CD8dep_CAACTAGCACAGACAG-1,Monocytes -CD8dep_CAACTAGCACCAGGCT-1,Granulocytes -CD8dep_CAACTAGCACTTACGA-1,Monocytes -CD8dep_CAACTAGCAGGTTTCA-1,Monocytes -CD8dep_CAACTAGCATTGGGCC-1,Dendritic cells -CD8dep_CAACTAGGTCGGGTCT-1,Monocytes -CD8dep_CAACTAGGTGTTTGGT-1,Monocytes -CD8dep_CAACTAGTCCTTGCCA-1,Monocytes -CD8dep_CAAGAAAAGGCTAGAC-1,Monocytes -CD8dep_CAAGAAACAATGTTGC-1,Monocytes -CD8dep_CAAGAAACACGGATAG-1,Dendritic cells -CD8dep_CAAGAAACAGCGTTCG-1,Monocytes -CD8dep_CAAGAAAGTCCGAAGA-1,Monocytes -CD8dep_CAAGAAAGTCGGCTCA-1,Monocytes -CD8dep_CAAGAAAGTGATGTCT-1,Macrophages -CD8dep_CAAGAAAGTGCACCAC-1,Monocytes -CD8dep_CAAGAAATCCATGCTC-1,Monocytes -CD8dep_CAAGATCAGCGCCTTG-1,Monocytes -CD8dep_CAAGATCAGGATGGTC-1,Granulocytes -CD8dep_CAAGATCAGGGTTCCC-1,Monocytes -CD8dep_CAAGATCAGTGTCCAT-1,Monocytes -CD8dep_CAAGATCCATATGCTG-1,Monocytes -CD8dep_CAAGATCGTAATCACC-1,Granulocytes -CD8dep_CAAGATCGTCAGAATA-1,Macrophages -CD8dep_CAAGATCTCCAACCAA-1,Monocytes -CD8dep_CAAGATCTCTCTGTCG-1,Monocytes -CD8dep_CAAGGCCCAGGAACGT-1,Monocytes -CD8dep_CAAGGCCCATACGCTA-1,Monocytes -CD8dep_CAAGGCCGTGGTCCGT-1,Monocytes -CD8dep_CAAGGCCGTTTGTTTC-1,Monocytes -CD8dep_CAAGGCCTCCGAACGC-1,Monocytes -CD8dep_CAAGTTGAGCCACGCT-1,Monocytes -CD8dep_CAAGTTGCAGTATGCT-1,Monocytes -CD8dep_CAAGTTGGTGACGCCT-1,Monocytes -CD8dep_CAAGTTGTCCTTGACC-1,Monocytes -CD8dep_CAAGTTGTCTAACCGA-1,Monocytes -CD8dep_CAAGTTGTCTCTGTCG-1,Monocytes -CD8dep_CAAGTTGTCTGGTGTA-1,Monocytes -CD8dep_CACAAACCAAACCTAC-1,Monocytes -CD8dep_CACAAACCAGATAATG-1,Dendritic cells -CD8dep_CACAAACCATTTGCTT-1,Dendritic cells -CD8dep_CACAAACGTACCTACA-1,Dendritic cells -CD8dep_CACAAACGTCACTTCC-1,Monocytes -CD8dep_CACAAACGTCAGATAA-1,Macrophages -CD8dep_CACAAACGTGGACGAT-1,Monocytes -CD8dep_CACAAACGTTACTGAC-1,Monocytes -CD8dep_CACAAACTCCAAATGC-1,Monocytes -CD8dep_CACAAACTCCTGCTTG-1,Monocytes -CD8dep_CACAAACTCCTTGGTC-1,Monocytes -CD8dep_CACAAACTCTTGAGGT-1,Dendritic cells -CD8dep_CACACAAAGAAGGGTA-1,Monocytes -CD8dep_CACACAAAGCCTTGAT-1,Granulocytes -CD8dep_CACACAAAGTGATCGG-1,Monocytes -CD8dep_CACACAACACCAGGCT-1,Monocytes -CD8dep_CACACAAGTCTAGCCG-1,Dendritic cells -CD8dep_CACACAATCAGTTGAC-1,Macrophages -CD8dep_CACACAATCCGCAAGC-1,Monocytes -CD8dep_CACACAATCCGTTGCT-1,Monocytes -CD8dep_CACACCTAGACTGTAA-1,Monocytes -CD8dep_CACACCTAGGCAGTCA-1,Dendritic cells -CD8dep_CACACCTCACTAAGTC-1,Monocytes -CD8dep_CACACTCAGATGGGTC-1,Monocytes -CD8dep_CACACTCAGCCAACAG-1,Monocytes -CD8dep_CACACTCAGTCAATAG-1,Monocytes -CD8dep_CACACTCCACTGTCGG-1,Monocytes -CD8dep_CACACTCCAGTCAGCC-1,Monocytes -CD8dep_CACACTCGTAAGGATT-1,Monocytes -CD8dep_CACACTCGTAAGGGAA-1,Monocytes -CD8dep_CACACTCGTCATGCCG-1,Monocytes -CD8dep_CACACTCGTGAAAGAG-1,Monocytes -CD8dep_CACACTCGTGAGTATA-1,Monocytes -CD8dep_CACAGGCAGCGATGAC-1,Monocytes -CD8dep_CACAGGCAGCGTCAAG-1,Monocytes -CD8dep_CACAGGCAGCGTGAAC-1,Monocytes -CD8dep_CACAGGCAGGTAAACT-1,Monocytes -CD8dep_CACAGGCCAAAGCGGT-1,Dendritic cells -CD8dep_CACAGGCCACGGACAA-1,Monocytes -CD8dep_CACAGGCCATACTACG-1,Monocytes -CD8dep_CACAGGCCATCGTCGG-1,T cells -CD8dep_CACAGGCGTAAACCTC-1,Granulocytes -CD8dep_CACAGGCGTAAGTGTA-1,Monocytes -CD8dep_CACAGGCGTATAATGG-1,Monocytes -CD8dep_CACAGGCGTCATCCCT-1,Dendritic cells -CD8dep_CACAGGCTCATTTGGG-1,Monocytes -CD8dep_CACAGGCTCCGTACAA-1,Monocytes -CD8dep_CACAGGCTCGGACAAG-1,Monocytes -CD8dep_CACAGTAAGAAGCCCA-1,Monocytes -CD8dep_CACAGTAAGGTGGGTT-1,Monocytes -CD8dep_CACAGTAAGGTGTGGT-1,Macrophages -CD8dep_CACAGTAAGTCTCAAC-1,Monocytes -CD8dep_CACAGTACACCAGTTA-1,Monocytes -CD8dep_CACAGTACATCTCGCT-1,Monocytes -CD8dep_CACAGTAGTAAGAGAG-1,Monocytes -CD8dep_CACAGTAGTATATGAG-1,Macrophages -CD8dep_CACAGTAGTCGCTTCT-1,Macrophages -CD8dep_CACAGTAGTGAACCTT-1,Monocytes -CD8dep_CACAGTAGTGAGGCTA-1,Monocytes -CD8dep_CACAGTAGTTCAGACT-1,Monocytes -CD8dep_CACAGTAGTTGGTGGA-1,Monocytes -CD8dep_CACAGTATCCGTAGTA-1,Monocytes -CD8dep_CACAGTATCGCCTGTT-1,Dendritic cells -CD8dep_CACATAGAGACAGAGA-1,Macrophages -CD8dep_CACATAGAGGCATTGG-1,Monocytes -CD8dep_CACATAGAGTCAAGGC-1,Monocytes -CD8dep_CACATAGCAATGGAGC-1,Monocytes -CD8dep_CACATAGCAGTTCCCT-1,Monocytes -CD8dep_CACATAGGTCAGAATA-1,Monocytes -CD8dep_CACATAGGTGCTCTTC-1,Monocytes -CD8dep_CACATAGGTGGTACAG-1,Monocytes -CD8dep_CACATAGGTTAGTGGG-1,Monocytes -CD8dep_CACATAGGTTCCACAA-1,Monocytes -CD8dep_CACATAGTCAGTTCGA-1,Monocytes -CD8dep_CACATTTAGGAGTCTG-1,Macrophages -CD8dep_CACATTTAGGTAAACT-1,Dendritic cells -CD8dep_CACATTTGTCGCGAAA-1,Monocytes -CD8dep_CACATTTGTTACAGAA-1,Monocytes -CD8dep_CACATTTTCTATGTGG-1,Dendritic cells -CD8dep_CACATTTTCTTGACGA-1,Monocytes -CD8dep_CACATTTTCTTGCCGT-1,Macrophages -CD8dep_CACCACTAGAGTACCG-1,Dendritic cells -CD8dep_CACCACTAGCTAGTCT-1,Monocytes -CD8dep_CACCACTAGGAGTTGC-1,Monocytes -CD8dep_CACCACTAGGCTAGGT-1,Monocytes -CD8dep_CACCACTAGGTGATAT-1,Monocytes -CD8dep_CACCACTAGTGGGTTG-1,Monocytes -CD8dep_CACCACTCAAGCGCTC-1,Monocytes -CD8dep_CACCACTGTACATGTC-1,Granulocytes -CD8dep_CACCACTGTATCACCA-1,Monocytes -CD8dep_CACCAGGAGGGTATCG-1,Monocytes -CD8dep_CACCAGGCACGAAACG-1,Monocytes -CD8dep_CACCAGGCACGGCCAT-1,Monocytes -CD8dep_CACCAGGCAGCGTAAG-1,Monocytes -CD8dep_CACCAGGCATGCGCAC-1,Monocytes -CD8dep_CACCAGGGTAGCGATG-1,Monocytes -CD8dep_CACCAGGGTCCAGTGC-1,Monocytes -CD8dep_CACCAGGGTCTTGATG-1,Monocytes -CD8dep_CACCAGGTCGCTGATA-1,Monocytes -CD8dep_CACCTTGAGATCTGCT-1,Monocytes -CD8dep_CACCTTGCAATGGAAT-1,Monocytes -CD8dep_CACCTTGCAGTATGCT-1,Monocytes -CD8dep_CACCTTGGTAGCCTAT-1,Monocytes -CD8dep_CACCTTGGTATGAAAC-1,Monocytes -CD8dep_CACCTTGGTCCGAACC-1,Monocytes -CD8dep_CACCTTGGTTCCAACA-1,Monocytes -CD8dep_CACCTTGGTTTGGGCC-1,Monocytes -CD8dep_CACCTTGTCCCTTGCA-1,Monocytes -CD8dep_CACCTTGTCCTTGCCA-1,Monocytes -CD8dep_CACTCCAAGCCGGTAA-1,Monocytes -CD8dep_CACTCCAAGCTAGCCC-1,Monocytes -CD8dep_CACTCCAAGCTGGAAC-1,Macrophages -CD8dep_CACTCCAAGGCGCTCT-1,Dendritic cells -CD8dep_CACTCCAAGTGAAGTT-1,Monocytes -CD8dep_CACTCCAAGTGACTCT-1,Monocytes -CD8dep_CACTCCACAATAACGA-1,Monocytes -CD8dep_CACTCCAGTACGAAAT-1,Monocytes -CD8dep_CACTCCAGTCTCTCTG-1,Macrophages -CD8dep_CACTCCAGTGTGACCC-1,Monocytes -CD8dep_CACTCCAGTTCAGGCC-1,Monocytes -CD8dep_CACTCCATCCAAGCCG-1,Granulocytes -CD8dep_CACTCCATCCGAAGAG-1,Monocytes -CD8dep_CACTCCATCCGAGCCA-1,Monocytes -CD8dep_CACTCCATCCTAGGGC-1,Monocytes -CD8dep_CACTCCATCTGGCGTG-1,Monocytes -CD8dep_CAGAATCAGACACTAA-1,Monocytes -CD8dep_CAGAATCAGACAGGCT-1,Monocytes -CD8dep_CAGAATCAGATATACG-1,Monocytes -CD8dep_CAGAATCGTATTACCG-1,Monocytes -CD8dep_CAGAATCGTCACAAGG-1,Monocytes -CD8dep_CAGAATCTCCGAATGT-1,Macrophages -CD8dep_CAGAATCTCTCAAACG-1,Monocytes -CD8dep_CAGAGAGAGAGTAAGG-1,Monocytes -CD8dep_CAGAGAGAGATATACG-1,Monocytes -CD8dep_CAGAGAGAGCCAGAAC-1,Monocytes -CD8dep_CAGAGAGAGTGGTAGC-1,Monocytes -CD8dep_CAGAGAGAGTTAGCGG-1,Monocytes -CD8dep_CAGAGAGCAGCATACT-1,Dendritic cells -CD8dep_CAGAGAGCAGTTTACG-1,Monocytes -CD8dep_CAGAGAGCATGGTCAT-1,Monocytes -CD8dep_CAGAGAGGTACACCGC-1,Dendritic cells -CD8dep_CAGAGAGGTACAGACG-1,Monocytes -CD8dep_CAGAGAGGTCTAGGTT-1,Monocytes -CD8dep_CAGAGAGGTTAAAGAC-1,Monocytes -CD8dep_CAGAGAGTCCAAACTG-1,Granulocytes -CD8dep_CAGAGAGTCCCATTAT-1,Monocytes -CD8dep_CAGAGAGTCGGCTTGG-1,Monocytes -CD8dep_CAGAGAGTCTCTGAGA-1,Monocytes -CD8dep_CAGAGAGTCTTGGGTA-1,Macrophages -CD8dep_CAGATCAAGGGTATCG-1,Monocytes -CD8dep_CAGATCAGTCTCTCTG-1,Monocytes -CD8dep_CAGATCATCAAACCGT-1,Dendritic cells -CD8dep_CAGATCATCCGTTGCT-1,Monocytes -CD8dep_CAGATCATCTGCCCTA-1,Monocytes -CD8dep_CAGCAGCAGAGTTGGC-1,Monocytes -CD8dep_CAGCAGCAGGCAAAGA-1,Monocytes -CD8dep_CAGCAGCAGTATTGGA-1,Dendritic cells -CD8dep_CAGCAGCGTAGCCTCG-1,Monocytes -CD8dep_CAGCAGCGTCCGAATT-1,Dendritic cells -CD8dep_CAGCAGCTCCGGGTGT-1,Monocytes -CD8dep_CAGCAGCTCGCCGTGA-1,Dendritic cells -CD8dep_CAGCAGCTCGCTGATA-1,Monocytes -CD8dep_CAGCAGCTCGCTTGTC-1,Dendritic cells -CD8dep_CAGCAGCTCTTTACAC-1,Monocytes -CD8dep_CAGCATAAGAGGACGG-1,Monocytes -CD8dep_CAGCATAAGATCCCGC-1,Monocytes -CD8dep_CAGCATAAGTACATGA-1,Monocytes -CD8dep_CAGCATACAATGTAAG-1,Macrophages -CD8dep_CAGCATAGTAGGCATG-1,Monocytes -CD8dep_CAGCATAGTCAAACTC-1,Monocytes -CD8dep_CAGCATATCAAACCGT-1,Monocytes -CD8dep_CAGCATATCGAGCCCA-1,Monocytes -CD8dep_CAGCCGAAGAGTTGGC-1,Monocytes -CD8dep_CAGCCGAAGATCACGG-1,Dendritic cells -CD8dep_CAGCCGAAGATCTGAA-1,Dendritic cells -CD8dep_CAGCCGACAAAGGAAG-1,Monocytes -CD8dep_CAGCCGACAAGGACAC-1,Macrophages -CD8dep_CAGCCGACAAGTTCTG-1,Monocytes -CD8dep_CAGCCGACATGATCCA-1,Monocytes -CD8dep_CAGCCGAGTAAGCACG-1,Macrophages -CD8dep_CAGCCGAGTATGAAAC-1,Monocytes -CD8dep_CAGCCGAGTCAACATC-1,Monocytes -CD8dep_CAGCCGAGTCCGTTAA-1,Monocytes -CD8dep_CAGCCGAGTCTGCCAG-1,Dendritic cells -CD8dep_CAGCCGAGTGACAAAT-1,Monocytes -CD8dep_CAGCCGAGTTACGTCA-1,Monocytes -CD8dep_CAGCCGATCAGCTTAG-1,Monocytes -CD8dep_CAGCGACAGATATGCA-1,Monocytes -CD8dep_CAGCGACGTTCAGCGC-1,Macrophages -CD8dep_CAGCGACTCCGAAGAG-1,Monocytes -CD8dep_CAGCTAAAGCTAGTGG-1,Monocytes -CD8dep_CAGCTAACATCGGAAG-1,Monocytes -CD8dep_CAGCTAAGTACGCACC-1,Monocytes -CD8dep_CAGCTAAGTCATACTG-1,Monocytes -CD8dep_CAGCTAAGTCGCTTTC-1,Monocytes -CD8dep_CAGCTAAGTCTGATTG-1,Monocytes -CD8dep_CAGCTGGAGGGTGTGT-1,Dendritic cells -CD8dep_CAGCTGGAGTGCGATG-1,Monocytes -CD8dep_CAGCTGGGTAATCGTC-1,Monocytes -CD8dep_CAGCTGGGTAGTACCT-1,Monocytes -CD8dep_CAGCTGGTCCGTCAAA-1,Monocytes -CD8dep_CAGCTGGTCTGGGCCA-1,Monocytes -CD8dep_CAGGTGCAGACACTAA-1,Monocytes -CD8dep_CAGGTGCAGCATGGCA-1,Granulocytes -CD8dep_CAGGTGCCAAGACACG-1,Monocytes -CD8dep_CAGGTGCCATCTACGA-1,Monocytes -CD8dep_CAGGTGCGTACAGTGG-1,Monocytes -CD8dep_CAGGTGCGTGCACGAA-1,Monocytes -CD8dep_CAGGTGCTCAGCTCGG-1,Monocytes -CD8dep_CAGTAACAGCCTATGT-1,Monocytes -CD8dep_CAGTAACGTCGCCATG-1,Monocytes -CD8dep_CAGTAACGTCTTCGTC-1,Monocytes -CD8dep_CAGTAACGTCTTGATG-1,Monocytes -CD8dep_CAGTAACGTTCCGTCT-1,Monocytes -CD8dep_CAGTAACTCAACGGCC-1,Monocytes -CD8dep_CAGTCCTAGCCACGCT-1,T cells -CD8dep_CAGTCCTAGCTTATCG-1,Dendritic cells -CD8dep_CAGTCCTCACGTTGGC-1,Macrophages -CD8dep_CAGTCCTGTACATGTC-1,Monocytes -CD8dep_CAGTCCTGTACCGCTG-1,Macrophages -CD8dep_CAGTCCTGTTCACCTC-1,T cells -CD8dep_CAGTCCTGTTGGTAAA-1,Dendritic cells -CD8dep_CAGTCCTTCATCTGCC-1,Monocytes -CD8dep_CAGTCCTTCTGTTGAG-1,Monocytes -CD8dep_CAGTCCTTCTTGTTTG-1,Monocytes -CD8dep_CATATGGAGACGACGT-1,Monocytes -CD8dep_CATATGGAGCTAGTCT-1,Dendritic cells -CD8dep_CATATGGAGGGCTTCC-1,Macrophages -CD8dep_CATATGGAGTTCCACA-1,Monocytes -CD8dep_CATATGGCAATAGCGG-1,Monocytes -CD8dep_CATATGGCAGGGTACA-1,Monocytes -CD8dep_CATATGGCATAAAGGT-1,Dendritic cells -CD8dep_CATATGGCATGAACCT-1,Monocytes -CD8dep_CATATGGGTCTACCTC-1,Monocytes -CD8dep_CATATGGGTTCATGGT-1,Monocytes -CD8dep_CATATGGGTTTAGCTG-1,Monocytes -CD8dep_CATATGGTCTTTAGGG-1,Monocytes -CD8dep_CATATTCAGTTGAGAT-1,Monocytes -CD8dep_CATATTCAGTTGTAGA-1,Monocytes -CD8dep_CATATTCCATAAAGGT-1,Monocytes -CD8dep_CATATTCCATATACGC-1,Monocytes -CD8dep_CATATTCCATTAGGCT-1,Monocytes -CD8dep_CATATTCGTAGAAAGG-1,Monocytes -CD8dep_CATATTCGTCTTCTCG-1,Monocytes -CD8dep_CATATTCGTCTTTCAT-1,Monocytes -CD8dep_CATATTCGTGTGACGA-1,Dendritic cells -CD8dep_CATATTCGTTCGGCAC-1,Macrophages -CD8dep_CATCAAGAGCCAGTTT-1,Monocytes -CD8dep_CATCAAGAGTCAATAG-1,Monocytes -CD8dep_CATCAAGAGTGCGATG-1,Monocytes -CD8dep_CATCAAGCAACACCCG-1,Monocytes -CD8dep_CATCAAGCACGGTTTA-1,Monocytes -CD8dep_CATCAAGGTAATCACC-1,Monocytes -CD8dep_CATCAGAAGTGAACAT-1,Monocytes -CD8dep_CATCAGACACGGTGTC-1,Monocytes -CD8dep_CATCAGACAGGTGGAT-1,Monocytes -CD8dep_CATCAGACAGTGACAG-1,Monocytes -CD8dep_CATCAGACATCAGTAC-1,Monocytes -CD8dep_CATCAGAGTCTCTTAT-1,Monocytes -CD8dep_CATCCACAGACCACGA-1,Dendritic cells -CD8dep_CATCCACCAAGTCTGT-1,Monocytes -CD8dep_CATCCACCATTCCTGC-1,Monocytes -CD8dep_CATCCACCATTTGCTT-1,Monocytes -CD8dep_CATCCACGTAAAGGAG-1,Monocytes -CD8dep_CATCCACGTCCCTTGT-1,Monocytes -CD8dep_CATCCACGTCGTTGTA-1,Dendritic cells -CD8dep_CATCCACGTGCATCTA-1,Macrophages -CD8dep_CATCCACTCGGTGTCG-1,Monocytes -CD8dep_CATCGAAAGCCACTAT-1,Monocytes -CD8dep_CATCGAAAGCGTGAGT-1,Monocytes -CD8dep_CATCGAAAGGAGTAGA-1,Monocytes -CD8dep_CATCGAAAGTACGCCC-1,Monocytes -CD8dep_CATCGAAAGTGGAGAA-1,Monocytes -CD8dep_CATCGAAAGTTAGGTA-1,Monocytes -CD8dep_CATCGAACAAGCTGAG-1,Macrophages -CD8dep_CATCGAACAATGTAAG-1,Monocytes -CD8dep_CATCGAAGTCGCGGTT-1,Monocytes -CD8dep_CATCGAAGTGAGCGAT-1,Monocytes -CD8dep_CATCGAAGTTGCTCCT-1,Monocytes -CD8dep_CATCGAAGTTTACTCT-1,Macrophages -CD8dep_CATCGAATCTTTCCTC-1,Monocytes -CD8dep_CATCGGGAGAGGGATA-1,Monocytes -CD8dep_CATCGGGAGCGTGAGT-1,Monocytes -CD8dep_CATCGGGAGCTGTTCA-1,Granulocytes -CD8dep_CATCGGGAGGTGCTAG-1,Monocytes -CD8dep_CATCGGGCACATCCGG-1,Dendritic cells -CD8dep_CATCGGGCACTTCGAA-1,Monocytes -CD8dep_CATCGGGCAGGAATGC-1,Monocytes -CD8dep_CATCGGGGTCAGAATA-1,Monocytes -CD8dep_CATCGGGGTCGTTGTA-1,Dendritic cells -CD8dep_CATCGGGGTGTTCGAT-1,Monocytes -CD8dep_CATCGGGGTTCCACAA-1,Monocytes -CD8dep_CATCGGGGTTCCGGCA-1,Dendritic cells -CD8dep_CATCGGGTCATGCATG-1,Monocytes -CD8dep_CATGACAAGAGGACGG-1,Monocytes -CD8dep_CATGACAAGCTAGTGG-1,Monocytes -CD8dep_CATGACAAGTGAATTG-1,Monocytes -CD8dep_CATGACAAGTGACTCT-1,Monocytes -CD8dep_CATGACACACACGCTG-1,Monocytes -CD8dep_CATGACAGTAATTGGA-1,Monocytes -CD8dep_CATGACAGTCCGAGTC-1,Macrophages -CD8dep_CATGACAGTCTAAACC-1,Macrophages -CD8dep_CATGCCTAGAGGGCTT-1,Monocytes -CD8dep_CATGCCTAGCGCCTCA-1,Monocytes -CD8dep_CATGCCTAGCGTGTCC-1,Macrophages -CD8dep_CATGCCTCAATCACAC-1,Monocytes -CD8dep_CATGCCTTCCCTAACC-1,Granulocytes -CD8dep_CATGCCTTCTGTTGAG-1,Monocytes -CD8dep_CATGGCGAGAGTGACC-1,Granulocytes -CD8dep_CATGGCGAGGAGTTGC-1,Dendritic cells -CD8dep_CATGGCGAGGTGTGGT-1,Monocytes -CD8dep_CATGGCGCAGGAACGT-1,Dendritic cells -CD8dep_CATGGCGGTCTAGCGC-1,Monocytes -CD8dep_CATGGCGTCGCGCCAA-1,Monocytes -CD8dep_CATGGCGTCGTTACAG-1,Monocytes -CD8dep_CATGGCGTCGTTGACA-1,Monocytes -CD8dep_CATGGCGTCTCGAGTA-1,Monocytes -CD8dep_CATTATCGTAAGTAGT-1,Dendritic cells -CD8dep_CATTATCTCCCTGACT-1,Macrophages -CD8dep_CATTATCTCGCCATAA-1,Monocytes -CD8dep_CATTATCTCGTTGCCT-1,Macrophages -CD8dep_CATTATCTCTACCTGC-1,Monocytes -CD8dep_CATTATCTCTTGTACT-1,Dendritic cells -CD8dep_CATTCGCCACAGGTTT-1,Dendritic cells -CD8dep_CATTCGCCACGAAAGC-1,Monocytes -CD8dep_CATTCGCCAGATGAGC-1,Granulocytes -CD8dep_CATTCGCCATTTGCCC-1,Monocytes -CD8dep_CATTCGCGTCCAACTA-1,Monocytes -CD8dep_CATTCGCTCTACCAGA-1,Monocytes -CD8dep_CATTCGCTCTGAGTGT-1,Monocytes -CD8dep_CCAATCCAGAGACGAA-1,Granulocytes -CD8dep_CCAATCCAGCTGAACG-1,Macrophages -CD8dep_CCAATCCAGGATGCGT-1,Monocytes -CD8dep_CCAATCCAGGTGCTAG-1,Monocytes -CD8dep_CCAATCCCACAAGCCC-1,Monocytes -CD8dep_CCAATCCCACCGGAAA-1,Dendritic cells -CD8dep_CCAATCCCATACGCTA-1,Monocytes -CD8dep_CCAATCCCATTCGACA-1,Monocytes -CD8dep_CCAATCCTCATGTGGT-1,Monocytes -CD8dep_CCAATCCTCCAGATCA-1,Monocytes -CD8dep_CCAATCCTCGCGTTTC-1,Monocytes -CD8dep_CCACCTAAGATGGCGT-1,Monocytes -CD8dep_CCACCTACAAACAACA-1,Monocytes -CD8dep_CCACCTACAAGGACTG-1,Monocytes -CD8dep_CCACCTACAGATCGGA-1,Monocytes -CD8dep_CCACCTAGTTAAGAAC-1,Dendritic cells -CD8dep_CCACCTAGTTCGTTGA-1,Monocytes -CD8dep_CCACCTAGTTCTGTTT-1,Monocytes -CD8dep_CCACCTATCAATAAGG-1,Dendritic cells -CD8dep_CCACCTATCTATCCTA-1,Monocytes -CD8dep_CCACGGAAGAGTCTGG-1,Monocytes -CD8dep_CCACGGAAGCCTCGTG-1,Monocytes -CD8dep_CCACGGAAGCGCCTTG-1,Monocytes -CD8dep_CCACGGACAACTTGAC-1,Monocytes -CD8dep_CCACGGACAGATTGCT-1,Monocytes -CD8dep_CCACGGAGTAGAGTGC-1,Granulocytes -CD8dep_CCACGGAGTCGCGTGT-1,Monocytes -CD8dep_CCACGGATCGGAAATA-1,Monocytes -CD8dep_CCACTACAGGAATTAC-1,Monocytes -CD8dep_CCACTACAGTGTCCCG-1,Monocytes -CD8dep_CCACTACAGTTGTAGA-1,Monocytes -CD8dep_CCACTACCAAGCGTAG-1,Monocytes -CD8dep_CCACTACCAATCCGAT-1,Monocytes -CD8dep_CCACTACGTTCAACCA-1,Macrophages -CD8dep_CCACTACTCAGTCAGT-1,Monocytes -CD8dep_CCACTACTCCTGCTTG-1,Monocytes -CD8dep_CCAGCGAAGAAGGCCT-1,Dendritic cells -CD8dep_CCAGCGAAGAGGGCTT-1,Dendritic cells -CD8dep_CCAGCGAAGGTGGGTT-1,Monocytes -CD8dep_CCAGCGAAGTGTGAAT-1,Monocytes -CD8dep_CCAGCGAGTCTTTCAT-1,Monocytes -CD8dep_CCAGCGAGTTACGCGC-1,Monocytes -CD8dep_CCAGCGAGTTCCGTCT-1,Dendritic cells -CD8dep_CCAGCGATCTCACATT-1,Monocytes -CD8dep_CCATGTCAGGTGACCA-1,Monocytes -CD8dep_CCATGTCCAATGACCT-1,Monocytes -CD8dep_CCATGTCCATCGGGTC-1,Dendritic cells -CD8dep_CCATGTCGTCCGAATT-1,Macrophages -CD8dep_CCATGTCTCAAAGACA-1,Monocytes -CD8dep_CCATGTCTCGAACTGT-1,Monocytes -CD8dep_CCATTCGAGAATTGTG-1,Monocytes -CD8dep_CCATTCGCACCTATCC-1,Monocytes -CD8dep_CCATTCGGTAAATGAC-1,Monocytes -CD8dep_CCATTCGTCAACACAC-1,Monocytes -CD8dep_CCCAATCAGCACGCCT-1,Dendritic cells -CD8dep_CCCAATCAGGTAGCTG-1,Monocytes -CD8dep_CCCAATCCAGTCCTTC-1,Monocytes -CD8dep_CCCAATCCATCGGAAG-1,Macrophages -CD8dep_CCCAATCGTACCGCTG-1,Monocytes -CD8dep_CCCAATCGTACGACCC-1,Monocytes -CD8dep_CCCAATCTCCTATGTT-1,Dendritic cells -CD8dep_CCCAATCTCGGCTACG-1,Monocytes -CD8dep_CCCAGTTAGAAACGCC-1,Monocytes -CD8dep_CCCAGTTAGACGCTTT-1,Monocytes -CD8dep_CCCAGTTAGACTAAGT-1,Monocytes -CD8dep_CCCAGTTAGCTGTTCA-1,Monocytes -CD8dep_CCCAGTTAGGAATCGC-1,Monocytes -CD8dep_CCCAGTTAGTAGGTGC-1,Monocytes -CD8dep_CCCAGTTAGTCCAGGA-1,Monocytes -CD8dep_CCCAGTTCACCATCCT-1,Monocytes -CD8dep_CCCAGTTCATTTCAGG-1,Granulocytes -CD8dep_CCCAGTTGTAAGCACG-1,Monocytes -CD8dep_CCCAGTTGTTCCACTC-1,Macrophages -CD8dep_CCCAGTTTCTGGCGTG-1,T cells -CD8dep_CCCATACGTCGAATCT-1,Monocytes -CD8dep_CCCATACGTCTCTCGT-1,Monocytes -CD8dep_CCCATACGTGTGCCTG-1,Monocytes -CD8dep_CCCATACGTTCCCGAG-1,Monocytes -CD8dep_CCCATACTCAGAGACG-1,Monocytes -CD8dep_CCCTCCTAGAGTGAGA-1,Granulocytes -CD8dep_CCCTCCTAGGGTGTTG-1,Monocytes -CD8dep_CCCTCCTCAATAGCAA-1,Dendritic cells -CD8dep_CCCTCCTCACACTGCG-1,Monocytes -CD8dep_CCCTCCTCACCGGAAA-1,Granulocytes -CD8dep_CCCTCCTCAGCATACT-1,Monocytes -CD8dep_CCCTCCTCAGTCCTTC-1,Monocytes -CD8dep_CCCTCCTGTACGCACC-1,Monocytes -CD8dep_CCCTCCTGTAGAGTGC-1,Monocytes -CD8dep_CCCTCCTGTGTTCTTT-1,Monocytes -CD8dep_CCCTCCTGTTACGCGC-1,Macrophages -CD8dep_CCCTCCTGTTCTGAAC-1,Monocytes -CD8dep_CCCTCCTTCGGCGGTT-1,Monocytes -CD8dep_CCGGGATAGGATGGTC-1,Monocytes -CD8dep_CCGGGATCAGTGAGTG-1,Monocytes -CD8dep_CCGGGATCATCGGGTC-1,Monocytes -CD8dep_CCGGGATGTCTGGTCG-1,Monocytes -CD8dep_CCGGGATGTTCCCGAG-1,Monocytes -CD8dep_CCGGGATTCAGCAACT-1,Macrophages -CD8dep_CCGGTAGAGAAGCCCA-1,Monocytes -CD8dep_CCGGTAGAGCCTATGT-1,Monocytes -CD8dep_CCGGTAGAGGGTGTTG-1,Monocytes -CD8dep_CCGGTAGCAGCCACCA-1,Monocytes -CD8dep_CCGGTAGCATTCTCAT-1,Dendritic cells -CD8dep_CCGGTAGGTAGCTCCG-1,Monocytes -CD8dep_CCGGTAGGTCAAAGCG-1,Monocytes -CD8dep_CCGGTAGGTCGGCTCA-1,Monocytes -CD8dep_CCGGTAGGTGAGCGAT-1,Monocytes -CD8dep_CCGGTAGGTGTGACGA-1,Monocytes -CD8dep_CCGGTAGTCAGCACAT-1,Monocytes -CD8dep_CCGGTAGTCCGTTGCT-1,Monocytes -CD8dep_CCGGTAGTCTGCCCTA-1,Monocytes -CD8dep_CCGGTAGTCTGTCAAG-1,Monocytes -CD8dep_CCGTACTAGCAACGGT-1,Monocytes -CD8dep_CCGTACTAGCTAGTTC-1,Monocytes -CD8dep_CCGTACTCAAGAAGAG-1,Macrophages -CD8dep_CCGTACTCAGACGCCT-1,Monocytes -CD8dep_CCGTACTCATATACGC-1,Macrophages -CD8dep_CCGTACTTCACGAAGG-1,Monocytes -CD8dep_CCGTACTTCTCGTTTA-1,Monocytes -CD8dep_CCGTACTTCTTTAGTC-1,Monocytes -CD8dep_CCGTGGAAGCACGCCT-1,Monocytes -CD8dep_CCGTGGAGTACCGTAT-1,Macrophages -CD8dep_CCGTGGAGTAGGCTGA-1,Macrophages -CD8dep_CCGTGGAGTATAATGG-1,Macrophages -CD8dep_CCGTGGATCGGTTAAC-1,Monocytes -CD8dep_CCGTGGATCGTCCAGG-1,Dendritic cells -CD8dep_CCGTTCAAGAAGAAGC-1,Monocytes -CD8dep_CCGTTCAAGCGTCTAT-1,Monocytes -CD8dep_CCGTTCACAAATTGCC-1,Dendritic cells -CD8dep_CCGTTCACACCTATCC-1,Granulocytes -CD8dep_CCGTTCACACGCCAGT-1,Dendritic cells -CD8dep_CCGTTCAGTCTCAACA-1,Monocytes -CD8dep_CCGTTCATCCTGTACC-1,Monocytes -CD8dep_CCGTTCATCTGTACGA-1,Dendritic cells -CD8dep_CCTAAAGAGATCCTGT-1,Monocytes -CD8dep_CCTAAAGCAATCCAAC-1,Dendritic cells -CD8dep_CCTAAAGCATAGTAAG-1,Monocytes -CD8dep_CCTAAAGGTGAACCTT-1,Monocytes -CD8dep_CCTAAAGTCCGTACAA-1,Monocytes -CD8dep_CCTACACAGCGTTCCG-1,Monocytes -CD8dep_CCTACACAGGTAAACT-1,Monocytes -CD8dep_CCTACACAGTGTACGG-1,Monocytes -CD8dep_CCTACACCAAAGCAAT-1,Monocytes -CD8dep_CCTACACCAAAGGAAG-1,Monocytes -CD8dep_CCTACACCACTGCCAG-1,Monocytes -CD8dep_CCTACACGTCAATGTC-1,Monocytes -CD8dep_CCTACACGTTGTGGCC-1,Macrophages -CD8dep_CCTACACTCACAATGC-1,Monocytes -CD8dep_CCTACACTCATCGGAT-1,Monocytes -CD8dep_CCTACACTCTGCCCTA-1,Dendritic cells -CD8dep_CCTACCAAGAATTCCC-1,Monocytes -CD8dep_CCTACCAAGAGGGCTT-1,Monocytes -CD8dep_CCTACCAAGTAGGCCA-1,Granulocytes -CD8dep_CCTACCAAGTTTCCTT-1,Monocytes -CD8dep_CCTACCACAATCCGAT-1,Dendritic cells -CD8dep_CCTACCACACATCTTT-1,Monocytes -CD8dep_CCTACCACACCAGGCT-1,Monocytes -CD8dep_CCTACCACAGACAAGC-1,Dendritic cells -CD8dep_CCTACCACAGGGTACA-1,Monocytes -CD8dep_CCTACCAGTATAGGGC-1,Monocytes -CD8dep_CCTACCAGTGTTGGGA-1,Monocytes -CD8dep_CCTACCAGTTGAACTC-1,Macrophages -CD8dep_CCTACCATCAACGGCC-1,Monocytes -CD8dep_CCTACCATCATTTGGG-1,Macrophages -CD8dep_CCTACCATCCAACCAA-1,Monocytes -CD8dep_CCTACCATCCCAACGG-1,Monocytes -CD8dep_CCTACCATCGCCATAA-1,Monocytes -CD8dep_CCTACCATCTCCTATA-1,Monocytes -CD8dep_CCTAGCTAGCAACGGT-1,Monocytes -CD8dep_CCTAGCTAGCGTGAAC-1,Monocytes -CD8dep_CCTAGCTCAAACCCAT-1,Monocytes -CD8dep_CCTAGCTCACTTACGA-1,Monocytes -CD8dep_CCTAGCTCAGCTGCTG-1,Monocytes -CD8dep_CCTAGCTCATGAAGTA-1,Dendritic cells -CD8dep_CCTAGCTGTCCGTCAG-1,Monocytes -CD8dep_CCTAGCTGTTGTACAC-1,Monocytes -CD8dep_CCTAGCTTCGATGAGG-1,Monocytes -CD8dep_CCTATTAAGAGGTTGC-1,Monocytes -CD8dep_CCTATTAAGAGTGACC-1,Monocytes -CD8dep_CCTATTAAGCGTAGTG-1,Monocytes -CD8dep_CCTATTAAGTCCGTAT-1,Monocytes -CD8dep_CCTATTACAAGAGGCT-1,Monocytes -CD8dep_CCTATTAGTACGCTGC-1,Monocytes -CD8dep_CCTATTATCTTTAGGG-1,Monocytes -CD8dep_CCTCAGTAGCCGTCGT-1,Monocytes -CD8dep_CCTCAGTAGCGTGAGT-1,Monocytes -CD8dep_CCTCAGTCAACGCACC-1,Macrophages -CD8dep_CCTCAGTGTGATAAAC-1,Monocytes -CD8dep_CCTCAGTGTGATGCCC-1,Granulocytes -CD8dep_CCTCAGTTCTGCCAGG-1,Monocytes -CD8dep_CCTCTGAAGCCGGTAA-1,Monocytes -CD8dep_CCTCTGAAGGCGATAC-1,Monocytes -CD8dep_CCTCTGAAGTGGTAAT-1,Monocytes -CD8dep_CCTCTGACAAGGACTG-1,Monocytes -CD8dep_CCTCTGACAATGCCAT-1,Monocytes -CD8dep_CCTCTGACACCTCGTT-1,Dendritic cells -CD8dep_CCTCTGACATGCCCGA-1,Dendritic cells -CD8dep_CCTCTGAGTCCTGCTT-1,Monocytes -CD8dep_CCTCTGATCACATACG-1,Monocytes -CD8dep_CCTCTGATCAGAGACG-1,Macrophages -CD8dep_CCTCTGATCTCGCATC-1,Macrophages -CD8dep_CCTCTGATCTGCCCTA-1,Monocytes -CD8dep_CCTTACGAGTCGAGTG-1,Monocytes -CD8dep_CCTTACGGTAAACACA-1,Dendritic cells -CD8dep_CCTTACGGTGGTTTCA-1,Dendritic cells -CD8dep_CCTTACGTCCCATTAT-1,Monocytes -CD8dep_CCTTACGTCGCCGTGA-1,Monocytes -CD8dep_CCTTACGTCGCCTGTT-1,Macrophages -CD8dep_CCTTCCCAGGACTGGT-1,Monocytes -CD8dep_CCTTCCCAGGAGTCTG-1,Monocytes -CD8dep_CCTTCCCGTACAGTGG-1,Monocytes -CD8dep_CCTTCCCGTGCAACTT-1,Macrophages -CD8dep_CCTTCCCGTTCCACGG-1,Monocytes -CD8dep_CCTTCCCGTTCGCTAA-1,Monocytes -CD8dep_CCTTCCCTCAACACCA-1,Granulocytes -CD8dep_CCTTCCCTCATTCACT-1,Monocytes -CD8dep_CCTTCGAAGGACAGCT-1,Monocytes -CD8dep_CCTTCGACAAACTGTC-1,Macrophages -CD8dep_CCTTCGACACGTCAGC-1,Monocytes -CD8dep_CCTTCGACACTGTCGG-1,Monocytes -CD8dep_CCTTCGACATCAGTCA-1,Dendritic cells -CD8dep_CCTTCGAGTAGAGTGC-1,Dendritic cells -CD8dep_CCTTCGAGTATGAAAC-1,Monocytes -CD8dep_CCTTCGAGTCCATCCT-1,Monocytes -CD8dep_CCTTCGAGTGCGATAG-1,Monocytes -CD8dep_CCTTCGAGTGTGTGCC-1,Macrophages -CD8dep_CCTTCGAGTTGAACTC-1,Monocytes -CD8dep_CCTTCGATCCCTCAGT-1,Monocytes -CD8dep_CCTTCGATCCCTTGCA-1,Monocytes -CD8dep_CCTTCGATCCGCAGTG-1,Monocytes -CD8dep_CCTTCGATCCGTCAAA-1,Monocytes -CD8dep_CCTTCGATCGAGGTAG-1,Dendritic cells -CD8dep_CCTTCGATCTGCGTAA-1,Dendritic cells -CD8dep_CCTTTCTAGTCAAGGC-1,Dendritic cells -CD8dep_CCTTTCTCACCACCAG-1,Granulocytes -CD8dep_CCTTTCTGTAAGAGAG-1,Dendritic cells -CD8dep_CCTTTCTGTCGCGAAA-1,Monocytes -CD8dep_CCTTTCTTCCAATGGT-1,Macrophages -CD8dep_CGAACATAGCAGCCTC-1,Monocytes -CD8dep_CGAACATCACATCCGG-1,Monocytes -CD8dep_CGAACATGTAAACCTC-1,Monocytes -CD8dep_CGAACATGTATTAGCC-1,Monocytes -CD8dep_CGAACATGTGATGTGG-1,Monocytes -CD8dep_CGAACATTCGCGCCAA-1,Macrophages -CD8dep_CGAACATTCGGCTTGG-1,Monocytes -CD8dep_CGAATGTAGACAAAGG-1,Dendritic cells -CD8dep_CGAATGTAGACGCAAC-1,Monocytes -CD8dep_CGAATGTAGACGCTTT-1,Monocytes -CD8dep_CGAATGTAGAGTACAT-1,Monocytes -CD8dep_CGAATGTAGATCCTGT-1,Monocytes -CD8dep_CGAATGTCAACTGCTA-1,Monocytes -CD8dep_CGAATGTCAGCTGTGC-1,Dendritic cells -CD8dep_CGAATGTCATGTCTCC-1,Monocytes -CD8dep_CGAATGTGTACCGCTG-1,Monocytes -CD8dep_CGAATGTTCAACACAC-1,Monocytes -CD8dep_CGACCTTAGTTAAGTG-1,Monocytes -CD8dep_CGACCTTCAGTAAGCG-1,Monocytes -CD8dep_CGACCTTCATCCCACT-1,Monocytes -CD8dep_CGACCTTGTTCCACGG-1,Monocytes -CD8dep_CGACCTTGTTTAGGAA-1,Monocytes -CD8dep_CGACCTTTCAACCATG-1,Dendritic cells -CD8dep_CGACCTTTCCAGATCA-1,Macrophages -CD8dep_CGACCTTTCGTTTATC-1,Monocytes -CD8dep_CGACCTTTCTTCTGGC-1,Monocytes -CD8dep_CGACTTCAGGACAGAA-1,Macrophages -CD8dep_CGACTTCAGTCGCCGT-1,Monocytes -CD8dep_CGACTTCCAAGCGCTC-1,Monocytes -CD8dep_CGACTTCCATATACCG-1,Monocytes -CD8dep_CGACTTCCATCCGTGG-1,Monocytes -CD8dep_CGACTTCCATGGTCTA-1,Monocytes -CD8dep_CGACTTCGTTAAAGTG-1,Monocytes -CD8dep_CGACTTCTCCACTGGG-1,Macrophages -CD8dep_CGAGAAGAGAAGAAGC-1,Monocytes -CD8dep_CGAGAAGAGACTAAGT-1,Monocytes -CD8dep_CGAGAAGCAACGATCT-1,Monocytes -CD8dep_CGAGAAGTCGCCCTTA-1,Dendritic cells -CD8dep_CGAGAAGTCGTATCAG-1,Monocytes -CD8dep_CGAGCACAGACAAGCC-1,Granulocytes -CD8dep_CGAGCACAGCGAAGGG-1,Monocytes -CD8dep_CGAGCACAGGCTAGGT-1,Monocytes -CD8dep_CGAGCACCAAATACAG-1,Monocytes -CD8dep_CGAGCACCACACCGAC-1,Monocytes -CD8dep_CGAGCACCAGTAAGAT-1,Monocytes -CD8dep_CGAGCACGTAAGAGGA-1,Monocytes -CD8dep_CGAGCACGTCTACCTC-1,Monocytes -CD8dep_CGAGCCAAGACAGACC-1,Monocytes -CD8dep_CGAGCCAAGCTCCCAG-1,Monocytes -CD8dep_CGAGCCACAGACGCAA-1,Dendritic cells -CD8dep_CGAGCCACATAGACTC-1,Monocytes -CD8dep_CGAGCCAGTCGAGATG-1,Monocytes -CD8dep_CGAGCCAGTTCTCATT-1,Monocytes -CD8dep_CGAGCCAGTTGAGTTC-1,Monocytes -CD8dep_CGATCGGAGGAGTCTG-1,Monocytes -CD8dep_CGATCGGCAACAACCT-1,Monocytes -CD8dep_CGATCGGCACGGCCAT-1,Monocytes -CD8dep_CGATCGGGTCCAGTTA-1,T cells -CD8dep_CGATCGGGTGCCTGTG-1,Monocytes -CD8dep_CGATGGCAGCGACGTA-1,Monocytes -CD8dep_CGATGGCGTAAATGAC-1,Monocytes -CD8dep_CGATGGCGTAAGAGGA-1,Monocytes -CD8dep_CGATGGCGTCTTGCGG-1,Monocytes -CD8dep_CGATGGCGTGCGCTTG-1,Granulocytes -CD8dep_CGATGGCTCCCTGACT-1,Monocytes -CD8dep_CGATGTAAGCCTTGAT-1,Monocytes -CD8dep_CGATGTAAGCTGTTCA-1,Monocytes -CD8dep_CGATGTAAGTATTGGA-1,Dendritic cells -CD8dep_CGATGTAAGTCCGTAT-1,Dendritic cells -CD8dep_CGATGTAGTCCAGTTA-1,Monocytes -CD8dep_CGATGTAGTCGGCATC-1,Monocytes -CD8dep_CGATGTAGTGTAATGA-1,Monocytes -CD8dep_CGATGTAGTTAAGAAC-1,Granulocytes -CD8dep_CGATGTAGTTTGTGTG-1,Monocytes -CD8dep_CGATGTATCTCTTGAT-1,Monocytes -CD8dep_CGATTGAAGGCTCTTA-1,Monocytes -CD8dep_CGATTGAAGTGGGATC-1,Granulocytes -CD8dep_CGATTGAAGTTGCAGG-1,Monocytes -CD8dep_CGATTGACATGGGACA-1,Dendritic cells -CD8dep_CGATTGAGTCACAAGG-1,Macrophages -CD8dep_CGATTGAGTCCGTCAG-1,Monocytes -CD8dep_CGATTGAGTGTTGAGG-1,Dendritic cells -CD8dep_CGATTGATCAGTACGT-1,Monocytes -CD8dep_CGATTGATCATGTCTT-1,Monocytes -CD8dep_CGATTGATCTGCTGCT-1,Macrophages -CD8dep_CGATTGATCTTCAACT-1,Dendritic cells -CD8dep_CGCCAAGAGCACCGCT-1,Dendritic cells -CD8dep_CGCCAAGAGCAGCCTC-1,Monocytes -CD8dep_CGCCAAGGTTGAGGTG-1,Monocytes -CD8dep_CGCGGTAAGACCACGA-1,Dendritic cells -CD8dep_CGCGGTAAGCCACCTG-1,Monocytes -CD8dep_CGCGGTAGTCTACCTC-1,Monocytes -CD8dep_CGCGGTAGTTGGTAAA-1,Monocytes -CD8dep_CGCGGTATCATGTGGT-1,Dendritic cells -CD8dep_CGCGGTATCCAGAAGG-1,Monocytes -CD8dep_CGCGTTTCACGTCAGC-1,Monocytes -CD8dep_CGCGTTTGTGTGACGA-1,Monocytes -CD8dep_CGCGTTTGTTAGAACA-1,Monocytes -CD8dep_CGCGTTTTCCTGTAGA-1,Monocytes -CD8dep_CGCGTTTTCTCCAACC-1,Macrophages -CD8dep_CGCGTTTTCTTAACCT-1,Macrophages -CD8dep_CGCTATCAGGCAGGTT-1,Monocytes -CD8dep_CGCTATCCATAGTAAG-1,Dendritic cells -CD8dep_CGCTATCGTGCAACGA-1,Monocytes -CD8dep_CGCTATCGTTCATGGT-1,Monocytes -CD8dep_CGCTATCGTTGGAGGT-1,Macrophages -CD8dep_CGCTATCGTTTGTTGG-1,Monocytes -CD8dep_CGCTATCTCAATCACG-1,Granulocytes -CD8dep_CGCTATCTCTGATACG-1,Monocytes -CD8dep_CGCTGGAAGCTAAACA-1,Monocytes -CD8dep_CGCTGGACACCAGTTA-1,Monocytes -CD8dep_CGCTGGACACTGAAGG-1,Monocytes -CD8dep_CGCTGGACAGAGCCAA-1,Monocytes -CD8dep_CGCTGGACAGCCAATT-1,Monocytes -CD8dep_CGCTGGACATAAGACA-1,Dendritic cells -CD8dep_CGCTGGAGTAAGTTCC-1,Monocytes -CD8dep_CGCTGGAGTGACTACT-1,Dendritic cells -CD8dep_CGCTGGATCCGAATGT-1,Monocytes -CD8dep_CGCTGGATCGAGAACG-1,Monocytes -CD8dep_CGCTTCAAGTAGCGGT-1,Monocytes -CD8dep_CGCTTCAAGTTTGCGT-1,Monocytes -CD8dep_CGCTTCACAAACTGCT-1,Monocytes -CD8dep_CGCTTCACACTACAGT-1,Monocytes -CD8dep_CGCTTCACAGTCGATT-1,Monocytes -CD8dep_CGCTTCACATGCGCAC-1,Macrophages -CD8dep_CGCTTCAGTCTCCCTA-1,Granulocytes -CD8dep_CGCTTCAGTGGTGTAG-1,Monocytes -CD8dep_CGCTTCATCTGTCTAT-1,Monocytes -CD8dep_CGGACACCACAGTCGC-1,Monocytes -CD8dep_CGGACACGTGTGAATA-1,Monocytes -CD8dep_CGGACACTCAAACCGT-1,Monocytes -CD8dep_CGGACACTCACCTTAT-1,Dendritic cells -CD8dep_CGGACACTCATATCGG-1,Monocytes -CD8dep_CGGACACTCATGGTCA-1,Monocytes -CD8dep_CGGACACTCCGAGCCA-1,Monocytes -CD8dep_CGGACACTCTTGTCAT-1,Monocytes -CD8dep_CGGACGTAGGATGGTC-1,Monocytes -CD8dep_CGGACGTCAAGCCGCT-1,Monocytes -CD8dep_CGGACGTCACAACGTT-1,Monocytes -CD8dep_CGGACGTCACCTCGTT-1,Monocytes -CD8dep_CGGACGTCACGTGAGA-1,Monocytes -CD8dep_CGGACGTCACTCAGGC-1,Macrophages -CD8dep_CGGACGTCATCGATTG-1,Monocytes -CD8dep_CGGACGTGTTAAGATG-1,Monocytes -CD8dep_CGGACGTGTTACCGAT-1,Monocytes -CD8dep_CGGACGTTCTCGGACG-1,Monocytes -CD8dep_CGGACTGAGCGATATA-1,Monocytes -CD8dep_CGGACTGAGTACACCT-1,Monocytes -CD8dep_CGGACTGCATACGCTA-1,Monocytes -CD8dep_CGGACTGGTAAGTGTA-1,Monocytes -CD8dep_CGGACTGGTCGTCTTC-1,Monocytes -CD8dep_CGGACTGGTTAAGAAC-1,Monocytes -CD8dep_CGGACTGTCACCCGAG-1,Monocytes -CD8dep_CGGACTGTCCCTCAGT-1,Monocytes -CD8dep_CGGACTGTCGTAGGTT-1,Macrophages -CD8dep_CGGAGCTAGACGCTTT-1,Monocytes -CD8dep_CGGAGCTCACAGACAG-1,Monocytes -CD8dep_CGGAGCTGTGAGGGTT-1,Monocytes -CD8dep_CGGAGCTGTTGATTCG-1,Monocytes -CD8dep_CGGAGCTGTTGTGGCC-1,Dendritic cells -CD8dep_CGGAGCTTCGATCCCT-1,Dendritic cells -CD8dep_CGGAGTCAGACTACAA-1,Monocytes -CD8dep_CGGAGTCAGCAGCGTA-1,Dendritic cells -CD8dep_CGGAGTCGTTCAGGCC-1,Monocytes -CD8dep_CGGAGTCTCCATGCTC-1,Monocytes -CD8dep_CGGCTAGAGATATGGT-1,Monocytes -CD8dep_CGGCTAGCATGTCCTC-1,Granulocytes -CD8dep_CGGCTAGGTATTCGTG-1,Monocytes -CD8dep_CGGCTAGGTCTTCGTC-1,Monocytes -CD8dep_CGGCTAGTCCGAGCCA-1,Monocytes -CD8dep_CGGCTAGTCGCCAAAT-1,Monocytes -CD8dep_CGGCTAGTCGTTTATC-1,Monocytes -CD8dep_CGGGTCACACCAACCG-1,Dendritic cells -CD8dep_CGGGTCACAGTATCTG-1,Monocytes -CD8dep_CGGGTCACATACGCTA-1,Monocytes -CD8dep_CGGGTCACATCTACGA-1,Monocytes -CD8dep_CGGGTCAGTCCCGACA-1,Monocytes -CD8dep_CGGGTCAGTTTGACTG-1,Monocytes -CD8dep_CGGGTCATCGGAGCAA-1,Monocytes -CD8dep_CGGTTAAGTTCGCGAC-1,Monocytes -CD8dep_CGGTTAATCTACTCAT-1,Monocytes -CD8dep_CGGTTAATCTCGTATT-1,Monocytes -CD8dep_CGTAGCGAGATGTGGC-1,Monocytes -CD8dep_CGTAGCGCACTCAGGC-1,Monocytes -CD8dep_CGTAGCGCACTGTTAG-1,Monocytes -CD8dep_CGTAGCGCAGGATTGG-1,Monocytes -CD8dep_CGTAGCGCATTAGCCA-1,Dendritic cells -CD8dep_CGTAGCGGTCCAAGTT-1,Monocytes -CD8dep_CGTAGCGGTGTGTGCC-1,Monocytes -CD8dep_CGTAGCGTCATCGCTC-1,Monocytes -CD8dep_CGTAGCGTCCTATTCA-1,Monocytes -CD8dep_CGTAGCGTCTACGAGT-1,Monocytes -CD8dep_CGTAGGCAGAAACCAT-1,Macrophages -CD8dep_CGTAGGCAGACTAAGT-1,Dendritic cells -CD8dep_CGTAGGCAGTACGATA-1,Monocytes -CD8dep_CGTAGGCAGTCGTTTG-1,Monocytes -CD8dep_CGTAGGCAGTGTGGCA-1,Granulocytes -CD8dep_CGTAGGCAGTTGCAGG-1,Monocytes -CD8dep_CGTAGGCCAAAGCAAT-1,Monocytes -CD8dep_CGTAGGCCAAGTACCT-1,Monocytes -CD8dep_CGTAGGCCACGCGAAA-1,Monocytes -CD8dep_CGTAGGCGTAGAGTGC-1,Dendritic cells -CD8dep_CGTAGGCTCACAACGT-1,Monocytes -CD8dep_CGTAGGCTCCTCCTAG-1,Monocytes -CD8dep_CGTAGGCTCTATCCCG-1,Dendritic cells -CD8dep_CGTCACTAGAGCCTAG-1,Monocytes -CD8dep_CGTCACTAGTGTGGCA-1,Monocytes -CD8dep_CGTCACTCACCTCGTT-1,Monocytes -CD8dep_CGTCACTCAGCGTAAG-1,Monocytes -CD8dep_CGTCACTCAGGACGTA-1,Monocytes -CD8dep_CGTCACTCAGTCACTA-1,Monocytes -CD8dep_CGTCACTGTAAGGGAA-1,Monocytes -CD8dep_CGTCACTGTAGCACGA-1,Monocytes -CD8dep_CGTCACTGTCACCTAA-1,Monocytes -CD8dep_CGTCACTGTCTTGATG-1,Dendritic cells -CD8dep_CGTCACTGTGGGTATG-1,Monocytes -CD8dep_CGTCACTTCAAGAAGT-1,Dendritic cells -CD8dep_CGTCACTTCTGATACG-1,Monocytes -CD8dep_CGTCACTTCTTGGGTA-1,Monocytes -CD8dep_CGTCAGGCAATAAGCA-1,Monocytes -CD8dep_CGTCAGGGTCGATTGT-1,Macrophages -CD8dep_CGTCAGGGTTATGCGT-1,Monocytes -CD8dep_CGTCAGGTCCAGTAGT-1,Monocytes -CD8dep_CGTCAGGTCCCAACGG-1,Monocytes -CD8dep_CGTCCATAGAGTACCG-1,Monocytes -CD8dep_CGTCCATAGTTTAGGA-1,Macrophages -CD8dep_CGTCCATCACAGGTTT-1,Monocytes -CD8dep_CGTCCATCACCTTGTC-1,Monocytes -CD8dep_CGTCCATCACTATCTT-1,Monocytes -CD8dep_CGTCCATCATTTGCCC-1,Monocytes -CD8dep_CGTCCATGTATAAACG-1,Monocytes -CD8dep_CGTCCATTCTGTCTCG-1,Macrophages -CD8dep_CGTCCATTCTTGTATC-1,Macrophages -CD8dep_CGTCTACAGACTGGGT-1,Monocytes -CD8dep_CGTCTACAGGCAGTCA-1,Dendritic cells -CD8dep_CGTCTACAGTCCGTAT-1,Monocytes -CD8dep_CGTCTACCACAGTCGC-1,Dendritic cells -CD8dep_CGTCTACGTCGGATCC-1,Monocytes -CD8dep_CGTCTACGTCTAACGT-1,Monocytes -CD8dep_CGTCTACGTTGCTCCT-1,Monocytes -CD8dep_CGTCTACTCGGCGGTT-1,Monocytes -CD8dep_CGTGAGCAGCGGATCA-1,Monocytes -CD8dep_CGTGAGCCACAGGAGT-1,Monocytes -CD8dep_CGTGAGCTCGCGCCAA-1,Macrophages -CD8dep_CGTGTAAAGAACTGTA-1,Monocytes -CD8dep_CGTGTAAAGGGCTCTC-1,Monocytes -CD8dep_CGTGTAAAGTCACGCC-1,Monocytes -CD8dep_CGTGTAACAGTACACT-1,Dendritic cells -CD8dep_CGTGTAACAGTATCTG-1,Monocytes -CD8dep_CGTGTAAGTAAATGAC-1,Monocytes -CD8dep_CGTGTAAGTACGAAAT-1,Granulocytes -CD8dep_CGTGTAATCGCATGGC-1,Monocytes -CD8dep_CGTGTAATCGTAGGTT-1,Monocytes -CD8dep_CGTGTAATCTCTGTCG-1,Monocytes -CD8dep_CGTGTCTAGGTAAACT-1,Monocytes -CD8dep_CGTGTCTCAAACAACA-1,Monocytes -CD8dep_CGTGTCTCAGGCTCAC-1,Monocytes -CD8dep_CGTGTCTCATGACGGA-1,Monocytes -CD8dep_CGTGTCTGTTTAGGAA-1,Monocytes -CD8dep_CGTGTCTTCACAAACC-1,Macrophages -CD8dep_CGTGTCTTCACTTATC-1,Dendritic cells -CD8dep_CGTGTCTTCCGCATCT-1,Monocytes -CD8dep_CGTGTCTTCTTAACCT-1,Monocytes -CD8dep_CGTTAGAAGGCTATCT-1,Monocytes -CD8dep_CGTTAGAAGTAGGCCA-1,Monocytes -CD8dep_CGTTAGACAATGAATG-1,Monocytes -CD8dep_CGTTAGAGTCCCTTGT-1,Monocytes -CD8dep_CGTTAGAGTTGATTCG-1,Monocytes -CD8dep_CGTTAGATCAATAAGG-1,Macrophages -CD8dep_CGTTAGATCCTATGTT-1,Monocytes -CD8dep_CGTTAGATCGAACGGA-1,Monocytes -CD8dep_CGTTAGATCGGTCCGA-1,Monocytes -CD8dep_CGTTCTGAGGAGCGAG-1,Monocytes -CD8dep_CGTTCTGCATCGGACC-1,Monocytes -CD8dep_CGTTCTGGTAGTAGTA-1,Monocytes -CD8dep_CGTTCTGGTGTTAAGA-1,Monocytes -CD8dep_CGTTCTGTCTCAAACG-1,T cells -CD8dep_CGTTGGGAGCGATTCT-1,Monocytes -CD8dep_CGTTGGGAGGCGCTCT-1,Monocytes -CD8dep_CGTTGGGAGTAGTGCG-1,Monocytes -CD8dep_CGTTGGGCAATTCCTT-1,Monocytes -CD8dep_CGTTGGGCACAGTCGC-1,Monocytes -CD8dep_CGTTGGGGTCTTCGTC-1,Monocytes -CD8dep_CGTTGGGTCCGCAGTG-1,Monocytes -CD8dep_CGTTGGGTCGCCTGAG-1,Dendritic cells -CD8dep_CTAACTTAGCTAGGCA-1,Monocytes -CD8dep_CTAACTTCACCGCTAG-1,Monocytes -CD8dep_CTAACTTCAGGTCCAC-1,Monocytes -CD8dep_CTAACTTGTCCATCCT-1,Dendritic cells -CD8dep_CTAACTTGTCCTAGCG-1,Monocytes -CD8dep_CTAACTTGTCGCTTTC-1,Monocytes -CD8dep_CTAACTTGTCGTCTTC-1,Monocytes -CD8dep_CTAACTTTCGGCATCG-1,Monocytes -CD8dep_CTAAGACAGATGGGTC-1,Monocytes -CD8dep_CTAAGACAGCTAACAA-1,Monocytes -CD8dep_CTAAGACAGTGGTCCC-1,Monocytes -CD8dep_CTAAGACAGTTTAGGA-1,Monocytes -CD8dep_CTAAGACCACACCGCA-1,Macrophages -CD8dep_CTAAGACCAGGGTACA-1,Monocytes -CD8dep_CTAAGACCATCCCATC-1,Monocytes -CD8dep_CTAAGACCATTAACCG-1,Monocytes -CD8dep_CTAAGACGTAGGCTGA-1,Monocytes -CD8dep_CTAAGACGTATAGGTA-1,Dendritic cells -CD8dep_CTAAGACGTCAAGCGA-1,Monocytes -CD8dep_CTAAGACGTTGTGGAG-1,Monocytes -CD8dep_CTAAGACTCGTCACGG-1,Monocytes -CD8dep_CTAAGACTCTGTCTCG-1,Dendritic cells -CD8dep_CTAAGACTCTTTACAC-1,Monocytes -CD8dep_CTAATGGAGCCGATTT-1,Monocytes -CD8dep_CTAATGGAGGCGATAC-1,Monocytes -CD8dep_CTAATGGAGGGTGTTG-1,Monocytes -CD8dep_CTAATGGCACAGACTT-1,Granulocytes -CD8dep_CTAATGGGTACCGCTG-1,Monocytes -CD8dep_CTAATGGTCGGAAACG-1,Monocytes -CD8dep_CTAATGGTCTCTTATG-1,Macrophages -CD8dep_CTACACCAGGAGCGTT-1,Monocytes -CD8dep_CTACACCAGGCAGGTT-1,Monocytes -CD8dep_CTACACCCATCGATGT-1,Monocytes -CD8dep_CTACACCTCAACACCA-1,Monocytes -CD8dep_CTACACCTCAAGAAGT-1,Monocytes -CD8dep_CTACACCTCTGCGGCA-1,Monocytes -CD8dep_CTACATTAGCAGCGTA-1,Dendritic cells -CD8dep_CTACATTAGCGATCCC-1,Monocytes -CD8dep_CTACATTCACGGCCAT-1,Monocytes -CD8dep_CTACATTCAGTCAGAG-1,Monocytes -CD8dep_CTACATTCAGTTCCCT-1,Monocytes -CD8dep_CTACATTGTGAAGGCT-1,Monocytes -CD8dep_CTACATTTCTCGATGA-1,Dendritic cells -CD8dep_CTACATTTCTTACCGC-1,Monocytes -CD8dep_CTACCCACAGTGAGTG-1,Monocytes -CD8dep_CTACCCACATACCATG-1,Monocytes -CD8dep_CTACCCAGTGCGAAAC-1,Monocytes -CD8dep_CTACCCAGTTACGTCA-1,Adipocytes -CD8dep_CTACCCAGTTATGTGC-1,Monocytes -CD8dep_CTACGTCAGTGAAGAG-1,Monocytes -CD8dep_CTACGTCCACAGATTC-1,Monocytes -CD8dep_CTACGTCCATGTAAGA-1,Monocytes -CD8dep_CTACGTCGTCAAGCGA-1,Monocytes -CD8dep_CTACGTCTCAACGAAA-1,Granulocytes -CD8dep_CTAGAGTAGATAGGAG-1,Monocytes -CD8dep_CTAGAGTAGATCCCAT-1,Monocytes -CD8dep_CTAGAGTAGTGTTAGA-1,Monocytes -CD8dep_CTAGAGTCACGAGGTA-1,Monocytes -CD8dep_CTAGAGTCATTGGCGC-1,Monocytes -CD8dep_CTAGAGTTCAAGGCTT-1,Monocytes -CD8dep_CTAGAGTTCAGGTAAA-1,Monocytes -CD8dep_CTAGAGTTCATAACCG-1,Granulocytes -CD8dep_CTAGAGTTCTCAACTT-1,Monocytes -CD8dep_CTAGCCTAGAGACGAA-1,Monocytes -CD8dep_CTAGCCTAGAGACTTA-1,Monocytes -CD8dep_CTAGCCTAGATGCCAG-1,Macrophages -CD8dep_CTAGCCTAGGCTACGA-1,Monocytes -CD8dep_CTAGCCTCAACTGGCC-1,Monocytes -CD8dep_CTAGCCTCAATGGAAT-1,Dendritic cells -CD8dep_CTAGCCTCACAGGAGT-1,Monocytes -CD8dep_CTAGCCTCAGATGGCA-1,Monocytes -CD8dep_CTAGCCTCAGCCAGAA-1,Granulocytes -CD8dep_CTAGCCTTCAAACCAC-1,Monocytes -CD8dep_CTAGCCTTCAGCACAT-1,Macrophages -CD8dep_CTAGTGACAGGGTACA-1,Monocytes -CD8dep_CTAGTGAGTCTAGTCA-1,Monocytes -CD8dep_CTAGTGAGTTCTCATT-1,Granulocytes -CD8dep_CTAGTGAGTTGTACAC-1,Monocytes -CD8dep_CTAGTGATCGCAGGCT-1,Monocytes -CD8dep_CTAGTGATCGTCTGAA-1,Dendritic cells -CD8dep_CTAGTGATCTATCGCC-1,Dendritic cells -CD8dep_CTAGTGATCTGCGACG-1,Monocytes -CD8dep_CTCACACCACACCGCA-1,Monocytes -CD8dep_CTCACACCATTGCGGC-1,Monocytes -CD8dep_CTCACACGTAAGGGCT-1,Monocytes -CD8dep_CTCACACGTGGTGTAG-1,Monocytes -CD8dep_CTCACACGTGTGGCTC-1,Monocytes -CD8dep_CTCACACGTGTTGGGA-1,Monocytes -CD8dep_CTCACACTCAAGATCC-1,Macrophages -CD8dep_CTCACACTCTTGAGAC-1,Dendritic cells -CD8dep_CTCAGAACAACCGCCA-1,Monocytes -CD8dep_CTCAGAACATATACCG-1,Monocytes -CD8dep_CTCAGAAGTAGAGGAA-1,Monocytes -CD8dep_CTCAGAAGTCGAAAGC-1,Monocytes -CD8dep_CTCAGAATCTACGAGT-1,Dendritic cells -CD8dep_CTCATTAAGTCCATAC-1,Monocytes -CD8dep_CTCATTAGTAGCTTGT-1,Macrophages -CD8dep_CTCCTAGAGTTAGCGG-1,Monocytes -CD8dep_CTCCTAGCACGGCGTT-1,Monocytes -CD8dep_CTCCTAGCAGATCCAT-1,Monocytes -CD8dep_CTCCTAGGTACCGTTA-1,Macrophages -CD8dep_CTCCTAGGTATAATGG-1,Monocytes -CD8dep_CTCCTAGTCCTAGGGC-1,Dendritic cells -CD8dep_CTCGAAAAGCCACTAT-1,Monocytes -CD8dep_CTCGAAAAGCGTTCCG-1,Monocytes -CD8dep_CTCGAAAAGCTGAACG-1,Monocytes -CD8dep_CTCGAAAAGTACGTTC-1,Monocytes -CD8dep_CTCGAAAGTAAGAGGA-1,Monocytes -CD8dep_CTCGAAAGTGTGGCTC-1,Monocytes -CD8dep_CTCGAAATCCAGTATG-1,Dendritic cells -CD8dep_CTCGAAATCTACCTGC-1,Monocytes -CD8dep_CTCGAGGAGAACTGTA-1,Macrophages -CD8dep_CTCGAGGAGTCATCCA-1,Monocytes -CD8dep_CTCGAGGGTCAAAGCG-1,Granulocytes -CD8dep_CTCGAGGGTCTAGCGC-1,Monocytes -CD8dep_CTCGAGGTCATGGTCA-1,Dendritic cells -CD8dep_CTCGGAGAGTTCCACA-1,Monocytes -CD8dep_CTCGGAGCACACCGCA-1,Monocytes -CD8dep_CTCGGAGCACGCCAGT-1,Monocytes -CD8dep_CTCGGAGTCACCGGGT-1,Monocytes -CD8dep_CTCGGAGTCCTAAGTG-1,Monocytes -CD8dep_CTCGGGAAGGAGTCTG-1,Monocytes -CD8dep_CTCGGGACACCCATTC-1,Monocytes -CD8dep_CTCGGGACAGGCGATA-1,Monocytes -CD8dep_CTCGGGACATGGTAGG-1,Monocytes -CD8dep_CTCGGGAGTGCAACTT-1,Monocytes -CD8dep_CTCGGGAGTTCGCGAC-1,Monocytes -CD8dep_CTCGGGATCAGGTAAA-1,Monocytes -CD8dep_CTCGGGATCGCCCTTA-1,Monocytes -CD8dep_CTCGGGATCTTCGAGA-1,Monocytes -CD8dep_CTCGTACAGAGGGATA-1,Monocytes -CD8dep_CTCGTACAGGGTGTGT-1,Monocytes -CD8dep_CTCGTACCAGAGTGTG-1,Macrophages -CD8dep_CTCGTACGTAGTGAAT-1,Dendritic cells -CD8dep_CTCGTACGTCCTGCTT-1,Monocytes -CD8dep_CTCGTACGTCGAAAGC-1,Granulocytes -CD8dep_CTCGTACTCAGATAAG-1,Monocytes -CD8dep_CTCGTACTCGAACTGT-1,Monocytes -CD8dep_CTCGTACTCTGCTGTC-1,Monocytes -CD8dep_CTCGTCAAGCCGCCTA-1,Dendritic cells -CD8dep_CTCGTCAAGGAGTAGA-1,Dendritic cells -CD8dep_CTCGTCACACAGGTTT-1,Monocytes -CD8dep_CTCGTCACAGGTCCAC-1,Monocytes -CD8dep_CTCGTCAGTAGCGTAG-1,Monocytes -CD8dep_CTCGTCAGTCAGAGGT-1,Monocytes -CD8dep_CTCGTCAGTCCCTTGT-1,Dendritic cells -CD8dep_CTCGTCAGTGTGACCC-1,Monocytes -CD8dep_CTCGTCAGTTTCCACC-1,Monocytes -CD8dep_CTCGTCATCAATCACG-1,Dendritic cells -CD8dep_CTCGTCATCCCAGGTG-1,Monocytes -CD8dep_CTCTAATAGGCTCAGA-1,Monocytes -CD8dep_CTCTAATCAAGCGCTC-1,Monocytes -CD8dep_CTCTAATCAGGTGGAT-1,Dendritic cells -CD8dep_CTCTAATCATCACGAT-1,Monocytes -CD8dep_CTCTAATGTACCAGTT-1,Monocytes -CD8dep_CTCTAATGTATATGAG-1,Granulocytes -CD8dep_CTCTAATGTATCAGTC-1,Monocytes -CD8dep_CTCTAATGTCTAACGT-1,Monocytes -CD8dep_CTCTACGAGGACATTA-1,Monocytes -CD8dep_CTCTACGAGGATGGAA-1,Monocytes -CD8dep_CTCTACGGTAGAGTGC-1,Monocytes -CD8dep_CTCTACGTCCAAAGTC-1,Monocytes -CD8dep_CTCTACGTCTTGACGA-1,Dendritic cells -CD8dep_CTCTGGTAGATGCGAC-1,Macrophages -CD8dep_CTCTGGTAGCTACCTA-1,Monocytes -CD8dep_CTCTGGTAGGTTCCTA-1,Dendritic cells -CD8dep_CTCTGGTCAACGATGG-1,Monocytes -CD8dep_CTCTGGTCACACAGAG-1,Monocytes -CD8dep_CTCTGGTGTACAGTTC-1,Monocytes -CD8dep_CTCTGGTGTCCAACTA-1,Monocytes -CD8dep_CTCTGGTGTGTCCTCT-1,Monocytes -CD8dep_CTCTGGTGTTCATGGT-1,Monocytes -CD8dep_CTCTGGTGTTCGAATC-1,Monocytes -CD8dep_CTCTGGTTCGTGGTCG-1,Dendritic cells -CD8dep_CTCTGGTTCTGTTGAG-1,Monocytes -CD8dep_CTCTGGTTCTTGCAAG-1,Monocytes -CD8dep_CTGAAACAGAGGACGG-1,Monocytes -CD8dep_CTGAAACCACCGCTAG-1,Monocytes -CD8dep_CTGAAACCAGCGTAAG-1,Monocytes -CD8dep_CTGAAACCAGTCGATT-1,Monocytes -CD8dep_CTGAAACCATCACGTA-1,Monocytes -CD8dep_CTGAAACTCTCGAGTA-1,Monocytes -CD8dep_CTGAAGTAGAGCTATA-1,Monocytes -CD8dep_CTGAAGTAGAGTGACC-1,Macrophages -CD8dep_CTGAAGTCACAGAGGT-1,Monocytes -CD8dep_CTGAAGTCACGAAAGC-1,Monocytes -CD8dep_CTGAAGTCAGACAAGC-1,Monocytes -CD8dep_CTGAAGTGTGCTCTTC-1,Macrophages -CD8dep_CTGAAGTGTGTAACGG-1,Macrophages -CD8dep_CTGAAGTTCGCGATCG-1,Monocytes -CD8dep_CTGATAGAGAAACCAT-1,Monocytes -CD8dep_CTGATAGAGACATAAC-1,Monocytes -CD8dep_CTGATAGAGTGAACAT-1,Monocytes -CD8dep_CTGATAGCAAGTCTGT-1,Macrophages -CD8dep_CTGATAGCACCGATAT-1,Monocytes -CD8dep_CTGATAGCAGATCGGA-1,Monocytes -CD8dep_CTGATAGCAGGGTTAG-1,Monocytes -CD8dep_CTGATAGCAGTTCATG-1,Monocytes -CD8dep_CTGATAGGTCAGAAGC-1,Macrophages -CD8dep_CTGATAGGTCCCGACA-1,Monocytes -CD8dep_CTGATAGGTTACGTCA-1,Monocytes -CD8dep_CTGATAGGTTCATGGT-1,Monocytes -CD8dep_CTGATAGTCCCTGACT-1,Monocytes -CD8dep_CTGATAGTCCGTAGGC-1,Monocytes -CD8dep_CTGATAGTCCTAGTGA-1,Dendritic cells -CD8dep_CTGATCCAGAATTGTG-1,Monocytes -CD8dep_CTGATCCAGTCAAGCG-1,Monocytes -CD8dep_CTGATCCCAATGCCAT-1,Dendritic cells -CD8dep_CTGATCCCATTGTGCA-1,Monocytes -CD8dep_CTGATCCCATTTGCTT-1,Dendritic cells -CD8dep_CTGATCCGTAGTGAAT-1,Monocytes -CD8dep_CTGATCCGTCTTCTCG-1,Monocytes -CD8dep_CTGATCCGTGAAATCA-1,Monocytes -CD8dep_CTGATCCGTTCAGTAC-1,Monocytes -CD8dep_CTGATCCTCTAGCACA-1,Monocytes -CD8dep_CTGATCCTCTCGCTTG-1,Macrophages -CD8dep_CTGCCTAAGTACGACG-1,Dendritic cells -CD8dep_CTGCCTACACAAGTAA-1,Dendritic cells -CD8dep_CTGCCTAGTACTTGAC-1,Macrophages -CD8dep_CTGCCTAGTCAGAATA-1,NK cells -CD8dep_CTGCCTATCCGAGCCA-1,Dendritic cells -CD8dep_CTGCCTATCTACGAGT-1,Dendritic cells -CD8dep_CTGCCTATCTTTAGTC-1,Monocytes -CD8dep_CTGCGGAAGCGATGAC-1,Monocytes -CD8dep_CTGCGGACAGGAATGC-1,Dendritic cells -CD8dep_CTGCGGACAGGCTGAA-1,Macrophages -CD8dep_CTGCGGACATCGGGTC-1,Monocytes -CD8dep_CTGCGGAGTTCGTCTC-1,Monocytes -CD8dep_CTGCGGATCAGGCAAG-1,Monocytes -CD8dep_CTGCGGATCCACTGGG-1,Monocytes -CD8dep_CTGCGGATCGCCATAA-1,Macrophages -CD8dep_CTGCTGTAGTGTACCT-1,Monocytes -CD8dep_CTGCTGTCACCAGTTA-1,Macrophages -CD8dep_CTGCTGTGTAGCACGA-1,Monocytes -CD8dep_CTGCTGTGTCCGAAGA-1,Monocytes -CD8dep_CTGCTGTTCCAGATCA-1,Monocytes -CD8dep_CTGCTGTTCGCAAACT-1,Dendritic cells -CD8dep_CTGGTCTAGTACGACG-1,T cells -CD8dep_CTGGTCTCAGATCCAT-1,Dendritic cells -CD8dep_CTGGTCTGTGCACGAA-1,Monocytes -CD8dep_CTGGTCTGTTATCACG-1,Monocytes -CD8dep_CTGGTCTGTTTAGCTG-1,Dendritic cells -CD8dep_CTGGTCTTCTTCTGGC-1,Monocytes -CD8dep_CTGTGCTAGAGTTGGC-1,Dendritic cells -CD8dep_CTGTGCTAGCATGGCA-1,Monocytes -CD8dep_CTGTGCTAGCGGATCA-1,Monocytes -CD8dep_CTGTGCTAGTACGCCC-1,Dendritic cells -CD8dep_CTGTGCTAGTTTAGGA-1,Monocytes -CD8dep_CTGTGCTCACGGTAGA-1,Monocytes -CD8dep_CTGTGCTGTAAGGGCT-1,Monocytes -CD8dep_CTGTGCTGTACTTAGC-1,Monocytes -CD8dep_CTGTGCTTCATAAAGG-1,Dendritic cells -CD8dep_CTGTGCTTCCGCGGTA-1,Monocytes -CD8dep_CTGTGCTTCGCCTGAG-1,Monocytes -CD8dep_CTGTTTAAGATCCTGT-1,Monocytes -CD8dep_CTGTTTAAGATGCCTT-1,Monocytes -CD8dep_CTGTTTAAGTGCTGCC-1,Monocytes -CD8dep_CTGTTTACAAAGTCAA-1,Monocytes -CD8dep_CTGTTTACAAAGTGCG-1,Monocytes -CD8dep_CTGTTTACAAGCGAGT-1,Monocytes -CD8dep_CTGTTTACATAGAAAC-1,Monocytes -CD8dep_CTGTTTAGTGTGCCTG-1,Monocytes -CD8dep_CTGTTTAGTTATGTGC-1,Monocytes -CD8dep_CTGTTTAGTTGTCGCG-1,T cells -CD8dep_CTGTTTATCCATGAAC-1,Monocytes -CD8dep_CTGTTTATCTGCCAGG-1,Monocytes -CD8dep_CTGTTTATCTGCGTAA-1,Dendritic cells -CD8dep_CTGTTTATCTTGCAAG-1,Monocytes -CD8dep_CTTAACTAGACAATAC-1,Dendritic cells -CD8dep_CTTAACTAGATACACA-1,Monocytes -CD8dep_CTTAACTAGTCTCAAC-1,Monocytes -CD8dep_CTTAACTCAGGGTATG-1,Macrophages -CD8dep_CTTAACTGTCCGAACC-1,Monocytes -CD8dep_CTTAACTGTCTGATCA-1,Monocytes -CD8dep_CTTAACTGTGGTCTCG-1,Monocytes -CD8dep_CTTAACTTCAGTTGAC-1,Monocytes -CD8dep_CTTAACTTCTGGCGAC-1,Macrophages -CD8dep_CTTACCGAGACAAAGG-1,Monocytes -CD8dep_CTTACCGAGCCACTAT-1,Monocytes -CD8dep_CTTACCGAGTCCAGGA-1,Monocytes -CD8dep_CTTACCGAGTGTGGCA-1,Monocytes -CD8dep_CTTACCGCAGCCAGAA-1,Granulocytes -CD8dep_CTTACCGCAGGATCGA-1,Monocytes -CD8dep_CTTACCGCATATACCG-1,Monocytes -CD8dep_CTTACCGCATTAGCCA-1,Dendritic cells -CD8dep_CTTACCGGTAAGGGAA-1,Monocytes -CD8dep_CTTACCGGTAGTAGTA-1,T cells -CD8dep_CTTACCGGTCATACTG-1,Monocytes -CD8dep_CTTACCGGTTCAACCA-1,Monocytes -CD8dep_CTTACCGTCATGTCCC-1,Monocytes -CD8dep_CTTAGGAAGGCAAAGA-1,Monocytes -CD8dep_CTTAGGAAGTAGGTGC-1,Monocytes -CD8dep_CTTAGGACAAGTTAAG-1,Monocytes -CD8dep_CTTAGGACAGATCGGA-1,Monocytes -CD8dep_CTTAGGACATGACGGA-1,Monocytes -CD8dep_CTTAGGAGTAGCGCTC-1,Macrophages -CD8dep_CTTAGGAGTATAGGGC-1,Monocytes -CD8dep_CTTAGGAGTCTAAACC-1,Macrophages -CD8dep_CTTAGGAGTGTATGGG-1,Macrophages -CD8dep_CTTAGGATCATTGCGA-1,Monocytes -CD8dep_CTTAGGATCCTTAATC-1,Dendritic cells -CD8dep_CTTAGGATCTTTAGGG-1,Monocytes -CD8dep_CTTCTCTAGCGATAGC-1,Monocytes -CD8dep_CTTCTCTAGGACAGAA-1,Monocytes -CD8dep_CTTCTCTAGGCCGAAT-1,Monocytes -CD8dep_CTTCTCTAGGGTCGAT-1,Monocytes -CD8dep_CTTCTCTCAATCTGCA-1,Monocytes -CD8dep_CTTCTCTCACATCTTT-1,Monocytes -CD8dep_CTTCTCTCATTGAGCT-1,Monocytes -CD8dep_CTTCTCTGTCGCATAT-1,Monocytes -CD8dep_CTTCTCTGTCTCATCC-1,Monocytes -CD8dep_CTTCTCTGTTATCACG-1,Monocytes -CD8dep_CTTGGCTAGGACAGAA-1,Monocytes -CD8dep_CTTGGCTCATAACCTG-1,Macrophages -CD8dep_CTTGGCTGTCGAATCT-1,Monocytes -CD8dep_CTTGGCTTCTCGCTTG-1,Monocytes -CD8dep_CTTTGCGAGGGCTTCC-1,Dendritic cells -CD8dep_CTTTGCGAGTGTGAAT-1,Monocytes -CD8dep_CTTTGCGCAGGCTGAA-1,Monocytes -CD8dep_CTTTGCGGTACGAAAT-1,Macrophages -CD8dep_CTTTGCGGTCTTCTCG-1,Monocytes -CD8dep_CTTTGCGTCGGCGCAT-1,Dendritic cells -CD8dep_CTTTGCGTCGTTACGA-1,Monocytes -CD8dep_GAAACTCAGACCTTTG-1,Monocytes -CD8dep_GAAACTCCAAGTCATC-1,Dendritic cells -CD8dep_GAAACTCCATACGCCG-1,Monocytes -CD8dep_GAAACTCTCATCGATG-1,Monocytes -CD8dep_GAAATGAAGACAGACC-1,Monocytes -CD8dep_GAAATGAAGCAAATCA-1,Monocytes -CD8dep_GAAATGAAGGGAACGG-1,Monocytes -CD8dep_GAAATGAAGTGTCCAT-1,Monocytes -CD8dep_GAAATGACATATACGC-1,Granulocytes -CD8dep_GAAATGAGTAAGAGGA-1,Dendritic cells -CD8dep_GAAATGAGTTTGACAC-1,Monocytes -CD8dep_GAAATGATCACAGGCC-1,Monocytes -CD8dep_GAAATGATCTCAAGTG-1,Monocytes -CD8dep_GAACATCAGATCCGAG-1,Dendritic cells -CD8dep_GAACATCAGATGCCAG-1,Monocytes -CD8dep_GAACATCAGCTGTCTA-1,Monocytes -CD8dep_GAACATCAGGTAGCTG-1,Monocytes -CD8dep_GAACATCAGTCTTGCA-1,Monocytes -CD8dep_GAACATCCACGGCCAT-1,Monocytes -CD8dep_GAACATCGTCGCGTGT-1,Monocytes -CD8dep_GAACATCTCAGCTCTC-1,Monocytes -CD8dep_GAACCTACAATGGAGC-1,Monocytes -CD8dep_GAACCTACATACGCCG-1,Monocytes -CD8dep_GAACCTAGTCGATTGT-1,Monocytes -CD8dep_GAACCTAGTGTGTGCC-1,Macrophages -CD8dep_GAACCTATCATGTGGT-1,Monocytes -CD8dep_GAACCTATCCGAATGT-1,Monocytes -CD8dep_GAACGGAAGCACGCCT-1,Monocytes -CD8dep_GAACGGACAACTGCTA-1,Macrophages -CD8dep_GAACGGACAAGAAGAG-1,Monocytes -CD8dep_GAACGGACATCTACGA-1,Monocytes -CD8dep_GAACGGATCAACCAAC-1,Monocytes -CD8dep_GAACGGATCTAACTGG-1,Monocytes -CD8dep_GAAGCAGAGCCACTAT-1,Monocytes -CD8dep_GAAGCAGAGCTGTCTA-1,Monocytes -CD8dep_GAAGCAGAGGTGATTA-1,Monocytes -CD8dep_GAAGCAGCACATCCGG-1,Monocytes -CD8dep_GAAGCAGGTACTTAGC-1,Monocytes -CD8dep_GAAGCAGGTCGCATAT-1,Monocytes -CD8dep_GAAGCAGTCCGAGCCA-1,Monocytes -CD8dep_GAAGCAGTCCTCATTA-1,Monocytes -CD8dep_GAATAAGAGAGTGACC-1,Dendritic cells -CD8dep_GAATAAGAGATCCCGC-1,Monocytes -CD8dep_GAATAAGAGCACACAG-1,Monocytes -CD8dep_GAATAAGGTAAGAGAG-1,Monocytes -CD8dep_GAATAAGGTCAAAGAT-1,Monocytes -CD8dep_GAATAAGGTCAGCTAT-1,Dendritic cells -CD8dep_GAATAAGTCAACGCTA-1,Macrophages -CD8dep_GAATGAAAGCTGCGAA-1,Monocytes -CD8dep_GAATGAAAGGAGTTGC-1,Dendritic cells -CD8dep_GAATGAAAGGGAAACA-1,Monocytes -CD8dep_GAATGAACATGAACCT-1,Dendritic cells -CD8dep_GAATGAAGTTCACCTC-1,Monocytes -CD8dep_GAATGAAGTTTGGCGC-1,Macrophages -CD8dep_GAATGAATCAAGGCTT-1,Monocytes -CD8dep_GAATGAATCAGCTGGC-1,Dendritic cells -CD8dep_GAATGAATCATAAAGG-1,Macrophages -CD8dep_GACACGCAGACCCACC-1,Dendritic cells -CD8dep_GACACGCAGCCCAGCT-1,Dendritic cells -CD8dep_GACACGCCAAGTCATC-1,Monocytes -CD8dep_GACACGCCACAGACTT-1,Monocytes -CD8dep_GACACGCCATACTACG-1,Monocytes -CD8dep_GACACGCCATTAACCG-1,Monocytes -CD8dep_GACACGCGTAAGAGGA-1,Monocytes -CD8dep_GACACGCGTCGTCTTC-1,Monocytes -CD8dep_GACACGCGTTCCATGA-1,Monocytes -CD8dep_GACACGCGTTCGCTAA-1,Monocytes -CD8dep_GACACGCGTTCGGCAC-1,Monocytes -CD8dep_GACACGCTCATATCGG-1,Monocytes -CD8dep_GACACGCTCGTTGCCT-1,Monocytes -CD8dep_GACACGCTCTGCGACG-1,Monocytes -CD8dep_GACAGAGCAGCCTGTG-1,Macrophages -CD8dep_GACAGAGGTAAACACA-1,Monocytes -CD8dep_GACCAATAGCTAAACA-1,Monocytes -CD8dep_GACCAATAGTGTGGCA-1,Monocytes -CD8dep_GACCAATGTACAGTTC-1,Monocytes -CD8dep_GACCAATGTTAAAGTG-1,Monocytes -CD8dep_GACCAATGTTCAGCGC-1,Dendritic cells -CD8dep_GACCAATGTTGGACCC-1,Monocytes -CD8dep_GACCAATTCATCTGCC-1,Monocytes -CD8dep_GACCAATTCGACGGAA-1,Monocytes -CD8dep_GACCAATTCGTATCAG-1,Granulocytes -CD8dep_GACCAATTCTCAAACG-1,Dendritic cells -CD8dep_GACCTGGAGGCTAGAC-1,Monocytes -CD8dep_GACCTGGAGTACGTTC-1,Macrophages -CD8dep_GACCTGGCATACTCTT-1,Monocytes -CD8dep_GACCTGGCATGGGACA-1,Granulocytes -CD8dep_GACCTGGCATTAGCCA-1,Monocytes -CD8dep_GACCTGGCATTTGCTT-1,Granulocytes -CD8dep_GACCTGGGTAGATTAG-1,Macrophages -CD8dep_GACCTGGGTCCCTACT-1,Monocytes -CD8dep_GACCTGGGTTCCATGA-1,Monocytes -CD8dep_GACGCGTAGCGGCTTC-1,Monocytes -CD8dep_GACGCGTCAGACGCAA-1,Monocytes -CD8dep_GACGCGTGTCTGGTCG-1,Monocytes -CD8dep_GACGCGTGTGCACCAC-1,Dendritic cells -CD8dep_GACGCGTGTGGGTATG-1,Dendritic cells -CD8dep_GACGCGTTCAACCAAC-1,Monocytes -CD8dep_GACGCGTTCAATCACG-1,Dendritic cells -CD8dep_GACGGCTAGATGTCGG-1,Monocytes -CD8dep_GACGGCTAGCTAGCCC-1,Macrophages -CD8dep_GACGGCTAGTTCGATC-1,Dendritic cells -CD8dep_GACGGCTCACAGACTT-1,Monocytes -CD8dep_GACGGCTCACAGGTTT-1,Dendritic cells -CD8dep_GACGGCTTCAACACCA-1,Monocytes -CD8dep_GACGGCTTCAATAAGG-1,Monocytes -CD8dep_GACGGCTTCAGAGCTT-1,Monocytes -CD8dep_GACGGCTTCATGTCCC-1,Monocytes -CD8dep_GACGGCTTCGTTTAGG-1,Monocytes -CD8dep_GACGTGCAGCTGGAAC-1,Granulocytes -CD8dep_GACGTGCCAGTCACTA-1,Monocytes -CD8dep_GACGTGCGTAGGACAC-1,Macrophages -CD8dep_GACGTGCGTCCGAATT-1,Monocytes -CD8dep_GACGTGCGTCCGACGT-1,Monocytes -CD8dep_GACGTGCGTCGCCATG-1,Monocytes -CD8dep_GACGTGCGTTCGGCAC-1,Dendritic cells -CD8dep_GACGTGCTCAGCTCGG-1,Monocytes -CD8dep_GACGTGCTCGGAATCT-1,Macrophages -CD8dep_GACGTTAAGGAGTAGA-1,Monocytes -CD8dep_GACGTTAAGGGTATCG-1,Dendritic cells -CD8dep_GACGTTACAAGGTTCT-1,Monocytes -CD8dep_GACGTTACAGATCGGA-1,Monocytes -CD8dep_GACGTTAGTCAAACTC-1,Dendritic cells -CD8dep_GACGTTAGTGCTTCTC-1,Monocytes -CD8dep_GACGTTATCCAGAAGG-1,Monocytes -CD8dep_GACTAACAGCGTTCCG-1,Monocytes -CD8dep_GACTAACAGGTTCCTA-1,Monocytes -CD8dep_GACTAACAGTTGAGTA-1,Monocytes -CD8dep_GACTAACCACACGCTG-1,Macrophages -CD8dep_GACTAACCAGTCGATT-1,Monocytes -CD8dep_GACTAACCATGCTAGT-1,Monocytes -CD8dep_GACTAACGTTAAGAAC-1,Monocytes -CD8dep_GACTAACGTTACAGAA-1,Dendritic cells -CD8dep_GACTAACTCAAGAAGT-1,Dendritic cells -CD8dep_GACTAACTCACGCGGT-1,Monocytes -CD8dep_GACTAACTCGCAGGCT-1,Monocytes -CD8dep_GACTACAAGGTCATCT-1,Monocytes -CD8dep_GACTACAAGTCTCCTC-1,T cells -CD8dep_GACTACACACTACAGT-1,Granulocytes -CD8dep_GACTACAGTCAAAGAT-1,Monocytes -CD8dep_GACTACAGTTTACTCT-1,Monocytes -CD8dep_GACTACATCGGAAATA-1,Monocytes -CD8dep_GACTACATCGTGACAT-1,Macrophages -CD8dep_GACTACATCTAGCACA-1,Monocytes -CD8dep_GACTGCGAGGACCACA-1,Granulocytes -CD8dep_GACTGCGCAGACAAAT-1,Dendritic cells -CD8dep_GACTGCGCAGTTCATG-1,Monocytes -CD8dep_GACTGCGGTACTTCTT-1,Monocytes -CD8dep_GACTGCGGTAGATTAG-1,Monocytes -CD8dep_GACTGCGGTTTGGCGC-1,Monocytes -CD8dep_GACTGCGTCAACACTG-1,Monocytes -CD8dep_GAGCAGAAGAAACGAG-1,Monocytes -CD8dep_GAGCAGAAGTATTGGA-1,Monocytes -CD8dep_GAGCAGACAGCTCCGA-1,Monocytes -CD8dep_GAGCAGACAGGTCTCG-1,Monocytes -CD8dep_GAGCAGACAGTACACT-1,Monocytes -CD8dep_GAGCAGAGTAAGAGGA-1,Dendritic cells -CD8dep_GAGCAGAGTCTGCAAT-1,Monocytes -CD8dep_GAGCAGAGTGATAAGT-1,Monocytes -CD8dep_GAGCAGAGTGTTCTTT-1,Macrophages -CD8dep_GAGGTGAAGGACTGGT-1,Dendritic cells -CD8dep_GAGGTGACATCGTCGG-1,Monocytes -CD8dep_GAGTCCGAGAACAATC-1,Dendritic cells -CD8dep_GAGTCCGAGCGTAGTG-1,Monocytes -CD8dep_GAGTCCGAGTTCCACA-1,Macrophages -CD8dep_GAGTCCGCATCCGCGA-1,Dendritic cells -CD8dep_GAGTCCGGTCAAACTC-1,Monocytes -CD8dep_GAGTCCGGTGATGTGG-1,Monocytes -CD8dep_GAGTCCGGTGCACTTA-1,Monocytes -CD8dep_GAGTCCGGTGTTCTTT-1,Monocytes -CD8dep_GAGTCCGGTTCAGCGC-1,Monocytes -CD8dep_GATCAGTGTTTCCACC-1,Monocytes -CD8dep_GATCAGTTCAAAGTAG-1,Dendritic cells -CD8dep_GATCAGTTCCACGCAG-1,Monocytes -CD8dep_GATCAGTTCCTCAACC-1,Monocytes -CD8dep_GATCAGTTCGTTTAGG-1,Monocytes -CD8dep_GATCGATAGGGTCGAT-1,Monocytes -CD8dep_GATCGATAGGGTTCCC-1,Monocytes -CD8dep_GATCGATAGGTAGCCA-1,Monocytes -CD8dep_GATCGATAGTCGCCGT-1,Monocytes -CD8dep_GATCGATCATTAGGCT-1,Monocytes -CD8dep_GATCGATGTAGGGTAC-1,Monocytes -CD8dep_GATCGATGTCATTAGC-1,Macrophages -CD8dep_GATCGATGTCGAACAG-1,Macrophages -CD8dep_GATCGATTCTTGACGA-1,T cells -CD8dep_GATCGCGAGAGTACCG-1,Monocytes -CD8dep_GATCGCGAGGGCTCTC-1,Monocytes -CD8dep_GATCGCGCACTCGACG-1,Monocytes -CD8dep_GATCGCGCAGACGCCT-1,Dendritic cells -CD8dep_GATCGCGCATGTTGAC-1,Macrophages -CD8dep_GATCGCGGTACTTCTT-1,Monocytes -CD8dep_GATCGCGGTAGCACGA-1,Monocytes -CD8dep_GATCGCGGTCCAGTGC-1,Monocytes -CD8dep_GATCGCGTCTAACTGG-1,Monocytes -CD8dep_GATCGCGTCTACTTAC-1,Monocytes -CD8dep_GATCGCGTCTTACCGC-1,Monocytes -CD8dep_GATCGCGTCTTGACGA-1,Monocytes -CD8dep_GATCGTAAGAAACCGC-1,Monocytes -CD8dep_GATCGTAAGGTGACCA-1,Granulocytes -CD8dep_GATCGTAGTCTGGTCG-1,Dendritic cells -CD8dep_GATCGTAGTGCCTGTG-1,Monocytes -CD8dep_GATCGTATCACAAACC-1,Dendritic cells -CD8dep_GATCGTATCATTGCCC-1,Monocytes -CD8dep_GATCGTATCGCCAGCA-1,Monocytes -CD8dep_GATCGTATCGGCGCAT-1,Monocytes -CD8dep_GATCTAGAGCCTCGTG-1,Monocytes -CD8dep_GATCTAGAGCTTTGGT-1,Monocytes -CD8dep_GATCTAGAGGACATTA-1,Monocytes -CD8dep_GATCTAGCACAAGACG-1,Monocytes -CD8dep_GATCTAGCAGGGATTG-1,Monocytes -CD8dep_GATCTAGCATTCCTCG-1,Macrophages -CD8dep_GATCTAGGTAGCGTAG-1,Dendritic cells -CD8dep_GATCTAGGTCTAGCGC-1,Monocytes -CD8dep_GATCTAGTCAACACTG-1,Monocytes -CD8dep_GATCTAGTCCGTACAA-1,Monocytes -CD8dep_GATCTAGTCCGTTGTC-1,Monocytes -CD8dep_GATCTAGTCGCCATAA-1,Monocytes -CD8dep_GATCTAGTCGGTGTCG-1,Monocytes -CD8dep_GATGAAAAGGACATTA-1,Monocytes -CD8dep_GATGAAAAGGACCACA-1,Monocytes -CD8dep_GATGAAAAGGTGTGGT-1,Dendritic cells -CD8dep_GATGAAACACCAACCG-1,Monocytes -CD8dep_GATGAAACATTGGGCC-1,Monocytes -CD8dep_GATGAAATCAATAAGG-1,Monocytes -CD8dep_GATGAAATCAATCACG-1,Monocytes -CD8dep_GATGAAATCCTCATTA-1,Monocytes -CD8dep_GATGAGGCAAGACGTG-1,Monocytes -CD8dep_GATGAGGGTCGTGGCT-1,Monocytes -CD8dep_GATGAGGGTGCTTCTC-1,Monocytes -CD8dep_GATGAGGGTGTGGTTT-1,Dendritic cells -CD8dep_GATGAGGTCCATTCTA-1,Dendritic cells -CD8dep_GATGAGGTCCCAAGTA-1,Monocytes -CD8dep_GATGAGGTCCCTCTTT-1,Macrophages -CD8dep_GATGAGGTCCGCAAGC-1,Monocytes -CD8dep_GATGCTAAGGAGCGAG-1,Monocytes -CD8dep_GATGCTACAATGAAAC-1,Monocytes -CD8dep_GATGCTACAGACGTAG-1,Monocytes -CD8dep_GATGCTAGTAGGACAC-1,Monocytes -CD8dep_GATGCTAGTCGCCATG-1,Monocytes -CD8dep_GATGCTATCATGTCCC-1,Monocytes -CD8dep_GATGCTATCTATGTGG-1,Dendritic cells -CD8dep_GATGCTATCTTAACCT-1,Dendritic cells -CD8dep_GATTCAGAGTGATCGG-1,Monocytes -CD8dep_GATTCAGCAGTTTACG-1,Monocytes -CD8dep_GATTCAGCATGTAAGA-1,Monocytes -CD8dep_GATTCAGGTGTTTGTG-1,Monocytes -CD8dep_GCAAACTAGCGGCTTC-1,Macrophages -CD8dep_GCAAACTAGGAGTAGA-1,Dendritic cells -CD8dep_GCAAACTAGGCAAAGA-1,Monocytes -CD8dep_GCAAACTAGGGAACGG-1,Monocytes -CD8dep_GCAAACTCACATAACC-1,Dendritic cells -CD8dep_GCAAACTCACGTGAGA-1,Macrophages -CD8dep_GCAAACTGTTAGATGA-1,Monocytes -CD8dep_GCAAACTGTTCAGGCC-1,Monocytes -CD8dep_GCAAACTGTTTGGGCC-1,Macrophages -CD8dep_GCAAACTTCACTCCTG-1,Monocytes -CD8dep_GCAAACTTCCGCATCT-1,Monocytes -CD8dep_GCAATCAAGAGCCCAA-1,Monocytes -CD8dep_GCAATCAAGCTGAACG-1,Granulocytes -CD8dep_GCAATCAAGTACGCCC-1,Monocytes -CD8dep_GCAATCATCCAAGCCG-1,Macrophages -CD8dep_GCAATCATCTGTTGAG-1,Monocytes -CD8dep_GCACATAAGCAGCCTC-1,Monocytes -CD8dep_GCACATAGTAAGGATT-1,Monocytes -CD8dep_GCACATAGTACAGTTC-1,Monocytes -CD8dep_GCACATAGTACCGGCT-1,Monocytes -CD8dep_GCACATAGTCGCGAAA-1,Monocytes -CD8dep_GCACATAGTTGAGGTG-1,Monocytes -CD8dep_GCACATATCAAGATCC-1,Monocytes -CD8dep_GCACATATCCAGAAGG-1,Monocytes -CD8dep_GCACTCTAGAGCTGCA-1,Monocytes -CD8dep_GCACTCTAGAGTGACC-1,NK cells -CD8dep_GCACTCTAGCCGGTAA-1,Dendritic cells -CD8dep_GCACTCTCACGGCCAT-1,Monocytes -CD8dep_GCACTCTTCGGAATCT-1,Monocytes -CD8dep_GCAGCCAAGGAATCGC-1,Monocytes -CD8dep_GCAGCCAAGTTGAGAT-1,Monocytes -CD8dep_GCAGCCACAAAGAATC-1,Monocytes -CD8dep_GCAGCCACAAGGTTCT-1,Monocytes -CD8dep_GCAGCCACACTTAAGC-1,Monocytes -CD8dep_GCAGCCACATAAGACA-1,Monocytes -CD8dep_GCAGCCACATGCCACG-1,Monocytes -CD8dep_GCAGCCAGTCCGTTAA-1,Macrophages -CD8dep_GCAGCCATCATGCTCC-1,Monocytes -CD8dep_GCAGTTAAGAATTCCC-1,Monocytes -CD8dep_GCAGTTAAGCCAGAAC-1,Monocytes -CD8dep_GCAGTTACAGCTGTTA-1,Monocytes -CD8dep_GCAGTTAGTAAATACG-1,Monocytes -CD8dep_GCAGTTAGTAGCTCCG-1,Monocytes -CD8dep_GCAGTTAGTCAATACC-1,Monocytes -CD8dep_GCAGTTAGTTCCACTC-1,Monocytes -CD8dep_GCAGTTATCACCATAG-1,Macrophages -CD8dep_GCAGTTATCGGCGCTA-1,Monocytes -CD8dep_GCATACAAGATCCCGC-1,Monocytes -CD8dep_GCATACAAGATGTGGC-1,Monocytes -CD8dep_GCATACAAGGCCCTCA-1,Monocytes -CD8dep_GCATACAAGTCATCCA-1,Monocytes -CD8dep_GCATACACACCCTATC-1,Monocytes -CD8dep_GCATACACAGTATCTG-1,Monocytes -CD8dep_GCATACAGTCAAACTC-1,Monocytes -CD8dep_GCATACAGTCGACTAT-1,Monocytes -CD8dep_GCATACAGTTGTGGCC-1,Monocytes -CD8dep_GCATGATCAAAGTCAA-1,Monocytes -CD8dep_GCATGATGTAACGTTC-1,Monocytes -CD8dep_GCATGATGTAGCGTAG-1,Monocytes -CD8dep_GCATGATGTATGAAAC-1,Monocytes -CD8dep_GCATGATTCGTCTGAA-1,Monocytes -CD8dep_GCATGCGAGATAGTCA-1,Monocytes -CD8dep_GCATGCGAGTCCGTAT-1,Monocytes -CD8dep_GCATGCGCATTACGAC-1,Dendritic cells -CD8dep_GCATGCGTCGACCAGC-1,Monocytes -CD8dep_GCATGCGTCTCGATGA-1,Monocytes -CD8dep_GCATGTAAGAAGGTTT-1,Monocytes -CD8dep_GCATGTAAGATGTGGC-1,Monocytes -CD8dep_GCATGTAAGTGACTCT-1,Monocytes -CD8dep_GCATGTACACCATCCT-1,Monocytes -CD8dep_GCATGTACAGGGCATA-1,Monocytes -CD8dep_GCATGTACATGACGGA-1,Monocytes -CD8dep_GCATGTACATGCATGT-1,Monocytes -CD8dep_GCATGTATCATTCACT-1,Dendritic cells -CD8dep_GCATGTATCCTGTAGA-1,Macrophages -CD8dep_GCCAAATAGAAACGCC-1,Monocytes -CD8dep_GCCAAATAGCCCAGCT-1,Monocytes -CD8dep_GCCAAATAGGAATGGA-1,Monocytes -CD8dep_GCCAAATCAAGCGAGT-1,Macrophages -CD8dep_GCCAAATCACCTATCC-1,Monocytes -CD8dep_GCCAAATCACGAGGTA-1,Monocytes -CD8dep_GCCAAATGTACGACCC-1,Monocytes -CD8dep_GCCAAATGTCTCCCTA-1,Monocytes -CD8dep_GCCAAATTCCCAGGTG-1,Macrophages -CD8dep_GCCAAATTCCTCCTAG-1,Monocytes -CD8dep_GCCAAATTCGAATGGG-1,Monocytes -CD8dep_GCCAAATTCTTCTGGC-1,Monocytes -CD8dep_GCCTCTAAGACTGTAA-1,Macrophages -CD8dep_GCCTCTAAGCCAGGAT-1,Monocytes -CD8dep_GCCTCTAAGGGTATCG-1,Monocytes -CD8dep_GCCTCTACAAGGGTCA-1,Macrophages -CD8dep_GCCTCTAGTCAATGTC-1,Monocytes -CD8dep_GCCTCTAGTGCCTGCA-1,Monocytes -CD8dep_GCCTCTAGTGCTTCTC-1,Monocytes -CD8dep_GCGACCAAGAGTGAGA-1,Monocytes -CD8dep_GCGACCAAGTGAAGAG-1,Monocytes -CD8dep_GCGACCACATTAGGCT-1,Monocytes -CD8dep_GCGACCAGTGACGGTA-1,Monocytes -CD8dep_GCGACCATCAGCCTAA-1,Monocytes -CD8dep_GCGACCATCATAACCG-1,Monocytes -CD8dep_GCGAGAAAGACTGGGT-1,Monocytes -CD8dep_GCGAGAAAGCTTCGCG-1,Monocytes -CD8dep_GCGAGAAAGGGTATCG-1,Monocytes -CD8dep_GCGAGAAAGGTGCTTT-1,Monocytes -CD8dep_GCGAGAAGTTAAAGAC-1,Monocytes -CD8dep_GCGAGAATCCAAATGC-1,Monocytes -CD8dep_GCGAGAATCCTTGCCA-1,Monocytes -CD8dep_GCGAGAATCGACCAGC-1,Macrophages -CD8dep_GCGAGAATCGCCAAAT-1,Macrophages -CD8dep_GCGCAACAGCCTTGAT-1,Macrophages -CD8dep_GCGCAACAGGACAGCT-1,Granulocytes -CD8dep_GCGCAACAGGCCATAG-1,Monocytes -CD8dep_GCGCAACCATCCCACT-1,Monocytes -CD8dep_GCGCAACCATTGAGCT-1,Monocytes -CD8dep_GCGCAACTCTCAAGTG-1,Monocytes -CD8dep_GCGCAGTAGGCGACAT-1,Granulocytes -CD8dep_GCGCAGTCACGAAGCA-1,Monocytes -CD8dep_GCGCAGTCAGCTCGAC-1,Monocytes -CD8dep_GCGCAGTGTACTCAAC-1,Monocytes -CD8dep_GCGCAGTGTCAGTGGA-1,Monocytes -CD8dep_GCGCCAAAGGTGACCA-1,Monocytes -CD8dep_GCGCCAAAGTTCGCGC-1,Monocytes -CD8dep_GCGCCAACAACAACCT-1,Monocytes -CD8dep_GCGCCAACAGACTCGC-1,Monocytes -CD8dep_GCGCCAAGTATGCTTG-1,Monocytes -CD8dep_GCGCCAAGTGTCGCTG-1,Monocytes -CD8dep_GCGCCAAGTGTTAAGA-1,Monocytes -CD8dep_GCGCCAAGTTGCTCCT-1,Monocytes -CD8dep_GCGCCAAGTTGTCGCG-1,Macrophages -CD8dep_GCGCCAATCCAAGTAC-1,Dendritic cells -CD8dep_GCGCCAATCGTACGGC-1,Granulocytes -CD8dep_GCGCGATCACTAAGTC-1,Monocytes -CD8dep_GCGCGATCAGTAACGG-1,Monocytes -CD8dep_GCGCGATCAGTATCTG-1,Monocytes -CD8dep_GCGCGATGTAAGAGGA-1,Monocytes -CD8dep_GCGCGATGTGAAGGCT-1,Monocytes -CD8dep_GCGCGATTCTGGCGAC-1,Monocytes -CD8dep_GCGGGTTAGAAGCCCA-1,Monocytes -CD8dep_GCGGGTTAGCTCAACT-1,Monocytes -CD8dep_GCGGGTTAGCTGTTCA-1,Macrophages -CD8dep_GCGGGTTGTGGCGAAT-1,Dendritic cells -CD8dep_GCTCCTAAGAGATGAG-1,Monocytes -CD8dep_GCTCCTAAGCTAGTCT-1,Monocytes -CD8dep_GCTCCTAAGGGTATCG-1,Monocytes -CD8dep_GCTCCTAAGTGGGATC-1,Monocytes -CD8dep_GCTCCTACAGTAACGG-1,Monocytes -CD8dep_GCTCCTACATCACGAT-1,Monocytes -CD8dep_GCTCCTAGTTATGCGT-1,Monocytes -CD8dep_GCTCCTATCATCGGAT-1,Granulocytes -CD8dep_GCTCCTATCTCAACTT-1,Monocytes -CD8dep_GCTCTGTAGGATGGAA-1,Monocytes -CD8dep_GCTCTGTAGTTCGCGC-1,Monocytes -CD8dep_GCTCTGTCAGTAAGAT-1,Monocytes -CD8dep_GCTCTGTGTCTAGAGG-1,Monocytes -CD8dep_GCTCTGTGTTAGATGA-1,Monocytes -CD8dep_GCTCTGTTCCCTAACC-1,Monocytes -CD8dep_GCTGCAGAGAGCCTAG-1,Monocytes -CD8dep_GCTGCAGAGCGAAGGG-1,Monocytes -CD8dep_GCTGCAGAGTCGATAA-1,Monocytes -CD8dep_GCTGCAGCAAAGGTGC-1,Monocytes -CD8dep_GCTGCAGCACTACAGT-1,Monocytes -CD8dep_GCTGCAGGTACTTAGC-1,Dendritic cells -CD8dep_GCTGCAGTCAACACGT-1,Macrophages -CD8dep_GCTGCAGTCTCGCTTG-1,Monocytes -CD8dep_GCTGCGAAGCTAACAA-1,Dendritic cells -CD8dep_GCTGCGAAGCTGAAAT-1,Monocytes -CD8dep_GCTGCGACACGAAACG-1,Monocytes -CD8dep_GCTGCGAGTACCAGTT-1,Monocytes -CD8dep_GCTGCGAGTGCATCTA-1,Monocytes -CD8dep_GCTGCGATCACATACG-1,Monocytes -CD8dep_GCTGCGATCATTATCC-1,Monocytes -CD8dep_GCTGCGATCGCACTCT-1,Monocytes -CD8dep_GCTGCGATCGCCAGCA-1,Macrophages -CD8dep_GCTGCTTAGCCGATTT-1,Monocytes -CD8dep_GCTGCTTAGCTGGAAC-1,Monocytes -CD8dep_GCTGCTTCACGGTGTC-1,Dendritic cells -CD8dep_GCTGCTTCAGATGGGT-1,Monocytes -CD8dep_GCTGCTTCAGGTCTCG-1,Monocytes -CD8dep_GCTGCTTGTACCGAGA-1,Monocytes -CD8dep_GCTGCTTGTCAGCTAT-1,Macrophages -CD8dep_GCTGCTTGTGCAGGTA-1,Granulocytes -CD8dep_GCTGCTTTCCAAGCCG-1,Monocytes -CD8dep_GCTGGGTAGAGTTGGC-1,Monocytes -CD8dep_GCTGGGTGTAGGGTAC-1,Monocytes -CD8dep_GCTGGGTGTATTCGTG-1,Dendritic cells -CD8dep_GCTGGGTGTTACGTCA-1,T cells -CD8dep_GCTGGGTTCAACGCTA-1,Macrophages -CD8dep_GCTGGGTTCCACTCCA-1,Monocytes -CD8dep_GCTGGGTTCCCTAACC-1,Dendritic cells -CD8dep_GCTGGGTTCTTGAGGT-1,Monocytes -CD8dep_GCTTCCAAGAAACGAG-1,Monocytes -CD8dep_GCTTCCAAGACTAAGT-1,Granulocytes -CD8dep_GCTTCCAAGGTGGGTT-1,Monocytes -CD8dep_GCTTCCACAGACTCGC-1,Monocytes -CD8dep_GCTTCCACAGATCGGA-1,Monocytes -CD8dep_GCTTCCAGTGTGACCC-1,Dendritic cells -CD8dep_GCTTCCATCAACCATG-1,Dendritic cells -CD8dep_GCTTCCATCCGTAGTA-1,Dendritic cells -CD8dep_GCTTCCATCCTCAATT-1,Macrophages -CD8dep_GCTTCCATCGTCTGCT-1,Monocytes -CD8dep_GCTTGAAAGCCGGTAA-1,Dendritic cells -CD8dep_GCTTGAAAGGAATTAC-1,Monocytes -CD8dep_GCTTGAAAGTGGACGT-1,Monocytes -CD8dep_GCTTGAAGTAAATACG-1,Monocytes -CD8dep_GCTTGAAGTCGCATAT-1,Macrophages -CD8dep_GCTTGAAGTTGGTAAA-1,Monocytes -CD8dep_GCTTGAATCATCGCTC-1,Monocytes -CD8dep_GCTTGAATCGCTGATA-1,Monocytes -CD8dep_GGAAAGCAGACCGGAT-1,Monocytes -CD8dep_GGAAAGCAGATAGGAG-1,Monocytes -CD8dep_GGAAAGCAGCTGCAAG-1,Monocytes -CD8dep_GGAAAGCAGTGTCCCG-1,Monocytes -CD8dep_GGAAAGCCAAGTCTAC-1,Fibroblasts -CD8dep_GGAAAGCGTAGTGAAT-1,Dendritic cells -CD8dep_GGAACTTAGAGCAATT-1,Monocytes -CD8dep_GGAACTTAGAGGGATA-1,Monocytes -CD8dep_GGAACTTAGATCCCGC-1,Dendritic cells -CD8dep_GGAACTTAGCGTTGCC-1,Monocytes -CD8dep_GGAACTTCACGGTAGA-1,Monocytes -CD8dep_GGAACTTCATGCAATC-1,Monocytes -CD8dep_GGAACTTCATGTCGAT-1,Monocytes -CD8dep_GGAACTTGTGAGTATA-1,Monocytes -CD8dep_GGAACTTGTTAAGAAC-1,Monocytes -CD8dep_GGAACTTTCAACGCTA-1,Monocytes -CD8dep_GGAACTTTCCAGAGGA-1,Dendritic cells -CD8dep_GGAATAAAGCCCAGCT-1,Monocytes -CD8dep_GGAATAAAGCTAGGCA-1,Monocytes -CD8dep_GGAATAACAAGCTGGA-1,Monocytes -CD8dep_GGAATAACAGGCTGAA-1,Macrophages -CD8dep_GGAATAATCTTACCGC-1,Monocytes -CD8dep_GGACAAGAGATAGTCA-1,Monocytes -CD8dep_GGACAAGCACTATCTT-1,Monocytes -CD8dep_GGACAAGGTGACAAAT-1,Monocytes -CD8dep_GGACAAGGTTCTGAAC-1,Monocytes -CD8dep_GGACAAGTCAAACCGT-1,Monocytes -CD8dep_GGACAAGTCAACGCTA-1,Monocytes -CD8dep_GGACAGAAGGCGATAC-1,Dendritic cells -CD8dep_GGACAGAAGTCATGCT-1,Monocytes -CD8dep_GGACAGAAGTTCCACA-1,Monocytes -CD8dep_GGACAGACACGAAATA-1,Monocytes -CD8dep_GGACAGACAGTCTTCC-1,Monocytes -CD8dep_GGACAGAGTCGGGTCT-1,Dendritic cells -CD8dep_GGACAGAGTGTCGCTG-1,Monocytes -CD8dep_GGACAGATCGCACTCT-1,Monocytes -CD8dep_GGACATTAGCTAAACA-1,Granulocytes -CD8dep_GGACATTAGTGGAGAA-1,Macrophages -CD8dep_GGACATTAGTTAACGA-1,Macrophages -CD8dep_GGACATTCACCAGTTA-1,Monocytes -CD8dep_GGACATTCAGATGAGC-1,Monocytes -CD8dep_GGACATTGTAAATACG-1,Dendritic cells -CD8dep_GGACATTGTAAGTTCC-1,Monocytes -CD8dep_GGACATTGTACCGTTA-1,Macrophages -CD8dep_GGACATTGTGTTAAGA-1,Monocytes -CD8dep_GGACATTGTTGTCTTT-1,Monocytes -CD8dep_GGACATTTCAAACAAG-1,Monocytes -CD8dep_GGACATTTCCATGCTC-1,Monocytes -CD8dep_GGACATTTCCTCAACC-1,Monocytes -CD8dep_GGACATTTCGTATCAG-1,Monocytes -CD8dep_GGACATTTCTCAACTT-1,Monocytes -CD8dep_GGACATTTCTGGCGAC-1,Monocytes -CD8dep_GGACGTCAGGACAGCT-1,Monocytes -CD8dep_GGACGTCAGTATCTCG-1,Monocytes -CD8dep_GGACGTCAGTGACATA-1,Monocytes -CD8dep_GGACGTCCAGACAAGC-1,Monocytes -CD8dep_GGACGTCCATAGAAAC-1,Monocytes -CD8dep_GGACGTCGTACCAGTT-1,Monocytes -CD8dep_GGACGTCGTCACTTCC-1,Monocytes -CD8dep_GGACGTCGTCGGCATC-1,Monocytes -CD8dep_GGACGTCGTGTGACCC-1,Monocytes -CD8dep_GGACGTCGTTGAGTTC-1,Monocytes -CD8dep_GGACGTCTCCATTCTA-1,Monocytes -CD8dep_GGACGTCTCGGACAAG-1,Monocytes -CD8dep_GGAGCAAAGGTGCACA-1,Monocytes -CD8dep_GGAGCAAGTACTCGCG-1,Monocytes -CD8dep_GGAGCAAGTACTTAGC-1,Monocytes -CD8dep_GGAGCAAGTCAGAATA-1,Monocytes -CD8dep_GGAGCAAGTCGTGGCT-1,Monocytes -CD8dep_GGAGCAAGTCTCTCTG-1,Monocytes -CD8dep_GGAGCAATCATCTGCC-1,Monocytes -CD8dep_GGAGCAATCCCTTGTG-1,Dendritic cells -CD8dep_GGAGCAATCGTCTGCT-1,Monocytes -CD8dep_GGAGCAATCTGCCCTA-1,Monocytes -CD8dep_GGATGTTAGAAGGGTA-1,Monocytes -CD8dep_GGATGTTAGACAAGCC-1,Monocytes -CD8dep_GGATGTTAGAGCCTAG-1,Dendritic cells -CD8dep_GGATGTTAGTTCCACA-1,Monocytes -CD8dep_GGATGTTGTCGCTTCT-1,Monocytes -CD8dep_GGATGTTGTGTTTGGT-1,Monocytes -CD8dep_GGATGTTGTTAAGATG-1,Monocytes -CD8dep_GGATGTTGTTTGACTG-1,Dendritic cells -CD8dep_GGATTACAGGGTTTCT-1,Macrophages -CD8dep_GGATTACAGTGACATA-1,Monocytes -CD8dep_GGATTACAGTTAGCGG-1,Monocytes -CD8dep_GGATTACCAGCTCGAC-1,Monocytes -CD8dep_GGATTACCATGTCTCC-1,Dendritic cells -CD8dep_GGATTACGTCTGCGGT-1,Monocytes -CD8dep_GGATTACGTTCGCTAA-1,Dendritic cells -CD8dep_GGATTACGTTTCGCTC-1,Monocytes -CD8dep_GGATTACTCAACCAAC-1,Dendritic cells -CD8dep_GGATTACTCACGACTA-1,Dendritic cells -CD8dep_GGATTACTCCAAATGC-1,Monocytes -CD8dep_GGATTACTCGCGCCAA-1,Monocytes -CD8dep_GGCAATTAGAAGGCCT-1,Macrophages -CD8dep_GGCAATTCACACTGCG-1,Monocytes -CD8dep_GGCAATTCACAGACTT-1,Monocytes -CD8dep_GGCAATTCACGTTGGC-1,Granulocytes -CD8dep_GGCAATTCACTTAAGC-1,Monocytes -CD8dep_GGCAATTGTGCTGTAT-1,Monocytes -CD8dep_GGCAATTGTTTGACTG-1,Monocytes -CD8dep_GGCAATTTCACCCTCA-1,Macrophages -CD8dep_GGCCGATCACGAAATA-1,Monocytes -CD8dep_GGCCGATCATGCCTTC-1,Monocytes -CD8dep_GGCCGATCATGTCCTC-1,Monocytes -CD8dep_GGCCGATGTAACGTTC-1,Monocytes -CD8dep_GGCCGATGTACAAGTA-1,Granulocytes -CD8dep_GGCCGATGTACAGACG-1,Monocytes -CD8dep_GGCCGATGTACATCCA-1,Monocytes -CD8dep_GGCCGATGTGTTTGGT-1,Macrophages -CD8dep_GGCCGATTCTGACCTC-1,Monocytes -CD8dep_GGCCGATTCTGGCGAC-1,Macrophages -CD8dep_GGCGACTAGCACACAG-1,Monocytes -CD8dep_GGCGACTAGGGTCTCC-1,Monocytes -CD8dep_GGCGACTGTTAAAGAC-1,Monocytes -CD8dep_GGCGACTTCACCTCGT-1,Monocytes -CD8dep_GGCGACTTCCGTACAA-1,Monocytes -CD8dep_GGCGTGTAGTCCAGGA-1,Dendritic cells -CD8dep_GGCGTGTTCACATGCA-1,T cells -CD8dep_GGCGTGTTCCAAACAC-1,Dendritic cells -CD8dep_GGCGTGTTCGCTTAGA-1,Monocytes -CD8dep_GGCGTGTTCTCCAGGG-1,Monocytes -CD8dep_GGCGTGTTCTCCCTGA-1,Monocytes -CD8dep_GGCGTGTTCTGCCAGG-1,Monocytes -CD8dep_GGCTCGAAGCGATAGC-1,Monocytes -CD8dep_GGCTCGACACGTCAGC-1,Monocytes -CD8dep_GGCTCGACATGCATGT-1,Monocytes -CD8dep_GGCTCGAGTCCAGTGC-1,Monocytes -CD8dep_GGCTCGAGTCCGTCAG-1,Macrophages -CD8dep_GGCTCGAGTCGCGGTT-1,Monocytes -CD8dep_GGCTCGAGTTCTGTTT-1,Monocytes -CD8dep_GGCTCGATCTGCAGTA-1,Monocytes -CD8dep_GGCTGGTCACCGAAAG-1,Monocytes -CD8dep_GGCTGGTGTCAGAAGC-1,Monocytes -CD8dep_GGCTGGTGTCATGCCG-1,Macrophages -CD8dep_GGCTGGTGTGTCGCTG-1,Monocytes -CD8dep_GGCTGGTTCTTTAGGG-1,Monocytes -CD8dep_GGGAATGAGCCAGTTT-1,Monocytes -CD8dep_GGGAATGAGCGTAATA-1,Monocytes -CD8dep_GGGAATGCAAGGGTCA-1,Granulocytes -CD8dep_GGGAATGCACACCGAC-1,Monocytes -CD8dep_GGGAATGCATGCCACG-1,Monocytes -CD8dep_GGGAATGGTAAACACA-1,Monocytes -CD8dep_GGGAATGGTACAGACG-1,Monocytes -CD8dep_GGGAATGGTGCGAAAC-1,Dendritic cells -CD8dep_GGGAATGGTGTGCGTC-1,Dendritic cells -CD8dep_GGGAATGTCAGTTGAC-1,Macrophages -CD8dep_GGGAATGTCCTATTCA-1,Monocytes -CD8dep_GGGAATGTCGTCGTTC-1,Monocytes -CD8dep_GGGAATGTCTAACTTC-1,Granulocytes -CD8dep_GGGAATGTCTGCTGCT-1,Monocytes -CD8dep_GGGACCTAGGTGGGTT-1,Monocytes -CD8dep_GGGACCTGTTCCCGAG-1,T cells -CD8dep_GGGACCTTCGCGTAGC-1,Monocytes -CD8dep_GGGACCTTCTCTAAGG-1,Monocytes -CD8dep_GGGACCTTCTGCTGTC-1,Monocytes -CD8dep_GGGACCTTCTGTACGA-1,Monocytes -CD8dep_GGGAGATAGAAACGCC-1,Macrophages -CD8dep_GGGAGATCACGCCAGT-1,Monocytes -CD8dep_GGGAGATCAGACACTT-1,Monocytes -CD8dep_GGGATGAAGCTAAGAT-1,Monocytes -CD8dep_GGGATGAAGTTATCGC-1,Monocytes -CD8dep_GGGATGACAGAGTGTG-1,Monocytes -CD8dep_GGGATGACAGGCAGTA-1,Monocytes -CD8dep_GGGATGACAGTCGATT-1,Macrophages -CD8dep_GGGATGAGTAGATTAG-1,Monocytes -CD8dep_GGGATGAGTCACAAGG-1,Dendritic cells -CD8dep_GGGCACTCAATAGCAA-1,Monocytes -CD8dep_GGGCACTCAGACAAAT-1,Monocytes -CD8dep_GGGCACTTCCACGACG-1,Monocytes -CD8dep_GGGCACTTCCCAAGTA-1,Monocytes -CD8dep_GGGCATCAGAGCTATA-1,Dendritic cells -CD8dep_GGGCATCAGCACGCCT-1,Monocytes -CD8dep_GGGCATCAGCCACGCT-1,Monocytes -CD8dep_GGGCATCCAAAGAATC-1,Monocytes -CD8dep_GGGCATCCAATGCCAT-1,Macrophages -CD8dep_GGGCATCCACACGCTG-1,Dendritic cells -CD8dep_GGGCATCCACTGTCGG-1,Monocytes -CD8dep_GGGCATCCACTTCGAA-1,Monocytes -CD8dep_GGGCATCCATCAGTCA-1,Monocytes -CD8dep_GGGCATCGTTCAGCGC-1,Monocytes -CD8dep_GGGCATCGTTGATTGC-1,Monocytes -CD8dep_GGGTCTGAGAGGTTGC-1,Monocytes -CD8dep_GGGTCTGAGGCCCTTG-1,Monocytes -CD8dep_GGGTCTGCACGCTTTC-1,Monocytes -CD8dep_GGGTCTGGTATATCCG-1,Monocytes -CD8dep_GGGTCTGGTCATATCG-1,Monocytes -CD8dep_GGGTCTGGTTATGTGC-1,Macrophages -CD8dep_GGGTCTGTCTGAGGGA-1,Monocytes -CD8dep_GGGTTGCAGACAGGCT-1,Dendritic cells -CD8dep_GGGTTGCAGCACACAG-1,Monocytes -CD8dep_GGGTTGCAGTCATCCA-1,Granulocytes -CD8dep_GGGTTGCAGTCTTGCA-1,Monocytes -CD8dep_GGGTTGCCAGCGTTCG-1,Monocytes -CD8dep_GGGTTGCGTACTCGCG-1,Macrophages -CD8dep_GGGTTGCGTAGTACCT-1,Adipocytes -CD8dep_GGGTTGCGTCTAGAGG-1,Monocytes -CD8dep_GGTATTGAGACTAGGC-1,Monocytes -CD8dep_GGTATTGAGGCAATTA-1,Monocytes -CD8dep_GGTATTGGTACTCGCG-1,Monocytes -CD8dep_GGTATTGGTATTCGTG-1,Dendritic cells -CD8dep_GGTATTGGTGCGAAAC-1,Monocytes -CD8dep_GGTATTGGTGTGAAAT-1,Dendritic cells -CD8dep_GGTATTGGTTAAGGGC-1,Monocytes -CD8dep_GGTATTGGTTCTGTTT-1,Monocytes -CD8dep_GGTATTGTCATAACCG-1,Monocytes -CD8dep_GGTATTGTCCCTTGCA-1,Monocytes -CD8dep_GGTATTGTCCTAAGTG-1,Monocytes -CD8dep_GGTATTGTCTCCCTGA-1,Monocytes -CD8dep_GGTATTGTCTGTCTAT-1,Macrophages -CD8dep_GGTGAAGAGCGTAGTG-1,Monocytes -CD8dep_GGTGAAGAGGCGCTCT-1,Monocytes -CD8dep_GGTGAAGAGTTAAGTG-1,Dendritic cells -CD8dep_GGTGAAGCAGCTATTG-1,Monocytes -CD8dep_GGTGAAGGTAAACCTC-1,Monocytes -CD8dep_GGTGAAGGTCAGAAGC-1,Monocytes -CD8dep_GGTGAAGGTTAAGTAG-1,Monocytes -CD8dep_GGTGAAGTCCGTCAAA-1,Monocytes -CD8dep_GGTGAAGTCTGCCAGG-1,Monocytes -CD8dep_GGTGCGTAGAAGGTGA-1,Monocytes -CD8dep_GGTGCGTAGATACACA-1,Monocytes -CD8dep_GGTGCGTAGCAGCGTA-1,Monocytes -CD8dep_GGTGCGTAGCCAGAAC-1,Monocytes -CD8dep_GGTGCGTAGCCCTAAT-1,Dendritic cells -CD8dep_GGTGCGTCAAGTTAAG-1,Granulocytes -CD8dep_GGTGCGTCAGTACACT-1,Monocytes -CD8dep_GGTGCGTCATGAGCGA-1,Monocytes -CD8dep_GGTGCGTGTAAATGAC-1,Monocytes -CD8dep_GGTGCGTGTCATGCAT-1,Monocytes -CD8dep_GGTGCGTGTTGGTTTG-1,Granulocytes -CD8dep_GGTGTTAAGAAACCAT-1,Macrophages -CD8dep_GGTGTTAAGCACCGCT-1,Monocytes -CD8dep_GGTGTTACAATTCCTT-1,Monocytes -CD8dep_GGTGTTACACGGATAG-1,Monocytes -CD8dep_GGTGTTACATCCTTGC-1,Macrophages -CD8dep_GGTGTTAGTACCAGTT-1,Monocytes -CD8dep_GGTGTTAGTCGGATCC-1,Monocytes -CD8dep_GGTGTTATCGTCTGAA-1,Monocytes -CD8dep_GTAACGTAGACCGGAT-1,Monocytes -CD8dep_GTAACGTAGTGGTAGC-1,Monocytes -CD8dep_GTAACGTGTGTGCGTC-1,Macrophages -CD8dep_GTAACGTGTTCGTGAT-1,Monocytes -CD8dep_GTAACGTGTTTGCATG-1,Monocytes -CD8dep_GTAACGTTCTTCAACT-1,Granulocytes -CD8dep_GTAACTGAGGCATGGT-1,Monocytes -CD8dep_GTAACTGAGGCTAGAC-1,Dendritic cells -CD8dep_GTAACTGCAACTTGAC-1,Monocytes -CD8dep_GTAACTGCAAGAGTCG-1,Monocytes -CD8dep_GTAACTGCACCGTTGG-1,Monocytes -CD8dep_GTAACTGCACGACGAA-1,Monocytes -CD8dep_GTAACTGGTGACCAAG-1,Fibroblasts -CD8dep_GTAACTGGTGCACTTA-1,Monocytes -CD8dep_GTAACTGGTGCGAAAC-1,Monocytes -CD8dep_GTAACTGGTTCAACCA-1,Monocytes -CD8dep_GTAACTGGTTCTGAAC-1,Monocytes -CD8dep_GTAACTGTCCGTCATC-1,Monocytes -CD8dep_GTACGTAAGCCACCTG-1,Monocytes -CD8dep_GTACGTACAAAGTCAA-1,Monocytes -CD8dep_GTACGTACAGGGATTG-1,Monocytes -CD8dep_GTACGTACATGCATGT-1,Macrophages -CD8dep_GTACGTAGTCACTGGC-1,Granulocytes -CD8dep_GTACGTAGTCGTGGCT-1,Monocytes -CD8dep_GTACGTAGTGACCAAG-1,Monocytes -CD8dep_GTACGTATCCCATTAT-1,Monocytes -CD8dep_GTACGTATCGGCGCTA-1,Monocytes -CD8dep_GTACGTATCGGCTTGG-1,Monocytes -CD8dep_GTACTCCCACACCGCA-1,Dendritic cells -CD8dep_GTACTCCCAGACGTAG-1,Monocytes -CD8dep_GTACTCCGTCATGCCG-1,Monocytes -CD8dep_GTACTCCGTCTGCGGT-1,Monocytes -CD8dep_GTACTCCTCCACGCAG-1,Monocytes -CD8dep_GTACTCCTCGGTTCGG-1,Monocytes -CD8dep_GTACTTTAGTAGCGGT-1,Granulocytes -CD8dep_GTACTTTAGTCGTACT-1,Monocytes -CD8dep_GTACTTTAGTGAACAT-1,Monocytes -CD8dep_GTACTTTCATGGTAGG-1,Monocytes -CD8dep_GTACTTTGTCCGACGT-1,Monocytes -CD8dep_GTACTTTGTGGTACAG-1,Monocytes -CD8dep_GTACTTTGTTACAGAA-1,Monocytes -CD8dep_GTACTTTTCGAGGTAG-1,Monocytes -CD8dep_GTACTTTTCGCCAAAT-1,Monocytes -CD8dep_GTACTTTTCTATCCTA-1,Monocytes -CD8dep_GTACTTTTCTTAGCCC-1,Monocytes -CD8dep_GTAGGCCAGCGATATA-1,Macrophages -CD8dep_GTAGGCCAGGTGCTAG-1,Monocytes -CD8dep_GTAGGCCAGTGGAGTC-1,Monocytes -CD8dep_GTAGGCCCATATACGC-1,Monocytes -CD8dep_GTAGGCCGTACTCTCC-1,Monocytes -CD8dep_GTAGGCCGTAGTACCT-1,Monocytes -CD8dep_GTAGGCCGTGGTCTCG-1,Monocytes -CD8dep_GTAGGCCGTTCGTTGA-1,Monocytes -CD8dep_GTAGTCAAGACCCACC-1,Granulocytes -CD8dep_GTAGTCAAGTGGTAAT-1,Monocytes -CD8dep_GTAGTCACAGTTCCCT-1,Monocytes -CD8dep_GTAGTCAGTGGACGAT-1,Macrophages -CD8dep_GTAGTCAGTGGTCCGT-1,Monocytes -CD8dep_GTAGTCAGTTAGATGA-1,Monocytes -CD8dep_GTAGTCATCACATAGC-1,Monocytes -CD8dep_GTAGTCATCACCGTAA-1,Monocytes -CD8dep_GTAGTCATCCGTCATC-1,Monocytes -CD8dep_GTAGTCATCTGATACG-1,Dendritic cells -CD8dep_GTATCTTAGCATCATC-1,Monocytes -CD8dep_GTATCTTCAGTCACTA-1,Monocytes -CD8dep_GTATCTTCATGAGCGA-1,Monocytes -CD8dep_GTATCTTGTAGCACGA-1,Monocytes -CD8dep_GTATCTTGTCGACTGC-1,Dendritic cells -CD8dep_GTATTCTAGGCTCTTA-1,Monocytes -CD8dep_GTATTCTAGTGAAGTT-1,Monocytes -CD8dep_GTATTCTCATACTACG-1,Macrophages -CD8dep_GTATTCTGTAAATGTG-1,Monocytes -CD8dep_GTATTCTGTTGGTAAA-1,Granulocytes -CD8dep_GTATTCTTCGAATGGG-1,Monocytes -CD8dep_GTCAAGTAGAGGTAGA-1,Monocytes -CD8dep_GTCAAGTAGTCGTACT-1,Monocytes -CD8dep_GTCAAGTAGTGTACGG-1,Monocytes -CD8dep_GTCAAGTCACACTGCG-1,Monocytes -CD8dep_GTCAAGTCAGGACCCT-1,Monocytes -CD8dep_GTCAAGTCAGGTTTCA-1,Monocytes -CD8dep_GTCAAGTGTCTCCCTA-1,Monocytes -CD8dep_GTCAAGTGTTCAACCA-1,Monocytes -CD8dep_GTCACAAAGAGTGAGA-1,Monocytes -CD8dep_GTCACAAAGCCGATTT-1,Monocytes -CD8dep_GTCACAAAGCTAACAA-1,Monocytes -CD8dep_GTCACAAAGTCCCACG-1,Monocytes -CD8dep_GTCACAAAGTTAACGA-1,Monocytes -CD8dep_GTCACAACAACACGCC-1,Monocytes -CD8dep_GTCACAACACCATCCT-1,Monocytes -CD8dep_GTCACAACAGACGCCT-1,Monocytes -CD8dep_GTCACAACAGATAATG-1,Monocytes -CD8dep_GTCACAAGTCATCGGC-1,Monocytes -CD8dep_GTCACAAGTCCCTACT-1,Monocytes -CD8dep_GTCACAAGTCGCGAAA-1,Monocytes -CD8dep_GTCACAAGTCTCCACT-1,Monocytes -CD8dep_GTCACAAGTTCCATGA-1,Monocytes -CD8dep_GTCACAATCACTCCTG-1,Monocytes -CD8dep_GTCACAATCACTTATC-1,Dendritic cells -CD8dep_GTCACAATCAGAAATG-1,Monocytes -CD8dep_GTCACAATCCGTAGTA-1,Monocytes -CD8dep_GTCACAATCGCCGTGA-1,Monocytes -CD8dep_GTCACGGCAAGCGAGT-1,Monocytes -CD8dep_GTCACGGCACAGATTC-1,Monocytes -CD8dep_GTCACGGCACATTTCT-1,Monocytes -CD8dep_GTCACGGCACGTAAGG-1,Monocytes -CD8dep_GTCACGGCAGCTCGAC-1,Dendritic cells -CD8dep_GTCACGGGTATCGCAT-1,Monocytes -CD8dep_GTCACGGTCAGTCCCT-1,Monocytes -CD8dep_GTCACGGTCAGTGTTG-1,Monocytes -CD8dep_GTCACGGTCGCGTAGC-1,Monocytes -CD8dep_GTCACGGTCTCTAGGA-1,Monocytes -CD8dep_GTCATTTAGCACACAG-1,Monocytes -CD8dep_GTCATTTAGGACCACA-1,Monocytes -CD8dep_GTCATTTAGGCAATTA-1,Monocytes -CD8dep_GTCATTTCAAACTGCT-1,Monocytes -CD8dep_GTCATTTCAAGCTGTT-1,Monocytes -CD8dep_GTCATTTGTATGAAAC-1,Dendritic cells -CD8dep_GTCATTTGTCCGAGTC-1,Monocytes -CD8dep_GTCATTTGTCTGATCA-1,Monocytes -CD8dep_GTCATTTGTGATAAAC-1,Monocytes -CD8dep_GTCATTTGTGTGGCTC-1,Monocytes -CD8dep_GTCATTTGTTTGACTG-1,Monocytes -CD8dep_GTCATTTTCAGGCCCA-1,Dendritic cells -CD8dep_GTCATTTTCCAACCAA-1,Monocytes -CD8dep_GTCATTTTCTTCCTTC-1,Monocytes -CD8dep_GTCCTCAAGCGTGAGT-1,Monocytes -CD8dep_GTCCTCAAGCTAACAA-1,Monocytes -CD8dep_GTCCTCAAGGCTCATT-1,Monocytes -CD8dep_GTCCTCAAGGGCACTA-1,Monocytes -CD8dep_GTCCTCACACCCTATC-1,Monocytes -CD8dep_GTCCTCACAGCTTCGG-1,Monocytes -CD8dep_GTCCTCATCAACCATG-1,Monocytes -CD8dep_GTCGGGTAGATACACA-1,Monocytes -CD8dep_GTCGGGTAGGCGATAC-1,Monocytes -CD8dep_GTCGGGTAGTACGTAA-1,Monocytes -CD8dep_GTCGGGTCACGTTGGC-1,Monocytes -CD8dep_GTCGGGTCAGCCAGAA-1,Monocytes -CD8dep_GTCGGGTCAGTGACAG-1,Monocytes -CD8dep_GTCGGGTGTATAAACG-1,Dendritic cells -CD8dep_GTCGGGTGTTGTTTGG-1,Monocytes -CD8dep_GTCGGGTTCCAAATGC-1,Monocytes -CD8dep_GTCGGGTTCGGTCTAA-1,Monocytes -CD8dep_GTCGGGTTCTGAGTGT-1,Monocytes -CD8dep_GTCGTAACAACACGCC-1,Monocytes -CD8dep_GTCGTAACAAGGTTCT-1,Monocytes -CD8dep_GTCGTAACACCAGATT-1,Monocytes -CD8dep_GTCGTAACAGTGGAGT-1,Dendritic cells -CD8dep_GTCGTAACATTAGCCA-1,Monocytes -CD8dep_GTCGTAAGTCTTCTCG-1,Monocytes -CD8dep_GTCGTAAGTTCAGTAC-1,Monocytes -CD8dep_GTCGTAATCCCAACGG-1,Monocytes -CD8dep_GTCGTAATCTAACTGG-1,Monocytes -CD8dep_GTCTCGTAGAGACTAT-1,Monocytes -CD8dep_GTCTCGTAGCGACGTA-1,Monocytes -CD8dep_GTCTCGTAGCTGTTCA-1,Monocytes -CD8dep_GTCTCGTAGGCTCTTA-1,Monocytes -CD8dep_GTCTCGTAGGGCTTGA-1,Monocytes -CD8dep_GTCTCGTAGGTGCTAG-1,Monocytes -CD8dep_GTCTCGTAGTACGTAA-1,Monocytes -CD8dep_GTCTCGTAGTGTTTGC-1,Fibroblasts -CD8dep_GTCTCGTGTCAGGACA-1,Granulocytes -CD8dep_GTCTCGTGTGCTGTAT-1,Monocytes -CD8dep_GTCTCGTGTTATGTGC-1,Macrophages -CD8dep_GTCTCGTTCAGTCCCT-1,Monocytes -CD8dep_GTCTCGTTCCGCGGTA-1,Monocytes -CD8dep_GTCTTCGAGAACTGTA-1,Dendritic cells -CD8dep_GTCTTCGAGAAGGGTA-1,Monocytes -CD8dep_GTCTTCGAGCTTCGCG-1,Macrophages -CD8dep_GTCTTCGAGGAGTACC-1,Monocytes -CD8dep_GTCTTCGAGTTTCCTT-1,Monocytes -CD8dep_GTCTTCGCAACGCACC-1,Dendritic cells -CD8dep_GTCTTCGGTAAACCTC-1,Monocytes -CD8dep_GTCTTCGGTATATGGA-1,Macrophages -CD8dep_GTCTTCGTCCAGATCA-1,T cells -CD8dep_GTCTTCGTCCGCATCT-1,Monocytes -CD8dep_GTCTTCGTCTCGAGTA-1,Macrophages -CD8dep_GTGAAGGAGCCATCGC-1,Monocytes -CD8dep_GTGAAGGAGTATTGGA-1,Monocytes -CD8dep_GTGAAGGCACCAGGTC-1,Monocytes -CD8dep_GTGAAGGCAGCGTCCA-1,Monocytes -CD8dep_GTGAAGGGTATCGCAT-1,Monocytes -CD8dep_GTGAAGGGTTATCACG-1,Monocytes -CD8dep_GTGAAGGGTTATGTGC-1,Monocytes -CD8dep_GTGAAGGGTTGGTGGA-1,Monocytes -CD8dep_GTGAAGGTCTGGGCCA-1,Macrophages -CD8dep_GTGCAGCCACAAGACG-1,T cells -CD8dep_GTGCAGCGTAAGGATT-1,Monocytes -CD8dep_GTGCAGCGTCATTAGC-1,Granulocytes -CD8dep_GTGCAGCGTCTAGAGG-1,Macrophages -CD8dep_GTGCAGCGTGATGTGG-1,Monocytes -CD8dep_GTGCAGCGTTCATGGT-1,Monocytes -CD8dep_GTGCATAAGTACATGA-1,Dendritic cells -CD8dep_GTGCATAAGTTCGATC-1,Monocytes -CD8dep_GTGCATACAGCTGTGC-1,Monocytes -CD8dep_GTGCATACAGTAAGCG-1,Monocytes -CD8dep_GTGCATACATTGGGCC-1,Monocytes -CD8dep_GTGCATAGTAAGGGCT-1,Monocytes -CD8dep_GTGCATAGTAGCAAAT-1,Granulocytes -CD8dep_GTGCATAGTCAACTGT-1,Monocytes -CD8dep_GTGCATAGTTGGACCC-1,Granulocytes -CD8dep_GTGCATATCATGTCTT-1,Dendritic cells -CD8dep_GTGCATATCCGAATGT-1,Monocytes -CD8dep_GTGCATATCCTTAATC-1,Fibroblasts -CD8dep_GTGCGGTAGCCCAACC-1,Monocytes -CD8dep_GTGCGGTAGCCGATTT-1,Monocytes -CD8dep_GTGCGGTAGCGATCCC-1,Monocytes -CD8dep_GTGCGGTAGCTAACAA-1,Granulocytes -CD8dep_GTGCGGTAGGGATCTG-1,Granulocytes -CD8dep_GTGCGGTCAAGGTTCT-1,Monocytes -CD8dep_GTGCGGTCACCGAATT-1,Monocytes -CD8dep_GTGCGGTCACGACTCG-1,Monocytes -CD8dep_GTGCGGTCAGAAGCAC-1,Monocytes -CD8dep_GTGCGGTGTAGCCTCG-1,Monocytes -CD8dep_GTGCGGTGTCGCTTCT-1,Monocytes -CD8dep_GTGCGGTGTTAGTGGG-1,Monocytes -CD8dep_GTGCGGTGTTCAGCGC-1,Monocytes -CD8dep_GTGCGGTGTTCGAATC-1,Monocytes -CD8dep_GTGCGGTGTTGAGGTG-1,Monocytes -CD8dep_GTGCGGTTCGGTCCGA-1,Monocytes -CD8dep_GTGCTTCAGGGATACC-1,Monocytes -CD8dep_GTGCTTCAGTTAACGA-1,Monocytes -CD8dep_GTGCTTCGTACTTCTT-1,Monocytes -CD8dep_GTGCTTCGTCCTCCAT-1,Monocytes -CD8dep_GTGCTTCGTTCACCTC-1,Monocytes -CD8dep_GTGCTTCTCGCAGGCT-1,Monocytes -CD8dep_GTGCTTCTCTCAAGTG-1,Monocytes -CD8dep_GTGCTTCTCTGGTATG-1,Monocytes -CD8dep_GTGGGTCAGACTTGAA-1,Monocytes -CD8dep_GTGGGTCAGATGTGGC-1,Monocytes -CD8dep_GTGGGTCAGTCCTCCT-1,Monocytes -CD8dep_GTGGGTCAGTCTCAAC-1,Dendritic cells -CD8dep_GTGGGTCAGTGTCCCG-1,Monocytes -CD8dep_GTGGGTCCAAGGTTCT-1,Monocytes -CD8dep_GTGGGTCGTGTGACGA-1,Monocytes -CD8dep_GTGGGTCGTTCCATGA-1,Monocytes -CD8dep_GTGTGCGAGAAGAAGC-1,Monocytes -CD8dep_GTGTGCGCATGGAATA-1,Monocytes -CD8dep_GTGTGCGCATTACGAC-1,Monocytes -CD8dep_GTGTGCGCATTGGTAC-1,Monocytes -CD8dep_GTGTGCGGTGTGACGA-1,Monocytes -CD8dep_GTGTGCGTCACAAACC-1,Dendritic cells -CD8dep_GTGTGCGTCACTCTTA-1,Monocytes -CD8dep_GTGTGCGTCAGTGCAT-1,Monocytes -CD8dep_GTGTGCGTCGGCGCTA-1,Monocytes -CD8dep_GTGTGCGTCTTTACAC-1,Monocytes -CD8dep_GTGTTAGAGGCTAGCA-1,Monocytes -CD8dep_GTGTTAGAGTAAGTAC-1,Monocytes -CD8dep_GTGTTAGCAGTCGATT-1,Monocytes -CD8dep_GTGTTAGCATGGTTGT-1,Monocytes -CD8dep_GTGTTAGGTGGCAAAC-1,Monocytes -CD8dep_GTGTTAGTCGACCAGC-1,Monocytes -CD8dep_GTGTTAGTCTCATTCA-1,Monocytes -CD8dep_GTTAAGCAGCCCGAAA-1,Macrophages -CD8dep_GTTAAGCAGCGAGAAA-1,Monocytes -CD8dep_GTTAAGCAGGATGGAA-1,Monocytes -CD8dep_GTTAAGCAGTACGCCC-1,Monocytes -CD8dep_GTTAAGCCAACGATGG-1,Macrophages -CD8dep_GTTAAGCCAACTGCGC-1,Monocytes -CD8dep_GTTAAGCCAATGAATG-1,Macrophages -CD8dep_GTTAAGCCATCAGTCA-1,Monocytes -CD8dep_GTTAAGCGTAAGTTCC-1,Dendritic cells -CD8dep_GTTAAGCGTCGAATCT-1,Dendritic cells -CD8dep_GTTAAGCGTGCTCTTC-1,Monocytes -CD8dep_GTTAAGCTCGGCGCTA-1,Monocytes -CD8dep_GTTAAGCTCGGCTACG-1,Monocytes -CD8dep_GTTACAGAGAAACGAG-1,Monocytes -CD8dep_GTTACAGAGAGGTACC-1,T cells -CD8dep_GTTACAGAGATGCCAG-1,Monocytes -CD8dep_GTTACAGCACAACGTT-1,Dendritic cells -CD8dep_GTTACAGCATGTTGAC-1,Dendritic cells -CD8dep_GTTACAGCATTCTCAT-1,Monocytes -CD8dep_GTTACAGGTGGCAAAC-1,Monocytes -CD8dep_GTTACAGGTGTTCGAT-1,Monocytes -CD8dep_GTTACAGGTTCCCTTG-1,Monocytes -CD8dep_GTTACAGTCACTTCAT-1,Granulocytes -CD8dep_GTTCATTAGAGCCCAA-1,Monocytes -CD8dep_GTTCATTAGGATGTAT-1,T cells -CD8dep_GTTCATTCAATAGAGT-1,Monocytes -CD8dep_GTTCATTCAGTACACT-1,Monocytes -CD8dep_GTTCATTCATGGGAAC-1,Monocytes -CD8dep_GTTCATTCATGGTAGG-1,Monocytes -CD8dep_GTTCATTTCACGATGT-1,Monocytes -CD8dep_GTTCATTTCATCGATG-1,Monocytes -CD8dep_GTTCATTTCTTGCATT-1,Monocytes -CD8dep_GTTCGGGAGATCACGG-1,Monocytes -CD8dep_GTTCGGGAGTTGTAGA-1,Monocytes -CD8dep_GTTCGGGCACCAGCAC-1,Macrophages -CD8dep_GTTCGGGTCACTTATC-1,Monocytes -CD8dep_GTTCGGGTCTGAAAGA-1,Monocytes -CD8dep_GTTCGGGTCTTGTTTG-1,Monocytes -CD8dep_GTTCGGGTCTTTACGT-1,Monocytes -CD8dep_GTTCTCGGTAGAGTGC-1,Monocytes -CD8dep_GTTCTCGGTCCATGAT-1,Monocytes -CD8dep_GTTCTCGGTGAAAGAG-1,Monocytes -CD8dep_GTTCTCGTCACTTATC-1,Macrophages -CD8dep_GTTCTCGTCCGTACAA-1,Granulocytes -CD8dep_GTTCTCGTCTTCTGGC-1,Dendritic cells -CD8dep_GTTTCTAAGAGACTTA-1,Monocytes -CD8dep_GTTTCTAAGCAGCCTC-1,Dendritic cells -CD8dep_GTTTCTAAGGTACTCT-1,Monocytes -CD8dep_GTTTCTACAAGGGTCA-1,Macrophages -CD8dep_GTTTCTACACAGACAG-1,Monocytes -CD8dep_GTTTCTACACGAAGCA-1,Dendritic cells -CD8dep_GTTTCTACATCGTCGG-1,Dendritic cells -CD8dep_GTTTCTAGTCCTCCAT-1,Monocytes -CD8dep_GTTTCTATCACTATTC-1,Monocytes -CD8dep_GTTTCTATCCTACAGA-1,Monocytes -CD8dep_GTTTCTATCGCCTGTT-1,Granulocytes -CD8dep_TAAACCGAGAACAATC-1,Monocytes -CD8dep_TAAACCGAGACGCAAC-1,Monocytes -CD8dep_TAAACCGCACGGTAAG-1,Dendritic cells -CD8dep_TAAACCGCATCGTCGG-1,Monocytes -CD8dep_TAAACCGGTAATTGGA-1,Monocytes -CD8dep_TAAACCGGTTCGGCAC-1,Monocytes -CD8dep_TAAACCGGTTGGTAAA-1,Monocytes -CD8dep_TAAGAGACATGTCGAT-1,Monocytes -CD8dep_TAAGAGAGTACTTGAC-1,Monocytes -CD8dep_TAAGAGAGTAGGCATG-1,Monocytes -CD8dep_TAAGAGATCGCCGTGA-1,Monocytes -CD8dep_TAAGAGATCTGATTCT-1,Macrophages -CD8dep_TAAGCGTAGACAGGCT-1,Monocytes -CD8dep_TAAGCGTAGCAGATCG-1,Monocytes -CD8dep_TAAGCGTAGGTAGCCA-1,Monocytes -CD8dep_TAAGCGTCAAACGTGG-1,Monocytes -CD8dep_TAAGCGTCAAAGCGGT-1,Monocytes -CD8dep_TAAGCGTCAAGTTGTC-1,Monocytes -CD8dep_TAAGCGTCAGTTAACC-1,Monocytes -CD8dep_TAAGCGTCAGTTCCCT-1,Monocytes -CD8dep_TAAGCGTTCTACTTAC-1,Macrophages -CD8dep_TAAGCGTTCTTCGAGA-1,Monocytes -CD8dep_TAAGTGCAGAGTAAGG-1,Monocytes -CD8dep_TAAGTGCAGATATGCA-1,Granulocytes -CD8dep_TAAGTGCAGATGGCGT-1,Monocytes -CD8dep_TAAGTGCAGCTGGAAC-1,Monocytes -CD8dep_TAAGTGCAGGCCCTCA-1,Monocytes -CD8dep_TAAGTGCAGTTTAGGA-1,Monocytes -CD8dep_TAAGTGCCAACTGCTA-1,T cells -CD8dep_TAAGTGCCACAGTCGC-1,Monocytes -CD8dep_TAAGTGCCACCACGTG-1,Monocytes -CD8dep_TAAGTGCCACCTATCC-1,Monocytes -CD8dep_TAAGTGCCACGACGAA-1,Monocytes -CD8dep_TAAGTGCCACGGCCAT-1,Monocytes -CD8dep_TAAGTGCTCCAGTATG-1,Monocytes -CD8dep_TAAGTGCTCGGTGTCG-1,Monocytes -CD8dep_TACACGAAGGCAGGTT-1,Monocytes -CD8dep_TACACGAAGTAAGTAC-1,Monocytes -CD8dep_TACACGACATCTGGTA-1,Macrophages -CD8dep_TACACGAGTAGCTTGT-1,Monocytes -CD8dep_TACACGAGTCGACTGC-1,Monocytes -CD8dep_TACACGAGTGAGTGAC-1,Monocytes -CD8dep_TACACGAGTGCCTTGG-1,Monocytes -CD8dep_TACAGTGAGCCGATTT-1,Monocytes -CD8dep_TACAGTGAGGCGTACA-1,Monocytes -CD8dep_TACAGTGGTCCGACGT-1,Monocytes -CD8dep_TACAGTGGTTGGTGGA-1,Monocytes -CD8dep_TACAGTGTCCTGTACC-1,Monocytes -CD8dep_TACAGTGTCCTTGGTC-1,Monocytes -CD8dep_TACAGTGTCTATCCTA-1,Macrophages -CD8dep_TACCTATAGGCATGTG-1,Macrophages -CD8dep_TACCTATAGGTGATAT-1,Dendritic cells -CD8dep_TACCTATCACCACGTG-1,Monocytes -CD8dep_TACCTATCAGGCTGAA-1,Monocytes -CD8dep_TACCTATGTCGCTTCT-1,Dendritic cells -CD8dep_TACCTATTCATGCTCC-1,Monocytes -CD8dep_TACCTTACAATGGAAT-1,Monocytes -CD8dep_TACCTTACACAGTCGC-1,Dendritic cells -CD8dep_TACCTTACAGGGTTAG-1,Monocytes -CD8dep_TACCTTACAGTCCTTC-1,Monocytes -CD8dep_TACCTTAGTTTGTTTC-1,Monocytes -CD8dep_TACCTTATCCTTTCTC-1,Monocytes -CD8dep_TACCTTATCGACAGCC-1,Dendritic cells -CD8dep_TACCTTATCGTCCGTT-1,Monocytes -CD8dep_TACGGATAGAGGTTGC-1,Monocytes -CD8dep_TACGGATAGATCCTGT-1,Monocytes -CD8dep_TACGGATAGTAACCCT-1,Monocytes -CD8dep_TACGGATAGTAGATGT-1,Monocytes -CD8dep_TACGGATAGTCCGGTC-1,Macrophages -CD8dep_TACGGATCACTTACGA-1,Monocytes -CD8dep_TACGGATCATCAGTCA-1,Monocytes -CD8dep_TACGGATGTACCCAAT-1,Monocytes -CD8dep_TACGGATGTCACCTAA-1,Monocytes -CD8dep_TACGGATTCCCTTGTG-1,Monocytes -CD8dep_TACGGATTCCGTAGGC-1,Granulocytes -CD8dep_TACGGATTCCTAGTGA-1,Monocytes -CD8dep_TACGGATTCCTCATTA-1,Monocytes -CD8dep_TACGGATTCGGCATCG-1,Monocytes -CD8dep_TACGGGCCAATTGCTG-1,Monocytes -CD8dep_TACGGGCGTGCACCAC-1,Monocytes -CD8dep_TACGGGCTCTCTGAGA-1,Monocytes -CD8dep_TACGGGCTCTGTACGA-1,Monocytes -CD8dep_TACGGGCTCTGTGCAA-1,Monocytes -CD8dep_TACGGTAAGCAGGCTA-1,Monocytes -CD8dep_TACGGTACAATAAGCA-1,Monocytes -CD8dep_TACGGTAGTAAACGCG-1,Monocytes -CD8dep_TACGGTAGTTCCACTC-1,Monocytes -CD8dep_TACTCATAGCGCCTCA-1,Monocytes -CD8dep_TACTCATAGCGCCTTG-1,Monocytes -CD8dep_TACTCATAGTTAGCGG-1,Dendritic cells -CD8dep_TACTCATCAGACGCCT-1,Monocytes -CD8dep_TACTCATGTAAATGAC-1,Monocytes -CD8dep_TACTCATGTTAGGGTG-1,Monocytes -CD8dep_TACTCATGTTATGCGT-1,Granulocytes -CD8dep_TACTCATTCGTATCAG-1,Macrophages -CD8dep_TACTCGCAGACCCACC-1,Granulocytes -CD8dep_TACTCGCAGCGATTCT-1,Monocytes -CD8dep_TACTCGCAGTGCTGCC-1,Monocytes -CD8dep_TACTCGCCAATCCAAC-1,Monocytes -CD8dep_TACTCGCCACATTAGC-1,Monocytes -CD8dep_TACTCGCCATCACAAC-1,Macrophages -CD8dep_TACTCGCCATGTAGTC-1,Granulocytes -CD8dep_TACTCGCGTCTTCTCG-1,Monocytes -CD8dep_TACTCGCGTTGCCTCT-1,Monocytes -CD8dep_TACTCGCTCATGTCTT-1,Monocytes -CD8dep_TACTCGCTCATTATCC-1,Monocytes -CD8dep_TACTCGCTCCTGTACC-1,Monocytes -CD8dep_TACTCGCTCTCTAGGA-1,Monocytes -CD8dep_TACTTACGTAGCCTCG-1,Dendritic cells -CD8dep_TACTTACGTGACCAAG-1,Monocytes -CD8dep_TACTTACTCGCAGGCT-1,Macrophages -CD8dep_TACTTGTAGATCCGAG-1,Monocytes -CD8dep_TACTTGTCACTGTCGG-1,Macrophages -CD8dep_TACTTGTCAGGACGTA-1,Monocytes -CD8dep_TACTTGTGTATCGCAT-1,Monocytes -CD8dep_TACTTGTTCTTGCAAG-1,Monocytes -CD8dep_TAGACCAAGTTTAGGA-1,Monocytes -CD8dep_TAGACCACAATCAGAA-1,Monocytes -CD8dep_TAGACCAGTACAGCAG-1,Monocytes -CD8dep_TAGACCAGTCTAAAGA-1,Monocytes -CD8dep_TAGACCAGTTCGCTAA-1,Macrophages -CD8dep_TAGACCATCACAACGT-1,Monocytes -CD8dep_TAGACCATCACTTATC-1,Monocytes -CD8dep_TAGACCATCCCAAGTA-1,Monocytes -CD8dep_TAGAGCTAGAATTCCC-1,Monocytes -CD8dep_TAGAGCTAGAGACTTA-1,Monocytes -CD8dep_TAGAGCTAGTGGTAGC-1,Monocytes -CD8dep_TAGAGCTCATACAGCT-1,Monocytes -CD8dep_TAGAGCTCATTCGACA-1,Monocytes -CD8dep_TAGAGCTGTAAGCACG-1,Monocytes -CD8dep_TAGAGCTTCCGTACAA-1,Monocytes -CD8dep_TAGCCGGAGACAAGCC-1,Granulocytes -CD8dep_TAGCCGGAGACCTTTG-1,Monocytes -CD8dep_TAGCCGGCAAGTCATC-1,Granulocytes -CD8dep_TAGCCGGCAGGACCCT-1,Monocytes -CD8dep_TAGCCGGCAGTATGCT-1,Monocytes -CD8dep_TAGCCGGGTATGAAAC-1,Monocytes -CD8dep_TAGCCGGGTGTGCCTG-1,Monocytes -CD8dep_TAGCCGGGTTGGTGGA-1,Monocytes -CD8dep_TAGCCGGTCATCATTC-1,Dendritic cells -CD8dep_TAGGCATAGCCACCTG-1,Monocytes -CD8dep_TAGGCATCACAACGCC-1,Monocytes -CD8dep_TAGGCATCAGACTCGC-1,Granulocytes -CD8dep_TAGGCATGTAAGGATT-1,Macrophages -CD8dep_TAGGCATGTTTCCACC-1,Monocytes -CD8dep_TAGGCATTCAGCAACT-1,Macrophages -CD8dep_TAGGCATTCAGCATGT-1,Dendritic cells -CD8dep_TAGGCATTCTAACTGG-1,Monocytes -CD8dep_TAGTGGTAGAAGGCCT-1,Monocytes -CD8dep_TAGTGGTAGAATCTCC-1,Monocytes -CD8dep_TAGTGGTAGACTCGGA-1,Monocytes -CD8dep_TAGTGGTAGTCAAGGC-1,Macrophages -CD8dep_TAGTGGTCAATCTGCA-1,Monocytes -CD8dep_TAGTGGTCAATGGTCT-1,Monocytes -CD8dep_TAGTGGTCACCCATTC-1,Monocytes -CD8dep_TAGTGGTCACTCTGTC-1,Monocytes -CD8dep_TAGTGGTGTCAGAAGC-1,Monocytes -CD8dep_TAGTGGTGTCGGCTCA-1,Monocytes -CD8dep_TAGTGGTTCGCAGGCT-1,Monocytes -CD8dep_TAGTTGGAGACAATAC-1,Granulocytes -CD8dep_TAGTTGGAGAGGTTAT-1,Monocytes -CD8dep_TAGTTGGAGGTTACCT-1,Monocytes -CD8dep_TAGTTGGAGTGCGTGA-1,Monocytes -CD8dep_TAGTTGGAGTGTACCT-1,Dendritic cells -CD8dep_TAGTTGGAGTTAGCGG-1,Monocytes -CD8dep_TAGTTGGCAAGTTCTG-1,Monocytes -CD8dep_TAGTTGGCACGGTAAG-1,Monocytes -CD8dep_TAGTTGGGTCTGCAAT-1,Monocytes -CD8dep_TAGTTGGGTTGGACCC-1,Monocytes -CD8dep_TAGTTGGTCCGAAGAG-1,Monocytes -CD8dep_TAGTTGGTCCGTCATC-1,Monocytes -CD8dep_TATCAGGAGAATCTCC-1,Monocytes -CD8dep_TATCAGGAGACTCGGA-1,Monocytes -CD8dep_TATCAGGAGCCCAACC-1,Monocytes -CD8dep_TATCAGGAGCGAAGGG-1,Monocytes -CD8dep_TATCAGGAGTCAAGGC-1,Monocytes -CD8dep_TATCAGGCAATAAGCA-1,Monocytes -CD8dep_TATCAGGCACGCTTTC-1,Monocytes -CD8dep_TATCAGGTCATCTGCC-1,Monocytes -CD8dep_TATCAGGTCTCAACTT-1,Monocytes -CD8dep_TATCTCAAGAGACTAT-1,Macrophages -CD8dep_TATCTCACACAGACAG-1,Monocytes -CD8dep_TATCTCACAGGCTCAC-1,Monocytes -CD8dep_TATCTCACATACAGCT-1,Monocytes -CD8dep_TATCTCAGTACCCAAT-1,Monocytes -CD8dep_TATCTCAGTCATACTG-1,Monocytes -CD8dep_TATCTCAGTCCAGTTA-1,Dendritic cells -CD8dep_TATCTCAGTCTCATCC-1,Monocytes -CD8dep_TATCTCAGTTGAGGTG-1,Monocytes -CD8dep_TATCTCATCCTCCTAG-1,Monocytes -CD8dep_TATGCCCAGCTGAACG-1,Monocytes -CD8dep_TATGCCCAGGCCATAG-1,Monocytes -CD8dep_TATGCCCAGGTAGCTG-1,Monocytes -CD8dep_TATGCCCAGTGTACGG-1,Monocytes -CD8dep_TATGCCCCACCTCGTT-1,Monocytes -CD8dep_TATGCCCCAGGGCATA-1,Monocytes -CD8dep_TATGCCCCAGTGGGAT-1,Monocytes -CD8dep_TATGCCCCATTAGCCA-1,Monocytes -CD8dep_TATGCCCGTAGCTGCC-1,Monocytes -CD8dep_TATGCCCGTCCGCTGA-1,Monocytes -CD8dep_TATGCCCTCGGTCCGA-1,Monocytes -CD8dep_TATTACCCATAGACTC-1,Monocytes -CD8dep_TATTACCCATCTCGCT-1,Macrophages -CD8dep_TATTACCGTAATTGGA-1,Monocytes -CD8dep_TATTACCGTCTCTCTG-1,Monocytes -CD8dep_TATTACCGTGTAATGA-1,Monocytes -CD8dep_TATTACCGTGTCCTCT-1,Monocytes -CD8dep_TATTACCGTTCGGGCT-1,Monocytes -CD8dep_TATTACCTCCACTCCA-1,T cells -CD8dep_TCAACGAAGAAACCAT-1,Monocytes -CD8dep_TCAACGAAGACATAAC-1,Macrophages -CD8dep_TCAACGAAGACTTGAA-1,Monocytes -CD8dep_TCAACGAAGCCAGTTT-1,Monocytes -CD8dep_TCAACGAAGCGATCCC-1,Monocytes -CD8dep_TCAACGAAGGGCATGT-1,Monocytes -CD8dep_TCAACGAAGTCGTACT-1,Monocytes -CD8dep_TCAACGAAGTTGTAGA-1,Monocytes -CD8dep_TCAACGACAAACGCGA-1,Monocytes -CD8dep_TCAACGACAAGTCTAC-1,Dendritic cells -CD8dep_TCAACGACAGCTGTGC-1,Monocytes -CD8dep_TCAACGACAGTGGAGT-1,Dendritic cells -CD8dep_TCAACGAGTGTTGGGA-1,Monocytes -CD8dep_TCAACGAGTTCAGACT-1,Dendritic cells -CD8dep_TCAACGATCATACGGT-1,Monocytes -CD8dep_TCAACGATCCCTGACT-1,Monocytes -CD8dep_TCAACGATCTACGAGT-1,Monocytes -CD8dep_TCAACGATCTGGTGTA-1,Monocytes -CD8dep_TCAATCTAGTGTTTGC-1,Macrophages -CD8dep_TCAATCTCAATGGATA-1,Monocytes -CD8dep_TCAATCTCATCGGAAG-1,Monocytes -CD8dep_TCAATCTGTCAATACC-1,Monocytes -CD8dep_TCAATCTGTCCCTACT-1,Monocytes -CD8dep_TCAATCTGTTCAGCGC-1,Monocytes -CD8dep_TCAATCTTCTATGTGG-1,Dendritic cells -CD8dep_TCACAAGAGAAGCCCA-1,Macrophages -CD8dep_TCACAAGCAATTGCTG-1,Monocytes -CD8dep_TCACAAGCAGGTCTCG-1,Monocytes -CD8dep_TCACAAGCATTACGAC-1,Monocytes -CD8dep_TCACAAGGTAGCGTGA-1,Monocytes -CD8dep_TCACAAGGTGAAAGAG-1,Monocytes -CD8dep_TCACAAGGTGTTAAGA-1,Monocytes -CD8dep_TCACAAGTCTACGAGT-1,Monocytes -CD8dep_TCACGAAAGGTGCAAC-1,Monocytes -CD8dep_TCACGAACAATGGACG-1,Monocytes -CD8dep_TCACGAAGTATATGGA-1,Monocytes -CD8dep_TCACGAATCGTTTGCC-1,Monocytes -CD8dep_TCACGAATCTCAAACG-1,Macrophages -CD8dep_TCAGATGAGTCACGCC-1,Macrophages -CD8dep_TCAGATGCAAAGTGCG-1,Dendritic cells -CD8dep_TCAGATGCATCATCCC-1,Monocytes -CD8dep_TCAGATGCATCGGACC-1,Macrophages -CD8dep_TCAGATGGTCTAAAGA-1,Macrophages -CD8dep_TCAGATGGTCTGGAGA-1,Dendritic cells -CD8dep_TCAGATGGTTAAGACA-1,Monocytes -CD8dep_TCAGATGGTTGCGTTA-1,Monocytes -CD8dep_TCAGATGTCAGCTCGG-1,Monocytes -CD8dep_TCAGATGTCAGGCAAG-1,Monocytes -CD8dep_TCAGCAACAAACCTAC-1,Macrophages -CD8dep_TCAGCAACAGACGCAA-1,Macrophages -CD8dep_TCAGCAACAGGCTCAC-1,Monocytes -CD8dep_TCAGCAACATCGTCGG-1,Monocytes -CD8dep_TCAGCAACATGCAACT-1,Monocytes -CD8dep_TCAGCAAGTAGTACCT-1,Dendritic cells -CD8dep_TCAGCAAGTCTGCGGT-1,Monocytes -CD8dep_TCAGCAAGTCTGGAGA-1,Monocytes -CD8dep_TCAGCAAGTGGACGAT-1,Monocytes -CD8dep_TCAGCAATCCTTGACC-1,Monocytes -CD8dep_TCAGCAATCCTTGGTC-1,Monocytes -CD8dep_TCAGCTCAGGACTGGT-1,Monocytes -CD8dep_TCAGCTCAGTCAATAG-1,Monocytes -CD8dep_TCAGCTCCAAGGCTCC-1,Monocytes -CD8dep_TCAGCTCCAAGTTAAG-1,Macrophages -CD8dep_TCAGCTCGTACTTCTT-1,Monocytes -CD8dep_TCAGCTCGTCTTCAAG-1,Monocytes -CD8dep_TCAGCTCGTTAAGATG-1,Monocytes -CD8dep_TCAGCTCTCACTTACT-1,Monocytes -CD8dep_TCAGGATAGCGCTTAT-1,Monocytes -CD8dep_TCAGGATAGCTTCGCG-1,Monocytes -CD8dep_TCAGGATAGGTACTCT-1,Monocytes -CD8dep_TCAGGATCAAGTCTGT-1,Dendritic cells -CD8dep_TCAGGATCAATGTAAG-1,Monocytes -CD8dep_TCAGGATCACAACGTT-1,Granulocytes -CD8dep_TCAGGATCATATGGTC-1,Monocytes -CD8dep_TCAGGATGTACAGTGG-1,Granulocytes -CD8dep_TCAGGATGTGTTGGGA-1,Granulocytes -CD8dep_TCAGGATTCCGCATCT-1,Monocytes -CD8dep_TCAGGATTCCTGCAGG-1,Monocytes -CD8dep_TCAGGTAAGCGTCTAT-1,Monocytes -CD8dep_TCAGGTAAGTTATCGC-1,Monocytes -CD8dep_TCAGGTAAGTTGTCGT-1,Monocytes -CD8dep_TCAGGTACACGGACAA-1,Monocytes -CD8dep_TCAGGTACAGCCAGAA-1,Macrophages -CD8dep_TCAGGTAGTAAGAGAG-1,Monocytes -CD8dep_TCAGGTAGTCGAGATG-1,Dendritic cells -CD8dep_TCAGGTAGTTGTGGAG-1,Monocytes -CD8dep_TCAGGTATCCGGCACA-1,Monocytes -CD8dep_TCATTACAGACCTAGG-1,Dendritic cells -CD8dep_TCATTACAGAGTTGGC-1,Monocytes -CD8dep_TCATTACAGCATGGCA-1,Monocytes -CD8dep_TCATTACAGCCCAGCT-1,Macrophages -CD8dep_TCATTACAGCTCCCAG-1,Monocytes -CD8dep_TCATTACAGTGAAGAG-1,Dendritic cells -CD8dep_TCATTACCAGTCCTTC-1,Dendritic cells -CD8dep_TCATTACCATCCTTGC-1,Monocytes -CD8dep_TCATTACGTAGATTAG-1,Monocytes -CD8dep_TCATTACGTATAAACG-1,Monocytes -CD8dep_TCATTACGTCCCTTGT-1,Monocytes -CD8dep_TCATTACTCAGAGACG-1,Granulocytes -CD8dep_TCATTACTCATCACCC-1,Monocytes -CD8dep_TCATTACTCGCCTGAG-1,Monocytes -CD8dep_TCATTACTCGGCGCTA-1,Dendritic cells -CD8dep_TCATTTGAGACCGGAT-1,Dendritic cells -CD8dep_TCATTTGAGTAAGTAC-1,Monocytes -CD8dep_TCATTTGCACACTGCG-1,Monocytes -CD8dep_TCATTTGCACTGTTAG-1,Monocytes -CD8dep_TCATTTGCATCGATGT-1,Monocytes -CD8dep_TCATTTGCATTAGGCT-1,Monocytes -CD8dep_TCATTTGCATTTCACT-1,Dendritic cells -CD8dep_TCATTTGGTCAAGCGA-1,Monocytes -CD8dep_TCCACACAGATGCGAC-1,Monocytes -CD8dep_TCCACACCACGAGGTA-1,Monocytes -CD8dep_TCCACACCATCACGTA-1,Macrophages -CD8dep_TCCACACCATTCCTGC-1,Monocytes -CD8dep_TCCACACGTAAACCTC-1,Monocytes -CD8dep_TCCACACGTCCTAGCG-1,Monocytes -CD8dep_TCCACACTCCACTCCA-1,Monocytes -CD8dep_TCCACACTCGTGGTCG-1,Monocytes -CD8dep_TCCCGATAGCCCAACC-1,Dendritic cells -CD8dep_TCCCGATAGCTAACAA-1,Monocytes -CD8dep_TCCCGATAGGAGTTGC-1,Monocytes -CD8dep_TCCCGATAGTGAAGAG-1,Adipocytes -CD8dep_TCCCGATCATTGGCGC-1,Monocytes -CD8dep_TCCCGATGTGACCAAG-1,Monocytes -CD8dep_TCCCGATGTGCTCTTC-1,Monocytes -CD8dep_TCCCGATTCAGCGACC-1,Monocytes -CD8dep_TCCCGATTCGTGACAT-1,Monocytes -CD8dep_TCCCGATTCTAGAGTC-1,Macrophages -CD8dep_TCCCGATTCTGGTATG-1,Monocytes -CD8dep_TCGAGGCAGCAGCGTA-1,Monocytes -CD8dep_TCGAGGCCAGTGGGAT-1,Monocytes -CD8dep_TCGAGGCCATCCTTGC-1,Monocytes -CD8dep_TCGAGGCGTCATCGGC-1,Monocytes -CD8dep_TCGAGGCGTCTGCAAT-1,Monocytes -CD8dep_TCGAGGCTCCGCGGTA-1,Monocytes -CD8dep_TCGAGGCTCTCGCATC-1,Monocytes -CD8dep_TCGCGAGAGCCGCCTA-1,Monocytes -CD8dep_TCGCGAGAGCTGTTCA-1,Monocytes -CD8dep_TCGCGAGCAACCGCCA-1,Monocytes -CD8dep_TCGCGAGCAGGAATCG-1,Dendritic cells -CD8dep_TCGCGAGCAGGGTATG-1,Monocytes -CD8dep_TCGCGAGCATGGTCTA-1,Monocytes -CD8dep_TCGCGAGTCAAAGTAG-1,Monocytes -CD8dep_TCGCGAGTCGCGCCAA-1,Monocytes -CD8dep_TCGCGTTAGCTGAAAT-1,Granulocytes -CD8dep_TCGCGTTAGGGATCTG-1,Monocytes -CD8dep_TCGCGTTGTAAGAGAG-1,Monocytes -CD8dep_TCGCGTTGTACCATCA-1,Monocytes -CD8dep_TCGCGTTGTACCGTTA-1,Monocytes -CD8dep_TCGCGTTGTCGTGGCT-1,Monocytes -CD8dep_TCGCGTTTCAATAAGG-1,Monocytes -CD8dep_TCGCGTTTCCAGATCA-1,Monocytes -CD8dep_TCGCGTTTCTGCGGCA-1,Granulocytes -CD8dep_TCGGGACAGGGTCTCC-1,Dendritic cells -CD8dep_TCGGGACAGTATGACA-1,Monocytes -CD8dep_TCGGGACCAATACGCT-1,Dendritic cells -CD8dep_TCGGGACGTATAAACG-1,Dendritic cells -CD8dep_TCGGGACGTATATCCG-1,Monocytes -CD8dep_TCGGGACTCAACTCTT-1,Monocytes -CD8dep_TCGGGACTCCCAGGTG-1,Monocytes -CD8dep_TCGGTAAAGAGTACAT-1,Macrophages -CD8dep_TCGGTAAGTAAGCACG-1,Monocytes -CD8dep_TCGGTAATCAATCACG-1,Monocytes -CD8dep_TCGGTAATCTGGAGCC-1,Macrophages -CD8dep_TCGTACCAGACCTAGG-1,Monocytes -CD8dep_TCGTACCGTACTCTCC-1,Monocytes -CD8dep_TCGTACCGTAGCTTGT-1,Monocytes -CD8dep_TCGTACCGTCTCGTTC-1,Monocytes -CD8dep_TCGTACCGTTTCCACC-1,Monocytes -CD8dep_TCGTACCTCAGTTGAC-1,Monocytes -CD8dep_TCGTACCTCCACTCCA-1,Monocytes -CD8dep_TCGTACCTCTGTCTCG-1,Monocytes -CD8dep_TCGTACCTCTGTTTGT-1,Monocytes -CD8dep_TCGTACCTCTTAGAGC-1,Dendritic cells -CD8dep_TCGTAGAAGCAATCTC-1,Dendritic cells -CD8dep_TCGTAGAAGCATGGCA-1,Monocytes -CD8dep_TCGTAGAAGCGCCTTG-1,Monocytes -CD8dep_TCGTAGACAATCCAAC-1,Dendritic cells -CD8dep_TCGTAGACAGATGGGT-1,Macrophages -CD8dep_TCGTAGAGTTACGCGC-1,Monocytes -CD8dep_TCGTAGATCTGGTGTA-1,Monocytes -CD8dep_TCTATTGAGACTTTCG-1,Monocytes -CD8dep_TCTATTGCACAGGCCT-1,Monocytes -CD8dep_TCTATTGGTTAAGATG-1,Monocytes -CD8dep_TCTATTGTCCAGTATG-1,Dendritic cells -CD8dep_TCTATTGTCCGTAGTA-1,Macrophages -CD8dep_TCTATTGTCGTCTGCT-1,Monocytes -CD8dep_TCTCATAAGGATGTAT-1,Monocytes -CD8dep_TCTCATACAACACGCC-1,Monocytes -CD8dep_TCTCATACACATTAGC-1,Monocytes -CD8dep_TCTCATACACTTAACG-1,Dendritic cells -CD8dep_TCTCATACAGCCACCA-1,Monocytes -CD8dep_TCTCTAAAGCCCAACC-1,T cells -CD8dep_TCTCTAAAGTGCTGCC-1,Monocytes -CD8dep_TCTCTAACAAAGGTGC-1,Granulocytes -CD8dep_TCTCTAACACATGGGA-1,Monocytes -CD8dep_TCTCTAACATCGGAAG-1,Monocytes -CD8dep_TCTCTAAGTAAAGGAG-1,Monocytes -CD8dep_TCTCTAAGTAGTGAAT-1,Monocytes -CD8dep_TCTCTAATCAACGAAA-1,Monocytes -CD8dep_TCTCTAATCACATAGC-1,Granulocytes -CD8dep_TCTCTAATCCCACTTG-1,Dendritic cells -CD8dep_TCTCTAATCCGTCATC-1,Monocytes -CD8dep_TCTGAGAAGACAAGCC-1,Monocytes -CD8dep_TCTGAGAAGAGCCTAG-1,Monocytes -CD8dep_TCTGAGACAATAACGA-1,Monocytes -CD8dep_TCTGAGAGTCTGGTCG-1,Macrophages -CD8dep_TCTGAGATCCAGGGCT-1,Dendritic cells -CD8dep_TCTGAGATCCGCGCAA-1,Dendritic cells -CD8dep_TCTGAGATCGGAATCT-1,Monocytes -CD8dep_TCTGGAAAGACCACGA-1,Monocytes -CD8dep_TCTGGAACACAGACAG-1,Monocytes -CD8dep_TCTGGAAGTACAGTGG-1,Monocytes -CD8dep_TCTGGAAGTTGGTTTG-1,Dendritic cells -CD8dep_TCTGGAATCCATGCTC-1,Dendritic cells -CD8dep_TCTGGAATCTGCCCTA-1,Monocytes -CD8dep_TCTTCGGAGAATGTGT-1,Monocytes -CD8dep_TCTTCGGAGACCGGAT-1,Monocytes -CD8dep_TCTTCGGAGCGACGTA-1,Monocytes -CD8dep_TCTTCGGAGCTTATCG-1,Monocytes -CD8dep_TCTTCGGCAAACAACA-1,Dendritic cells -CD8dep_TCTTCGGCACAAGACG-1,Monocytes -CD8dep_TCTTCGGCAGCGTTCG-1,Dendritic cells -CD8dep_TCTTCGGGTCTAGGTT-1,Monocytes -CD8dep_TCTTCGGGTGTCTGAT-1,Monocytes -CD8dep_TCTTCGGGTTATTCTC-1,Monocytes -CD8dep_TCTTCGGGTTTGGCGC-1,Macrophages -CD8dep_TCTTCGGTCACCCGAG-1,Monocytes -CD8dep_TCTTCGGTCATAAAGG-1,Monocytes -CD8dep_TCTTTCCAGACGCACA-1,Monocytes -CD8dep_TCTTTCCAGGAGTAGA-1,Monocytes -CD8dep_TCTTTCCAGTGGTAAT-1,Monocytes -CD8dep_TCTTTCCCAACTGCTA-1,Macrophages -CD8dep_TCTTTCCCACATGGGA-1,Monocytes -CD8dep_TCTTTCCCACCCTATC-1,Monocytes -CD8dep_TCTTTCCGTAGAAAGG-1,Monocytes -CD8dep_TCTTTCCGTGCCTGTG-1,Dendritic cells -CD8dep_TCTTTCCGTGTCAATC-1,Monocytes -CD8dep_TCTTTCCGTTACCGAT-1,Monocytes -CD8dep_TCTTTCCTCAGGTAAA-1,Monocytes -CD8dep_TCTTTCCTCATATCGG-1,Monocytes -CD8dep_TCTTTCCTCGTGTAGT-1,Monocytes -CD8dep_TGAAAGAAGTGGAGAA-1,Monocytes -CD8dep_TGAAAGAAGTGGTAAT-1,Monocytes -CD8dep_TGAAAGACACCGAATT-1,Monocytes -CD8dep_TGAAAGACACTTCTGC-1,Monocytes -CD8dep_TGAAAGACAGATGGGT-1,Monocytes -CD8dep_TGAAAGAGTCCCTTGT-1,Monocytes -CD8dep_TGAAAGAGTGGCTCCA-1,Monocytes -CD8dep_TGAAAGAGTGTTGGGA-1,T cells -CD8dep_TGAAAGATCCAGGGCT-1,Macrophages -CD8dep_TGAAAGATCGAGGTAG-1,Monocytes -CD8dep_TGACAACAGAGGTTGC-1,Monocytes -CD8dep_TGACAACAGATATGGT-1,Monocytes -CD8dep_TGACAACAGCCCTAAT-1,Monocytes -CD8dep_TGACAACAGGAGCGAG-1,Monocytes -CD8dep_TGACAACAGTGTACCT-1,Monocytes -CD8dep_TGACAACGTATCACCA-1,Dendritic cells -CD8dep_TGACAACGTCCAGTTA-1,Monocytes -CD8dep_TGACAACTCACAGGCC-1,Monocytes -CD8dep_TGACAACTCTTTAGGG-1,Monocytes -CD8dep_TGACGGCAGCGACGTA-1,Dendritic cells -CD8dep_TGACGGCAGGTTCCTA-1,Monocytes -CD8dep_TGACGGCAGTTTGCGT-1,Monocytes -CD8dep_TGACGGCCACCATGTA-1,Monocytes -CD8dep_TGACGGCGTCGTCTTC-1,Monocytes -CD8dep_TGACGGCGTGCAGACA-1,Macrophages -CD8dep_TGACGGCTCCGCAGTG-1,Macrophages -CD8dep_TGACTAGAGAATGTGT-1,Monocytes -CD8dep_TGACTAGAGACAAAGG-1,Monocytes -CD8dep_TGACTAGAGTGAATTG-1,Monocytes -CD8dep_TGACTAGCAGACGCAA-1,Monocytes -CD8dep_TGACTAGGTACGACCC-1,Monocytes -CD8dep_TGACTAGGTCTACCTC-1,Monocytes -CD8dep_TGACTAGGTCTCCATC-1,Dendritic cells -CD8dep_TGACTAGGTGACTCAT-1,Monocytes -CD8dep_TGACTTTAGAACTCGG-1,Monocytes -CD8dep_TGACTTTAGCGAAGGG-1,Monocytes -CD8dep_TGACTTTAGGACAGAA-1,Macrophages -CD8dep_TGACTTTAGTGCAAGC-1,Monocytes -CD8dep_TGACTTTAGTTCGCAT-1,Monocytes -CD8dep_TGACTTTGTCTAGCCG-1,Macrophages -CD8dep_TGACTTTTCCGCGTTT-1,Macrophages -CD8dep_TGACTTTTCTACCAGA-1,Monocytes -CD8dep_TGACTTTTCTCCAGGG-1,Monocytes -CD8dep_TGAGAGGAGAAGAAGC-1,Monocytes -CD8dep_TGAGAGGGTGCATCTA-1,Monocytes -CD8dep_TGAGAGGTCACGGTTA-1,Monocytes -CD8dep_TGAGCATAGACTAGAT-1,Monocytes -CD8dep_TGAGCATAGAGCAATT-1,Macrophages -CD8dep_TGAGCATCAAGCTGAG-1,Monocytes -CD8dep_TGAGCATCACACCGAC-1,Monocytes -CD8dep_TGAGCATCAGGTGGAT-1,Monocytes -CD8dep_TGAGCATCATTACGAC-1,Monocytes -CD8dep_TGAGCATGTCGGCATC-1,Monocytes -CD8dep_TGAGCATGTTCGTTGA-1,Monocytes -CD8dep_TGAGCATTCAGCAACT-1,Granulocytes -CD8dep_TGAGCATTCATTGCCC-1,Dendritic cells -CD8dep_TGAGCCGAGATGCGAC-1,Monocytes -CD8dep_TGAGCCGAGCAGGTCA-1,Monocytes -CD8dep_TGAGCCGAGGTGTGGT-1,Monocytes -CD8dep_TGAGCCGCACTTCGAA-1,Monocytes -CD8dep_TGAGCCGCATCGGGTC-1,Monocytes -CD8dep_TGAGCCGCATGCCACG-1,Monocytes -CD8dep_TGAGCCGTCGCCCTTA-1,Monocytes -CD8dep_TGAGCCGTCGGTGTTA-1,Monocytes -CD8dep_TGAGCCGTCTTCTGGC-1,Monocytes -CD8dep_TGAGGGACAAGCCGCT-1,Granulocytes -CD8dep_TGAGGGACATAGAAAC-1,Monocytes -CD8dep_TGAGGGAGTCCAGTTA-1,Monocytes -CD8dep_TGAGGGAGTCTCCATC-1,Monocytes -CD8dep_TGAGGGAGTTAGGGTG-1,Monocytes -CD8dep_TGAGGGATCACAGTAC-1,Monocytes -CD8dep_TGAGGGATCACCCTCA-1,Monocytes -CD8dep_TGATTTCAGAAGAAGC-1,Monocytes -CD8dep_TGATTTCAGTGGTCCC-1,Monocytes -CD8dep_TGATTTCGTCTTGATG-1,Monocytes -CD8dep_TGATTTCGTGTCCTCT-1,Monocytes -CD8dep_TGATTTCGTTCTGTTT-1,Monocytes -CD8dep_TGATTTCTCGGTTCGG-1,Monocytes -CD8dep_TGATTTCTCTACGAGT-1,Monocytes -CD8dep_TGCACCTAGGACCACA-1,Monocytes -CD8dep_TGCACCTCATATACCG-1,Monocytes -CD8dep_TGCACCTTCAACCATG-1,Monocytes -CD8dep_TGCACCTTCTGGCGAC-1,Monocytes -CD8dep_TGCCAAAAGATAGTCA-1,Monocytes -CD8dep_TGCCAAAAGATGCCAG-1,Monocytes -CD8dep_TGCCAAAAGCAAATCA-1,Monocytes -CD8dep_TGCCAAAAGGCTACGA-1,Monocytes -CD8dep_TGCCAAAAGTAATCCC-1,Monocytes -CD8dep_TGCCAAAAGTCAAGCG-1,Monocytes -CD8dep_TGCCAAACACCTCGTT-1,Monocytes -CD8dep_TGCCAAACACGGATAG-1,Granulocytes -CD8dep_TGCCAAACAGACTCGC-1,Monocytes -CD8dep_TGCCAAAGTATAGGTA-1,Monocytes -CD8dep_TGCCAAATCCCGACTT-1,Monocytes -CD8dep_TGCCCATAGAGTGAGA-1,Monocytes -CD8dep_TGCCCATAGCCTATGT-1,Monocytes -CD8dep_TGCCCATAGGCTAGCA-1,Monocytes -CD8dep_TGCCCATCAAGGTTTC-1,Monocytes -CD8dep_TGCCCATCACATAACC-1,Macrophages -CD8dep_TGCCCATGTGTTTGGT-1,Monocytes -CD8dep_TGCCCATTCACCTTAT-1,Granulocytes -CD8dep_TGCCCATTCTGAGTGT-1,Monocytes -CD8dep_TGCCCTAAGACGCACA-1,Monocytes -CD8dep_TGCCCTAAGAGGGCTT-1,Monocytes -CD8dep_TGCCCTAAGCATGGCA-1,Dendritic cells -CD8dep_TGCCCTAAGTACCGGA-1,Monocytes -CD8dep_TGCCCTAAGTCATGCT-1,Monocytes -CD8dep_TGCCCTACAGTATGCT-1,Monocytes -CD8dep_TGCCCTACAGTTTACG-1,Monocytes -CD8dep_TGCCCTAGTCCCGACA-1,Monocytes -CD8dep_TGCCCTAGTTTCCACC-1,Monocytes -CD8dep_TGCCCTATCGTTACAG-1,Monocytes -CD8dep_TGCCCTATCTAACTGG-1,Monocytes -CD8dep_TGCGCAGAGCAGGCTA-1,Monocytes -CD8dep_TGCGCAGAGCGTTCCG-1,Monocytes -CD8dep_TGCGCAGAGTTTCCTT-1,Monocytes -CD8dep_TGCGCAGCAAGAGGCT-1,Dendritic cells -CD8dep_TGCGCAGCAAGTACCT-1,Monocytes -CD8dep_TGCGCAGCATGGATGG-1,Dendritic cells -CD8dep_TGCGCAGCATGGGACA-1,Monocytes -CD8dep_TGCGCAGGTCGAGTTT-1,Monocytes -CD8dep_TGCGCAGGTTATCCGA-1,Monocytes -CD8dep_TGCGCAGTCAACACAC-1,Monocytes -CD8dep_TGCGCAGTCCAAGTAC-1,Monocytes -CD8dep_TGCGCAGTCTCTTATG-1,Macrophages -CD8dep_TGCGGGTAGATATACG-1,Monocytes -CD8dep_TGCGGGTAGCAGATCG-1,Monocytes -CD8dep_TGCGGGTAGGAATTAC-1,Monocytes -CD8dep_TGCGGGTAGGGATGGG-1,Granulocytes -CD8dep_TGCGGGTAGTCTTGCA-1,Monocytes -CD8dep_TGCGGGTCAAAGCGGT-1,Monocytes -CD8dep_TGCGGGTCATAGAAAC-1,Macrophages -CD8dep_TGCGGGTGTGACAAAT-1,Monocytes -CD8dep_TGCGGGTGTGCGAAAC-1,Dendritic cells -CD8dep_TGCGGGTTCTCGAGTA-1,Monocytes -CD8dep_TGCGTGGAGCAGCCTC-1,Macrophages -CD8dep_TGCGTGGCAAAGGTGC-1,Dendritic cells -CD8dep_TGCGTGGCAGGCAGTA-1,Monocytes -CD8dep_TGCGTGGGTAAATGTG-1,Monocytes -CD8dep_TGCGTGGGTCTTCTCG-1,Dendritic cells -CD8dep_TGCGTGGTCGCCATAA-1,Granulocytes -CD8dep_TGCTACCAGATGCCTT-1,Dendritic cells -CD8dep_TGCTACCCAAGTTCTG-1,Monocytes -CD8dep_TGCTACCCAGATCGGA-1,Monocytes -CD8dep_TGCTACCGTCTAGGTT-1,Monocytes -CD8dep_TGCTACCGTGATGATA-1,Monocytes -CD8dep_TGCTGCTAGAGGTTAT-1,Monocytes -CD8dep_TGCTGCTAGGATGGTC-1,Monocytes -CD8dep_TGCTGCTGTACCGAGA-1,Monocytes -CD8dep_TGCTGCTGTCGCTTTC-1,Monocytes -CD8dep_TGCTGCTGTGAAAGAG-1,Macrophages -CD8dep_TGCTGCTGTTATGTGC-1,Monocytes -CD8dep_TGCTGCTTCCATGAGT-1,Monocytes -CD8dep_TGCTGCTTCTCCGGTT-1,Monocytes -CD8dep_TGCTGCTTCTGCCCTA-1,Monocytes -CD8dep_TGCTGCTTCTGGCGTG-1,Monocytes -CD8dep_TGGACGCAGAGCTGCA-1,Monocytes -CD8dep_TGGACGCAGGCTCATT-1,Monocytes -CD8dep_TGGACGCAGTGGCACA-1,Monocytes -CD8dep_TGGACGCAGTTGAGTA-1,Monocytes -CD8dep_TGGACGCCACAGCGTC-1,Monocytes -CD8dep_TGGACGCGTCCGAAGA-1,Monocytes -CD8dep_TGGACGCGTGCTCTTC-1,Monocytes -CD8dep_TGGACGCTCGCGTAGC-1,Monocytes -CD8dep_TGGACGCTCTGCGGCA-1,Monocytes -CD8dep_TGGCCAGAGATCCGAG-1,Monocytes -CD8dep_TGGCCAGAGGGAACGG-1,Monocytes -CD8dep_TGGCCAGCAATGGTCT-1,Monocytes -CD8dep_TGGCCAGCACATTCGA-1,Monocytes -CD8dep_TGGCCAGCATGAAGTA-1,Monocytes -CD8dep_TGGCCAGCATGCATGT-1,T cells -CD8dep_TGGCCAGGTCATGCCG-1,Monocytes -CD8dep_TGGCCAGGTGCAACTT-1,Monocytes -CD8dep_TGGCCAGGTTAGATGA-1,Macrophages -CD8dep_TGGCCAGGTTCGTTGA-1,Monocytes -CD8dep_TGGCCAGTCAAACGGG-1,Macrophages -CD8dep_TGGCGCAAGCTCCTTC-1,Granulocytes -CD8dep_TGGCGCAAGTGGTAAT-1,Monocytes -CD8dep_TGGCGCACATGGTCAT-1,Monocytes -CD8dep_TGGCGCAGTACTTCTT-1,Monocytes -CD8dep_TGGCGCAGTAGGCTGA-1,Monocytes -CD8dep_TGGCGCAGTTCGGCAC-1,Fibroblasts -CD8dep_TGGCGCATCGCCAGCA-1,Monocytes -CD8dep_TGGCTGGAGCGATAGC-1,T cells -CD8dep_TGGCTGGAGCTCCTCT-1,Granulocytes -CD8dep_TGGCTGGCACCGATAT-1,Monocytes -CD8dep_TGGCTGGCACTCAGGC-1,Monocytes -CD8dep_TGGCTGGCATCGGGTC-1,Monocytes -CD8dep_TGGCTGGGTAGAAAGG-1,Monocytes -CD8dep_TGGCTGGGTCACTTCC-1,Monocytes -CD8dep_TGGCTGGGTCGGCACT-1,Monocytes -CD8dep_TGGCTGGTCTGGTTCC-1,Macrophages -CD8dep_TGGGAAGAGTGAACAT-1,Monocytes -CD8dep_TGGGAAGCAGCTGGCT-1,Granulocytes -CD8dep_TGGGAAGCATCACGAT-1,Monocytes -CD8dep_TGGGAAGCATGGTAGG-1,Monocytes -CD8dep_TGGGAAGGTAATCACC-1,Monocytes -CD8dep_TGGGAAGGTATAAACG-1,Monocytes -CD8dep_TGGGAAGGTCCCGACA-1,Monocytes -CD8dep_TGGGAAGTCAGGTTCA-1,Monocytes -CD8dep_TGGGAAGTCATCACCC-1,Monocytes -CD8dep_TGGGCGTAGGCATGGT-1,Monocytes -CD8dep_TGGGCGTGTCACCCAG-1,Monocytes -CD8dep_TGGGCGTGTGGCAAAC-1,Monocytes -CD8dep_TGGGCGTTCCTTGCCA-1,Monocytes -CD8dep_TGGTTAGAGGCCCTTG-1,Monocytes -CD8dep_TGGTTAGCACCTTGTC-1,Monocytes -CD8dep_TGGTTAGCAGGATCGA-1,Monocytes -CD8dep_TGGTTAGCAGGTCCAC-1,Monocytes -CD8dep_TGGTTAGCAGTCTTCC-1,Monocytes -CD8dep_TGGTTAGGTAGCCTAT-1,Monocytes -CD8dep_TGGTTAGGTCAGCTAT-1,Monocytes -CD8dep_TGGTTAGGTGAAATCA-1,Monocytes -CD8dep_TGGTTAGGTGCAGGTA-1,Monocytes -CD8dep_TGGTTAGGTGCGCTTG-1,Monocytes -CD8dep_TGGTTAGTCATATCGG-1,Monocytes -CD8dep_TGGTTAGTCTGTACGA-1,Monocytes -CD8dep_TGGTTCCAGCATGGCA-1,Monocytes -CD8dep_TGGTTCCCACGGTAGA-1,Monocytes -CD8dep_TGGTTCCGTGCGATAG-1,Monocytes -CD8dep_TGGTTCCGTTGCGCAC-1,Monocytes -CD8dep_TGGTTCCTCAGTGTTG-1,Monocytes -CD8dep_TGGTTCCTCCAGATCA-1,Monocytes -CD8dep_TGGTTCCTCGGACAAG-1,Monocytes -CD8dep_TGTATTCCAATAGCGG-1,Monocytes -CD8dep_TGTATTCCAGGCAGTA-1,Monocytes -CD8dep_TGTATTCGTAGCGCAA-1,Monocytes -CD8dep_TGTATTCGTGAGGGTT-1,Granulocytes -CD8dep_TGTATTCGTGTGGCTC-1,Monocytes -CD8dep_TGTATTCGTTGTACAC-1,Macrophages -CD8dep_TGTATTCTCACCAGGC-1,Monocytes -CD8dep_TGTCCCAAGAGACTAT-1,Monocytes -CD8dep_TGTCCCAAGCACAGGT-1,Macrophages -CD8dep_TGTCCCAAGTCGAGTG-1,Monocytes -CD8dep_TGTCCCAAGTGTGAAT-1,Monocytes -CD8dep_TGTCCCACATGAGCGA-1,Monocytes -CD8dep_TGTCCCAGTCCGTGAC-1,Monocytes -CD8dep_TGTCCCAGTTGTCTTT-1,Dendritic cells -CD8dep_TGTCCCATCCTAAGTG-1,Monocytes -CD8dep_TGTGGTACACAAGTAA-1,Dendritic cells -CD8dep_TGTGGTACATAGTAAG-1,Granulocytes -CD8dep_TGTGGTACATCGGTTA-1,Monocytes -CD8dep_TGTGGTACATGTAAGA-1,Monocytes -CD8dep_TGTGGTAGTATAGGGC-1,Dendritic cells -CD8dep_TGTGGTAGTCCCGACA-1,Monocytes -CD8dep_TGTGGTAGTTCGAATC-1,Macrophages -CD8dep_TGTGGTATCGCAAGCC-1,Monocytes -CD8dep_TGTGGTATCTGCGGCA-1,Dendritic cells -CD8dep_TGTGGTATCTTTACGT-1,Monocytes -CD8dep_TGTGTTTAGAGGTTAT-1,Monocytes -CD8dep_TGTGTTTAGTACGTAA-1,Monocytes -CD8dep_TGTGTTTCAAGCCGCT-1,Dendritic cells -CD8dep_TGTGTTTCAGCCACCA-1,Dendritic cells -CD8dep_TGTGTTTGTAAAGTCA-1,B cells -CD8dep_TGTGTTTGTTAGATGA-1,Monocytes -CD8dep_TGTGTTTTCAAAGTAG-1,Monocytes -CD8dep_TGTGTTTTCTCTAGGA-1,Dendritic cells -CD8dep_TGTTCCGAGAGTACCG-1,Monocytes -CD8dep_TGTTCCGGTTAAGAAC-1,Dendritic cells -CD8dep_TGTTCCGGTTGGACCC-1,Monocytes -CD8dep_TGTTCCGTCCGAATGT-1,Macrophages -CD8dep_TGTTCCGTCGGCGCTA-1,NK cells -CD8dep_TGTTCCGTCTAAGCCA-1,Dendritic cells -CD8dep_TGTTCCGTCTGCAGTA-1,Monocytes -CD8dep_TTAACTCAGCCAGTAG-1,Monocytes -CD8dep_TTAACTCAGCCCAACC-1,Monocytes -CD8dep_TTAACTCAGGAGTCTG-1,Monocytes -CD8dep_TTAACTCAGTCTCGGC-1,Monocytes -CD8dep_TTAACTCAGTGCCATT-1,Monocytes -CD8dep_TTAACTCGTAACGCGA-1,Monocytes -CD8dep_TTAACTCGTAGGCATG-1,Dendritic cells -CD8dep_TTAACTCGTCTTGTCC-1,Monocytes -CD8dep_TTAGGACAGCACACAG-1,Monocytes -CD8dep_TTAGGACAGTACGACG-1,Dendritic cells -CD8dep_TTAGGACCAAGGACAC-1,Monocytes -CD8dep_TTAGGACCACTTACGA-1,Monocytes -CD8dep_TTAGGACCAGATCTGT-1,Monocytes -CD8dep_TTAGGACCAGTCCTTC-1,Monocytes -CD8dep_TTAGGACGTCTCTTAT-1,Monocytes -CD8dep_TTAGGACGTGGCCCTA-1,Macrophages -CD8dep_TTAGGACGTTAAAGTG-1,Monocytes -CD8dep_TTAGGACGTTCTCATT-1,Monocytes -CD8dep_TTAGGACTCAGCCTAA-1,Monocytes -CD8dep_TTAGGACTCGAATGGG-1,Monocytes -CD8dep_TTAGGACTCGGGAGTA-1,Monocytes -CD8dep_TTAGGACTCGGTTAAC-1,Monocytes -CD8dep_TTAGGACTCTCTAGGA-1,Monocytes -CD8dep_TTAGGCAAGAAACGAG-1,T cells -CD8dep_TTAGGCAAGACTAAGT-1,Monocytes -CD8dep_TTAGGCAAGCGAAGGG-1,Monocytes -CD8dep_TTAGGCAAGCTAGGCA-1,Monocytes -CD8dep_TTAGGCAAGTAAGTAC-1,Monocytes -CD8dep_TTAGGCAGTGACTCAT-1,Monocytes -CD8dep_TTAGGCAGTTCCACAA-1,Monocytes -CD8dep_TTAGTTCAGAACAATC-1,Dendritic cells -CD8dep_TTAGTTCCAATTCCTT-1,T cells -CD8dep_TTAGTTCCATTAACCG-1,Monocytes -CD8dep_TTAGTTCGTAGCTAAA-1,Monocytes -CD8dep_TTAGTTCGTCTCACCT-1,Monocytes -CD8dep_TTAGTTCGTGATGTCT-1,Monocytes -CD8dep_TTAGTTCTCCTATTCA-1,Granulocytes -CD8dep_TTAGTTCTCGGCATCG-1,NK cells -CD8dep_TTAGTTCTCTGACCTC-1,Monocytes -CD8dep_TTAGTTCTCTGTCAAG-1,Monocytes -CD8dep_TTAGTTCTCTTAACCT-1,Monocytes -CD8dep_TTATGCTAGACCGGAT-1,Monocytes -CD8dep_TTATGCTAGGAGTACC-1,Monocytes -CD8dep_TTATGCTAGGAGTCTG-1,Monocytes -CD8dep_TTATGCTCAAGGACTG-1,Granulocytes -CD8dep_TTATGCTCACCGATAT-1,Monocytes -CD8dep_TTATGCTGTAGCTCCG-1,Monocytes -CD8dep_TTATGCTGTCACAAGG-1,Monocytes -CD8dep_TTATGCTGTCCGTGAC-1,Monocytes -CD8dep_TTATGCTGTGAGTGAC-1,Monocytes -CD8dep_TTATGCTGTGCAGTAG-1,Monocytes -CD8dep_TTATGCTGTTGATTCG-1,Monocytes -CD8dep_TTATGCTGTTGCGTTA-1,Dendritic cells -CD8dep_TTATGCTTCAAAGACA-1,Monocytes -CD8dep_TTCCCAGAGAGCTGCA-1,Monocytes -CD8dep_TTCCCAGAGCCCAGCT-1,Monocytes -CD8dep_TTCCCAGAGGGCACTA-1,Dendritic cells -CD8dep_TTCCCAGCATGTAGTC-1,Monocytes -CD8dep_TTCCCAGGTCTAGTGT-1,Monocytes -CD8dep_TTCCCAGGTGTTCTTT-1,Monocytes -CD8dep_TTCCCAGTCACATAGC-1,Monocytes -CD8dep_TTCCCAGTCAGTACGT-1,Monocytes -CD8dep_TTCGAAGAGCGCTTAT-1,Monocytes -CD8dep_TTCGAAGCAAGCCGTC-1,Monocytes -CD8dep_TTCGAAGTCCACGAAT-1,Monocytes -CD8dep_TTCGGTCAGTGTGAAT-1,Monocytes -CD8dep_TTCGGTCCAAACCCAT-1,Monocytes -CD8dep_TTCGGTCCACGAAACG-1,Monocytes -CD8dep_TTCGGTCCATAGACTC-1,Monocytes -CD8dep_TTCGGTCCATCACGTA-1,Monocytes -CD8dep_TTCGGTCGTCTGCGGT-1,Macrophages -CD8dep_TTCGGTCTCCCTTGCA-1,Dendritic cells -CD8dep_TTCGGTCTCGGATGTT-1,Monocytes -CD8dep_TTCGGTCTCGGTTCGG-1,Monocytes -CD8dep_TTCTACAAGACAATAC-1,Monocytes -CD8dep_TTCTACAAGAGACTAT-1,Monocytes -CD8dep_TTCTACAAGCCAACAG-1,Monocytes -CD8dep_TTCTACACAAGCCATT-1,Monocytes -CD8dep_TTCTACACAGTAACGG-1,Granulocytes -CD8dep_TTCTACAGTACGACCC-1,Monocytes -CD8dep_TTCTACAGTCAACTGT-1,Monocytes -CD8dep_TTCTACAGTCATATCG-1,Monocytes -CD8dep_TTCTACAGTCTAAACC-1,Monocytes -CD8dep_TTCTACAGTGCACGAA-1,Monocytes -CD8dep_TTCTACATCAACCATG-1,Monocytes -CD8dep_TTCTACATCGTGGACC-1,Monocytes -CD8dep_TTCTCAAAGATCTGAA-1,Monocytes -CD8dep_TTCTCAAAGCTCCTTC-1,Monocytes -CD8dep_TTCTCAACAAGTTAAG-1,Macrophages -CD8dep_TTCTCAACACTCTGTC-1,Dendritic cells -CD8dep_TTCTCAACAGTCAGCC-1,Monocytes -CD8dep_TTCTCAACATGTCCTC-1,Monocytes -CD8dep_TTCTCAACATGTCGAT-1,T cells -CD8dep_TTCTCAAGTACGCACC-1,Monocytes -CD8dep_TTCTCAAGTCGGCACT-1,Monocytes -CD8dep_TTCTCAATCACGCGGT-1,Monocytes -CD8dep_TTCTCAATCAGCGACC-1,Monocytes -CD8dep_TTCTCAATCCTCAACC-1,Monocytes -CD8dep_TTCTCAATCTACTCAT-1,Monocytes -CD8dep_TTCTCCTCAGCGTCCA-1,Monocytes -CD8dep_TTCTCCTCAGTCACTA-1,Macrophages -CD8dep_TTCTCCTCATATACCG-1,Macrophages -CD8dep_TTCTCCTCATTAGGCT-1,Monocytes -CD8dep_TTCTCCTGTAACGACG-1,Dendritic cells -CD8dep_TTCTCCTGTGTCTGAT-1,Monocytes -CD8dep_TTCTCCTGTTAAGATG-1,Macrophages -CD8dep_TTCTCCTTCACATACG-1,Dendritic cells -CD8dep_TTCTCCTTCGAACTGT-1,Dendritic cells -CD8dep_TTCTTAGAGAGGTTAT-1,Monocytes -CD8dep_TTCTTAGAGAGTGACC-1,Dendritic cells -CD8dep_TTCTTAGAGATGAGAG-1,Monocytes -CD8dep_TTCTTAGAGCAGATCG-1,Monocytes -CD8dep_TTCTTAGAGCCACGCT-1,Monocytes -CD8dep_TTCTTAGAGCTAAACA-1,Dendritic cells -CD8dep_TTCTTAGAGGAGTTTA-1,Macrophages -CD8dep_TTCTTAGCACAGATTC-1,Monocytes -CD8dep_TTCTTAGCACGAAGCA-1,Monocytes -CD8dep_TTCTTAGCAGCAGTTT-1,Monocytes -CD8dep_TTCTTAGGTTCATGGT-1,Monocytes -CD8dep_TTCTTAGGTTTAGCTG-1,Monocytes -CD8dep_TTCTTAGTCAAGCCTA-1,Monocytes -CD8dep_TTGAACGAGTGCGTGA-1,Monocytes -CD8dep_TTGAACGGTGCAACGA-1,Monocytes -CD8dep_TTGAACGGTGCCTGTG-1,Monocytes -CD8dep_TTGAACGGTTAGATGA-1,Monocytes -CD8dep_TTGAACGTCATCTGCC-1,Dendritic cells -CD8dep_TTGAACGTCCACGTTC-1,Granulocytes -CD8dep_TTGAACGTCGGTCCGA-1,Monocytes -CD8dep_TTGAACGTCTAACTCT-1,Monocytes -CD8dep_TTGAACGTCTCTAGGA-1,Monocytes -CD8dep_TTGACTTAGCGATCCC-1,Monocytes -CD8dep_TTGACTTAGCGTGAGT-1,Monocytes -CD8dep_TTGACTTAGCTTATCG-1,Monocytes -CD8dep_TTGACTTAGGTTCCTA-1,Monocytes -CD8dep_TTGACTTCAAACTGCT-1,Granulocytes -CD8dep_TTGACTTCACCGATAT-1,Monocytes -CD8dep_TTGACTTCAGGGCATA-1,Monocytes -CD8dep_TTGACTTCATTACCTT-1,Monocytes -CD8dep_TTGACTTGTAGGGACT-1,Monocytes -CD8dep_TTGACTTGTGCATCTA-1,Monocytes -CD8dep_TTGACTTGTGGGTATG-1,Monocytes -CD8dep_TTGCCGTCAATAAGCA-1,Monocytes -CD8dep_TTGCCGTCATTAACCG-1,Monocytes -CD8dep_TTGCCGTGTGCAGACA-1,Macrophages -CD8dep_TTGCCGTTCAGCATGT-1,Monocytes -CD8dep_TTGCGTCAGATATACG-1,Monocytes -CD8dep_TTGCGTCAGCTAGTCT-1,Monocytes -CD8dep_TTGCGTCAGGACACCA-1,Monocytes -CD8dep_TTGCGTCAGGATATAC-1,Monocytes -CD8dep_TTGCGTCAGGGTTCCC-1,Monocytes -CD8dep_TTGCGTCCAAACTGCT-1,Monocytes -CD8dep_TTGCGTCCACAGTCGC-1,Monocytes -CD8dep_TTGCGTCGTACAGCAG-1,Monocytes -CD8dep_TTGCGTCGTCGCTTTC-1,Monocytes -CD8dep_TTGCGTCGTCGGCTCA-1,Monocytes -CD8dep_TTGCGTCGTTGAACTC-1,Monocytes -CD8dep_TTGCGTCTCGTTTAGG-1,Monocytes -CD8dep_TTGCGTCTCTCAACTT-1,Monocytes -CD8dep_TTGGAACAGATGCCTT-1,Monocytes -CD8dep_TTGGAACAGCACACAG-1,Dendritic cells -CD8dep_TTGGAACAGCCGATTT-1,Monocytes -CD8dep_TTGGAACAGGGCATGT-1,Monocytes -CD8dep_TTGGAACCAAGAAGAG-1,Dendritic cells -CD8dep_TTGGAACCAGGTGGAT-1,Monocytes -CD8dep_TTGGAACGTATTCGTG-1,Macrophages -CD8dep_TTGGAACGTCCGCTGA-1,Dendritic cells -CD8dep_TTGGAACGTTAGTGGG-1,Monocytes -CD8dep_TTGGAACGTTCCCTTG-1,Monocytes -CD8dep_TTGGCAAAGAGCAATT-1,Monocytes -CD8dep_TTGGCAAAGGTAGCTG-1,Monocytes -CD8dep_TTGGCAACACCGTTGG-1,Monocytes -CD8dep_TTGGCAACATGGGACA-1,Monocytes -CD8dep_TTGGCAAGTCATCGGC-1,Monocytes -CD8dep_TTGGCAATCGCCTGTT-1,Monocytes -CD8dep_TTGTAGGAGCCCTAAT-1,Granulocytes -CD8dep_TTGTAGGCATACGCTA-1,Monocytes -CD8dep_TTGTAGGGTCTAGTGT-1,Monocytes -CD8dep_TTGTAGGGTGTAACGG-1,Granulocytes -CD8dep_TTGTAGGGTTGGAGGT-1,Monocytes -CD8dep_TTGTAGGTCGAGAACG-1,Monocytes -CD8dep_TTGTAGGTCGCAGGCT-1,Monocytes -CD8dep_TTGTAGGTCGGACAAG-1,Monocytes -CD8dep_TTGTAGGTCGTGGTCG-1,Monocytes -CD8dep_TTGTAGGTCTGCGTAA-1,Monocytes -CD8dep_TTTACTGAGAATTGTG-1,Monocytes -CD8dep_TTTACTGAGGCCCTCA-1,Granulocytes -CD8dep_TTTACTGAGTACGACG-1,Monocytes -CD8dep_TTTACTGAGTCAATAG-1,Monocytes -CD8dep_TTTACTGAGTGTGAAT-1,Monocytes -CD8dep_TTTACTGCAAGACACG-1,Monocytes -CD8dep_TTTACTGCAGACGCCT-1,Granulocytes -CD8dep_TTTACTGCATCTGGTA-1,Monocytes -CD8dep_TTTACTGCATTCTCAT-1,Macrophages -CD8dep_TTTACTGGTGCAGACA-1,Monocytes -CD8dep_TTTACTGGTGTGAATA-1,Dendritic cells -CD8dep_TTTACTGGTTCTGGTA-1,Monocytes -CD8dep_TTTACTGTCAACACTG-1,Monocytes -CD8dep_TTTACTGTCATGCAAC-1,Dendritic cells -CD8dep_TTTACTGTCTTCAACT-1,Monocytes -CD8dep_TTTATGCCAAGTTGTC-1,Monocytes -CD8dep_TTTATGCCACGTGAGA-1,Monocytes -CD8dep_TTTATGCCAGTGACAG-1,Monocytes -CD8dep_TTTATGCGTAAGGATT-1,Monocytes -CD8dep_TTTATGCGTCTAGCGC-1,Dendritic cells -CD8dep_TTTATGCTCGGTTAAC-1,Macrophages -CD8dep_TTTCCTCAGATCGGGT-1,Monocytes -CD8dep_TTTCCTCAGCTGAAAT-1,Monocytes -CD8dep_TTTCCTCAGTCTTGCA-1,Monocytes -CD8dep_TTTCCTCCACCTGGTG-1,Dendritic cells -CD8dep_TTTCCTCGTATCTGCA-1,Monocytes -CD8dep_TTTCCTCGTGCGCTTG-1,Monocytes -CD8dep_TTTCCTCGTGTAATGA-1,Monocytes -CD8dep_TTTCCTCGTGTGCCTG-1,Monocytes -CD8dep_TTTCCTCGTTCTGAAC-1,Macrophages -CD8dep_TTTCCTCTCATCTGTT-1,Monocytes -CD8dep_TTTCCTCTCTTTACGT-1,Monocytes -CD8dep_TTTGCGCAGAATGTTG-1,Monocytes -CD8dep_TTTGCGCCATCGTCGG-1,Monocytes -CD8dep_TTTGCGCCATGTCTCC-1,Monocytes -CD8dep_TTTGCGCGTCCGAACC-1,Monocytes -CD8dep_TTTGCGCTCCTACAGA-1,Monocytes -CD8dep_TTTGCGCTCGAATGGG-1,Monocytes -CD8dep_TTTGCGCTCGCTAGCG-1,Monocytes -CD8dep_TTTGCGCTCTCCAGGG-1,Dendritic cells -CD8dep_TTTGGTTAGAAGATTC-1,Macrophages -CD8dep_TTTGGTTAGACAGAGA-1,Dendritic cells -CD8dep_TTTGGTTAGATCCCGC-1,Monocytes -CD8dep_TTTGGTTCAACACCCG-1,Monocytes -CD8dep_TTTGGTTCATATGCTG-1,Monocytes -CD8dep_TTTGGTTGTTCCACAA-1,Monocytes -CD8dep_TTTGGTTGTTGCGCAC-1,Dendritic cells -CD8dep_TTTGGTTTCGTGGACC-1,Dendritic cells -CD8dep_TTTGGTTTCTGATACG-1,Monocytes -CD8dep_TTTGTCAAGACGACGT-1,Monocytes -CD8dep_TTTGTCAAGGACCACA-1,Dendritic cells -CD8dep_TTTGTCACATCGGTTA-1,Macrophages -CD8dep_TTTGTCAGTACTTCTT-1,Monocytes -CD8dep_TTTGTCAGTCGCTTCT-1,Monocytes -CD8dep_TTTGTCAGTTCAGTAC-1,Monocytes -CD8dep_TTTGTCATCGTAGGAG-1,Monocytes diff --git a/vignettes/images/ProcessInputData1.png b/vignettes/images/ProcessInputData1.png index de0eb06..96c1dbe 100644 Binary files a/vignettes/images/ProcessInputData1.png and b/vignettes/images/ProcessInputData1.png differ diff --git a/vignettes/images/ProcessInputData2.png b/vignettes/images/ProcessInputData2.png index 7f07fe9..12ecdb3 100644 Binary files a/vignettes/images/ProcessInputData2.png and b/vignettes/images/ProcessInputData2.png differ diff --git a/vignettes/images/QC1.png b/vignettes/images/QC1.png index 35c9f78..3b30e3f 100644 Binary files a/vignettes/images/QC1.png and b/vignettes/images/QC1.png differ diff --git a/vignettes/images/QC2.png b/vignettes/images/QC2.png index 369953e..951361a 100644 Binary files a/vignettes/images/QC2.png and b/vignettes/images/QC2.png differ diff --git a/vignettes/images/QC3.png b/vignettes/images/QC3.png index 3668caf..567ff97 100644 Binary files a/vignettes/images/QC3.png and b/vignettes/images/QC3.png differ diff --git a/vignettes/images/RNC.png b/vignettes/images/RNC.png index bd47367..c849208 100644 Binary files a/vignettes/images/RNC.png and b/vignettes/images/RNC.png differ diff --git a/vignettes/images/SubRec_recl.png b/vignettes/images/SubRec_recl.png index 4e993a7..81ad2eb 100644 Binary files a/vignettes/images/SubRec_recl.png and b/vignettes/images/SubRec_recl.png differ diff --git a/vignettes/images/SubRec_sub1.png b/vignettes/images/SubRec_sub1.png index 9d165a7..60a6f71 100644 Binary files a/vignettes/images/SubRec_sub1.png and b/vignettes/images/SubRec_sub1.png differ diff --git a/vignettes/images/SubRec_sub2.png b/vignettes/images/SubRec_sub2.png index 09a9ca9..6a1db85 100644 Binary files a/vignettes/images/SubRec_sub2.png and b/vignettes/images/SubRec_sub2.png differ diff --git a/vignettes/images/Vis_3D.html b/vignettes/images/Vis_3D.html index 1313685..182a5b0 100644 --- a/vignettes/images/Vis_3D.html +++ b/vignettes/images/Vis_3D.html @@ -3,26 +3,6 @@ plotly - + +
- +
+
+
+
+//# sourceMappingURL=crosstalk.min.js.map
+
- + + diff --git a/vignettes/images/Vis_3D_files/crosstalk-1.2.0/css/crosstalk.min.css b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/css/crosstalk.min.css new file mode 100644 index 0000000..6b45382 --- /dev/null +++ b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/css/crosstalk.min.css @@ -0,0 +1 @@ +.container-fluid.crosstalk-bscols{margin-left:-30px;margin-right:-30px;white-space:normal}body>.container-fluid.crosstalk-bscols{margin-left:auto;margin-right:auto}.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column{display:inline-block;padding-right:12px;vertical-align:top}@media only screen and (max-width: 480px){.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column{display:block;padding-right:inherit}}.crosstalk-input{margin-bottom:15px}.crosstalk-input .control-label{margin-bottom:0;vertical-align:middle}.crosstalk-input input[type="checkbox"]{margin:4px 0 0;margin-top:1px;line-height:normal}.crosstalk-input .checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.crosstalk-input .checkbox>label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.crosstalk-input .checkbox input[type="checkbox"],.crosstalk-input .checkbox-inline input[type="checkbox"]{position:absolute;margin-top:2px;margin-left:-20px}.crosstalk-input .checkbox+.checkbox{margin-top:-5px}.crosstalk-input .checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.crosstalk-input .checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px} diff --git a/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.js b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.js new file mode 100644 index 0000000..fd9eb53 --- /dev/null +++ b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.js @@ -0,0 +1,1474 @@ +(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o b) { + return 1; + } +} + +/** + * @private + */ + +var FilterSet = function () { + function FilterSet() { + _classCallCheck(this, FilterSet); + + this.reset(); + } + + _createClass(FilterSet, [{ + key: "reset", + value: function reset() { + // Key: handle ID, Value: array of selected keys, or null + this._handles = {}; + // Key: key string, Value: count of handles that include it + this._keys = {}; + this._value = null; + this._activeHandles = 0; + } + }, { + key: "update", + value: function update(handleId, keys) { + if (keys !== null) { + keys = keys.slice(0); // clone before sorting + keys.sort(naturalComparator); + } + + var _diffSortedLists = (0, _util.diffSortedLists)(this._handles[handleId], keys), + added = _diffSortedLists.added, + removed = _diffSortedLists.removed; + + this._handles[handleId] = keys; + + for (var i = 0; i < added.length; i++) { + this._keys[added[i]] = (this._keys[added[i]] || 0) + 1; + } + for (var _i = 0; _i < removed.length; _i++) { + this._keys[removed[_i]]--; + } + + this._updateValue(keys); + } + + /** + * @param {string[]} keys Sorted array of strings that indicate + * a superset of possible keys. + * @private + */ + + }, { + key: "_updateValue", + value: function _updateValue() { + var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._allKeys; + + var handleCount = Object.keys(this._handles).length; + if (handleCount === 0) { + this._value = null; + } else { + this._value = []; + for (var i = 0; i < keys.length; i++) { + var count = this._keys[keys[i]]; + if (count === handleCount) { + this._value.push(keys[i]); + } + } + } + } + }, { + key: "clear", + value: function clear(handleId) { + if (typeof this._handles[handleId] === "undefined") { + return; + } + + var keys = this._handles[handleId]; + if (!keys) { + keys = []; + } + + for (var i = 0; i < keys.length; i++) { + this._keys[keys[i]]--; + } + delete this._handles[handleId]; + + this._updateValue(); + } + }, { + key: "value", + get: function get() { + return this._value; + } + }, { + key: "_allKeys", + get: function get() { + var allKeys = Object.keys(this._keys); + allKeys.sort(naturalComparator); + return allKeys; + } + }]); + + return FilterSet; +}(); + +exports.default = FilterSet; + +},{"./util":11}],4:[function(require,module,exports){ +(function (global){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.default = group; + +var _var2 = require("./var"); + +var _var3 = _interopRequireDefault(_var2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +// Use a global so that multiple copies of crosstalk.js can be loaded and still +// have groups behave as singletons across all copies. +global.__crosstalk_groups = global.__crosstalk_groups || {}; +var groups = global.__crosstalk_groups; + +function group(groupName) { + if (groupName && typeof groupName === "string") { + if (!groups.hasOwnProperty(groupName)) { + groups[groupName] = new Group(groupName); + } + return groups[groupName]; + } else if ((typeof groupName === "undefined" ? "undefined" : _typeof(groupName)) === "object" && groupName._vars && groupName.var) { + // Appears to already be a group object + return groupName; + } else if (Array.isArray(groupName) && groupName.length == 1 && typeof groupName[0] === "string") { + return group(groupName[0]); + } else { + throw new Error("Invalid groupName argument"); + } +} + +var Group = function () { + function Group(name) { + _classCallCheck(this, Group); + + this.name = name; + this._vars = {}; + } + + _createClass(Group, [{ + key: "var", + value: function _var(name) { + if (!name || typeof name !== "string") { + throw new Error("Invalid var name"); + } + + if (!this._vars.hasOwnProperty(name)) this._vars[name] = new _var3.default(this, name); + return this._vars[name]; + } + }, { + key: "has", + value: function has(name) { + if (!name || typeof name !== "string") { + throw new Error("Invalid var name"); + } + + return this._vars.hasOwnProperty(name); + } + }]); + + return Group; +}(); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./var":12}],5:[function(require,module,exports){ +(function (global){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _group = require("./group"); + +var _group2 = _interopRequireDefault(_group); + +var _selection = require("./selection"); + +var _filter = require("./filter"); + +var _input = require("./input"); + +require("./input_selectize"); + +require("./input_checkboxgroup"); + +require("./input_slider"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var defaultGroup = (0, _group2.default)("default"); + +function var_(name) { + return defaultGroup.var(name); +} + +function has(name) { + return defaultGroup.has(name); +} + +if (global.Shiny) { + global.Shiny.addCustomMessageHandler("update-client-value", function (message) { + if (typeof message.group === "string") { + (0, _group2.default)(message.group).var(message.name).set(message.value); + } else { + var_(message.name).set(message.value); + } + }); +} + +var crosstalk = { + group: _group2.default, + var: var_, + has: has, + SelectionHandle: _selection.SelectionHandle, + FilterHandle: _filter.FilterHandle, + bind: _input.bind +}; + +/** + * @namespace crosstalk + */ +exports.default = crosstalk; + +global.crosstalk = crosstalk; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./filter":2,"./group":4,"./input":6,"./input_checkboxgroup":7,"./input_selectize":8,"./input_slider":9,"./selection":10}],6:[function(require,module,exports){ +(function (global){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.register = register; +exports.bind = bind; +var $ = global.jQuery; + +var bindings = {}; + +function register(reg) { + bindings[reg.className] = reg; + if (global.document && global.document.readyState !== "complete") { + $(function () { + bind(); + }); + } else if (global.document) { + setTimeout(bind, 100); + } +} + +function bind() { + Object.keys(bindings).forEach(function (className) { + var binding = bindings[className]; + $("." + binding.className).not(".crosstalk-input-bound").each(function (i, el) { + bindInstance(binding, el); + }); + }); +} + +// Escape jQuery identifier +function $escape(val) { + return val.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g, "\\$1"); +} + +function bindEl(el) { + var $el = $(el); + Object.keys(bindings).forEach(function (className) { + if ($el.hasClass(className) && !$el.hasClass("crosstalk-input-bound")) { + var binding = bindings[className]; + bindInstance(binding, el); + } + }); +} + +function bindInstance(binding, el) { + var jsonEl = $(el).find("script[type='application/json'][data-for='" + $escape(el.id) + "']"); + var data = JSON.parse(jsonEl[0].innerText); + + var instance = binding.factory(el, data); + $(el).data("crosstalk-instance", instance); + $(el).addClass("crosstalk-input-bound"); +} + +if (global.Shiny) { + var inputBinding = new global.Shiny.InputBinding(); + var _$ = global.jQuery; + _$.extend(inputBinding, { + find: function find(scope) { + return _$(scope).find(".crosstalk-input"); + }, + initialize: function initialize(el) { + if (!_$(el).hasClass("crosstalk-input-bound")) { + bindEl(el); + } + }, + getId: function getId(el) { + return el.id; + }, + getValue: function getValue(el) {}, + setValue: function setValue(el, value) {}, + receiveMessage: function receiveMessage(el, data) {}, + subscribe: function subscribe(el, callback) { + _$(el).data("crosstalk-instance").resume(); + }, + unsubscribe: function unsubscribe(el) { + _$(el).data("crosstalk-instance").suspend(); + } + }); + global.Shiny.inputBindings.register(inputBinding, "crosstalk.inputBinding"); +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{}],7:[function(require,module,exports){ +(function (global){ +"use strict"; + +var _input = require("./input"); + +var input = _interopRequireWildcard(_input); + +var _filter = require("./filter"); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +var $ = global.jQuery; + +input.register({ + className: "crosstalk-input-checkboxgroup", + + factory: function factory(el, data) { + /* + * map: {"groupA": ["keyA", "keyB", ...], ...} + * group: "ct-groupname" + */ + var ctHandle = new _filter.FilterHandle(data.group); + + var lastKnownKeys = void 0; + var $el = $(el); + $el.on("change", "input[type='checkbox']", function () { + var checked = $el.find("input[type='checkbox']:checked"); + if (checked.length === 0) { + lastKnownKeys = null; + ctHandle.clear(); + } else { + var keys = {}; + checked.each(function () { + data.map[this.value].forEach(function (key) { + keys[key] = true; + }); + }); + var keyArray = Object.keys(keys); + keyArray.sort(); + lastKnownKeys = keyArray; + ctHandle.set(keyArray); + } + }); + + return { + suspend: function suspend() { + ctHandle.clear(); + }, + resume: function resume() { + if (lastKnownKeys) ctHandle.set(lastKnownKeys); + } + }; + } +}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./filter":2,"./input":6}],8:[function(require,module,exports){ +(function (global){ +"use strict"; + +var _input = require("./input"); + +var input = _interopRequireWildcard(_input); + +var _util = require("./util"); + +var util = _interopRequireWildcard(_util); + +var _filter = require("./filter"); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +var $ = global.jQuery; + +input.register({ + className: "crosstalk-input-select", + + factory: function factory(el, data) { + /* + * items: {value: [...], label: [...]} + * map: {"groupA": ["keyA", "keyB", ...], ...} + * group: "ct-groupname" + */ + + var first = [{ value: "", label: "(All)" }]; + var items = util.dataframeToD3(data.items); + var opts = { + options: first.concat(items), + valueField: "value", + labelField: "label", + searchField: "label" + }; + + var select = $(el).find("select")[0]; + + var selectize = $(select).selectize(opts)[0].selectize; + + var ctHandle = new _filter.FilterHandle(data.group); + + var lastKnownKeys = void 0; + selectize.on("change", function () { + if (selectize.items.length === 0) { + lastKnownKeys = null; + ctHandle.clear(); + } else { + var keys = {}; + selectize.items.forEach(function (group) { + data.map[group].forEach(function (key) { + keys[key] = true; + }); + }); + var keyArray = Object.keys(keys); + keyArray.sort(); + lastKnownKeys = keyArray; + ctHandle.set(keyArray); + } + }); + + return { + suspend: function suspend() { + ctHandle.clear(); + }, + resume: function resume() { + if (lastKnownKeys) ctHandle.set(lastKnownKeys); + } + }; + } +}); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./filter":2,"./input":6,"./util":11}],9:[function(require,module,exports){ +(function (global){ +"use strict"; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var _input = require("./input"); + +var input = _interopRequireWildcard(_input); + +var _filter = require("./filter"); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +var $ = global.jQuery; +var strftime = global.strftime; + +input.register({ + className: "crosstalk-input-slider", + + factory: function factory(el, data) { + /* + * map: {"groupA": ["keyA", "keyB", ...], ...} + * group: "ct-groupname" + */ + var ctHandle = new _filter.FilterHandle(data.group); + + var opts = {}; + var $el = $(el).find("input"); + var dataType = $el.data("data-type"); + var timeFormat = $el.data("time-format"); + var round = $el.data("round"); + var timeFormatter = void 0; + + // Set up formatting functions + if (dataType === "date") { + timeFormatter = strftime.utc(); + opts.prettify = function (num) { + return timeFormatter(timeFormat, new Date(num)); + }; + } else if (dataType === "datetime") { + var timezone = $el.data("timezone"); + if (timezone) timeFormatter = strftime.timezone(timezone);else timeFormatter = strftime; + + opts.prettify = function (num) { + return timeFormatter(timeFormat, new Date(num)); + }; + } else if (dataType === "number") { + if (typeof round !== "undefined") opts.prettify = function (num) { + var factor = Math.pow(10, round); + return Math.round(num * factor) / factor; + }; + } + + $el.ionRangeSlider(opts); + + function getValue() { + var result = $el.data("ionRangeSlider").result; + + // Function for converting numeric value from slider to appropriate type. + var convert = void 0; + var dataType = $el.data("data-type"); + if (dataType === "date") { + convert = function convert(val) { + return formatDateUTC(new Date(+val)); + }; + } else if (dataType === "datetime") { + convert = function convert(val) { + // Convert ms to s + return +val / 1000; + }; + } else { + convert = function convert(val) { + return +val; + }; + } + + if ($el.data("ionRangeSlider").options.type === "double") { + return [convert(result.from), convert(result.to)]; + } else { + return convert(result.from); + } + } + + var lastKnownKeys = null; + + $el.on("change.crosstalkSliderInput", function (event) { + if (!$el.data("updating") && !$el.data("animating")) { + var _getValue = getValue(), + _getValue2 = _slicedToArray(_getValue, 2), + from = _getValue2[0], + to = _getValue2[1]; + + var keys = []; + for (var i = 0; i < data.values.length; i++) { + var val = data.values[i]; + if (val >= from && val <= to) { + keys.push(data.keys[i]); + } + } + keys.sort(); + ctHandle.set(keys); + lastKnownKeys = keys; + } + }); + + // let $el = $(el); + // $el.on("change", "input[type="checkbox"]", function() { + // let checked = $el.find("input[type="checkbox"]:checked"); + // if (checked.length === 0) { + // ctHandle.clear(); + // } else { + // let keys = {}; + // checked.each(function() { + // data.map[this.value].forEach(function(key) { + // keys[key] = true; + // }); + // }); + // let keyArray = Object.keys(keys); + // keyArray.sort(); + // ctHandle.set(keyArray); + // } + // }); + + return { + suspend: function suspend() { + ctHandle.clear(); + }, + resume: function resume() { + if (lastKnownKeys) ctHandle.set(lastKnownKeys); + } + }; + } +}); + +// Convert a number to a string with leading zeros +function padZeros(n, digits) { + var str = n.toString(); + while (str.length < digits) { + str = "0" + str; + }return str; +} + +// Given a Date object, return a string in yyyy-mm-dd format, using the +// UTC date. This may be a day off from the date in the local time zone. +function formatDateUTC(date) { + if (date instanceof Date) { + return date.getUTCFullYear() + "-" + padZeros(date.getUTCMonth() + 1, 2) + "-" + padZeros(date.getUTCDate(), 2); + } else { + return null; + } +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./filter":2,"./input":6}],10:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.SelectionHandle = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _events = require("./events"); + +var _events2 = _interopRequireDefault(_events); + +var _group = require("./group"); + +var _group2 = _interopRequireDefault(_group); + +var _util = require("./util"); + +var util = _interopRequireWildcard(_util); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** + * Use this class to read and write (and listen for changes to) the selection + * for a Crosstalk group. This is intended to be used for linked brushing. + * + * If two (or more) `SelectionHandle` instances in the same webpage share the + * same group name, they will share the same state. Setting the selection using + * one `SelectionHandle` instance will result in the `value` property instantly + * changing across the others, and `"change"` event listeners on all instances + * (including the one that initiated the sending) will fire. + * + * @param {string} [group] - The name of the Crosstalk group, or if none, + * null or undefined (or any other falsy value). This can be changed later + * via the [SelectionHandle#setGroup](#setGroup) method. + * @param {Object} [extraInfo] - An object whose properties will be copied to + * the event object whenever an event is emitted. + */ +var SelectionHandle = exports.SelectionHandle = function () { + function SelectionHandle() { + var group = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var extraInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + _classCallCheck(this, SelectionHandle); + + this._eventRelay = new _events2.default(); + this._emitter = new util.SubscriptionTracker(this._eventRelay); + + // Name of the group we're currently tracking, if any. Can change over time. + this._group = null; + // The Var we're currently tracking, if any. Can change over time. + this._var = null; + // The event handler subscription we currently have on var.on("change"). + this._varOnChangeSub = null; + + this._extraInfo = util.extend({ sender: this }, extraInfo); + + this.setGroup(group); + } + + /** + * Changes the Crosstalk group membership of this SelectionHandle. The group + * being switched away from (if any) will not have its selection value + * modified as a result of calling `setGroup`, even if this handle was the + * most recent handle to set the selection of the group. + * + * The group being switched to (if any) will also not have its selection value + * modified as a result of calling `setGroup`. If you want to set the + * selection value of the new group, call `set` explicitly. + * + * @param {string} group - The name of the Crosstalk group, or null (or + * undefined) to clear the group. + */ + + + _createClass(SelectionHandle, [{ + key: "setGroup", + value: function setGroup(group) { + var _this = this; + + // If group is unchanged, do nothing + if (this._group === group) return; + // Treat null, undefined, and other falsy values the same + if (!this._group && !group) return; + + if (this._var) { + this._var.off("change", this._varOnChangeSub); + this._var = null; + this._varOnChangeSub = null; + } + + this._group = group; + + if (group) { + this._var = (0, _group2.default)(group).var("selection"); + var sub = this._var.on("change", function (e) { + _this._eventRelay.trigger("change", e, _this); + }); + this._varOnChangeSub = sub; + } + } + + /** + * Retrieves the current selection for the group represented by this + * `SelectionHandle`. + * + * - If no selection is active, then this value will be falsy. + * - If a selection is active, but no data points are selected, then this + * value will be an empty array. + * - If a selection is active, and data points are selected, then the keys + * of the selected data points will be present in the array. + */ + + }, { + key: "_mergeExtraInfo", + + + /** + * Combines the given `extraInfo` (if any) with the handle's default + * `_extraInfo` (if any). + * @private + */ + value: function _mergeExtraInfo(extraInfo) { + // Important incidental effect: shallow clone is returned + return util.extend({}, this._extraInfo ? this._extraInfo : null, extraInfo ? extraInfo : null); + } + + /** + * Overwrites the current selection for the group, and raises the `"change"` + * event among all of the group's '`SelectionHandle` instances (including + * this one). + * + * @fires SelectionHandle#change + * @param {string[]} selectedKeys - Falsy, empty array, or array of keys (see + * {@link SelectionHandle#value}). + * @param {Object} [extraInfo] - Extra properties to be included on the event + * object that's passed to listeners (in addition to any options that were + * passed into the `SelectionHandle` constructor). + */ + + }, { + key: "set", + value: function set(selectedKeys, extraInfo) { + if (this._var) this._var.set(selectedKeys, this._mergeExtraInfo(extraInfo)); + } + + /** + * Overwrites the current selection for the group, and raises the `"change"` + * event among all of the group's '`SelectionHandle` instances (including + * this one). + * + * @fires SelectionHandle#change + * @param {Object} [extraInfo] - Extra properties to be included on the event + * object that's passed to listeners (in addition to any that were passed + * into the `SelectionHandle` constructor). + */ + + }, { + key: "clear", + value: function clear(extraInfo) { + if (this._var) this.set(void 0, this._mergeExtraInfo(extraInfo)); + } + + /** + * Subscribes to events on this `SelectionHandle`. + * + * @param {string} eventType - Indicates the type of events to listen to. + * Currently, only `"change"` is supported. + * @param {SelectionHandle~listener} listener - The callback function that + * will be invoked when the event occurs. + * @return {string} - A token to pass to {@link SelectionHandle#off} to cancel + * this subscription. + */ + + }, { + key: "on", + value: function on(eventType, listener) { + return this._emitter.on(eventType, listener); + } + + /** + * Cancels event subscriptions created by {@link SelectionHandle#on}. + * + * @param {string} eventType - The type of event to unsubscribe. + * @param {string|SelectionHandle~listener} listener - Either the callback + * function previously passed into {@link SelectionHandle#on}, or the + * string that was returned from {@link SelectionHandle#on}. + */ + + }, { + key: "off", + value: function off(eventType, listener) { + return this._emitter.off(eventType, listener); + } + + /** + * Shuts down the `SelectionHandle` object. + * + * Removes all event listeners that were added through this handle. + */ + + }, { + key: "close", + value: function close() { + this._emitter.removeAllListeners(); + this.setGroup(null); + } + }, { + key: "value", + get: function get() { + return this._var ? this._var.get() : null; + } + }]); + + return SelectionHandle; +}(); + +/** + * @callback SelectionHandle~listener + * @param {Object} event - An object containing details of the event. For + * `"change"` events, this includes the properties `value` (the new + * value of the selection, or `undefined` if no selection is active), + * `oldValue` (the previous value of the selection), and `sender` (the + * `SelectionHandle` instance that made the change). + */ + +/** + * @event SelectionHandle#change + * @type {object} + * @property {object} value - The new value of the selection, or `undefined` + * if no selection is active. + * @property {object} oldValue - The previous value of the selection. + * @property {SelectionHandle} sender - The `SelectionHandle` instance that + * changed the value. + */ + +},{"./events":1,"./group":4,"./util":11}],11:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +exports.extend = extend; +exports.checkSorted = checkSorted; +exports.diffSortedLists = diffSortedLists; +exports.dataframeToD3 = dataframeToD3; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function extend(target) { + for (var _len = arguments.length, sources = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + sources[_key - 1] = arguments[_key]; + } + + for (var i = 0; i < sources.length; i++) { + var src = sources[i]; + if (typeof src === "undefined" || src === null) continue; + + for (var key in src) { + if (src.hasOwnProperty(key)) { + target[key] = src[key]; + } + } + } + return target; +} + +function checkSorted(list) { + for (var i = 1; i < list.length; i++) { + if (list[i] <= list[i - 1]) { + throw new Error("List is not sorted or contains duplicate"); + } + } +} + +function diffSortedLists(a, b) { + var i_a = 0; + var i_b = 0; + + if (!a) a = []; + if (!b) b = []; + + var a_only = []; + var b_only = []; + + checkSorted(a); + checkSorted(b); + + while (i_a < a.length && i_b < b.length) { + if (a[i_a] === b[i_b]) { + i_a++; + i_b++; + } else if (a[i_a] < b[i_b]) { + a_only.push(a[i_a++]); + } else { + b_only.push(b[i_b++]); + } + } + + if (i_a < a.length) a_only = a_only.concat(a.slice(i_a)); + if (i_b < b.length) b_only = b_only.concat(b.slice(i_b)); + return { + removed: a_only, + added: b_only + }; +} + +// Convert from wide: { colA: [1,2,3], colB: [4,5,6], ... } +// to long: [ {colA: 1, colB: 4}, {colA: 2, colB: 5}, ... ] +function dataframeToD3(df) { + var names = []; + var length = void 0; + for (var name in df) { + if (df.hasOwnProperty(name)) names.push(name); + if (_typeof(df[name]) !== "object" || typeof df[name].length === "undefined") { + throw new Error("All fields must be arrays"); + } else if (typeof length !== "undefined" && length !== df[name].length) { + throw new Error("All fields must be arrays of the same length"); + } + length = df[name].length; + } + var results = []; + var item = void 0; + for (var row = 0; row < length; row++) { + item = {}; + for (var col = 0; col < names.length; col++) { + item[names[col]] = df[names[col]][row]; + } + results.push(item); + } + return results; +} + +/** + * Keeps track of all event listener additions/removals and lets all active + * listeners be removed with a single operation. + * + * @private + */ + +var SubscriptionTracker = exports.SubscriptionTracker = function () { + function SubscriptionTracker(emitter) { + _classCallCheck(this, SubscriptionTracker); + + this._emitter = emitter; + this._subs = {}; + } + + _createClass(SubscriptionTracker, [{ + key: "on", + value: function on(eventType, listener) { + var sub = this._emitter.on(eventType, listener); + this._subs[sub] = eventType; + return sub; + } + }, { + key: "off", + value: function off(eventType, listener) { + var sub = this._emitter.off(eventType, listener); + if (sub) { + delete this._subs[sub]; + } + return sub; + } + }, { + key: "removeAllListeners", + value: function removeAllListeners() { + var _this = this; + + var current_subs = this._subs; + this._subs = {}; + Object.keys(current_subs).forEach(function (sub) { + _this._emitter.off(current_subs[sub], sub); + }); + } + }]); + + return SubscriptionTracker; +}(); + +},{}],12:[function(require,module,exports){ +(function (global){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _events = require("./events"); + +var _events2 = _interopRequireDefault(_events); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Var = function () { + function Var(group, name, /*optional*/value) { + _classCallCheck(this, Var); + + this._group = group; + this._name = name; + this._value = value; + this._events = new _events2.default(); + } + + _createClass(Var, [{ + key: "get", + value: function get() { + return this._value; + } + }, { + key: "set", + value: function set(value, /*optional*/event) { + if (this._value === value) { + // Do nothing; the value hasn't changed + return; + } + var oldValue = this._value; + this._value = value; + // Alert JavaScript listeners that the value has changed + var evt = {}; + if (event && (typeof event === "undefined" ? "undefined" : _typeof(event)) === "object") { + for (var k in event) { + if (event.hasOwnProperty(k)) evt[k] = event[k]; + } + } + evt.oldValue = oldValue; + evt.value = value; + this._events.trigger("change", evt, this); + + // TODO: Make this extensible, to let arbitrary back-ends know that + // something has changed + if (global.Shiny && global.Shiny.onInputChange) { + global.Shiny.onInputChange(".clientValue-" + (this._group.name !== null ? this._group.name + "-" : "") + this._name, typeof value === "undefined" ? null : value); + } + } + }, { + key: "on", + value: function on(eventType, listener) { + return this._events.on(eventType, listener); + } + }, { + key: "off", + value: function off(eventType, listener) { + return this._events.off(eventType, listener); + } + }]); + + return Var; +}(); + +exports.default = Var; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./events":1}]},{},[5]) +//# sourceMappingURL=crosstalk.js.map diff --git a/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.js.map b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.js.map new file mode 100644 index 0000000..cff94f0 --- /dev/null +++ b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.js.map @@ -0,0 +1,37 @@ +{ + "version": 3, + "sources": [ + "node_modules/browser-pack/_prelude.js", + "javascript/src/events.js", + "javascript/src/filter.js", + "javascript/src/filterset.js", + "javascript/src/group.js", + "javascript/src/index.js", + "javascript/src/input.js", + "javascript/src/input_checkboxgroup.js", + "javascript/src/input_selectize.js", + "javascript/src/input_slider.js", + "javascript/src/selection.js", + "javascript/src/util.js", + "javascript/src/var.js" + ], + "names": [], + "mappings": "AAAA;;;;;;;;;;;ICAqB,M;AACnB,oBAAc;AAAA;;AACZ,SAAK,MAAL,GAAc,EAAd;AACA,SAAK,IAAL,GAAY,CAAZ;AACD;;;;uBAEE,S,EAAW,Q,EAAU;AACtB,UAAI,OAAO,KAAK,MAAL,CAAY,SAAZ,CAAX;AACA,UAAI,CAAC,IAAL,EAAW;AACT,eAAO,KAAK,MAAL,CAAY,SAAZ,IAAyB,EAAhC;AACD;AACD,UAAI,MAAM,QAAS,KAAK,IAAL,EAAnB;AACA,WAAK,GAAL,IAAY,QAAZ;AACA,aAAO,GAAP;AACD;;AAED;;;;wBACI,S,EAAW,Q,EAAU;AACvB,UAAI,OAAO,KAAK,MAAL,CAAY,SAAZ,CAAX;AACA,UAAI,OAAO,QAAP,KAAqB,UAAzB,EAAqC;AACnC,aAAK,IAAI,GAAT,IAAgB,IAAhB,EAAsB;AACpB,cAAI,KAAK,cAAL,CAAoB,GAApB,CAAJ,EAA8B;AAC5B,gBAAI,KAAK,GAAL,MAAc,QAAlB,EAA4B;AAC1B,qBAAO,KAAK,GAAL,CAAP;AACA,qBAAO,GAAP;AACD;AACF;AACF;AACD,eAAO,KAAP;AACD,OAVD,MAUO,IAAI,OAAO,QAAP,KAAqB,QAAzB,EAAmC;AACxC,YAAI,QAAQ,KAAK,QAAL,CAAZ,EAA4B;AAC1B,iBAAO,KAAK,QAAL,CAAP;AACA,iBAAO,QAAP;AACD;AACD,eAAO,KAAP;AACD,OANM,MAMA;AACL,cAAM,IAAI,KAAJ,CAAU,8BAAV,CAAN;AACD;AACF;;;4BAEO,S,EAAW,G,EAAK,O,EAAS;AAC/B,UAAI,OAAO,KAAK,MAAL,CAAY,SAAZ,CAAX;AACA,WAAK,IAAI,GAAT,IAAgB,IAAhB,EAAsB;AACpB,YAAI,KAAK,cAAL,CAAoB,GAApB,CAAJ,EAA8B;AAC5B,eAAK,GAAL,EAAU,IAAV,CAAe,OAAf,EAAwB,GAAxB;AACD;AACF;AACF;;;;;;kBA/CkB,M;;;;;;;;;;;;ACArB;;;;AACA;;;;AACA;;;;AACA;;IAAY,I;;;;;;;;AAEZ,SAAS,YAAT,CAAsB,KAAtB,EAA6B;AAC3B,MAAI,QAAQ,MAAM,GAAN,CAAU,WAAV,CAAZ;AACA,MAAI,SAAS,MAAM,GAAN,EAAb;AACA,MAAI,CAAC,MAAL,EAAa;AACX,aAAS,yBAAT;AACA,UAAM,GAAN,CAAU,MAAV;AACD;AACD,SAAO,MAAP;AACD;;AAED,IAAI,KAAK,CAAT;AACA,SAAS,MAAT,GAAkB;AAChB,SAAO,IAAP;AACD;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;IAwBa,Y,WAAA,Y;AACX,wBAAY,KAAZ,EAAmB,SAAnB,EAA8B;AAAA;;AAC5B,SAAK,WAAL,GAAmB,sBAAnB;AACA,SAAK,QAAL,GAAgB,IAAI,KAAK,mBAAT,CAA6B,KAAK,WAAlC,CAAhB;;AAEA;AACA,SAAK,MAAL,GAAc,IAAd;AACA;AACA,SAAK,UAAL,GAAkB,IAAlB;AACA;AACA,SAAK,UAAL,GAAkB,IAAlB;AACA;AACA,SAAK,eAAL,GAAuB,IAAvB;;AAEA,SAAK,UAAL,GAAkB,KAAK,MAAL,CAAY,EAAE,QAAQ,IAAV,EAAZ,EAA8B,SAA9B,CAAlB;;AAEA,SAAK,GAAL,GAAW,WAAW,QAAtB;;AAEA,SAAK,QAAL,CAAc,KAAd;AACD;;AAED;;;;;;;;;;;;;;6BAUS,K,EAAO;AAAA;;AACd;AACA,UAAI,KAAK,MAAL,KAAgB,KAApB,EACE;AACF;AACA,UAAI,CAAC,KAAK,MAAN,IAAgB,CAAC,KAArB,EACE;;AAEF,UAAI,KAAK,UAAT,EAAqB;AACnB,aAAK,UAAL,CAAgB,GAAhB,CAAoB,QAApB,EAA8B,KAAK,eAAnC;AACA,aAAK,KAAL;AACA,aAAK,eAAL,GAAuB,IAAvB;AACA,aAAK,UAAL,GAAkB,IAAlB;AACA,aAAK,UAAL,GAAkB,IAAlB;AACD;;AAED,WAAK,MAAL,GAAc,KAAd;;AAEA,UAAI,KAAJ,EAAW;AACT,gBAAQ,qBAAI,KAAJ,CAAR;AACA,aAAK,UAAL,GAAkB,aAAa,KAAb,CAAlB;AACA,aAAK,UAAL,GAAkB,qBAAI,KAAJ,EAAW,GAAX,CAAe,QAAf,CAAlB;AACA,YAAI,MAAM,KAAK,UAAL,CAAgB,EAAhB,CAAmB,QAAnB,EAA6B,UAAC,CAAD,EAAO;AAC5C,gBAAK,WAAL,CAAiB,OAAjB,CAAyB,QAAzB,EAAmC,CAAnC;AACD,SAFS,CAAV;AAGA,aAAK,eAAL,GAAuB,GAAvB;AACD;AACF;;AAED;;;;;;;;oCAKgB,S,EAAW;AACzB,aAAO,KAAK,MAAL,CAAY,EAAZ,EACL,KAAK,UAAL,GAAkB,KAAK,UAAvB,GAAoC,IAD/B,EAEL,YAAY,SAAZ,GAAwB,IAFnB,CAAP;AAGD;;AAED;;;;;;;4BAIQ;AACN,WAAK,QAAL,CAAc,kBAAd;AACA,WAAK,KAAL;AACA,WAAK,QAAL,CAAc,IAAd;AACD;;AAED;;;;;;;;;;;;0BASM,S,EAAW;AACf,UAAI,CAAC,KAAK,UAAV,EACE;AACF,WAAK,UAAL,CAAgB,KAAhB,CAAsB,KAAK,GAA3B;AACA,WAAK,SAAL,CAAe,SAAf;AACD;;AAED;;;;;;;;;;;;;;;;;;;;wBAiBI,I,EAAM,S,EAAW;AACnB,UAAI,CAAC,KAAK,UAAV,EACE;AACF,WAAK,UAAL,CAAgB,MAAhB,CAAuB,KAAK,GAA5B,EAAiC,IAAjC;AACA,WAAK,SAAL,CAAe,SAAf;AACD;;AAED;;;;;;;;;;AASA;;;;;;;;;;uBAUG,S,EAAW,Q,EAAU;AACtB,aAAO,KAAK,QAAL,CAAc,EAAd,CAAiB,SAAjB,EAA4B,QAA5B,CAAP;AACD;;AAED;;;;;;;;;;;wBAQI,S,EAAW,Q,EAAU;AACvB,aAAO,KAAK,QAAL,CAAc,GAAd,CAAkB,SAAlB,EAA6B,QAA7B,CAAP;AACD;;;8BAES,S,EAAW;AACnB,UAAI,CAAC,KAAK,UAAV,EACE;AACF,WAAK,UAAL,CAAgB,GAAhB,CAAoB,KAAK,UAAL,CAAgB,KAApC,EAA2C,KAAK,eAAL,CAAqB,SAArB,CAA3C;AACD;;AAED;;;;;;;;;;;wBApCmB;AACjB,aAAO,KAAK,UAAL,GAAkB,KAAK,UAAL,CAAgB,KAAlC,GAA0C,IAAjD;AACD;;;;;;AA6CH;;;;;;;;;;;;;;;;;;;ACzNA;;;;AAEA,SAAS,iBAAT,CAA2B,CAA3B,EAA8B,CAA9B,EAAiC;AAC/B,MAAI,MAAM,CAAV,EAAa;AACX,WAAO,CAAP;AACD,GAFD,MAEO,IAAI,IAAI,CAAR,EAAW;AAChB,WAAO,CAAC,CAAR;AACD,GAFM,MAEA,IAAI,IAAI,CAAR,EAAW;AAChB,WAAO,CAAP;AACD;AACF;;AAED;;;;IAGqB,S;AACnB,uBAAc;AAAA;;AACZ,SAAK,KAAL;AACD;;;;4BAEO;AACN;AACA,WAAK,QAAL,GAAgB,EAAhB;AACA;AACA,WAAK,KAAL,GAAa,EAAb;AACA,WAAK,MAAL,GAAc,IAAd;AACA,WAAK,cAAL,GAAsB,CAAtB;AACD;;;2BAMM,Q,EAAU,I,EAAM;AACrB,UAAI,SAAS,IAAb,EAAmB;AACjB,eAAO,KAAK,KAAL,CAAW,CAAX,CAAP,CADiB,CACK;AACtB,aAAK,IAAL,CAAU,iBAAV;AACD;;AAJoB,6BAME,2BAAgB,KAAK,QAAL,CAAc,QAAd,CAAhB,EAAyC,IAAzC,CANF;AAAA,UAMhB,KANgB,oBAMhB,KANgB;AAAA,UAMT,OANS,oBAMT,OANS;;AAOrB,WAAK,QAAL,CAAc,QAAd,IAA0B,IAA1B;;AAEA,WAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,MAAM,MAA1B,EAAkC,GAAlC,EAAuC;AACrC,aAAK,KAAL,CAAW,MAAM,CAAN,CAAX,IAAuB,CAAC,KAAK,KAAL,CAAW,MAAM,CAAN,CAAX,KAAwB,CAAzB,IAA8B,CAArD;AACD;AACD,WAAK,IAAI,KAAI,CAAb,EAAgB,KAAI,QAAQ,MAA5B,EAAoC,IAApC,EAAyC;AACvC,aAAK,KAAL,CAAW,QAAQ,EAAR,CAAX;AACD;;AAED,WAAK,YAAL,CAAkB,IAAlB;AACD;;AAED;;;;;;;;mCAKmC;AAAA,UAAtB,IAAsB,uEAAf,KAAK,QAAU;;AACjC,UAAI,cAAc,OAAO,IAAP,CAAY,KAAK,QAAjB,EAA2B,MAA7C;AACA,UAAI,gBAAgB,CAApB,EAAuB;AACrB,aAAK,MAAL,GAAc,IAAd;AACD,OAFD,MAEO;AACL,aAAK,MAAL,GAAc,EAAd;AACA,aAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,KAAK,MAAzB,EAAiC,GAAjC,EAAsC;AACpC,cAAI,QAAQ,KAAK,KAAL,CAAW,KAAK,CAAL,CAAX,CAAZ;AACA,cAAI,UAAU,WAAd,EAA2B;AACzB,iBAAK,MAAL,CAAY,IAAZ,CAAiB,KAAK,CAAL,CAAjB;AACD;AACF;AACF;AACF;;;0BAEK,Q,EAAU;AACd,UAAI,OAAO,KAAK,QAAL,CAAc,QAAd,CAAP,KAAoC,WAAxC,EAAqD;AACnD;AACD;;AAED,UAAI,OAAO,KAAK,QAAL,CAAc,QAAd,CAAX;AACA,UAAI,CAAC,IAAL,EAAW;AACT,eAAO,EAAP;AACD;;AAED,WAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,KAAK,MAAzB,EAAiC,GAAjC,EAAsC;AACpC,aAAK,KAAL,CAAW,KAAK,CAAL,CAAX;AACD;AACD,aAAO,KAAK,QAAL,CAAc,QAAd,CAAP;;AAEA,WAAK,YAAL;AACD;;;wBA3DW;AACV,aAAO,KAAK,MAAZ;AACD;;;wBA2Dc;AACb,UAAI,UAAU,OAAO,IAAP,CAAY,KAAK,KAAjB,CAAd;AACA,cAAQ,IAAR,CAAa,iBAAb;AACA,aAAO,OAAP;AACD;;;;;;kBA/EkB,S;;;;;;;;;;;;;;kBCRG,K;;AAPxB;;;;;;;;AAEA;AACA;AACA,OAAO,kBAAP,GAA4B,OAAO,kBAAP,IAA6B,EAAzD;AACA,IAAI,SAAS,OAAO,kBAApB;;AAEe,SAAS,KAAT,CAAe,SAAf,EAA0B;AACvC,MAAI,aAAa,OAAO,SAAP,KAAsB,QAAvC,EAAiD;AAC/C,QAAI,CAAC,OAAO,cAAP,CAAsB,SAAtB,CAAL,EAAuC;AACrC,aAAO,SAAP,IAAoB,IAAI,KAAJ,CAAU,SAAV,CAApB;AACD;AACD,WAAO,OAAO,SAAP,CAAP;AACD,GALD,MAKO,IAAI,QAAO,SAAP,yCAAO,SAAP,OAAsB,QAAtB,IAAkC,UAAU,KAA5C,IAAqD,UAAU,GAAnE,EAAwE;AAC7E;AACA,WAAO,SAAP;AACD,GAHM,MAGA,IAAI,MAAM,OAAN,CAAc,SAAd,KACP,UAAU,MAAV,IAAoB,CADb,IAEP,OAAO,UAAU,CAAV,CAAP,KAAyB,QAFtB,EAEgC;AACrC,WAAO,MAAM,UAAU,CAAV,CAAN,CAAP;AACD,GAJM,MAIA;AACL,UAAM,IAAI,KAAJ,CAAU,4BAAV,CAAN;AACD;AACF;;IAEK,K;AACJ,iBAAY,IAAZ,EAAkB;AAAA;;AAChB,SAAK,IAAL,GAAY,IAAZ;AACA,SAAK,KAAL,GAAa,EAAb;AACD;;;;yBAEG,I,EAAM;AACR,UAAI,CAAC,IAAD,IAAS,OAAO,IAAP,KAAiB,QAA9B,EAAwC;AACtC,cAAM,IAAI,KAAJ,CAAU,kBAAV,CAAN;AACD;;AAED,UAAI,CAAC,KAAK,KAAL,CAAW,cAAX,CAA0B,IAA1B,CAAL,EACE,KAAK,KAAL,CAAW,IAAX,IAAmB,kBAAQ,IAAR,EAAc,IAAd,CAAnB;AACF,aAAO,KAAK,KAAL,CAAW,IAAX,CAAP;AACD;;;wBAEG,I,EAAM;AACR,UAAI,CAAC,IAAD,IAAS,OAAO,IAAP,KAAiB,QAA9B,EAAwC;AACtC,cAAM,IAAI,KAAJ,CAAU,kBAAV,CAAN;AACD;;AAED,aAAO,KAAK,KAAL,CAAW,cAAX,CAA0B,IAA1B,CAAP;AACD;;;;;;;;;;;;;;;;AC/CH;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAM,eAAe,qBAAM,SAAN,CAArB;;AAEA,SAAS,IAAT,CAAc,IAAd,EAAoB;AAClB,SAAO,aAAa,GAAb,CAAiB,IAAjB,CAAP;AACD;;AAED,SAAS,GAAT,CAAa,IAAb,EAAmB;AACjB,SAAO,aAAa,GAAb,CAAiB,IAAjB,CAAP;AACD;;AAED,IAAI,OAAO,KAAX,EAAkB;AAChB,SAAO,KAAP,CAAa,uBAAb,CAAqC,qBAArC,EAA4D,UAAS,OAAT,EAAkB;AAC5E,QAAI,OAAO,QAAQ,KAAf,KAA0B,QAA9B,EAAwC;AACtC,2BAAM,QAAQ,KAAd,EAAqB,GAArB,CAAyB,QAAQ,IAAjC,EAAuC,GAAvC,CAA2C,QAAQ,KAAnD;AACD,KAFD,MAEO;AACL,WAAK,QAAQ,IAAb,EAAmB,GAAnB,CAAuB,QAAQ,KAA/B;AACD;AACF,GAND;AAOD;;AAED,IAAM,YAAY;AAChB,wBADgB;AAEhB,OAAK,IAFW;AAGhB,OAAK,GAHW;AAIhB,6CAJgB;AAKhB,oCALgB;AAMhB;AANgB,CAAlB;;AASA;;;kBAGe,S;;AACf,OAAO,SAAP,GAAmB,SAAnB;;;;;;;;;;;QCrCgB,Q,GAAA,Q;QAWA,I,GAAA,I;AAfhB,IAAI,IAAI,OAAO,MAAf;;AAEA,IAAI,WAAW,EAAf;;AAEO,SAAS,QAAT,CAAkB,GAAlB,EAAuB;AAC5B,WAAS,IAAI,SAAb,IAA0B,GAA1B;AACA,MAAI,OAAO,QAAP,IAAmB,OAAO,QAAP,CAAgB,UAAhB,KAA+B,UAAtD,EAAkE;AAChE,MAAE,YAAM;AACN;AACD,KAFD;AAGD,GAJD,MAIO,IAAI,OAAO,QAAX,EAAqB;AAC1B,eAAW,IAAX,EAAiB,GAAjB;AACD;AACF;;AAEM,SAAS,IAAT,GAAgB;AACrB,SAAO,IAAP,CAAY,QAAZ,EAAsB,OAAtB,CAA8B,UAAS,SAAT,EAAoB;AAChD,QAAI,UAAU,SAAS,SAAT,CAAd;AACA,MAAE,MAAM,QAAQ,SAAhB,EAA2B,GAA3B,CAA+B,wBAA/B,EAAyD,IAAzD,CAA8D,UAAS,CAAT,EAAY,EAAZ,EAAgB;AAC5E,mBAAa,OAAb,EAAsB,EAAtB;AACD,KAFD;AAGD,GALD;AAMD;;AAED;AACA,SAAS,OAAT,CAAiB,GAAjB,EAAsB;AACpB,SAAO,IAAI,OAAJ,CAAY,uCAAZ,EAAqD,MAArD,CAAP;AACD;;AAED,SAAS,MAAT,CAAgB,EAAhB,EAAoB;AAClB,MAAI,MAAM,EAAE,EAAF,CAAV;AACA,SAAO,IAAP,CAAY,QAAZ,EAAsB,OAAtB,CAA8B,UAAS,SAAT,EAAoB;AAChD,QAAI,IAAI,QAAJ,CAAa,SAAb,KAA2B,CAAC,IAAI,QAAJ,CAAa,uBAAb,CAAhC,EAAuE;AACrE,UAAI,UAAU,SAAS,SAAT,CAAd;AACA,mBAAa,OAAb,EAAsB,EAAtB;AACD;AACF,GALD;AAMD;;AAED,SAAS,YAAT,CAAsB,OAAtB,EAA+B,EAA/B,EAAmC;AACjC,MAAI,SAAS,EAAE,EAAF,EAAM,IAAN,CAAW,+CAA+C,QAAQ,GAAG,EAAX,CAA/C,GAAgE,IAA3E,CAAb;AACA,MAAI,OAAO,KAAK,KAAL,CAAW,OAAO,CAAP,EAAU,SAArB,CAAX;;AAEA,MAAI,WAAW,QAAQ,OAAR,CAAgB,EAAhB,EAAoB,IAApB,CAAf;AACA,IAAE,EAAF,EAAM,IAAN,CAAW,oBAAX,EAAiC,QAAjC;AACA,IAAE,EAAF,EAAM,QAAN,CAAe,uBAAf;AACD;;AAED,IAAI,OAAO,KAAX,EAAkB;AAChB,MAAI,eAAe,IAAI,OAAO,KAAP,CAAa,YAAjB,EAAnB;AACA,MAAI,KAAI,OAAO,MAAf;AACA,KAAE,MAAF,CAAS,YAAT,EAAuB;AACrB,UAAM,cAAS,KAAT,EAAgB;AACpB,aAAO,GAAE,KAAF,EAAS,IAAT,CAAc,kBAAd,CAAP;AACD,KAHoB;AAIrB,gBAAY,oBAAS,EAAT,EAAa;AACvB,UAAI,CAAC,GAAE,EAAF,EAAM,QAAN,CAAe,uBAAf,CAAL,EAA8C;AAC5C,eAAO,EAAP;AACD;AACF,KARoB;AASrB,WAAO,eAAS,EAAT,EAAa;AAClB,aAAO,GAAG,EAAV;AACD,KAXoB;AAYrB,cAAU,kBAAS,EAAT,EAAa,CAEtB,CAdoB;AAerB,cAAU,kBAAS,EAAT,EAAa,KAAb,EAAoB,CAE7B,CAjBoB;AAkBrB,oBAAgB,wBAAS,EAAT,EAAa,IAAb,EAAmB,CAElC,CApBoB;AAqBrB,eAAW,mBAAS,EAAT,EAAa,QAAb,EAAuB;AAChC,SAAE,EAAF,EAAM,IAAN,CAAW,oBAAX,EAAiC,MAAjC;AACD,KAvBoB;AAwBrB,iBAAa,qBAAS,EAAT,EAAa;AACxB,SAAE,EAAF,EAAM,IAAN,CAAW,oBAAX,EAAiC,OAAjC;AACD;AA1BoB,GAAvB;AA4BA,SAAO,KAAP,CAAa,aAAb,CAA2B,QAA3B,CAAoC,YAApC,EAAkD,wBAAlD;AACD;;;;;;;;AChFD;;IAAY,K;;AACZ;;;;AAEA,IAAI,IAAI,OAAO,MAAf;;AAEA,MAAM,QAAN,CAAe;AACb,aAAW,+BADE;;AAGb,WAAS,iBAAS,EAAT,EAAa,IAAb,EAAmB;AAC1B;;;;AAIA,QAAI,WAAW,yBAAiB,KAAK,KAAtB,CAAf;;AAEA,QAAI,sBAAJ;AACA,QAAI,MAAM,EAAE,EAAF,CAAV;AACA,QAAI,EAAJ,CAAO,QAAP,EAAiB,wBAAjB,EAA2C,YAAW;AACpD,UAAI,UAAU,IAAI,IAAJ,CAAS,gCAAT,CAAd;AACA,UAAI,QAAQ,MAAR,KAAmB,CAAvB,EAA0B;AACxB,wBAAgB,IAAhB;AACA,iBAAS,KAAT;AACD,OAHD,MAGO;AACL,YAAI,OAAO,EAAX;AACA,gBAAQ,IAAR,CAAa,YAAW;AACtB,eAAK,GAAL,CAAS,KAAK,KAAd,EAAqB,OAArB,CAA6B,UAAS,GAAT,EAAc;AACzC,iBAAK,GAAL,IAAY,IAAZ;AACD,WAFD;AAGD,SAJD;AAKA,YAAI,WAAW,OAAO,IAAP,CAAY,IAAZ,CAAf;AACA,iBAAS,IAAT;AACA,wBAAgB,QAAhB;AACA,iBAAS,GAAT,CAAa,QAAb;AACD;AACF,KAjBD;;AAmBA,WAAO;AACL,eAAS,mBAAW;AAClB,iBAAS,KAAT;AACD,OAHI;AAIL,cAAQ,kBAAW;AACjB,YAAI,aAAJ,EACE,SAAS,GAAT,CAAa,aAAb;AACH;AAPI,KAAP;AASD;AAxCY,CAAf;;;;;;;;ACLA;;IAAY,K;;AACZ;;IAAY,I;;AACZ;;;;AAEA,IAAI,IAAI,OAAO,MAAf;;AAEA,MAAM,QAAN,CAAe;AACb,aAAW,wBADE;;AAGb,WAAS,iBAAS,EAAT,EAAa,IAAb,EAAmB;AAC1B;;;;;;AAMA,QAAI,QAAQ,CAAC,EAAC,OAAO,EAAR,EAAY,OAAO,OAAnB,EAAD,CAAZ;AACA,QAAI,QAAQ,KAAK,aAAL,CAAmB,KAAK,KAAxB,CAAZ;AACA,QAAI,OAAO;AACT,eAAS,MAAM,MAAN,CAAa,KAAb,CADA;AAET,kBAAY,OAFH;AAGT,kBAAY,OAHH;AAIT,mBAAa;AAJJ,KAAX;;AAOA,QAAI,SAAS,EAAE,EAAF,EAAM,IAAN,CAAW,QAAX,EAAqB,CAArB,CAAb;;AAEA,QAAI,YAAY,EAAE,MAAF,EAAU,SAAV,CAAoB,IAApB,EAA0B,CAA1B,EAA6B,SAA7C;;AAEA,QAAI,WAAW,yBAAiB,KAAK,KAAtB,CAAf;;AAEA,QAAI,sBAAJ;AACA,cAAU,EAAV,CAAa,QAAb,EAAuB,YAAW;AAChC,UAAI,UAAU,KAAV,CAAgB,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,wBAAgB,IAAhB;AACA,iBAAS,KAAT;AACD,OAHD,MAGO;AACL,YAAI,OAAO,EAAX;AACA,kBAAU,KAAV,CAAgB,OAAhB,CAAwB,UAAS,KAAT,EAAgB;AACtC,eAAK,GAAL,CAAS,KAAT,EAAgB,OAAhB,CAAwB,UAAS,GAAT,EAAc;AACpC,iBAAK,GAAL,IAAY,IAAZ;AACD,WAFD;AAGD,SAJD;AAKA,YAAI,WAAW,OAAO,IAAP,CAAY,IAAZ,CAAf;AACA,iBAAS,IAAT;AACA,wBAAgB,QAAhB;AACA,iBAAS,GAAT,CAAa,QAAb;AACD;AACF,KAhBD;;AAkBA,WAAO;AACL,eAAS,mBAAW;AAClB,iBAAS,KAAT;AACD,OAHI;AAIL,cAAQ,kBAAW;AACjB,YAAI,aAAJ,EACE,SAAS,GAAT,CAAa,aAAb;AACH;AAPI,KAAP;AASD;AArDY,CAAf;;;;;;;;;;ACNA;;IAAY,K;;AACZ;;;;AAEA,IAAI,IAAI,OAAO,MAAf;AACA,IAAI,WAAW,OAAO,QAAtB;;AAEA,MAAM,QAAN,CAAe;AACb,aAAW,wBADE;;AAGb,WAAS,iBAAS,EAAT,EAAa,IAAb,EAAmB;AAC1B;;;;AAIA,QAAI,WAAW,yBAAiB,KAAK,KAAtB,CAAf;;AAEA,QAAI,OAAO,EAAX;AACA,QAAI,MAAM,EAAE,EAAF,EAAM,IAAN,CAAW,OAAX,CAAV;AACA,QAAI,WAAW,IAAI,IAAJ,CAAS,WAAT,CAAf;AACA,QAAI,aAAa,IAAI,IAAJ,CAAS,aAAT,CAAjB;AACA,QAAI,QAAQ,IAAI,IAAJ,CAAS,OAAT,CAAZ;AACA,QAAI,sBAAJ;;AAEA;AACA,QAAI,aAAa,MAAjB,EAAyB;AACvB,sBAAgB,SAAS,GAAT,EAAhB;AACA,WAAK,QAAL,GAAgB,UAAS,GAAT,EAAc;AAC5B,eAAO,cAAc,UAAd,EAA0B,IAAI,IAAJ,CAAS,GAAT,CAA1B,CAAP;AACD,OAFD;AAID,KAND,MAMO,IAAI,aAAa,UAAjB,EAA6B;AAClC,UAAI,WAAW,IAAI,IAAJ,CAAS,UAAT,CAAf;AACA,UAAI,QAAJ,EACE,gBAAgB,SAAS,QAAT,CAAkB,QAAlB,CAAhB,CADF,KAGE,gBAAgB,QAAhB;;AAEF,WAAK,QAAL,GAAgB,UAAS,GAAT,EAAc;AAC5B,eAAO,cAAc,UAAd,EAA0B,IAAI,IAAJ,CAAS,GAAT,CAA1B,CAAP;AACD,OAFD;AAGD,KAVM,MAUA,IAAI,aAAa,QAAjB,EAA2B;AAChC,UAAI,OAAO,KAAP,KAAiB,WAArB,EACE,KAAK,QAAL,GAAgB,UAAS,GAAT,EAAc;AAC5B,YAAI,SAAS,KAAK,GAAL,CAAS,EAAT,EAAa,KAAb,CAAb;AACA,eAAO,KAAK,KAAL,CAAW,MAAM,MAAjB,IAA2B,MAAlC;AACD,OAHD;AAIH;;AAED,QAAI,cAAJ,CAAmB,IAAnB;;AAEA,aAAS,QAAT,GAAoB;AAClB,UAAI,SAAS,IAAI,IAAJ,CAAS,gBAAT,EAA2B,MAAxC;;AAEA;AACA,UAAI,gBAAJ;AACA,UAAI,WAAW,IAAI,IAAJ,CAAS,WAAT,CAAf;AACA,UAAI,aAAa,MAAjB,EAAyB;AACvB,kBAAU,iBAAS,GAAT,EAAc;AACtB,iBAAO,cAAc,IAAI,IAAJ,CAAS,CAAC,GAAV,CAAd,CAAP;AACD,SAFD;AAGD,OAJD,MAIO,IAAI,aAAa,UAAjB,EAA6B;AAClC,kBAAU,iBAAS,GAAT,EAAc;AACtB;AACA,iBAAO,CAAC,GAAD,GAAO,IAAd;AACD,SAHD;AAID,OALM,MAKA;AACL,kBAAU,iBAAS,GAAT,EAAc;AAAE,iBAAO,CAAC,GAAR;AAAc,SAAxC;AACD;;AAED,UAAI,IAAI,IAAJ,CAAS,gBAAT,EAA2B,OAA3B,CAAmC,IAAnC,KAA4C,QAAhD,EAA0D;AACxD,eAAO,CAAC,QAAQ,OAAO,IAAf,CAAD,EAAuB,QAAQ,OAAO,EAAf,CAAvB,CAAP;AACD,OAFD,MAEO;AACL,eAAO,QAAQ,OAAO,IAAf,CAAP;AACD;AACF;;AAED,QAAI,gBAAgB,IAApB;;AAEA,QAAI,EAAJ,CAAO,6BAAP,EAAsC,UAAS,KAAT,EAAgB;AACpD,UAAI,CAAC,IAAI,IAAJ,CAAS,UAAT,CAAD,IAAyB,CAAC,IAAI,IAAJ,CAAS,WAAT,CAA9B,EAAqD;AAAA,wBAClC,UADkC;AAAA;AAAA,YAC9C,IAD8C;AAAA,YACxC,EADwC;;AAEnD,YAAI,OAAO,EAAX;AACA,aAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,KAAK,MAAL,CAAY,MAAhC,EAAwC,GAAxC,EAA6C;AAC3C,cAAI,MAAM,KAAK,MAAL,CAAY,CAAZ,CAAV;AACA,cAAI,OAAO,IAAP,IAAe,OAAO,EAA1B,EAA8B;AAC5B,iBAAK,IAAL,CAAU,KAAK,IAAL,CAAU,CAAV,CAAV;AACD;AACF;AACD,aAAK,IAAL;AACA,iBAAS,GAAT,CAAa,IAAb;AACA,wBAAgB,IAAhB;AACD;AACF,KAdD;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAO;AACL,eAAS,mBAAW;AAClB,iBAAS,KAAT;AACD,OAHI;AAIL,cAAQ,kBAAW;AACjB,YAAI,aAAJ,EACE,SAAS,GAAT,CAAa,aAAb;AACH;AAPI,KAAP;AASD;AApHY,CAAf;;AAwHA;AACA,SAAS,QAAT,CAAkB,CAAlB,EAAqB,MAArB,EAA6B;AAC3B,MAAI,MAAM,EAAE,QAAF,EAAV;AACA,SAAO,IAAI,MAAJ,GAAa,MAApB;AACE,UAAM,MAAM,GAAZ;AADF,GAEA,OAAO,GAAP;AACD;;AAED;AACA;AACA,SAAS,aAAT,CAAuB,IAAvB,EAA6B;AAC3B,MAAI,gBAAgB,IAApB,EAA0B;AACxB,WAAO,KAAK,cAAL,KAAwB,GAAxB,GACA,SAAS,KAAK,WAAL,KAAmB,CAA5B,EAA+B,CAA/B,CADA,GACoC,GADpC,GAEA,SAAS,KAAK,UAAL,EAAT,EAA4B,CAA5B,CAFP;AAID,GALD,MAKO;AACL,WAAO,IAAP;AACD;AACF;;;;;;;;;;;;;;ACjJD;;;;AACA;;;;AACA;;IAAY,I;;;;;;;;AAEZ;;;;;;;;;;;;;;;;IAgBa,e,WAAA,e;AAEX,6BAA4C;AAAA,QAAhC,KAAgC,uEAAxB,IAAwB;AAAA,QAAlB,SAAkB,uEAAN,IAAM;;AAAA;;AAC1C,SAAK,WAAL,GAAmB,sBAAnB;AACA,SAAK,QAAL,GAAgB,IAAI,KAAK,mBAAT,CAA6B,KAAK,WAAlC,CAAhB;;AAEA;AACA,SAAK,MAAL,GAAc,IAAd;AACA;AACA,SAAK,IAAL,GAAY,IAAZ;AACA;AACA,SAAK,eAAL,GAAuB,IAAvB;;AAEA,SAAK,UAAL,GAAkB,KAAK,MAAL,CAAY,EAAE,QAAQ,IAAV,EAAZ,EAA8B,SAA9B,CAAlB;;AAEA,SAAK,QAAL,CAAc,KAAd;AACD;;AAED;;;;;;;;;;;;;;;;;6BAaS,K,EAAO;AAAA;;AACd;AACA,UAAI,KAAK,MAAL,KAAgB,KAApB,EACE;AACF;AACA,UAAI,CAAC,KAAK,MAAN,IAAgB,CAAC,KAArB,EACE;;AAEF,UAAI,KAAK,IAAT,EAAe;AACb,aAAK,IAAL,CAAU,GAAV,CAAc,QAAd,EAAwB,KAAK,eAA7B;AACA,aAAK,IAAL,GAAY,IAAZ;AACA,aAAK,eAAL,GAAuB,IAAvB;AACD;;AAED,WAAK,MAAL,GAAc,KAAd;;AAEA,UAAI,KAAJ,EAAW;AACT,aAAK,IAAL,GAAY,qBAAI,KAAJ,EAAW,GAAX,CAAe,WAAf,CAAZ;AACA,YAAI,MAAM,KAAK,IAAL,CAAU,EAAV,CAAa,QAAb,EAAuB,UAAC,CAAD,EAAO;AACtC,gBAAK,WAAL,CAAiB,OAAjB,CAAyB,QAAzB,EAAmC,CAAnC;AACD,SAFS,CAAV;AAGA,aAAK,eAAL,GAAuB,GAAvB;AACD;AACF;;AAED;;;;;;;;;;;;;;;AAcA;;;;;oCAKgB,S,EAAW;AACzB;AACA,aAAO,KAAK,MAAL,CAAY,EAAZ,EACL,KAAK,UAAL,GAAkB,KAAK,UAAvB,GAAoC,IAD/B,EAEL,YAAY,SAAZ,GAAwB,IAFnB,CAAP;AAGD;;AAED;;;;;;;;;;;;;;;wBAYI,Y,EAAc,S,EAAW;AAC3B,UAAI,KAAK,IAAT,EACE,KAAK,IAAL,CAAU,GAAV,CAAc,YAAd,EAA4B,KAAK,eAAL,CAAqB,SAArB,CAA5B;AACH;;AAED;;;;;;;;;;;;;0BAUM,S,EAAW;AACf,UAAI,KAAK,IAAT,EACE,KAAK,GAAL,CAAS,KAAK,CAAd,EAAiB,KAAK,eAAL,CAAqB,SAArB,CAAjB;AACH;;AAED;;;;;;;;;;;;;uBAUG,S,EAAW,Q,EAAU;AACtB,aAAO,KAAK,QAAL,CAAc,EAAd,CAAiB,SAAjB,EAA4B,QAA5B,CAAP;AACD;;AAED;;;;;;;;;;;wBAQI,S,EAAW,Q,EAAU;AACvB,aAAO,KAAK,QAAL,CAAc,GAAd,CAAkB,SAAlB,EAA6B,QAA7B,CAAP;AACD;;AAED;;;;;;;;4BAKQ;AACN,WAAK,QAAL,CAAc,kBAAd;AACA,WAAK,QAAL,CAAc,IAAd;AACD;;;wBAlFW;AACV,aAAO,KAAK,IAAL,GAAY,KAAK,IAAL,CAAU,GAAV,EAAZ,GAA8B,IAArC;AACD;;;;;;AAmFH;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;QCpLgB,M,GAAA,M;QAeA,W,GAAA,W;QAQA,e,GAAA,e;QAoCA,a,GAAA,a;;;;AA3DT,SAAS,MAAT,CAAgB,MAAhB,EAAoC;AAAA,oCAAT,OAAS;AAAT,WAAS;AAAA;;AACzC,OAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,QAAQ,MAA5B,EAAoC,GAApC,EAAyC;AACvC,QAAI,MAAM,QAAQ,CAAR,CAAV;AACA,QAAI,OAAO,GAAP,KAAgB,WAAhB,IAA+B,QAAQ,IAA3C,EACE;;AAEF,SAAK,IAAI,GAAT,IAAgB,GAAhB,EAAqB;AACnB,UAAI,IAAI,cAAJ,CAAmB,GAAnB,CAAJ,EAA6B;AAC3B,eAAO,GAAP,IAAc,IAAI,GAAJ,CAAd;AACD;AACF;AACF;AACD,SAAO,MAAP;AACD;;AAEM,SAAS,WAAT,CAAqB,IAArB,EAA2B;AAChC,OAAK,IAAI,IAAI,CAAb,EAAgB,IAAI,KAAK,MAAzB,EAAiC,GAAjC,EAAsC;AACpC,QAAI,KAAK,CAAL,KAAW,KAAK,IAAE,CAAP,CAAf,EAA0B;AACxB,YAAM,IAAI,KAAJ,CAAU,0CAAV,CAAN;AACD;AACF;AACF;;AAEM,SAAS,eAAT,CAAyB,CAAzB,EAA4B,CAA5B,EAA+B;AACpC,MAAI,MAAM,CAAV;AACA,MAAI,MAAM,CAAV;;AAEA,MAAI,CAAC,CAAL,EAAQ,IAAI,EAAJ;AACR,MAAI,CAAC,CAAL,EAAQ,IAAI,EAAJ;;AAER,MAAI,SAAS,EAAb;AACA,MAAI,SAAS,EAAb;;AAEA,cAAY,CAAZ;AACA,cAAY,CAAZ;;AAEA,SAAO,MAAM,EAAE,MAAR,IAAkB,MAAM,EAAE,MAAjC,EAAyC;AACvC,QAAI,EAAE,GAAF,MAAW,EAAE,GAAF,CAAf,EAAuB;AACrB;AACA;AACD,KAHD,MAGO,IAAI,EAAE,GAAF,IAAS,EAAE,GAAF,CAAb,EAAqB;AAC1B,aAAO,IAAP,CAAY,EAAE,KAAF,CAAZ;AACD,KAFM,MAEA;AACL,aAAO,IAAP,CAAY,EAAE,KAAF,CAAZ;AACD;AACF;;AAED,MAAI,MAAM,EAAE,MAAZ,EACE,SAAS,OAAO,MAAP,CAAc,EAAE,KAAF,CAAQ,GAAR,CAAd,CAAT;AACF,MAAI,MAAM,EAAE,MAAZ,EACE,SAAS,OAAO,MAAP,CAAc,EAAE,KAAF,CAAQ,GAAR,CAAd,CAAT;AACF,SAAO;AACL,aAAS,MADJ;AAEL,WAAO;AAFF,GAAP;AAID;;AAED;AACA;AACO,SAAS,aAAT,CAAuB,EAAvB,EAA2B;AAChC,MAAI,QAAQ,EAAZ;AACA,MAAI,eAAJ;AACA,OAAK,IAAI,IAAT,IAAiB,EAAjB,EAAqB;AACnB,QAAI,GAAG,cAAH,CAAkB,IAAlB,CAAJ,EACE,MAAM,IAAN,CAAW,IAAX;AACF,QAAI,QAAO,GAAG,IAAH,CAAP,MAAqB,QAArB,IAAiC,OAAO,GAAG,IAAH,EAAS,MAAhB,KAA4B,WAAjE,EAA8E;AAC5E,YAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACD,KAFD,MAEO,IAAI,OAAO,MAAP,KAAmB,WAAnB,IAAkC,WAAW,GAAG,IAAH,EAAS,MAA1D,EAAkE;AACvE,YAAM,IAAI,KAAJ,CAAU,8CAAV,CAAN;AACD;AACD,aAAS,GAAG,IAAH,EAAS,MAAlB;AACD;AACD,MAAI,UAAU,EAAd;AACA,MAAI,aAAJ;AACA,OAAK,IAAI,MAAM,CAAf,EAAkB,MAAM,MAAxB,EAAgC,KAAhC,EAAuC;AACrC,WAAO,EAAP;AACA,SAAK,IAAI,MAAM,CAAf,EAAkB,MAAM,MAAM,MAA9B,EAAsC,KAAtC,EAA6C;AAC3C,WAAK,MAAM,GAAN,CAAL,IAAmB,GAAG,MAAM,GAAN,CAAH,EAAe,GAAf,CAAnB;AACD;AACD,YAAQ,IAAR,CAAa,IAAb;AACD;AACD,SAAO,OAAP;AACD;;AAED;;;;;;;IAMa,mB,WAAA,mB;AACX,+BAAY,OAAZ,EAAqB;AAAA;;AACnB,SAAK,QAAL,GAAgB,OAAhB;AACA,SAAK,KAAL,GAAa,EAAb;AACD;;;;uBAEE,S,EAAW,Q,EAAU;AACtB,UAAI,MAAM,KAAK,QAAL,CAAc,EAAd,CAAiB,SAAjB,EAA4B,QAA5B,CAAV;AACA,WAAK,KAAL,CAAW,GAAX,IAAkB,SAAlB;AACA,aAAO,GAAP;AACD;;;wBAEG,S,EAAW,Q,EAAU;AACvB,UAAI,MAAM,KAAK,QAAL,CAAc,GAAd,CAAkB,SAAlB,EAA6B,QAA7B,CAAV;AACA,UAAI,GAAJ,EAAS;AACP,eAAO,KAAK,KAAL,CAAW,GAAX,CAAP;AACD;AACD,aAAO,GAAP;AACD;;;yCAEoB;AAAA;;AACnB,UAAI,eAAe,KAAK,KAAxB;AACA,WAAK,KAAL,GAAa,EAAb;AACA,aAAO,IAAP,CAAY,YAAZ,EAA0B,OAA1B,CAAkC,UAAC,GAAD,EAAS;AACzC,cAAK,QAAL,CAAc,GAAd,CAAkB,aAAa,GAAb,CAAlB,EAAqC,GAArC;AACD,OAFD;AAGD;;;;;;;;;;;;;;;;;;ACpHH;;;;;;;;IAEqB,G;AACnB,eAAY,KAAZ,EAAmB,IAAnB,EAAyB,YAAa,KAAtC,EAA6C;AAAA;;AAC3C,SAAK,MAAL,GAAc,KAAd;AACA,SAAK,KAAL,GAAa,IAAb;AACA,SAAK,MAAL,GAAc,KAAd;AACA,SAAK,OAAL,GAAe,sBAAf;AACD;;;;0BAEK;AACJ,aAAO,KAAK,MAAZ;AACD;;;wBAEG,K,EAAO,YAAa,K,EAAO;AAC7B,UAAI,KAAK,MAAL,KAAgB,KAApB,EAA2B;AACzB;AACA;AACD;AACD,UAAI,WAAW,KAAK,MAApB;AACA,WAAK,MAAL,GAAc,KAAd;AACA;AACA,UAAI,MAAM,EAAV;AACA,UAAI,SAAS,QAAO,KAAP,yCAAO,KAAP,OAAkB,QAA/B,EAAyC;AACvC,aAAK,IAAI,CAAT,IAAc,KAAd,EAAqB;AACnB,cAAI,MAAM,cAAN,CAAqB,CAArB,CAAJ,EACE,IAAI,CAAJ,IAAS,MAAM,CAAN,CAAT;AACH;AACF;AACD,UAAI,QAAJ,GAAe,QAAf;AACA,UAAI,KAAJ,GAAY,KAAZ;AACA,WAAK,OAAL,CAAa,OAAb,CAAqB,QAArB,EAA+B,GAA/B,EAAoC,IAApC;;AAEA;AACA;AACA,UAAI,OAAO,KAAP,IAAgB,OAAO,KAAP,CAAa,aAAjC,EAAgD;AAC9C,eAAO,KAAP,CAAa,aAAb,CACE,mBACG,KAAK,MAAL,CAAY,IAAZ,KAAqB,IAArB,GAA4B,KAAK,MAAL,CAAY,IAAZ,GAAmB,GAA/C,GAAqD,EADxD,IAEE,KAAK,KAHT,EAIE,OAAO,KAAP,KAAkB,WAAlB,GAAgC,IAAhC,GAAuC,KAJzC;AAMD;AACF;;;uBAEE,S,EAAW,Q,EAAU;AACtB,aAAO,KAAK,OAAL,CAAa,EAAb,CAAgB,SAAhB,EAA2B,QAA3B,CAAP;AACD;;;wBAEG,S,EAAW,Q,EAAU;AACvB,aAAO,KAAK,OAAL,CAAa,GAAb,CAAiB,SAAjB,EAA4B,QAA5B,CAAP;AACD;;;;;;kBAjDkB,G", + "file": "generated.js", + "sourceRoot": "", + "sourcesContent": [ + "(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o {\n this._eventRelay.trigger(\"change\", e, this);\n });\n this._varOnChangeSub = sub;\n }\n }\n\n /**\n * Combine the given `extraInfo` (if any) with the handle's default\n * `_extraInfo` (if any).\n * @private\n */\n _mergeExtraInfo(extraInfo) {\n return util.extend({},\n this._extraInfo ? this._extraInfo : null,\n extraInfo ? extraInfo : null);\n }\n\n /**\n * Close the handle. This clears this handle's contribution to the filter set,\n * and unsubscribes all event listeners.\n */\n close() {\n this._emitter.removeAllListeners();\n this.clear();\n this.setGroup(null);\n }\n\n /**\n * Clear this handle's contribution to the filter set.\n *\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any options that were\n * passed into the `FilterHandle` constructor).\n * \n * @fires FilterHandle#change\n */\n clear(extraInfo) {\n if (!this._filterSet)\n return;\n this._filterSet.clear(this._id);\n this._onChange(extraInfo);\n }\n\n /**\n * Set this handle's contribution to the filter set. This array should consist\n * of the keys of the rows that _should_ be displayed; any keys that are not\n * present in the array will be considered _filtered out_. Note that multiple\n * `FilterHandle` instances in the group may each contribute an array of keys,\n * and only those keys that appear in _all_ of the arrays make it through the\n * filter.\n *\n * @param {string[]} keys - Empty array, or array of keys. To clear the\n * filter, don't pass an empty array; instead, use the\n * {@link FilterHandle#clear} method.\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any options that were\n * passed into the `FilterHandle` constructor).\n * \n * @fires FilterHandle#change\n */\n set(keys, extraInfo) {\n if (!this._filterSet)\n return;\n this._filterSet.update(this._id, keys);\n this._onChange(extraInfo);\n }\n\n /**\n * @return {string[]|null} - Either: 1) an array of keys that made it through\n * all of the `FilterHandle` instances, or, 2) `null`, which means no filter\n * is being applied (all data should be displayed).\n */\n get filteredKeys() {\n return this._filterSet ? this._filterSet.value : null;\n }\n\n /**\n * Subscribe to events on this `FilterHandle`.\n *\n * @param {string} eventType - Indicates the type of events to listen to.\n * Currently, only `\"change\"` is supported.\n * @param {FilterHandle~listener} listener - The callback function that\n * will be invoked when the event occurs.\n * @return {string} - A token to pass to {@link FilterHandle#off} to cancel\n * this subscription.\n */\n on(eventType, listener) {\n return this._emitter.on(eventType, listener);\n }\n\n /**\n * Cancel event subscriptions created by {@link FilterHandle#on}.\n *\n * @param {string} eventType - The type of event to unsubscribe.\n * @param {string|FilterHandle~listener} listener - Either the callback\n * function previously passed into {@link FilterHandle#on}, or the\n * string that was returned from {@link FilterHandle#on}.\n */\n off(eventType, listener) {\n return this._emitter.off(eventType, listener);\n }\n\n _onChange(extraInfo) {\n if (!this._filterSet)\n return;\n this._filterVar.set(this._filterSet.value, this._mergeExtraInfo(extraInfo));\n }\n\n /**\n * @callback FilterHandle~listener\n * @param {Object} event - An object containing details of the event. For\n * `\"change\"` events, this includes the properties `value` (the new\n * value of the filter set, or `null` if no filter set is active),\n * `oldValue` (the previous value of the filter set), and `sender` (the\n * `FilterHandle` instance that made the change).\n */\n\n}\n\n/**\n * @event FilterHandle#change\n * @type {object}\n * @property {object} value - The new value of the filter set, or `null`\n * if no filter set is active.\n * @property {object} oldValue - The previous value of the filter set.\n * @property {FilterHandle} sender - The `FilterHandle` instance that\n * changed the value.\n */\n", + "import { diffSortedLists } from \"./util\";\n\nfunction naturalComparator(a, b) {\n if (a === b) {\n return 0;\n } else if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n }\n}\n\n/**\n * @private\n */\nexport default class FilterSet {\n constructor() {\n this.reset();\n }\n\n reset() {\n // Key: handle ID, Value: array of selected keys, or null\n this._handles = {};\n // Key: key string, Value: count of handles that include it\n this._keys = {};\n this._value = null;\n this._activeHandles = 0;\n }\n\n get value() {\n return this._value;\n }\n\n update(handleId, keys) {\n if (keys !== null) {\n keys = keys.slice(0); // clone before sorting\n keys.sort(naturalComparator);\n }\n\n let {added, removed} = diffSortedLists(this._handles[handleId], keys);\n this._handles[handleId] = keys;\n\n for (let i = 0; i < added.length; i++) {\n this._keys[added[i]] = (this._keys[added[i]] || 0) + 1;\n }\n for (let i = 0; i < removed.length; i++) {\n this._keys[removed[i]]--;\n }\n\n this._updateValue(keys);\n }\n\n /**\n * @param {string[]} keys Sorted array of strings that indicate\n * a superset of possible keys.\n * @private\n */\n _updateValue(keys = this._allKeys) {\n let handleCount = Object.keys(this._handles).length;\n if (handleCount === 0) {\n this._value = null;\n } else {\n this._value = [];\n for (let i = 0; i < keys.length; i++) {\n let count = this._keys[keys[i]];\n if (count === handleCount) {\n this._value.push(keys[i]);\n }\n }\n }\n }\n\n clear(handleId) {\n if (typeof(this._handles[handleId]) === \"undefined\") {\n return;\n }\n\n let keys = this._handles[handleId];\n if (!keys) {\n keys = [];\n }\n\n for (let i = 0; i < keys.length; i++) {\n this._keys[keys[i]]--;\n }\n delete this._handles[handleId];\n\n this._updateValue();\n }\n\n get _allKeys() {\n let allKeys = Object.keys(this._keys);\n allKeys.sort(naturalComparator);\n return allKeys;\n }\n}\n", + "import Var from \"./var\";\n\n// Use a global so that multiple copies of crosstalk.js can be loaded and still\n// have groups behave as singletons across all copies.\nglobal.__crosstalk_groups = global.__crosstalk_groups || {};\nlet groups = global.__crosstalk_groups;\n\nexport default function group(groupName) {\n if (groupName && typeof(groupName) === \"string\") {\n if (!groups.hasOwnProperty(groupName)) {\n groups[groupName] = new Group(groupName);\n }\n return groups[groupName];\n } else if (typeof(groupName) === \"object\" && groupName._vars && groupName.var) {\n // Appears to already be a group object\n return groupName;\n } else if (Array.isArray(groupName) &&\n groupName.length == 1 &&\n typeof(groupName[0]) === \"string\") {\n return group(groupName[0]);\n } else {\n throw new Error(\"Invalid groupName argument\");\n }\n}\n\nclass Group {\n constructor(name) {\n this.name = name;\n this._vars = {};\n }\n\n var(name) {\n if (!name || typeof(name) !== \"string\") {\n throw new Error(\"Invalid var name\");\n }\n\n if (!this._vars.hasOwnProperty(name))\n this._vars[name] = new Var(this, name);\n return this._vars[name];\n }\n\n has(name) {\n if (!name || typeof(name) !== \"string\") {\n throw new Error(\"Invalid var name\");\n }\n\n return this._vars.hasOwnProperty(name);\n }\n}\n", + "import group from \"./group\";\nimport { SelectionHandle } from \"./selection\";\nimport { FilterHandle } from \"./filter\";\nimport { bind } from \"./input\";\nimport \"./input_selectize\";\nimport \"./input_checkboxgroup\";\nimport \"./input_slider\";\n\nconst defaultGroup = group(\"default\");\n\nfunction var_(name) {\n return defaultGroup.var(name);\n}\n\nfunction has(name) {\n return defaultGroup.has(name);\n}\n\nif (global.Shiny) {\n global.Shiny.addCustomMessageHandler(\"update-client-value\", function(message) {\n if (typeof(message.group) === \"string\") {\n group(message.group).var(message.name).set(message.value);\n } else {\n var_(message.name).set(message.value);\n }\n });\n}\n\nconst crosstalk = {\n group: group,\n var: var_,\n has: has,\n SelectionHandle: SelectionHandle,\n FilterHandle: FilterHandle,\n bind: bind\n};\n\n/**\n * @namespace crosstalk\n */\nexport default crosstalk;\nglobal.crosstalk = crosstalk;\n", + "let $ = global.jQuery;\n\nlet bindings = {};\n\nexport function register(reg) {\n bindings[reg.className] = reg;\n if (global.document && global.document.readyState !== \"complete\") {\n $(() => {\n bind();\n });\n } else if (global.document) {\n setTimeout(bind, 100);\n }\n}\n\nexport function bind() {\n Object.keys(bindings).forEach(function(className) {\n let binding = bindings[className];\n $(\".\" + binding.className).not(\".crosstalk-input-bound\").each(function(i, el) {\n bindInstance(binding, el);\n });\n });\n}\n\n// Escape jQuery identifier\nfunction $escape(val) {\n return val.replace(/([!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~])/g, \"\\\\$1\");\n}\n\nfunction bindEl(el) {\n let $el = $(el);\n Object.keys(bindings).forEach(function(className) {\n if ($el.hasClass(className) && !$el.hasClass(\"crosstalk-input-bound\")) {\n let binding = bindings[className];\n bindInstance(binding, el);\n }\n });\n}\n\nfunction bindInstance(binding, el) {\n let jsonEl = $(el).find(\"script[type='application/json'][data-for='\" + $escape(el.id) + \"']\");\n let data = JSON.parse(jsonEl[0].innerText);\n\n let instance = binding.factory(el, data);\n $(el).data(\"crosstalk-instance\", instance);\n $(el).addClass(\"crosstalk-input-bound\");\n}\n\nif (global.Shiny) {\n let inputBinding = new global.Shiny.InputBinding();\n let $ = global.jQuery;\n $.extend(inputBinding, {\n find: function(scope) {\n return $(scope).find(\".crosstalk-input\");\n },\n initialize: function(el) {\n if (!$(el).hasClass(\"crosstalk-input-bound\")) {\n bindEl(el);\n }\n },\n getId: function(el) {\n return el.id;\n },\n getValue: function(el) {\n\n },\n setValue: function(el, value) {\n\n },\n receiveMessage: function(el, data) {\n\n },\n subscribe: function(el, callback) {\n $(el).data(\"crosstalk-instance\").resume();\n },\n unsubscribe: function(el) {\n $(el).data(\"crosstalk-instance\").suspend();\n }\n });\n global.Shiny.inputBindings.register(inputBinding, \"crosstalk.inputBinding\");\n}\n", + "import * as input from \"./input\";\nimport { FilterHandle } from \"./filter\";\n\nlet $ = global.jQuery;\n\ninput.register({\n className: \"crosstalk-input-checkboxgroup\",\n\n factory: function(el, data) {\n /*\n * map: {\"groupA\": [\"keyA\", \"keyB\", ...], ...}\n * group: \"ct-groupname\"\n */\n let ctHandle = new FilterHandle(data.group);\n\n let lastKnownKeys;\n let $el = $(el);\n $el.on(\"change\", \"input[type='checkbox']\", function() {\n let checked = $el.find(\"input[type='checkbox']:checked\");\n if (checked.length === 0) {\n lastKnownKeys = null;\n ctHandle.clear();\n } else {\n let keys = {};\n checked.each(function() {\n data.map[this.value].forEach(function(key) {\n keys[key] = true;\n });\n });\n let keyArray = Object.keys(keys);\n keyArray.sort();\n lastKnownKeys = keyArray;\n ctHandle.set(keyArray);\n }\n });\n\n return {\n suspend: function() {\n ctHandle.clear();\n },\n resume: function() {\n if (lastKnownKeys)\n ctHandle.set(lastKnownKeys);\n }\n };\n }\n});\n", + "import * as input from \"./input\";\nimport * as util from \"./util\";\nimport { FilterHandle } from \"./filter\";\n\nlet $ = global.jQuery;\n\ninput.register({\n className: \"crosstalk-input-select\",\n\n factory: function(el, data) {\n /*\n * items: {value: [...], label: [...]}\n * map: {\"groupA\": [\"keyA\", \"keyB\", ...], ...}\n * group: \"ct-groupname\"\n */\n\n let first = [{value: \"\", label: \"(All)\"}];\n let items = util.dataframeToD3(data.items);\n let opts = {\n options: first.concat(items),\n valueField: \"value\",\n labelField: \"label\",\n searchField: \"label\"\n };\n\n let select = $(el).find(\"select\")[0];\n\n let selectize = $(select).selectize(opts)[0].selectize;\n\n let ctHandle = new FilterHandle(data.group);\n\n let lastKnownKeys;\n selectize.on(\"change\", function() {\n if (selectize.items.length === 0) {\n lastKnownKeys = null;\n ctHandle.clear();\n } else {\n let keys = {};\n selectize.items.forEach(function(group) {\n data.map[group].forEach(function(key) {\n keys[key] = true;\n });\n });\n let keyArray = Object.keys(keys);\n keyArray.sort();\n lastKnownKeys = keyArray;\n ctHandle.set(keyArray);\n }\n });\n\n return {\n suspend: function() {\n ctHandle.clear();\n },\n resume: function() {\n if (lastKnownKeys)\n ctHandle.set(lastKnownKeys);\n }\n };\n }\n});\n", + "import * as input from \"./input\";\nimport { FilterHandle } from \"./filter\";\n\nlet $ = global.jQuery;\nlet strftime = global.strftime;\n\ninput.register({\n className: \"crosstalk-input-slider\",\n\n factory: function(el, data) {\n /*\n * map: {\"groupA\": [\"keyA\", \"keyB\", ...], ...}\n * group: \"ct-groupname\"\n */\n let ctHandle = new FilterHandle(data.group);\n\n let opts = {};\n let $el = $(el).find(\"input\");\n let dataType = $el.data(\"data-type\");\n let timeFormat = $el.data(\"time-format\");\n let round = $el.data(\"round\");\n let timeFormatter;\n\n // Set up formatting functions\n if (dataType === \"date\") {\n timeFormatter = strftime.utc();\n opts.prettify = function(num) {\n return timeFormatter(timeFormat, new Date(num));\n };\n\n } else if (dataType === \"datetime\") {\n let timezone = $el.data(\"timezone\");\n if (timezone)\n timeFormatter = strftime.timezone(timezone);\n else\n timeFormatter = strftime;\n\n opts.prettify = function(num) {\n return timeFormatter(timeFormat, new Date(num));\n };\n } else if (dataType === \"number\") {\n if (typeof round !== \"undefined\")\n opts.prettify = function(num) {\n let factor = Math.pow(10, round);\n return Math.round(num * factor) / factor;\n };\n }\n\n $el.ionRangeSlider(opts);\n\n function getValue() {\n let result = $el.data(\"ionRangeSlider\").result;\n\n // Function for converting numeric value from slider to appropriate type.\n let convert;\n let dataType = $el.data(\"data-type\");\n if (dataType === \"date\") {\n convert = function(val) {\n return formatDateUTC(new Date(+val));\n };\n } else if (dataType === \"datetime\") {\n convert = function(val) {\n // Convert ms to s\n return +val / 1000;\n };\n } else {\n convert = function(val) { return +val; };\n }\n\n if ($el.data(\"ionRangeSlider\").options.type === \"double\") {\n return [convert(result.from), convert(result.to)];\n } else {\n return convert(result.from);\n }\n }\n\n let lastKnownKeys = null;\n\n $el.on(\"change.crosstalkSliderInput\", function(event) {\n if (!$el.data(\"updating\") && !$el.data(\"animating\")) {\n let [from, to] = getValue();\n let keys = [];\n for (let i = 0; i < data.values.length; i++) {\n let val = data.values[i];\n if (val >= from && val <= to) {\n keys.push(data.keys[i]);\n }\n }\n keys.sort();\n ctHandle.set(keys);\n lastKnownKeys = keys;\n }\n });\n\n\n // let $el = $(el);\n // $el.on(\"change\", \"input[type=\"checkbox\"]\", function() {\n // let checked = $el.find(\"input[type=\"checkbox\"]:checked\");\n // if (checked.length === 0) {\n // ctHandle.clear();\n // } else {\n // let keys = {};\n // checked.each(function() {\n // data.map[this.value].forEach(function(key) {\n // keys[key] = true;\n // });\n // });\n // let keyArray = Object.keys(keys);\n // keyArray.sort();\n // ctHandle.set(keyArray);\n // }\n // });\n\n return {\n suspend: function() {\n ctHandle.clear();\n },\n resume: function() {\n if (lastKnownKeys)\n ctHandle.set(lastKnownKeys);\n }\n };\n }\n});\n\n\n// Convert a number to a string with leading zeros\nfunction padZeros(n, digits) {\n let str = n.toString();\n while (str.length < digits)\n str = \"0\" + str;\n return str;\n}\n\n// Given a Date object, return a string in yyyy-mm-dd format, using the\n// UTC date. This may be a day off from the date in the local time zone.\nfunction formatDateUTC(date) {\n if (date instanceof Date) {\n return date.getUTCFullYear() + \"-\" +\n padZeros(date.getUTCMonth()+1, 2) + \"-\" +\n padZeros(date.getUTCDate(), 2);\n\n } else {\n return null;\n }\n}\n", + "import Events from \"./events\";\nimport grp from \"./group\";\nimport * as util from \"./util\";\n\n/**\n * Use this class to read and write (and listen for changes to) the selection\n * for a Crosstalk group. This is intended to be used for linked brushing.\n *\n * If two (or more) `SelectionHandle` instances in the same webpage share the\n * same group name, they will share the same state. Setting the selection using\n * one `SelectionHandle` instance will result in the `value` property instantly\n * changing across the others, and `\"change\"` event listeners on all instances\n * (including the one that initiated the sending) will fire.\n *\n * @param {string} [group] - The name of the Crosstalk group, or if none,\n * null or undefined (or any other falsy value). This can be changed later\n * via the [SelectionHandle#setGroup](#setGroup) method.\n * @param {Object} [extraInfo] - An object whose properties will be copied to\n * the event object whenever an event is emitted.\n */\nexport class SelectionHandle {\n\n constructor(group = null, extraInfo = null) {\n this._eventRelay = new Events();\n this._emitter = new util.SubscriptionTracker(this._eventRelay);\n\n // Name of the group we're currently tracking, if any. Can change over time.\n this._group = null;\n // The Var we're currently tracking, if any. Can change over time.\n this._var = null;\n // The event handler subscription we currently have on var.on(\"change\").\n this._varOnChangeSub = null;\n\n this._extraInfo = util.extend({ sender: this }, extraInfo);\n\n this.setGroup(group);\n }\n\n /**\n * Changes the Crosstalk group membership of this SelectionHandle. The group\n * being switched away from (if any) will not have its selection value\n * modified as a result of calling `setGroup`, even if this handle was the\n * most recent handle to set the selection of the group.\n *\n * The group being switched to (if any) will also not have its selection value\n * modified as a result of calling `setGroup`. If you want to set the\n * selection value of the new group, call `set` explicitly.\n *\n * @param {string} group - The name of the Crosstalk group, or null (or\n * undefined) to clear the group.\n */\n setGroup(group) {\n // If group is unchanged, do nothing\n if (this._group === group)\n return;\n // Treat null, undefined, and other falsy values the same\n if (!this._group && !group)\n return;\n\n if (this._var) {\n this._var.off(\"change\", this._varOnChangeSub);\n this._var = null;\n this._varOnChangeSub = null;\n }\n\n this._group = group;\n\n if (group) {\n this._var = grp(group).var(\"selection\");\n let sub = this._var.on(\"change\", (e) => {\n this._eventRelay.trigger(\"change\", e, this);\n });\n this._varOnChangeSub = sub;\n }\n }\n\n /**\n * Retrieves the current selection for the group represented by this\n * `SelectionHandle`.\n *\n * - If no selection is active, then this value will be falsy.\n * - If a selection is active, but no data points are selected, then this\n * value will be an empty array.\n * - If a selection is active, and data points are selected, then the keys\n * of the selected data points will be present in the array.\n */\n get value() {\n return this._var ? this._var.get() : null;\n }\n\n /**\n * Combines the given `extraInfo` (if any) with the handle's default\n * `_extraInfo` (if any).\n * @private\n */\n _mergeExtraInfo(extraInfo) {\n // Important incidental effect: shallow clone is returned\n return util.extend({},\n this._extraInfo ? this._extraInfo : null,\n extraInfo ? extraInfo : null);\n }\n\n /**\n * Overwrites the current selection for the group, and raises the `\"change\"`\n * event among all of the group's '`SelectionHandle` instances (including\n * this one).\n *\n * @fires SelectionHandle#change\n * @param {string[]} selectedKeys - Falsy, empty array, or array of keys (see\n * {@link SelectionHandle#value}).\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any options that were\n * passed into the `SelectionHandle` constructor).\n */\n set(selectedKeys, extraInfo) {\n if (this._var)\n this._var.set(selectedKeys, this._mergeExtraInfo(extraInfo));\n }\n\n /**\n * Overwrites the current selection for the group, and raises the `\"change\"`\n * event among all of the group's '`SelectionHandle` instances (including\n * this one).\n *\n * @fires SelectionHandle#change\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any that were passed\n * into the `SelectionHandle` constructor).\n */\n clear(extraInfo) {\n if (this._var)\n this.set(void 0, this._mergeExtraInfo(extraInfo));\n }\n\n /**\n * Subscribes to events on this `SelectionHandle`.\n *\n * @param {string} eventType - Indicates the type of events to listen to.\n * Currently, only `\"change\"` is supported.\n * @param {SelectionHandle~listener} listener - The callback function that\n * will be invoked when the event occurs.\n * @return {string} - A token to pass to {@link SelectionHandle#off} to cancel\n * this subscription.\n */\n on(eventType, listener) {\n return this._emitter.on(eventType, listener);\n }\n\n /**\n * Cancels event subscriptions created by {@link SelectionHandle#on}.\n *\n * @param {string} eventType - The type of event to unsubscribe.\n * @param {string|SelectionHandle~listener} listener - Either the callback\n * function previously passed into {@link SelectionHandle#on}, or the\n * string that was returned from {@link SelectionHandle#on}.\n */\n off(eventType, listener) {\n return this._emitter.off(eventType, listener);\n }\n\n /**\n * Shuts down the `SelectionHandle` object.\n *\n * Removes all event listeners that were added through this handle.\n */\n close() {\n this._emitter.removeAllListeners();\n this.setGroup(null);\n }\n}\n\n/**\n * @callback SelectionHandle~listener\n * @param {Object} event - An object containing details of the event. For\n * `\"change\"` events, this includes the properties `value` (the new\n * value of the selection, or `undefined` if no selection is active),\n * `oldValue` (the previous value of the selection), and `sender` (the\n * `SelectionHandle` instance that made the change).\n */\n\n/**\n * @event SelectionHandle#change\n * @type {object}\n * @property {object} value - The new value of the selection, or `undefined`\n * if no selection is active.\n * @property {object} oldValue - The previous value of the selection.\n * @property {SelectionHandle} sender - The `SelectionHandle` instance that\n * changed the value.\n */\n", + "export function extend(target, ...sources) {\n for (let i = 0; i < sources.length; i++) {\n let src = sources[i];\n if (typeof(src) === \"undefined\" || src === null)\n continue;\n\n for (let key in src) {\n if (src.hasOwnProperty(key)) {\n target[key] = src[key];\n }\n }\n }\n return target;\n}\n\nexport function checkSorted(list) {\n for (let i = 1; i < list.length; i++) {\n if (list[i] <= list[i-1]) {\n throw new Error(\"List is not sorted or contains duplicate\");\n }\n }\n}\n\nexport function diffSortedLists(a, b) {\n let i_a = 0;\n let i_b = 0;\n\n if (!a) a = [];\n if (!b) b = [];\n\n let a_only = [];\n let b_only = [];\n\n checkSorted(a);\n checkSorted(b);\n\n while (i_a < a.length && i_b < b.length) {\n if (a[i_a] === b[i_b]) {\n i_a++;\n i_b++;\n } else if (a[i_a] < b[i_b]) {\n a_only.push(a[i_a++]);\n } else {\n b_only.push(b[i_b++]);\n }\n }\n\n if (i_a < a.length)\n a_only = a_only.concat(a.slice(i_a));\n if (i_b < b.length)\n b_only = b_only.concat(b.slice(i_b));\n return {\n removed: a_only,\n added: b_only\n };\n}\n\n// Convert from wide: { colA: [1,2,3], colB: [4,5,6], ... }\n// to long: [ {colA: 1, colB: 4}, {colA: 2, colB: 5}, ... ]\nexport function dataframeToD3(df) {\n let names = [];\n let length;\n for (let name in df) {\n if (df.hasOwnProperty(name))\n names.push(name);\n if (typeof(df[name]) !== \"object\" || typeof(df[name].length) === \"undefined\") {\n throw new Error(\"All fields must be arrays\");\n } else if (typeof(length) !== \"undefined\" && length !== df[name].length) {\n throw new Error(\"All fields must be arrays of the same length\");\n }\n length = df[name].length;\n }\n let results = [];\n let item;\n for (let row = 0; row < length; row++) {\n item = {};\n for (let col = 0; col < names.length; col++) {\n item[names[col]] = df[names[col]][row];\n }\n results.push(item);\n }\n return results;\n}\n\n/**\n * Keeps track of all event listener additions/removals and lets all active\n * listeners be removed with a single operation.\n *\n * @private\n */\nexport class SubscriptionTracker {\n constructor(emitter) {\n this._emitter = emitter;\n this._subs = {};\n }\n\n on(eventType, listener) {\n let sub = this._emitter.on(eventType, listener);\n this._subs[sub] = eventType;\n return sub;\n }\n\n off(eventType, listener) {\n let sub = this._emitter.off(eventType, listener);\n if (sub) {\n delete this._subs[sub];\n }\n return sub;\n }\n\n removeAllListeners() {\n let current_subs = this._subs;\n this._subs = {};\n Object.keys(current_subs).forEach((sub) => {\n this._emitter.off(current_subs[sub], sub);\n });\n }\n}\n", + "import Events from \"./events\";\n\nexport default class Var {\n constructor(group, name, /*optional*/ value) {\n this._group = group;\n this._name = name;\n this._value = value;\n this._events = new Events();\n }\n\n get() {\n return this._value;\n }\n\n set(value, /*optional*/ event) {\n if (this._value === value) {\n // Do nothing; the value hasn't changed\n return;\n }\n let oldValue = this._value;\n this._value = value;\n // Alert JavaScript listeners that the value has changed\n let evt = {};\n if (event && typeof(event) === \"object\") {\n for (let k in event) {\n if (event.hasOwnProperty(k))\n evt[k] = event[k];\n }\n }\n evt.oldValue = oldValue;\n evt.value = value;\n this._events.trigger(\"change\", evt, this);\n\n // TODO: Make this extensible, to let arbitrary back-ends know that\n // something has changed\n if (global.Shiny && global.Shiny.onInputChange) {\n global.Shiny.onInputChange(\n \".clientValue-\" +\n (this._group.name !== null ? this._group.name + \"-\" : \"\") +\n this._name,\n typeof(value) === \"undefined\" ? null : value\n );\n }\n }\n\n on(eventType, listener) {\n return this._events.on(eventType, listener);\n }\n\n off(eventType, listener) {\n return this._events.off(eventType, listener);\n }\n}\n" + ] +} \ No newline at end of file diff --git a/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.min.js b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.min.js new file mode 100644 index 0000000..b7ec0ac --- /dev/null +++ b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/js/crosstalk.min.js @@ -0,0 +1,2 @@ +!function o(u,a,l){function s(n,e){if(!a[n]){if(!u[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(f)return f(n,!0);var r=new Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}var i=a[n]={exports:{}};u[n][0].call(i.exports,function(e){var t=u[n][1][e];return s(t||e)},i,i.exports,o,u,a,l)}return a[n].exports}for(var f="function"==typeof require&&require,e=0;e?@[\\\]^`{|}~])/g,"\\$1")+"']"),r=JSON.parse(n[0].innerText),i=e.factory(t,r);o(t).data("crosstalk-instance",i),o(t).addClass("crosstalk-input-bound")}if(t.Shiny){var e=new t.Shiny.InputBinding,u=t.jQuery;u.extend(e,{find:function(e){return u(e).find(".crosstalk-input")},initialize:function(e){var t,n;u(e).hasClass("crosstalk-input-bound")||(n=o(t=e),Object.keys(r).forEach(function(e){n.hasClass(e)&&!n.hasClass("crosstalk-input-bound")&&i(r[e],t)}))},getId:function(e){return e.id},getValue:function(e){},setValue:function(e,t){},receiveMessage:function(e,t){},subscribe:function(e,t){u(e).data("crosstalk-instance").resume()},unsubscribe:function(e){u(e).data("crosstalk-instance").suspend()}}),t.Shiny.inputBindings.register(e,"crosstalk.inputBinding")}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],7:[function(r,e,t){(function(e){"use strict";var t=function(e){{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}}(r("./input")),n=r("./filter");var a=e.jQuery;t.register({className:"crosstalk-input-checkboxgroup",factory:function(e,r){var i=new n.FilterHandle(r.group),o=void 0,u=a(e);return u.on("change","input[type='checkbox']",function(){var e=u.find("input[type='checkbox']:checked");if(0===e.length)o=null,i.clear();else{var t={};e.each(function(){r.map[this.value].forEach(function(e){t[e]=!0})});var n=Object.keys(t);n.sort(),o=n,i.set(n)}}),{suspend:function(){i.clear()},resume:function(){o&&i.set(o)}}}})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./filter":2,"./input":6}],8:[function(r,e,t){(function(e){"use strict";var t=n(r("./input")),l=n(r("./util")),s=r("./filter");function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var f=e.jQuery;t.register({className:"crosstalk-input-select",factory:function(e,n){var t=l.dataframeToD3(n.items),r={options:[{value:"",label:"(All)"}].concat(t),valueField:"value",labelField:"label",searchField:"label"},i=f(e).find("select")[0],o=f(i).selectize(r)[0].selectize,u=new s.FilterHandle(n.group),a=void 0;return o.on("change",function(){if(0===o.items.length)a=null,u.clear();else{var t={};o.items.forEach(function(e){n.map[e].forEach(function(e){t[e]=!0})});var e=Object.keys(t);e.sort(),a=e,u.set(e)}}),{suspend:function(){u.clear()},resume:function(){a&&u.set(a)}}}})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./filter":2,"./input":6,"./util":11}],9:[function(n,e,t){(function(e){"use strict";var d=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},t=function(e){{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}}(n("./input")),a=n("./filter");var v=e.jQuery,p=e.strftime;function y(e,t){for(var n=e.toString();n.length {\n this._eventRelay.trigger(\"change\", e, this);\n });\n this._varOnChangeSub = sub;\n }\n }\n\n /**\n * Combine the given `extraInfo` (if any) with the handle's default\n * `_extraInfo` (if any).\n * @private\n */\n _mergeExtraInfo(extraInfo) {\n return util.extend({},\n this._extraInfo ? this._extraInfo : null,\n extraInfo ? extraInfo : null);\n }\n\n /**\n * Close the handle. This clears this handle's contribution to the filter set,\n * and unsubscribes all event listeners.\n */\n close() {\n this._emitter.removeAllListeners();\n this.clear();\n this.setGroup(null);\n }\n\n /**\n * Clear this handle's contribution to the filter set.\n *\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any options that were\n * passed into the `FilterHandle` constructor).\n * \n * @fires FilterHandle#change\n */\n clear(extraInfo) {\n if (!this._filterSet)\n return;\n this._filterSet.clear(this._id);\n this._onChange(extraInfo);\n }\n\n /**\n * Set this handle's contribution to the filter set. This array should consist\n * of the keys of the rows that _should_ be displayed; any keys that are not\n * present in the array will be considered _filtered out_. Note that multiple\n * `FilterHandle` instances in the group may each contribute an array of keys,\n * and only those keys that appear in _all_ of the arrays make it through the\n * filter.\n *\n * @param {string[]} keys - Empty array, or array of keys. To clear the\n * filter, don't pass an empty array; instead, use the\n * {@link FilterHandle#clear} method.\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any options that were\n * passed into the `FilterHandle` constructor).\n * \n * @fires FilterHandle#change\n */\n set(keys, extraInfo) {\n if (!this._filterSet)\n return;\n this._filterSet.update(this._id, keys);\n this._onChange(extraInfo);\n }\n\n /**\n * @return {string[]|null} - Either: 1) an array of keys that made it through\n * all of the `FilterHandle` instances, or, 2) `null`, which means no filter\n * is being applied (all data should be displayed).\n */\n get filteredKeys() {\n return this._filterSet ? this._filterSet.value : null;\n }\n\n /**\n * Subscribe to events on this `FilterHandle`.\n *\n * @param {string} eventType - Indicates the type of events to listen to.\n * Currently, only `\"change\"` is supported.\n * @param {FilterHandle~listener} listener - The callback function that\n * will be invoked when the event occurs.\n * @return {string} - A token to pass to {@link FilterHandle#off} to cancel\n * this subscription.\n */\n on(eventType, listener) {\n return this._emitter.on(eventType, listener);\n }\n\n /**\n * Cancel event subscriptions created by {@link FilterHandle#on}.\n *\n * @param {string} eventType - The type of event to unsubscribe.\n * @param {string|FilterHandle~listener} listener - Either the callback\n * function previously passed into {@link FilterHandle#on}, or the\n * string that was returned from {@link FilterHandle#on}.\n */\n off(eventType, listener) {\n return this._emitter.off(eventType, listener);\n }\n\n _onChange(extraInfo) {\n if (!this._filterSet)\n return;\n this._filterVar.set(this._filterSet.value, this._mergeExtraInfo(extraInfo));\n }\n\n /**\n * @callback FilterHandle~listener\n * @param {Object} event - An object containing details of the event. For\n * `\"change\"` events, this includes the properties `value` (the new\n * value of the filter set, or `null` if no filter set is active),\n * `oldValue` (the previous value of the filter set), and `sender` (the\n * `FilterHandle` instance that made the change).\n */\n\n}\n\n/**\n * @event FilterHandle#change\n * @type {object}\n * @property {object} value - The new value of the filter set, or `null`\n * if no filter set is active.\n * @property {object} oldValue - The previous value of the filter set.\n * @property {FilterHandle} sender - The `FilterHandle` instance that\n * changed the value.\n */\n","import { diffSortedLists } from \"./util\";\n\nfunction naturalComparator(a, b) {\n if (a === b) {\n return 0;\n } else if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n }\n}\n\n/**\n * @private\n */\nexport default class FilterSet {\n constructor() {\n this.reset();\n }\n\n reset() {\n // Key: handle ID, Value: array of selected keys, or null\n this._handles = {};\n // Key: key string, Value: count of handles that include it\n this._keys = {};\n this._value = null;\n this._activeHandles = 0;\n }\n\n get value() {\n return this._value;\n }\n\n update(handleId, keys) {\n if (keys !== null) {\n keys = keys.slice(0); // clone before sorting\n keys.sort(naturalComparator);\n }\n\n let {added, removed} = diffSortedLists(this._handles[handleId], keys);\n this._handles[handleId] = keys;\n\n for (let i = 0; i < added.length; i++) {\n this._keys[added[i]] = (this._keys[added[i]] || 0) + 1;\n }\n for (let i = 0; i < removed.length; i++) {\n this._keys[removed[i]]--;\n }\n\n this._updateValue(keys);\n }\n\n /**\n * @param {string[]} keys Sorted array of strings that indicate\n * a superset of possible keys.\n * @private\n */\n _updateValue(keys = this._allKeys) {\n let handleCount = Object.keys(this._handles).length;\n if (handleCount === 0) {\n this._value = null;\n } else {\n this._value = [];\n for (let i = 0; i < keys.length; i++) {\n let count = this._keys[keys[i]];\n if (count === handleCount) {\n this._value.push(keys[i]);\n }\n }\n }\n }\n\n clear(handleId) {\n if (typeof(this._handles[handleId]) === \"undefined\") {\n return;\n }\n\n let keys = this._handles[handleId];\n if (!keys) {\n keys = [];\n }\n\n for (let i = 0; i < keys.length; i++) {\n this._keys[keys[i]]--;\n }\n delete this._handles[handleId];\n\n this._updateValue();\n }\n\n get _allKeys() {\n let allKeys = Object.keys(this._keys);\n allKeys.sort(naturalComparator);\n return allKeys;\n }\n}\n","import Var from \"./var\";\n\n// Use a global so that multiple copies of crosstalk.js can be loaded and still\n// have groups behave as singletons across all copies.\nglobal.__crosstalk_groups = global.__crosstalk_groups || {};\nlet groups = global.__crosstalk_groups;\n\nexport default function group(groupName) {\n if (groupName && typeof(groupName) === \"string\") {\n if (!groups.hasOwnProperty(groupName)) {\n groups[groupName] = new Group(groupName);\n }\n return groups[groupName];\n } else if (typeof(groupName) === \"object\" && groupName._vars && groupName.var) {\n // Appears to already be a group object\n return groupName;\n } else if (Array.isArray(groupName) &&\n groupName.length == 1 &&\n typeof(groupName[0]) === \"string\") {\n return group(groupName[0]);\n } else {\n throw new Error(\"Invalid groupName argument\");\n }\n}\n\nclass Group {\n constructor(name) {\n this.name = name;\n this._vars = {};\n }\n\n var(name) {\n if (!name || typeof(name) !== \"string\") {\n throw new Error(\"Invalid var name\");\n }\n\n if (!this._vars.hasOwnProperty(name))\n this._vars[name] = new Var(this, name);\n return this._vars[name];\n }\n\n has(name) {\n if (!name || typeof(name) !== \"string\") {\n throw new Error(\"Invalid var name\");\n }\n\n return this._vars.hasOwnProperty(name);\n }\n}\n","import group from \"./group\";\nimport { SelectionHandle } from \"./selection\";\nimport { FilterHandle } from \"./filter\";\nimport { bind } from \"./input\";\nimport \"./input_selectize\";\nimport \"./input_checkboxgroup\";\nimport \"./input_slider\";\n\nconst defaultGroup = group(\"default\");\n\nfunction var_(name) {\n return defaultGroup.var(name);\n}\n\nfunction has(name) {\n return defaultGroup.has(name);\n}\n\nif (global.Shiny) {\n global.Shiny.addCustomMessageHandler(\"update-client-value\", function(message) {\n if (typeof(message.group) === \"string\") {\n group(message.group).var(message.name).set(message.value);\n } else {\n var_(message.name).set(message.value);\n }\n });\n}\n\nconst crosstalk = {\n group: group,\n var: var_,\n has: has,\n SelectionHandle: SelectionHandle,\n FilterHandle: FilterHandle,\n bind: bind\n};\n\n/**\n * @namespace crosstalk\n */\nexport default crosstalk;\nglobal.crosstalk = crosstalk;\n","let $ = global.jQuery;\n\nlet bindings = {};\n\nexport function register(reg) {\n bindings[reg.className] = reg;\n if (global.document && global.document.readyState !== \"complete\") {\n $(() => {\n bind();\n });\n } else if (global.document) {\n setTimeout(bind, 100);\n }\n}\n\nexport function bind() {\n Object.keys(bindings).forEach(function(className) {\n let binding = bindings[className];\n $(\".\" + binding.className).not(\".crosstalk-input-bound\").each(function(i, el) {\n bindInstance(binding, el);\n });\n });\n}\n\n// Escape jQuery identifier\nfunction $escape(val) {\n return val.replace(/([!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~])/g, \"\\\\$1\");\n}\n\nfunction bindEl(el) {\n let $el = $(el);\n Object.keys(bindings).forEach(function(className) {\n if ($el.hasClass(className) && !$el.hasClass(\"crosstalk-input-bound\")) {\n let binding = bindings[className];\n bindInstance(binding, el);\n }\n });\n}\n\nfunction bindInstance(binding, el) {\n let jsonEl = $(el).find(\"script[type='application/json'][data-for='\" + $escape(el.id) + \"']\");\n let data = JSON.parse(jsonEl[0].innerText);\n\n let instance = binding.factory(el, data);\n $(el).data(\"crosstalk-instance\", instance);\n $(el).addClass(\"crosstalk-input-bound\");\n}\n\nif (global.Shiny) {\n let inputBinding = new global.Shiny.InputBinding();\n let $ = global.jQuery;\n $.extend(inputBinding, {\n find: function(scope) {\n return $(scope).find(\".crosstalk-input\");\n },\n initialize: function(el) {\n if (!$(el).hasClass(\"crosstalk-input-bound\")) {\n bindEl(el);\n }\n },\n getId: function(el) {\n return el.id;\n },\n getValue: function(el) {\n\n },\n setValue: function(el, value) {\n\n },\n receiveMessage: function(el, data) {\n\n },\n subscribe: function(el, callback) {\n $(el).data(\"crosstalk-instance\").resume();\n },\n unsubscribe: function(el) {\n $(el).data(\"crosstalk-instance\").suspend();\n }\n });\n global.Shiny.inputBindings.register(inputBinding, \"crosstalk.inputBinding\");\n}\n","import * as input from \"./input\";\nimport { FilterHandle } from \"./filter\";\n\nlet $ = global.jQuery;\n\ninput.register({\n className: \"crosstalk-input-checkboxgroup\",\n\n factory: function(el, data) {\n /*\n * map: {\"groupA\": [\"keyA\", \"keyB\", ...], ...}\n * group: \"ct-groupname\"\n */\n let ctHandle = new FilterHandle(data.group);\n\n let lastKnownKeys;\n let $el = $(el);\n $el.on(\"change\", \"input[type='checkbox']\", function() {\n let checked = $el.find(\"input[type='checkbox']:checked\");\n if (checked.length === 0) {\n lastKnownKeys = null;\n ctHandle.clear();\n } else {\n let keys = {};\n checked.each(function() {\n data.map[this.value].forEach(function(key) {\n keys[key] = true;\n });\n });\n let keyArray = Object.keys(keys);\n keyArray.sort();\n lastKnownKeys = keyArray;\n ctHandle.set(keyArray);\n }\n });\n\n return {\n suspend: function() {\n ctHandle.clear();\n },\n resume: function() {\n if (lastKnownKeys)\n ctHandle.set(lastKnownKeys);\n }\n };\n }\n});\n","import * as input from \"./input\";\nimport * as util from \"./util\";\nimport { FilterHandle } from \"./filter\";\n\nlet $ = global.jQuery;\n\ninput.register({\n className: \"crosstalk-input-select\",\n\n factory: function(el, data) {\n /*\n * items: {value: [...], label: [...]}\n * map: {\"groupA\": [\"keyA\", \"keyB\", ...], ...}\n * group: \"ct-groupname\"\n */\n\n let first = [{value: \"\", label: \"(All)\"}];\n let items = util.dataframeToD3(data.items);\n let opts = {\n options: first.concat(items),\n valueField: \"value\",\n labelField: \"label\",\n searchField: \"label\"\n };\n\n let select = $(el).find(\"select\")[0];\n\n let selectize = $(select).selectize(opts)[0].selectize;\n\n let ctHandle = new FilterHandle(data.group);\n\n let lastKnownKeys;\n selectize.on(\"change\", function() {\n if (selectize.items.length === 0) {\n lastKnownKeys = null;\n ctHandle.clear();\n } else {\n let keys = {};\n selectize.items.forEach(function(group) {\n data.map[group].forEach(function(key) {\n keys[key] = true;\n });\n });\n let keyArray = Object.keys(keys);\n keyArray.sort();\n lastKnownKeys = keyArray;\n ctHandle.set(keyArray);\n }\n });\n\n return {\n suspend: function() {\n ctHandle.clear();\n },\n resume: function() {\n if (lastKnownKeys)\n ctHandle.set(lastKnownKeys);\n }\n };\n }\n});\n","import * as input from \"./input\";\nimport { FilterHandle } from \"./filter\";\n\nlet $ = global.jQuery;\nlet strftime = global.strftime;\n\ninput.register({\n className: \"crosstalk-input-slider\",\n\n factory: function(el, data) {\n /*\n * map: {\"groupA\": [\"keyA\", \"keyB\", ...], ...}\n * group: \"ct-groupname\"\n */\n let ctHandle = new FilterHandle(data.group);\n\n let opts = {};\n let $el = $(el).find(\"input\");\n let dataType = $el.data(\"data-type\");\n let timeFormat = $el.data(\"time-format\");\n let round = $el.data(\"round\");\n let timeFormatter;\n\n // Set up formatting functions\n if (dataType === \"date\") {\n timeFormatter = strftime.utc();\n opts.prettify = function(num) {\n return timeFormatter(timeFormat, new Date(num));\n };\n\n } else if (dataType === \"datetime\") {\n let timezone = $el.data(\"timezone\");\n if (timezone)\n timeFormatter = strftime.timezone(timezone);\n else\n timeFormatter = strftime;\n\n opts.prettify = function(num) {\n return timeFormatter(timeFormat, new Date(num));\n };\n } else if (dataType === \"number\") {\n if (typeof round !== \"undefined\")\n opts.prettify = function(num) {\n let factor = Math.pow(10, round);\n return Math.round(num * factor) / factor;\n };\n }\n\n $el.ionRangeSlider(opts);\n\n function getValue() {\n let result = $el.data(\"ionRangeSlider\").result;\n\n // Function for converting numeric value from slider to appropriate type.\n let convert;\n let dataType = $el.data(\"data-type\");\n if (dataType === \"date\") {\n convert = function(val) {\n return formatDateUTC(new Date(+val));\n };\n } else if (dataType === \"datetime\") {\n convert = function(val) {\n // Convert ms to s\n return +val / 1000;\n };\n } else {\n convert = function(val) { return +val; };\n }\n\n if ($el.data(\"ionRangeSlider\").options.type === \"double\") {\n return [convert(result.from), convert(result.to)];\n } else {\n return convert(result.from);\n }\n }\n\n let lastKnownKeys = null;\n\n $el.on(\"change.crosstalkSliderInput\", function(event) {\n if (!$el.data(\"updating\") && !$el.data(\"animating\")) {\n let [from, to] = getValue();\n let keys = [];\n for (let i = 0; i < data.values.length; i++) {\n let val = data.values[i];\n if (val >= from && val <= to) {\n keys.push(data.keys[i]);\n }\n }\n keys.sort();\n ctHandle.set(keys);\n lastKnownKeys = keys;\n }\n });\n\n\n // let $el = $(el);\n // $el.on(\"change\", \"input[type=\"checkbox\"]\", function() {\n // let checked = $el.find(\"input[type=\"checkbox\"]:checked\");\n // if (checked.length === 0) {\n // ctHandle.clear();\n // } else {\n // let keys = {};\n // checked.each(function() {\n // data.map[this.value].forEach(function(key) {\n // keys[key] = true;\n // });\n // });\n // let keyArray = Object.keys(keys);\n // keyArray.sort();\n // ctHandle.set(keyArray);\n // }\n // });\n\n return {\n suspend: function() {\n ctHandle.clear();\n },\n resume: function() {\n if (lastKnownKeys)\n ctHandle.set(lastKnownKeys);\n }\n };\n }\n});\n\n\n// Convert a number to a string with leading zeros\nfunction padZeros(n, digits) {\n let str = n.toString();\n while (str.length < digits)\n str = \"0\" + str;\n return str;\n}\n\n// Given a Date object, return a string in yyyy-mm-dd format, using the\n// UTC date. This may be a day off from the date in the local time zone.\nfunction formatDateUTC(date) {\n if (date instanceof Date) {\n return date.getUTCFullYear() + \"-\" +\n padZeros(date.getUTCMonth()+1, 2) + \"-\" +\n padZeros(date.getUTCDate(), 2);\n\n } else {\n return null;\n }\n}\n","import Events from \"./events\";\nimport grp from \"./group\";\nimport * as util from \"./util\";\n\n/**\n * Use this class to read and write (and listen for changes to) the selection\n * for a Crosstalk group. This is intended to be used for linked brushing.\n *\n * If two (or more) `SelectionHandle` instances in the same webpage share the\n * same group name, they will share the same state. Setting the selection using\n * one `SelectionHandle` instance will result in the `value` property instantly\n * changing across the others, and `\"change\"` event listeners on all instances\n * (including the one that initiated the sending) will fire.\n *\n * @param {string} [group] - The name of the Crosstalk group, or if none,\n * null or undefined (or any other falsy value). This can be changed later\n * via the [SelectionHandle#setGroup](#setGroup) method.\n * @param {Object} [extraInfo] - An object whose properties will be copied to\n * the event object whenever an event is emitted.\n */\nexport class SelectionHandle {\n\n constructor(group = null, extraInfo = null) {\n this._eventRelay = new Events();\n this._emitter = new util.SubscriptionTracker(this._eventRelay);\n\n // Name of the group we're currently tracking, if any. Can change over time.\n this._group = null;\n // The Var we're currently tracking, if any. Can change over time.\n this._var = null;\n // The event handler subscription we currently have on var.on(\"change\").\n this._varOnChangeSub = null;\n\n this._extraInfo = util.extend({ sender: this }, extraInfo);\n\n this.setGroup(group);\n }\n\n /**\n * Changes the Crosstalk group membership of this SelectionHandle. The group\n * being switched away from (if any) will not have its selection value\n * modified as a result of calling `setGroup`, even if this handle was the\n * most recent handle to set the selection of the group.\n *\n * The group being switched to (if any) will also not have its selection value\n * modified as a result of calling `setGroup`. If you want to set the\n * selection value of the new group, call `set` explicitly.\n *\n * @param {string} group - The name of the Crosstalk group, or null (or\n * undefined) to clear the group.\n */\n setGroup(group) {\n // If group is unchanged, do nothing\n if (this._group === group)\n return;\n // Treat null, undefined, and other falsy values the same\n if (!this._group && !group)\n return;\n\n if (this._var) {\n this._var.off(\"change\", this._varOnChangeSub);\n this._var = null;\n this._varOnChangeSub = null;\n }\n\n this._group = group;\n\n if (group) {\n this._var = grp(group).var(\"selection\");\n let sub = this._var.on(\"change\", (e) => {\n this._eventRelay.trigger(\"change\", e, this);\n });\n this._varOnChangeSub = sub;\n }\n }\n\n /**\n * Retrieves the current selection for the group represented by this\n * `SelectionHandle`.\n *\n * - If no selection is active, then this value will be falsy.\n * - If a selection is active, but no data points are selected, then this\n * value will be an empty array.\n * - If a selection is active, and data points are selected, then the keys\n * of the selected data points will be present in the array.\n */\n get value() {\n return this._var ? this._var.get() : null;\n }\n\n /**\n * Combines the given `extraInfo` (if any) with the handle's default\n * `_extraInfo` (if any).\n * @private\n */\n _mergeExtraInfo(extraInfo) {\n // Important incidental effect: shallow clone is returned\n return util.extend({},\n this._extraInfo ? this._extraInfo : null,\n extraInfo ? extraInfo : null);\n }\n\n /**\n * Overwrites the current selection for the group, and raises the `\"change\"`\n * event among all of the group's '`SelectionHandle` instances (including\n * this one).\n *\n * @fires SelectionHandle#change\n * @param {string[]} selectedKeys - Falsy, empty array, or array of keys (see\n * {@link SelectionHandle#value}).\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any options that were\n * passed into the `SelectionHandle` constructor).\n */\n set(selectedKeys, extraInfo) {\n if (this._var)\n this._var.set(selectedKeys, this._mergeExtraInfo(extraInfo));\n }\n\n /**\n * Overwrites the current selection for the group, and raises the `\"change\"`\n * event among all of the group's '`SelectionHandle` instances (including\n * this one).\n *\n * @fires SelectionHandle#change\n * @param {Object} [extraInfo] - Extra properties to be included on the event\n * object that's passed to listeners (in addition to any that were passed\n * into the `SelectionHandle` constructor).\n */\n clear(extraInfo) {\n if (this._var)\n this.set(void 0, this._mergeExtraInfo(extraInfo));\n }\n\n /**\n * Subscribes to events on this `SelectionHandle`.\n *\n * @param {string} eventType - Indicates the type of events to listen to.\n * Currently, only `\"change\"` is supported.\n * @param {SelectionHandle~listener} listener - The callback function that\n * will be invoked when the event occurs.\n * @return {string} - A token to pass to {@link SelectionHandle#off} to cancel\n * this subscription.\n */\n on(eventType, listener) {\n return this._emitter.on(eventType, listener);\n }\n\n /**\n * Cancels event subscriptions created by {@link SelectionHandle#on}.\n *\n * @param {string} eventType - The type of event to unsubscribe.\n * @param {string|SelectionHandle~listener} listener - Either the callback\n * function previously passed into {@link SelectionHandle#on}, or the\n * string that was returned from {@link SelectionHandle#on}.\n */\n off(eventType, listener) {\n return this._emitter.off(eventType, listener);\n }\n\n /**\n * Shuts down the `SelectionHandle` object.\n *\n * Removes all event listeners that were added through this handle.\n */\n close() {\n this._emitter.removeAllListeners();\n this.setGroup(null);\n }\n}\n\n/**\n * @callback SelectionHandle~listener\n * @param {Object} event - An object containing details of the event. For\n * `\"change\"` events, this includes the properties `value` (the new\n * value of the selection, or `undefined` if no selection is active),\n * `oldValue` (the previous value of the selection), and `sender` (the\n * `SelectionHandle` instance that made the change).\n */\n\n/**\n * @event SelectionHandle#change\n * @type {object}\n * @property {object} value - The new value of the selection, or `undefined`\n * if no selection is active.\n * @property {object} oldValue - The previous value of the selection.\n * @property {SelectionHandle} sender - The `SelectionHandle` instance that\n * changed the value.\n */\n","export function extend(target, ...sources) {\n for (let i = 0; i < sources.length; i++) {\n let src = sources[i];\n if (typeof(src) === \"undefined\" || src === null)\n continue;\n\n for (let key in src) {\n if (src.hasOwnProperty(key)) {\n target[key] = src[key];\n }\n }\n }\n return target;\n}\n\nexport function checkSorted(list) {\n for (let i = 1; i < list.length; i++) {\n if (list[i] <= list[i-1]) {\n throw new Error(\"List is not sorted or contains duplicate\");\n }\n }\n}\n\nexport function diffSortedLists(a, b) {\n let i_a = 0;\n let i_b = 0;\n\n if (!a) a = [];\n if (!b) b = [];\n\n let a_only = [];\n let b_only = [];\n\n checkSorted(a);\n checkSorted(b);\n\n while (i_a < a.length && i_b < b.length) {\n if (a[i_a] === b[i_b]) {\n i_a++;\n i_b++;\n } else if (a[i_a] < b[i_b]) {\n a_only.push(a[i_a++]);\n } else {\n b_only.push(b[i_b++]);\n }\n }\n\n if (i_a < a.length)\n a_only = a_only.concat(a.slice(i_a));\n if (i_b < b.length)\n b_only = b_only.concat(b.slice(i_b));\n return {\n removed: a_only,\n added: b_only\n };\n}\n\n// Convert from wide: { colA: [1,2,3], colB: [4,5,6], ... }\n// to long: [ {colA: 1, colB: 4}, {colA: 2, colB: 5}, ... ]\nexport function dataframeToD3(df) {\n let names = [];\n let length;\n for (let name in df) {\n if (df.hasOwnProperty(name))\n names.push(name);\n if (typeof(df[name]) !== \"object\" || typeof(df[name].length) === \"undefined\") {\n throw new Error(\"All fields must be arrays\");\n } else if (typeof(length) !== \"undefined\" && length !== df[name].length) {\n throw new Error(\"All fields must be arrays of the same length\");\n }\n length = df[name].length;\n }\n let results = [];\n let item;\n for (let row = 0; row < length; row++) {\n item = {};\n for (let col = 0; col < names.length; col++) {\n item[names[col]] = df[names[col]][row];\n }\n results.push(item);\n }\n return results;\n}\n\n/**\n * Keeps track of all event listener additions/removals and lets all active\n * listeners be removed with a single operation.\n *\n * @private\n */\nexport class SubscriptionTracker {\n constructor(emitter) {\n this._emitter = emitter;\n this._subs = {};\n }\n\n on(eventType, listener) {\n let sub = this._emitter.on(eventType, listener);\n this._subs[sub] = eventType;\n return sub;\n }\n\n off(eventType, listener) {\n let sub = this._emitter.off(eventType, listener);\n if (sub) {\n delete this._subs[sub];\n }\n return sub;\n }\n\n removeAllListeners() {\n let current_subs = this._subs;\n this._subs = {};\n Object.keys(current_subs).forEach((sub) => {\n this._emitter.off(current_subs[sub], sub);\n });\n }\n}\n","import Events from \"./events\";\n\nexport default class Var {\n constructor(group, name, /*optional*/ value) {\n this._group = group;\n this._name = name;\n this._value = value;\n this._events = new Events();\n }\n\n get() {\n return this._value;\n }\n\n set(value, /*optional*/ event) {\n if (this._value === value) {\n // Do nothing; the value hasn't changed\n return;\n }\n let oldValue = this._value;\n this._value = value;\n // Alert JavaScript listeners that the value has changed\n let evt = {};\n if (event && typeof(event) === \"object\") {\n for (let k in event) {\n if (event.hasOwnProperty(k))\n evt[k] = event[k];\n }\n }\n evt.oldValue = oldValue;\n evt.value = value;\n this._events.trigger(\"change\", evt, this);\n\n // TODO: Make this extensible, to let arbitrary back-ends know that\n // something has changed\n if (global.Shiny && global.Shiny.onInputChange) {\n global.Shiny.onInputChange(\n \".clientValue-\" +\n (this._group.name !== null ? this._group.name + \"-\" : \"\") +\n this._name,\n typeof(value) === \"undefined\" ? null : value\n );\n }\n }\n\n on(eventType, listener) {\n return this._events.on(eventType, listener);\n }\n\n off(eventType, listener) {\n return this._events.off(eventType, listener);\n }\n}\n"]} \ No newline at end of file diff --git a/vignettes/images/Vis_3D_files/crosstalk-1.2.0/scss/crosstalk.scss b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/scss/crosstalk.scss new file mode 100644 index 0000000..3566561 --- /dev/null +++ b/vignettes/images/Vis_3D_files/crosstalk-1.2.0/scss/crosstalk.scss @@ -0,0 +1,75 @@ +/* Adjust margins outwards, so column contents line up with the edges of the + parent of container-fluid. */ +.container-fluid.crosstalk-bscols { + margin-left: -30px; + margin-right: -30px; + white-space: normal; +} + +/* But don't adjust the margins outwards if we're directly under the body, + i.e. we were the top-level of something at the console. */ +body > .container-fluid.crosstalk-bscols { + margin-left: auto; + margin-right: auto; +} + +.crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column { + display: inline-block; + padding-right: 12px; + vertical-align: top; +} + +@media only screen and (max-width:480px) { + .crosstalk-input-checkboxgroup .crosstalk-options-group .crosstalk-options-column { + display: block; + padding-right: inherit; + } +} + +/* Relevant BS3 styles to make filter_checkbox() look reasonable without Bootstrap */ +.crosstalk-input { + margin-bottom: 15px; /* a la .form-group */ + .control-label { + margin-bottom: 0; + vertical-align: middle; + } + input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px; + line-height: normal; + } + .checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; + } + .checkbox > label{ + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + cursor: pointer; + } + .checkbox input[type="checkbox"], + .checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 2px; + margin-left: -20px; + } + .checkbox + .checkbox { + margin-top: -5px; + } + .checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + vertical-align: middle; + cursor: pointer; + } + .checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; + } +} diff --git a/vignettes/images/Vis_3D_files/htmlwidgets-1.5.4/htmlwidgets.js b/vignettes/images/Vis_3D_files/htmlwidgets-1.5.4/htmlwidgets.js new file mode 100644 index 0000000..da8b236 --- /dev/null +++ b/vignettes/images/Vis_3D_files/htmlwidgets-1.5.4/htmlwidgets.js @@ -0,0 +1,903 @@ +(function() { + // If window.HTMLWidgets is already defined, then use it; otherwise create a + // new object. This allows preceding code to set options that affect the + // initialization process (though none currently exist). + window.HTMLWidgets = window.HTMLWidgets || {}; + + // See if we're running in a viewer pane. If not, we're in a web browser. + var viewerMode = window.HTMLWidgets.viewerMode = + /\bviewer_pane=1\b/.test(window.location); + + // See if we're running in Shiny mode. If not, it's a static document. + // Note that static widgets can appear in both Shiny and static modes, but + // obviously, Shiny widgets can only appear in Shiny apps/documents. + var shinyMode = window.HTMLWidgets.shinyMode = + typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings; + + // We can't count on jQuery being available, so we implement our own + // version if necessary. + function querySelectorAll(scope, selector) { + if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) { + return scope.find(selector); + } + if (scope.querySelectorAll) { + return scope.querySelectorAll(selector); + } + } + + function asArray(value) { + if (value === null) + return []; + if ($.isArray(value)) + return value; + return [value]; + } + + // Implement jQuery's extend + function extend(target /*, ... */) { + if (arguments.length == 1) { + return target; + } + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var prop in source) { + if (source.hasOwnProperty(prop)) { + target[prop] = source[prop]; + } + } + } + return target; + } + + // IE8 doesn't support Array.forEach. + function forEach(values, callback, thisArg) { + if (values.forEach) { + values.forEach(callback, thisArg); + } else { + for (var i = 0; i < values.length; i++) { + callback.call(thisArg, values[i], i, values); + } + } + } + + // Replaces the specified method with the return value of funcSource. + // + // Note that funcSource should not BE the new method, it should be a function + // that RETURNS the new method. funcSource receives a single argument that is + // the overridden method, it can be called from the new method. The overridden + // method can be called like a regular function, it has the target permanently + // bound to it so "this" will work correctly. + function overrideMethod(target, methodName, funcSource) { + var superFunc = target[methodName] || function() {}; + var superFuncBound = function() { + return superFunc.apply(target, arguments); + }; + target[methodName] = funcSource(superFuncBound); + } + + // Add a method to delegator that, when invoked, calls + // delegatee.methodName. If there is no such method on + // the delegatee, but there was one on delegator before + // delegateMethod was called, then the original version + // is invoked instead. + // For example: + // + // var a = { + // method1: function() { console.log('a1'); } + // method2: function() { console.log('a2'); } + // }; + // var b = { + // method1: function() { console.log('b1'); } + // }; + // delegateMethod(a, b, "method1"); + // delegateMethod(a, b, "method2"); + // a.method1(); + // a.method2(); + // + // The output would be "b1", "a2". + function delegateMethod(delegator, delegatee, methodName) { + var inherited = delegator[methodName]; + delegator[methodName] = function() { + var target = delegatee; + var method = delegatee[methodName]; + + // The method doesn't exist on the delegatee. Instead, + // call the method on the delegator, if it exists. + if (!method) { + target = delegator; + method = inherited; + } + + if (method) { + return method.apply(target, arguments); + } + }; + } + + // Implement a vague facsimilie of jQuery's data method + function elementData(el, name, value) { + if (arguments.length == 2) { + return el["htmlwidget_data_" + name]; + } else if (arguments.length == 3) { + el["htmlwidget_data_" + name] = value; + return el; + } else { + throw new Error("Wrong number of arguments for elementData: " + + arguments.length); + } + } + + // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex + function escapeRegExp(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + + function hasClass(el, className) { + var re = new RegExp("\\b" + escapeRegExp(className) + "\\b"); + return re.test(el.className); + } + + // elements - array (or array-like object) of HTML elements + // className - class name to test for + // include - if true, only return elements with given className; + // if false, only return elements *without* given className + function filterByClass(elements, className, include) { + var results = []; + for (var i = 0; i < elements.length; i++) { + if (hasClass(elements[i], className) == include) + results.push(elements[i]); + } + return results; + } + + function on(obj, eventName, func) { + if (obj.addEventListener) { + obj.addEventListener(eventName, func, false); + } else if (obj.attachEvent) { + obj.attachEvent(eventName, func); + } + } + + function off(obj, eventName, func) { + if (obj.removeEventListener) + obj.removeEventListener(eventName, func, false); + else if (obj.detachEvent) { + obj.detachEvent(eventName, func); + } + } + + // Translate array of values to top/right/bottom/left, as usual with + // the "padding" CSS property + // https://developer.mozilla.org/en-US/docs/Web/CSS/padding + function unpackPadding(value) { + if (typeof(value) === "number") + value = [value]; + if (value.length === 1) { + return {top: value[0], right: value[0], bottom: value[0], left: value[0]}; + } + if (value.length === 2) { + return {top: value[0], right: value[1], bottom: value[0], left: value[1]}; + } + if (value.length === 3) { + return {top: value[0], right: value[1], bottom: value[2], left: value[1]}; + } + if (value.length === 4) { + return {top: value[0], right: value[1], bottom: value[2], left: value[3]}; + } + } + + // Convert an unpacked padding object to a CSS value + function paddingToCss(paddingObj) { + return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px"; + } + + // Makes a number suitable for CSS + function px(x) { + if (typeof(x) === "number") + return x + "px"; + else + return x; + } + + // Retrieves runtime widget sizing information for an element. + // The return value is either null, or an object with fill, padding, + // defaultWidth, defaultHeight fields. + function sizingPolicy(el) { + var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']"); + if (!sizingEl) + return null; + var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}"); + if (viewerMode) { + return sp.viewer; + } else { + return sp.browser; + } + } + + // @param tasks Array of strings (or falsy value, in which case no-op). + // Each element must be a valid JavaScript expression that yields a + // function. Or, can be an array of objects with "code" and "data" + // properties; in this case, the "code" property should be a string + // of JS that's an expr that yields a function, and "data" should be + // an object that will be added as an additional argument when that + // function is called. + // @param target The object that will be "this" for each function + // execution. + // @param args Array of arguments to be passed to the functions. (The + // same arguments will be passed to all functions.) + function evalAndRun(tasks, target, args) { + if (tasks) { + forEach(tasks, function(task) { + var theseArgs = args; + if (typeof(task) === "object") { + theseArgs = theseArgs.concat([task.data]); + task = task.code; + } + var taskFunc = tryEval(task); + if (typeof(taskFunc) !== "function") { + throw new Error("Task must be a function! Source:\n" + task); + } + taskFunc.apply(target, theseArgs); + }); + } + } + + // Attempt eval() both with and without enclosing in parentheses. + // Note that enclosing coerces a function declaration into + // an expression that eval() can parse + // (otherwise, a SyntaxError is thrown) + function tryEval(code) { + var result = null; + try { + result = eval("(" + code + ")"); + } catch(error) { + if (!(error instanceof SyntaxError)) { + throw error; + } + try { + result = eval(code); + } catch(e) { + if (e instanceof SyntaxError) { + throw error; + } else { + throw e; + } + } + } + return result; + } + + function initSizing(el) { + var sizing = sizingPolicy(el); + if (!sizing) + return; + + var cel = document.getElementById("htmlwidget_container"); + if (!cel) + return; + + if (typeof(sizing.padding) !== "undefined") { + document.body.style.margin = "0"; + document.body.style.padding = paddingToCss(unpackPadding(sizing.padding)); + } + + if (sizing.fill) { + document.body.style.overflow = "hidden"; + document.body.style.width = "100%"; + document.body.style.height = "100%"; + document.documentElement.style.width = "100%"; + document.documentElement.style.height = "100%"; + if (cel) { + cel.style.position = "absolute"; + var pad = unpackPadding(sizing.padding); + cel.style.top = pad.top + "px"; + cel.style.right = pad.right + "px"; + cel.style.bottom = pad.bottom + "px"; + cel.style.left = pad.left + "px"; + el.style.width = "100%"; + el.style.height = "100%"; + } + + return { + getWidth: function() { return cel.offsetWidth; }, + getHeight: function() { return cel.offsetHeight; } + }; + + } else { + el.style.width = px(sizing.width); + el.style.height = px(sizing.height); + + return { + getWidth: function() { return el.offsetWidth; }, + getHeight: function() { return el.offsetHeight; } + }; + } + } + + // Default implementations for methods + var defaults = { + find: function(scope) { + return querySelectorAll(scope, "." + this.name); + }, + renderError: function(el, err) { + var $el = $(el); + + this.clearError(el); + + // Add all these error classes, as Shiny does + var errClass = "shiny-output-error"; + if (err.type !== null) { + // use the classes of the error condition as CSS class names + errClass = errClass + " " + $.map(asArray(err.type), function(type) { + return errClass + "-" + type; + }).join(" "); + } + errClass = errClass + " htmlwidgets-error"; + + // Is el inline or block? If inline or inline-block, just display:none it + // and add an inline error. + var display = $el.css("display"); + $el.data("restore-display-mode", display); + + if (display === "inline" || display === "inline-block") { + $el.hide(); + if (err.message !== "") { + var errorSpan = $("").addClass(errClass); + errorSpan.text(err.message); + $el.after(errorSpan); + } + } else if (display === "block") { + // If block, add an error just after the el, set visibility:none on the + // el, and position the error to be on top of the el. + // Mark it with a unique ID and CSS class so we can remove it later. + $el.css("visibility", "hidden"); + if (err.message !== "") { + var errorDiv = $("
").addClass(errClass).css("position", "absolute") + .css("top", el.offsetTop) + .css("left", el.offsetLeft) + // setting width can push out the page size, forcing otherwise + // unnecessary scrollbars to appear and making it impossible for + // the element to shrink; so use max-width instead + .css("maxWidth", el.offsetWidth) + .css("height", el.offsetHeight); + errorDiv.text(err.message); + $el.after(errorDiv); + + // Really dumb way to keep the size/position of the error in sync with + // the parent element as the window is resized or whatever. + var intId = setInterval(function() { + if (!errorDiv[0].parentElement) { + clearInterval(intId); + return; + } + errorDiv + .css("top", el.offsetTop) + .css("left", el.offsetLeft) + .css("maxWidth", el.offsetWidth) + .css("height", el.offsetHeight); + }, 500); + } + } + }, + clearError: function(el) { + var $el = $(el); + var display = $el.data("restore-display-mode"); + $el.data("restore-display-mode", null); + + if (display === "inline" || display === "inline-block") { + if (display) + $el.css("display", display); + $(el.nextSibling).filter(".htmlwidgets-error").remove(); + } else if (display === "block"){ + $el.css("visibility", "inherit"); + $(el.nextSibling).filter(".htmlwidgets-error").remove(); + } + }, + sizing: {} + }; + + // Called by widget bindings to register a new type of widget. The definition + // object can contain the following properties: + // - name (required) - A string indicating the binding name, which will be + // used by default as the CSS classname to look for. + // - initialize (optional) - A function(el) that will be called once per + // widget element; if a value is returned, it will be passed as the third + // value to renderValue. + // - renderValue (required) - A function(el, data, initValue) that will be + // called with data. Static contexts will cause this to be called once per + // element; Shiny apps will cause this to be called multiple times per + // element, as the data changes. + window.HTMLWidgets.widget = function(definition) { + if (!definition.name) { + throw new Error("Widget must have a name"); + } + if (!definition.type) { + throw new Error("Widget must have a type"); + } + // Currently we only support output widgets + if (definition.type !== "output") { + throw new Error("Unrecognized widget type '" + definition.type + "'"); + } + // TODO: Verify that .name is a valid CSS classname + + // Support new-style instance-bound definitions. Old-style class-bound + // definitions have one widget "object" per widget per type/class of + // widget; the renderValue and resize methods on such widget objects + // take el and instance arguments, because the widget object can't + // store them. New-style instance-bound definitions have one widget + // object per widget instance; the definition that's passed in doesn't + // provide renderValue or resize methods at all, just the single method + // factory(el, width, height) + // which returns an object that has renderValue(x) and resize(w, h). + // This enables a far more natural programming style for the widget + // author, who can store per-instance state using either OO-style + // instance fields or functional-style closure variables (I guess this + // is in contrast to what can only be called C-style pseudo-OO which is + // what we required before). + if (definition.factory) { + definition = createLegacyDefinitionAdapter(definition); + } + + if (!definition.renderValue) { + throw new Error("Widget must have a renderValue function"); + } + + // For static rendering (non-Shiny), use a simple widget registration + // scheme. We also use this scheme for Shiny apps/documents that also + // contain static widgets. + window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || []; + // Merge defaults into the definition; don't mutate the original definition. + var staticBinding = extend({}, defaults, definition); + overrideMethod(staticBinding, "find", function(superfunc) { + return function(scope) { + var results = superfunc(scope); + // Filter out Shiny outputs, we only want the static kind + return filterByClass(results, "html-widget-output", false); + }; + }); + window.HTMLWidgets.widgets.push(staticBinding); + + if (shinyMode) { + // Shiny is running. Register the definition with an output binding. + // The definition itself will not be the output binding, instead + // we will make an output binding object that delegates to the + // definition. This is because we foolishly used the same method + // name (renderValue) for htmlwidgets definition and Shiny bindings + // but they actually have quite different semantics (the Shiny + // bindings receive data that includes lots of metadata that it + // strips off before calling htmlwidgets renderValue). We can't + // just ignore the difference because in some widgets it's helpful + // to call this.renderValue() from inside of resize(), and if + // we're not delegating, then that call will go to the Shiny + // version instead of the htmlwidgets version. + + // Merge defaults with definition, without mutating either. + var bindingDef = extend({}, defaults, definition); + + // This object will be our actual Shiny binding. + var shinyBinding = new Shiny.OutputBinding(); + + // With a few exceptions, we'll want to simply use the bindingDef's + // version of methods if they are available, otherwise fall back to + // Shiny's defaults. NOTE: If Shiny's output bindings gain additional + // methods in the future, and we want them to be overrideable by + // HTMLWidget binding definitions, then we'll need to add them to this + // list. + delegateMethod(shinyBinding, bindingDef, "getId"); + delegateMethod(shinyBinding, bindingDef, "onValueChange"); + delegateMethod(shinyBinding, bindingDef, "onValueError"); + delegateMethod(shinyBinding, bindingDef, "renderError"); + delegateMethod(shinyBinding, bindingDef, "clearError"); + delegateMethod(shinyBinding, bindingDef, "showProgress"); + + // The find, renderValue, and resize are handled differently, because we + // want to actually decorate the behavior of the bindingDef methods. + + shinyBinding.find = function(scope) { + var results = bindingDef.find(scope); + + // Only return elements that are Shiny outputs, not static ones + var dynamicResults = results.filter(".html-widget-output"); + + // It's possible that whatever caused Shiny to think there might be + // new dynamic outputs, also caused there to be new static outputs. + // Since there might be lots of different htmlwidgets bindings, we + // schedule execution for later--no need to staticRender multiple + // times. + if (results.length !== dynamicResults.length) + scheduleStaticRender(); + + return dynamicResults; + }; + + // Wrap renderValue to handle initialization, which unfortunately isn't + // supported natively by Shiny at the time of this writing. + + shinyBinding.renderValue = function(el, data) { + Shiny.renderDependencies(data.deps); + // Resolve strings marked as javascript literals to objects + if (!(data.evals instanceof Array)) data.evals = [data.evals]; + for (var i = 0; data.evals && i < data.evals.length; i++) { + window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]); + } + if (!bindingDef.renderOnNullValue) { + if (data.x === null) { + el.style.visibility = "hidden"; + return; + } else { + el.style.visibility = "inherit"; + } + } + if (!elementData(el, "initialized")) { + initSizing(el); + + elementData(el, "initialized", true); + if (bindingDef.initialize) { + var result = bindingDef.initialize(el, el.offsetWidth, + el.offsetHeight); + elementData(el, "init_result", result); + } + } + bindingDef.renderValue(el, data.x, elementData(el, "init_result")); + evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]); + }; + + // Only override resize if bindingDef implements it + if (bindingDef.resize) { + shinyBinding.resize = function(el, width, height) { + // Shiny can call resize before initialize/renderValue have been + // called, which doesn't make sense for widgets. + if (elementData(el, "initialized")) { + bindingDef.resize(el, width, height, elementData(el, "init_result")); + } + }; + } + + Shiny.outputBindings.register(shinyBinding, bindingDef.name); + } + }; + + var scheduleStaticRenderTimerId = null; + function scheduleStaticRender() { + if (!scheduleStaticRenderTimerId) { + scheduleStaticRenderTimerId = setTimeout(function() { + scheduleStaticRenderTimerId = null; + window.HTMLWidgets.staticRender(); + }, 1); + } + } + + // Render static widgets after the document finishes loading + // Statically render all elements that are of this widget's class + window.HTMLWidgets.staticRender = function() { + var bindings = window.HTMLWidgets.widgets || []; + forEach(bindings, function(binding) { + var matches = binding.find(document.documentElement); + forEach(matches, function(el) { + var sizeObj = initSizing(el, binding); + + if (hasClass(el, "html-widget-static-bound")) + return; + el.className = el.className + " html-widget-static-bound"; + + var initResult; + if (binding.initialize) { + initResult = binding.initialize(el, + sizeObj ? sizeObj.getWidth() : el.offsetWidth, + sizeObj ? sizeObj.getHeight() : el.offsetHeight + ); + elementData(el, "init_result", initResult); + } + + if (binding.resize) { + var lastSize = { + w: sizeObj ? sizeObj.getWidth() : el.offsetWidth, + h: sizeObj ? sizeObj.getHeight() : el.offsetHeight + }; + var resizeHandler = function(e) { + var size = { + w: sizeObj ? sizeObj.getWidth() : el.offsetWidth, + h: sizeObj ? sizeObj.getHeight() : el.offsetHeight + }; + if (size.w === 0 && size.h === 0) + return; + if (size.w === lastSize.w && size.h === lastSize.h) + return; + lastSize = size; + binding.resize(el, size.w, size.h, initResult); + }; + + on(window, "resize", resizeHandler); + + // This is needed for cases where we're running in a Shiny + // app, but the widget itself is not a Shiny output, but + // rather a simple static widget. One example of this is + // an rmarkdown document that has runtime:shiny and widget + // that isn't in a render function. Shiny only knows to + // call resize handlers for Shiny outputs, not for static + // widgets, so we do it ourselves. + if (window.jQuery) { + window.jQuery(document).on( + "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets", + resizeHandler + ); + window.jQuery(document).on( + "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets", + resizeHandler + ); + } + + // This is needed for the specific case of ioslides, which + // flips slides between display:none and display:block. + // Ideally we would not have to have ioslide-specific code + // here, but rather have ioslides raise a generic event, + // but the rmarkdown package just went to CRAN so the + // window to getting that fixed may be long. + if (window.addEventListener) { + // It's OK to limit this to window.addEventListener + // browsers because ioslides itself only supports + // such browsers. + on(document, "slideenter", resizeHandler); + on(document, "slideleave", resizeHandler); + } + } + + var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']"); + if (scriptData) { + var data = JSON.parse(scriptData.textContent || scriptData.text); + // Resolve strings marked as javascript literals to objects + if (!(data.evals instanceof Array)) data.evals = [data.evals]; + for (var k = 0; data.evals && k < data.evals.length; k++) { + window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]); + } + binding.renderValue(el, data.x, initResult); + evalAndRun(data.jsHooks.render, initResult, [el, data.x]); + } + }); + }); + + invokePostRenderHandlers(); + } + + + function has_jQuery3() { + if (!window.jQuery) { + return false; + } + var $version = window.jQuery.fn.jquery; + var $major_version = parseInt($version.split(".")[0]); + return $major_version >= 3; + } + + /* + / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's + / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now + / really means $(setTimeout(fn)). + / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous + / + / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny + / one tick later than it did before, which means staticRender() is + / called renderValue() earlier than (advanced) widget authors might be expecting. + / https://github.com/rstudio/shiny/issues/2630 + / + / For a concrete example, leaflet has some methods (e.g., updateBounds) + / which reference Shiny methods registered in initShiny (e.g., setInputValue). + / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to + / delay execution of those methods (until Shiny methods are ready) + / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268 + / + / Ideally widget authors wouldn't need to use this setTimeout() hack that + / leaflet uses to call Shiny methods on a staticRender(). In the long run, + / the logic initShiny should be broken up so that method registration happens + / right away, but binding happens later. + */ + function maybeStaticRenderLater() { + if (shinyMode && has_jQuery3()) { + window.jQuery(window.HTMLWidgets.staticRender); + } else { + window.HTMLWidgets.staticRender(); + } + } + + if (document.addEventListener) { + document.addEventListener("DOMContentLoaded", function() { + document.removeEventListener("DOMContentLoaded", arguments.callee, false); + maybeStaticRenderLater(); + }, false); + } else if (document.attachEvent) { + document.attachEvent("onreadystatechange", function() { + if (document.readyState === "complete") { + document.detachEvent("onreadystatechange", arguments.callee); + maybeStaticRenderLater(); + } + }); + } + + + window.HTMLWidgets.getAttachmentUrl = function(depname, key) { + // If no key, default to the first item + if (typeof(key) === "undefined") + key = 1; + + var link = document.getElementById(depname + "-" + key + "-attachment"); + if (!link) { + throw new Error("Attachment " + depname + "/" + key + " not found in document"); + } + return link.getAttribute("href"); + }; + + window.HTMLWidgets.dataframeToD3 = function(df) { + var names = []; + var length; + for (var name in df) { + if (df.hasOwnProperty(name)) + names.push(name); + if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") { + throw new Error("All fields must be arrays"); + } else if (typeof(length) !== "undefined" && length !== df[name].length) { + throw new Error("All fields must be arrays of the same length"); + } + length = df[name].length; + } + var results = []; + var item; + for (var row = 0; row < length; row++) { + item = {}; + for (var col = 0; col < names.length; col++) { + item[names[col]] = df[names[col]][row]; + } + results.push(item); + } + return results; + }; + + window.HTMLWidgets.transposeArray2D = function(array) { + if (array.length === 0) return array; + var newArray = array[0].map(function(col, i) { + return array.map(function(row) { + return row[i] + }) + }); + return newArray; + }; + // Split value at splitChar, but allow splitChar to be escaped + // using escapeChar. Any other characters escaped by escapeChar + // will be included as usual (including escapeChar itself). + function splitWithEscape(value, splitChar, escapeChar) { + var results = []; + var escapeMode = false; + var currentResult = ""; + for (var pos = 0; pos < value.length; pos++) { + if (!escapeMode) { + if (value[pos] === splitChar) { + results.push(currentResult); + currentResult = ""; + } else if (value[pos] === escapeChar) { + escapeMode = true; + } else { + currentResult += value[pos]; + } + } else { + currentResult += value[pos]; + escapeMode = false; + } + } + if (currentResult !== "") { + results.push(currentResult); + } + return results; + } + // Function authored by Yihui/JJ Allaire + window.HTMLWidgets.evaluateStringMember = function(o, member) { + var parts = splitWithEscape(member, '.', '\\'); + for (var i = 0, l = parts.length; i < l; i++) { + var part = parts[i]; + // part may be a character or 'numeric' member name + if (o !== null && typeof o === "object" && part in o) { + if (i == (l - 1)) { // if we are at the end of the line then evalulate + if (typeof o[part] === "string") + o[part] = tryEval(o[part]); + } else { // otherwise continue to next embedded object + o = o[part]; + } + } + } + }; + + // Retrieve the HTMLWidget instance (i.e. the return value of an + // HTMLWidget binding's initialize() or factory() function) + // associated with an element, or null if none. + window.HTMLWidgets.getInstance = function(el) { + return elementData(el, "init_result"); + }; + + // Finds the first element in the scope that matches the selector, + // and returns the HTMLWidget instance (i.e. the return value of + // an HTMLWidget binding's initialize() or factory() function) + // associated with that element, if any. If no element matches the + // selector, or the first matching element has no HTMLWidget + // instance associated with it, then null is returned. + // + // The scope argument is optional, and defaults to window.document. + window.HTMLWidgets.find = function(scope, selector) { + if (arguments.length == 1) { + selector = scope; + scope = document; + } + + var el = scope.querySelector(selector); + if (el === null) { + return null; + } else { + return window.HTMLWidgets.getInstance(el); + } + }; + + // Finds all elements in the scope that match the selector, and + // returns the HTMLWidget instances (i.e. the return values of + // an HTMLWidget binding's initialize() or factory() function) + // associated with the elements, in an array. If elements that + // match the selector don't have an associated HTMLWidget + // instance, the returned array will contain nulls. + // + // The scope argument is optional, and defaults to window.document. + window.HTMLWidgets.findAll = function(scope, selector) { + if (arguments.length == 1) { + selector = scope; + scope = document; + } + + var nodes = scope.querySelectorAll(selector); + var results = []; + for (var i = 0; i < nodes.length; i++) { + results.push(window.HTMLWidgets.getInstance(nodes[i])); + } + return results; + }; + + var postRenderHandlers = []; + function invokePostRenderHandlers() { + while (postRenderHandlers.length) { + var handler = postRenderHandlers.shift(); + if (handler) { + handler(); + } + } + } + + // Register the given callback function to be invoked after the + // next time static widgets are rendered. + window.HTMLWidgets.addPostRenderHandler = function(callback) { + postRenderHandlers.push(callback); + }; + + // Takes a new-style instance-bound definition, and returns an + // old-style class-bound definition. This saves us from having + // to rewrite all the logic in this file to accomodate both + // types of definitions. + function createLegacyDefinitionAdapter(defn) { + var result = { + name: defn.name, + type: defn.type, + initialize: function(el, width, height) { + return defn.factory(el, width, height); + }, + renderValue: function(el, x, instance) { + return instance.renderValue(x); + }, + resize: function(el, width, height, instance) { + return instance.resize(width, height); + } + }; + + if (defn.find) + result.find = defn.find; + if (defn.renderError) + result.renderError = defn.renderError; + if (defn.clearError) + result.clearError = defn.clearError; + + return result; + } +})(); + diff --git a/vignettes/images/Vis_3D_files/plotly-binding-4.10.1.9000/plotly.js b/vignettes/images/Vis_3D_files/plotly-binding-4.10.1.9000/plotly.js new file mode 100644 index 0000000..7a2a143 --- /dev/null +++ b/vignettes/images/Vis_3D_files/plotly-binding-4.10.1.9000/plotly.js @@ -0,0 +1,941 @@ + +HTMLWidgets.widget({ + name: "plotly", + type: "output", + + initialize: function(el, width, height) { + return {}; + }, + + resize: function(el, width, height, instance) { + if (instance.autosize) { + var width = instance.width || width; + var height = instance.height || height; + Plotly.relayout(el.id, {width: width, height: height}); + } + }, + + renderValue: function(el, x, instance) { + + // Plotly.relayout() mutates the plot input object, so make sure to + // keep a reference to the user-supplied width/height *before* + // we call Plotly.plot(); + var lay = x.layout || {}; + instance.width = lay.width; + instance.height = lay.height; + instance.autosize = lay.autosize || true; + + /* + / 'inform the world' about highlighting options this is so other + / crosstalk libraries have a chance to respond to special settings + / such as persistent selection. + / AFAIK, leaflet is the only library with such intergration + / https://github.com/rstudio/leaflet/pull/346/files#diff-ad0c2d51ce5fdf8c90c7395b102f4265R154 + */ + var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set(x.highlight); + + if (typeof(window) !== "undefined") { + // make sure plots don't get created outside the network (for on-prem) + window.PLOTLYENV = window.PLOTLYENV || {}; + window.PLOTLYENV.BASE_URL = x.base_url; + + // Enable persistent selection when shift key is down + // https://stackoverflow.com/questions/1828613/check-if-a-key-is-down + var persistOnShift = function(e) { + if (!e) window.event; + if (e.shiftKey) { + x.highlight.persistent = true; + x.highlight.persistentShift = true; + } else { + x.highlight.persistent = false; + x.highlight.persistentShift = false; + } + }; + + // Only relevant if we haven't forced persistent mode at command line + if (!x.highlight.persistent) { + window.onmousemove = persistOnShift; + } + } + + var graphDiv = document.getElementById(el.id); + + // TODO: move the control panel injection strategy inside here... + HTMLWidgets.addPostRenderHandler(function() { + + // lower the z-index of the modebar to prevent it from highjacking hover + // (TODO: do this via CSS?) + // https://github.com/ropensci/plotly/issues/956 + // https://www.w3schools.com/jsref/prop_style_zindex.asp + var modebars = document.querySelectorAll(".js-plotly-plot .plotly .modebar"); + for (var i = 0; i < modebars.length; i++) { + modebars[i].style.zIndex = 1; + } + }); + + // inject a "control panel" holding selectize/dynamic color widget(s) + if ((x.selectize || x.highlight.dynamic) && !instance.plotly) { + var flex = document.createElement("div"); + flex.class = "plotly-crosstalk-control-panel"; + flex.style = "display: flex; flex-wrap: wrap"; + + // inject the colourpicker HTML container into the flexbox + if (x.highlight.dynamic) { + var pickerDiv = document.createElement("div"); + + var pickerInput = document.createElement("input"); + pickerInput.id = el.id + "-colourpicker"; + pickerInput.placeholder = "asdasd"; + + var pickerLabel = document.createElement("label"); + pickerLabel.for = pickerInput.id; + pickerLabel.innerHTML = "Brush color  "; + + pickerDiv.appendChild(pickerLabel); + pickerDiv.appendChild(pickerInput); + flex.appendChild(pickerDiv); + } + + // inject selectize HTML containers (one for every crosstalk group) + if (x.selectize) { + var ids = Object.keys(x.selectize); + + for (var i = 0; i < ids.length; i++) { + var container = document.createElement("div"); + container.id = ids[i]; + container.style = "width: 80%; height: 10%"; + container.class = "form-group crosstalk-input-plotly-highlight"; + + var label = document.createElement("label"); + label.for = ids[i]; + label.innerHTML = x.selectize[ids[i]].group; + label.class = "control-label"; + + var selectDiv = document.createElement("div"); + var select = document.createElement("select"); + select.multiple = true; + + selectDiv.appendChild(select); + container.appendChild(label); + container.appendChild(selectDiv); + flex.appendChild(container); + } + } + + // finally, insert the flexbox inside the htmlwidget container, + // but before the plotly graph div + graphDiv.parentElement.insertBefore(flex, graphDiv); + + if (x.highlight.dynamic) { + var picker = $("#" + pickerInput.id); + var colors = x.highlight.color || []; + // TODO: let users specify options? + var opts = { + value: colors[0], + showColour: "both", + palette: "limited", + allowedCols: colors.join(" "), + width: "20%", + height: "10%" + }; + picker.colourpicker({changeDelay: 0}); + picker.colourpicker("settings", opts); + picker.colourpicker("value", opts.value); + // inform crosstalk about a change in the current selection colour + var grps = x.highlight.ctGroups || []; + for (var i = 0; i < grps.length; i++) { + crosstalk.group(grps[i]).var('plotlySelectionColour') + .set(picker.colourpicker('value')); + } + picker.on("change", function() { + for (var i = 0; i < grps.length; i++) { + crosstalk.group(grps[i]).var('plotlySelectionColour') + .set(picker.colourpicker('value')); + } + }); + } + } + + // if no plot exists yet, create one with a particular configuration + if (!instance.plotly) { + + var plot = Plotly.newPlot(graphDiv, x); + instance.plotly = true; + + } else if (x.layout.transition) { + + var plot = Plotly.react(graphDiv, x); + + } else { + + // this is essentially equivalent to Plotly.newPlot(), but avoids creating + // a new webgl context + // https://github.com/plotly/plotly.js/blob/2b24f9def901831e61282076cf3f835598d56f0e/src/plot_api/plot_api.js#L531-L532 + + // TODO: restore crosstalk selections? + Plotly.purge(graphDiv); + // TODO: why is this necessary to get crosstalk working? + graphDiv.data = undefined; + graphDiv.layout = undefined; + var plot = Plotly.newPlot(graphDiv, x); + } + + // Trigger plotly.js calls defined via `plotlyProxy()` + plot.then(function() { + if (HTMLWidgets.shinyMode) { + Shiny.addCustomMessageHandler("plotly-calls", function(msg) { + var gd = document.getElementById(msg.id); + if (!gd) { + throw new Error("Couldn't find plotly graph with id: " + msg.id); + } + // This isn't an official plotly.js method, but it's the only current way to + // change just the configuration of a plot + // https://community.plot.ly/t/update-config-function/9057 + if (msg.method == "reconfig") { + Plotly.react(gd, gd.data, gd.layout, msg.args); + return; + } + if (!Plotly[msg.method]) { + throw new Error("Unknown method " + msg.method); + } + var args = [gd].concat(msg.args); + Plotly[msg.method].apply(null, args); + }); + } + + // plotly's mapbox API doesn't currently support setting bounding boxes + // https://www.mapbox.com/mapbox-gl-js/example/fitbounds/ + // so we do this manually... + // TODO: make sure this triggers on a redraw and relayout as well as on initial draw + var mapboxIDs = graphDiv._fullLayout._subplots.mapbox || []; + for (var i = 0; i < mapboxIDs.length; i++) { + var id = mapboxIDs[i]; + var mapOpts = x.layout[id] || {}; + var args = mapOpts._fitBounds || {}; + if (!args) { + continue; + } + var mapObj = graphDiv._fullLayout[id]._subplot.map; + mapObj.fitBounds(args.bounds, args.options); + } + + }); + + // Attach attributes (e.g., "key", "z") to plotly event data + function eventDataWithKey(eventData) { + if (eventData === undefined || !eventData.hasOwnProperty("points")) { + return null; + } + return eventData.points.map(function(pt) { + var obj = { + curveNumber: pt.curveNumber, + pointNumber: pt.pointNumber, + x: pt.x, + y: pt.y + }; + + // If 'z' is reported with the event data, then use it! + if (pt.hasOwnProperty("z")) { + obj.z = pt.z; + } + + if (pt.hasOwnProperty("customdata")) { + obj.customdata = pt.customdata; + } + + /* + TL;DR: (I think) we have to select the graph div (again) to attach keys... + + Why? Remember that crosstalk will dynamically add/delete traces + (see traceManager.prototype.updateSelection() below) + For this reason, we can't simply grab keys from x.data (like we did previously) + Moreover, we can't use _fullData, since that doesn't include + unofficial attributes. It's true that click/hover events fire with + pt.data, but drag events don't... + */ + var gd = document.getElementById(el.id); + var trace = gd.data[pt.curveNumber]; + + if (!trace._isSimpleKey) { + var attrsToAttach = ["key"]; + } else { + // simple keys fire the whole key + obj.key = trace.key; + var attrsToAttach = []; + } + + for (var i = 0; i < attrsToAttach.length; i++) { + var attr = trace[attrsToAttach[i]]; + if (Array.isArray(attr)) { + if (typeof pt.pointNumber === "number") { + obj[attrsToAttach[i]] = attr[pt.pointNumber]; + } else if (Array.isArray(pt.pointNumber)) { + obj[attrsToAttach[i]] = attr[pt.pointNumber[0]][pt.pointNumber[1]]; + } else if (Array.isArray(pt.pointNumbers)) { + obj[attrsToAttach[i]] = pt.pointNumbers.map(function(idx) { return attr[idx]; }); + } + } + } + return obj; + }); + } + + + var legendEventData = function(d) { + // if legendgroup is not relevant just return the trace + var trace = d.data[d.curveNumber]; + if (!trace.legendgroup) return trace; + + // if legendgroup was specified, return all traces that match the group + var legendgrps = d.data.map(function(trace){ return trace.legendgroup; }); + var traces = []; + for (i = 0; i < legendgrps.length; i++) { + if (legendgrps[i] == trace.legendgroup) { + traces.push(d.data[i]); + } + } + + return traces; + }; + + + // send user input event data to shiny + if (HTMLWidgets.shinyMode && Shiny.setInputValue) { + + // Some events clear other input values + // TODO: always register these? + var eventClearMap = { + plotly_deselect: ["plotly_selected", "plotly_selecting", "plotly_brushed", "plotly_brushing", "plotly_click"], + plotly_unhover: ["plotly_hover"], + plotly_doubleclick: ["plotly_click"] + }; + + Object.keys(eventClearMap).map(function(evt) { + graphDiv.on(evt, function() { + var inputsToClear = eventClearMap[evt]; + inputsToClear.map(function(input) { + Shiny.setInputValue(input + "-" + x.source, null, {priority: "event"}); + }); + }); + }); + + var eventDataFunctionMap = { + plotly_click: eventDataWithKey, + plotly_sunburstclick: eventDataWithKey, + plotly_hover: eventDataWithKey, + plotly_unhover: eventDataWithKey, + // If 'plotly_selected' has already been fired, and you click + // on the plot afterwards, this event fires `undefined`?!? + // That might be considered a plotly.js bug, but it doesn't make + // sense for this input change to occur if `d` is falsy because, + // even in the empty selection case, `d` is truthy (an object), + // and the 'plotly_deselect' event will reset this input + plotly_selected: function(d) { if (d) { return eventDataWithKey(d); } }, + plotly_selecting: function(d) { if (d) { return eventDataWithKey(d); } }, + plotly_brushed: function(d) { + if (d) { return d.range ? d.range : d.lassoPoints; } + }, + plotly_brushing: function(d) { + if (d) { return d.range ? d.range : d.lassoPoints; } + }, + plotly_legendclick: legendEventData, + plotly_legenddoubleclick: legendEventData, + plotly_clickannotation: function(d) { return d.fullAnnotation } + }; + + var registerShinyValue = function(event) { + var eventDataPreProcessor = eventDataFunctionMap[event] || function(d) { return d ? d : el.id }; + // some events are unique to the R package + var plotlyJSevent = (event == "plotly_brushed") ? "plotly_selected" : (event == "plotly_brushing") ? "plotly_selecting" : event; + // register the event + graphDiv.on(plotlyJSevent, function(d) { + Shiny.setInputValue( + event + "-" + x.source, + JSON.stringify(eventDataPreProcessor(d)), + {priority: "event"} + ); + }); + } + + var shinyEvents = x.shinyEvents || []; + shinyEvents.map(registerShinyValue); + } + + // Given an array of {curveNumber: x, pointNumber: y} objects, + // return a hash of { + // set1: {value: [key1, key2, ...], _isSimpleKey: false}, + // set2: {value: [key3, key4, ...], _isSimpleKey: false} + // } + function pointsToKeys(points) { + var keysBySet = {}; + for (var i = 0; i < points.length; i++) { + + var trace = graphDiv.data[points[i].curveNumber]; + if (!trace.key || !trace.set) { + continue; + } + + // set defaults for this keySet + // note that we don't track the nested property (yet) since we always + // emit the union -- http://cpsievert.github.io/talks/20161212b/#21 + keysBySet[trace.set] = keysBySet[trace.set] || { + value: [], + _isSimpleKey: trace._isSimpleKey + }; + + // Use pointNumber by default, but aggregated traces should emit pointNumbers + var ptNum = points[i].pointNumber; + var hasPtNum = typeof ptNum === "number"; + var ptNum = hasPtNum ? ptNum : points[i].pointNumbers; + + // selecting a point of a "simple" trace means: select the + // entire key attached to this trace, which is useful for, + // say clicking on a fitted line to select corresponding observations + var key = trace._isSimpleKey ? trace.key : Array.isArray(ptNum) ? ptNum.map(function(idx) { return trace.key[idx]; }) : trace.key[ptNum]; + // http://stackoverflow.com/questions/10865025/merge-flatten-an-array-of-arrays-in-javascript + var keyFlat = trace._isNestedKey ? [].concat.apply([], key) : key; + + // TODO: better to only add new values? + keysBySet[trace.set].value = keysBySet[trace.set].value.concat(keyFlat); + } + + return keysBySet; + } + + + x.highlight.color = x.highlight.color || []; + // make sure highlight color is an array + if (!Array.isArray(x.highlight.color)) { + x.highlight.color = [x.highlight.color]; + } + + var traceManager = new TraceManager(graphDiv, x.highlight); + + // Gather all *unique* sets. + var allSets = []; + for (var curveIdx = 0; curveIdx < x.data.length; curveIdx++) { + var newSet = x.data[curveIdx].set; + if (newSet) { + if (allSets.indexOf(newSet) === -1) { + allSets.push(newSet); + } + } + } + + // register event listeners for all sets + for (var i = 0; i < allSets.length; i++) { + + var set = allSets[i]; + var selection = new crosstalk.SelectionHandle(set); + var filter = new crosstalk.FilterHandle(set); + + var filterChange = function(e) { + removeBrush(el); + traceManager.updateFilter(set, e.value); + }; + filter.on("change", filterChange); + + + var selectionChange = function(e) { + + // Workaround for 'plotly_selected' now firing previously selected + // points (in addition to new ones) when holding shift key. In our case, + // we just want the new keys + if (x.highlight.on === "plotly_selected" && x.highlight.persistentShift) { + // https://stackoverflow.com/questions/1187518/how-to-get-the-difference-between-two-arrays-in-javascript + Array.prototype.diff = function(a) { + return this.filter(function(i) {return a.indexOf(i) < 0;}); + }; + e.value = e.value.diff(e.oldValue); + } + + // array of "event objects" tracking the selection history + // this is used to avoid adding redundant selections + var selectionHistory = crosstalk.var("plotlySelectionHistory").get() || []; + + // Construct an event object "defining" the current event. + var event = { + receiverID: traceManager.gd.id, + plotlySelectionColour: crosstalk.group(set).var("plotlySelectionColour").get() + }; + event[set] = e.value; + // TODO: is there a smarter way to check object equality? + if (selectionHistory.length > 0) { + var ev = JSON.stringify(event); + for (var i = 0; i < selectionHistory.length; i++) { + var sel = JSON.stringify(selectionHistory[i]); + if (sel == ev) { + return; + } + } + } + + // accumulate history for persistent selection + if (!x.highlight.persistent) { + selectionHistory = [event]; + } else { + selectionHistory.push(event); + } + crosstalk.var("plotlySelectionHistory").set(selectionHistory); + + // do the actual updating of traces, frames, and the selectize widget + traceManager.updateSelection(set, e.value); + // https://github.com/selectize/selectize.js/blob/master/docs/api.md#methods_items + if (x.selectize) { + if (!x.highlight.persistent || e.value === null) { + selectize.clear(true); + } + selectize.addItems(e.value, true); + selectize.close(); + } + } + selection.on("change", selectionChange); + + // Set a crosstalk variable selection value, triggering an update + var turnOn = function(e) { + if (e) { + var selectedKeys = pointsToKeys(e.points); + // Keys are group names, values are array of selected keys from group. + for (var set in selectedKeys) { + if (selectedKeys.hasOwnProperty(set)) { + selection.set(selectedKeys[set].value, {sender: el}); + } + } + } + }; + if (x.highlight.debounce > 0) { + turnOn = debounce(turnOn, x.highlight.debounce); + } + graphDiv.on(x.highlight.on, turnOn); + + graphDiv.on(x.highlight.off, function turnOff(e) { + // remove any visual clues + removeBrush(el); + // remove any selection history + crosstalk.var("plotlySelectionHistory").set(null); + // trigger the actual removal of selection traces + selection.set(null, {sender: el}); + }); + + // register a callback for selectize so that there is bi-directional + // communication between the widget and direct manipulation events + if (x.selectize) { + var selectizeID = Object.keys(x.selectize)[i]; + var options = x.selectize[selectizeID]; + var first = [{value: "", label: "(All)"}]; + var opts = $.extend({ + options: first.concat(options.items), + searchField: "label", + valueField: "value", + labelField: "label", + maxItems: 50 + }, + options + ); + var select = $("#" + selectizeID).find("select")[0]; + var selectize = $(select).selectize(opts)[0].selectize; + // NOTE: this callback is triggered when *directly* altering + // dropdown items + selectize.on("change", function() { + var currentItems = traceManager.groupSelections[set] || []; + if (!x.highlight.persistent) { + removeBrush(el); + for (var i = 0; i < currentItems.length; i++) { + selectize.removeItem(currentItems[i], true); + } + } + var newItems = selectize.items.filter(function(idx) { + return currentItems.indexOf(idx) < 0; + }); + if (newItems.length > 0) { + traceManager.updateSelection(set, newItems); + } else { + // Item has been removed... + // TODO: this logic won't work for dynamically changing palette + traceManager.updateSelection(set, null); + traceManager.updateSelection(set, selectize.items); + } + }); + } + } // end of selectionChange + + } // end of renderValue +}); // end of widget definition + +/** + * @param graphDiv The Plotly graph div + * @param highlight An object with options for updating selection(s) + */ +function TraceManager(graphDiv, highlight) { + // The Plotly graph div + this.gd = graphDiv; + + // Preserve the original data. + // TODO: try using Lib.extendFlat() as done in + // https://github.com/plotly/plotly.js/pull/1136 + this.origData = JSON.parse(JSON.stringify(graphDiv.data)); + + // avoid doing this over and over + this.origOpacity = []; + for (var i = 0; i < this.origData.length; i++) { + this.origOpacity[i] = this.origData[i].opacity === 0 ? 0 : (this.origData[i].opacity || 1); + } + + // key: group name, value: null or array of keys representing the + // most recently received selection for that group. + this.groupSelections = {}; + + // selection parameters (e.g., transient versus persistent selection) + this.highlight = highlight; +} + +TraceManager.prototype.close = function() { + // TODO: Unhook all event handlers +}; + +TraceManager.prototype.updateFilter = function(group, keys) { + + if (typeof(keys) === "undefined" || keys === null) { + + this.gd.data = JSON.parse(JSON.stringify(this.origData)); + + } else { + + var traces = []; + for (var i = 0; i < this.origData.length; i++) { + var trace = this.origData[i]; + if (!trace.key || trace.set !== group) { + continue; + } + var matchFunc = getMatchFunc(trace); + var matches = matchFunc(trace.key, keys); + + if (matches.length > 0) { + if (!trace._isSimpleKey) { + // subsetArrayAttrs doesn't mutate trace (it makes a modified clone) + trace = subsetArrayAttrs(trace, matches); + } + traces.push(trace); + } + } + this.gd.data = traces; + } + + Plotly.redraw(this.gd); + + // NOTE: we purposely do _not_ restore selection(s), since on filter, + // axis likely will update, changing the pixel -> data mapping, leading + // to a likely mismatch in the brush outline and highlighted marks + +}; + +TraceManager.prototype.updateSelection = function(group, keys) { + + if (keys !== null && !Array.isArray(keys)) { + throw new Error("Invalid keys argument; null or array expected"); + } + + // if selection has been cleared, or if this is transient + // selection, delete the "selection traces" + var nNewTraces = this.gd.data.length - this.origData.length; + if (keys === null || !this.highlight.persistent && nNewTraces > 0) { + var tracesToRemove = []; + for (var i = 0; i < this.gd.data.length; i++) { + if (this.gd.data[i]._isCrosstalkTrace) tracesToRemove.push(i); + } + Plotly.deleteTraces(this.gd, tracesToRemove); + this.groupSelections[group] = keys; + } else { + // add to the groupSelection, rather than overwriting it + // TODO: can this be removed? + this.groupSelections[group] = this.groupSelections[group] || []; + for (var i = 0; i < keys.length; i++) { + var k = keys[i]; + if (this.groupSelections[group].indexOf(k) < 0) { + this.groupSelections[group].push(k); + } + } + } + + if (keys === null) { + + Plotly.restyle(this.gd, {"opacity": this.origOpacity}); + + } else if (keys.length >= 1) { + + // placeholder for new "selection traces" + var traces = []; + // this variable is set in R/highlight.R + var selectionColour = crosstalk.group(group).var("plotlySelectionColour").get() || + this.highlight.color[0]; + + for (var i = 0; i < this.origData.length; i++) { + // TODO: try using Lib.extendFlat() as done in + // https://github.com/plotly/plotly.js/pull/1136 + var trace = JSON.parse(JSON.stringify(this.gd.data[i])); + if (!trace.key || trace.set !== group) { + continue; + } + // Get sorted array of matching indices in trace.key + var matchFunc = getMatchFunc(trace); + var matches = matchFunc(trace.key, keys); + + if (matches.length > 0) { + // If this is a "simple" key, that means select the entire trace + if (!trace._isSimpleKey) { + trace = subsetArrayAttrs(trace, matches); + } + // reach into the full trace object so we can properly reflect the + // selection attributes in every view + var d = this.gd._fullData[i]; + + /* + / Recursively inherit selection attributes from various sources, + / in order of preference: + / (1) official plotly.js selected attribute + / (2) highlight(selected = attrs_selected(...)) + */ + // TODO: it would be neat to have a dropdown to dynamically specify these! + $.extend(true, trace, this.highlight.selected); + + // if it is defined, override color with the "dynamic brush color"" + if (d.marker) { + trace.marker = trace.marker || {}; + trace.marker.color = selectionColour || trace.marker.color || d.marker.color; + } + if (d.line) { + trace.line = trace.line || {}; + trace.line.color = selectionColour || trace.line.color || d.line.color; + } + if (d.textfont) { + trace.textfont = trace.textfont || {}; + trace.textfont.color = selectionColour || trace.textfont.color || d.textfont.color; + } + if (d.fillcolor) { + // TODO: should selectionColour inherit alpha from the existing fillcolor? + trace.fillcolor = selectionColour || trace.fillcolor || d.fillcolor; + } + // attach a sensible name/legendgroup + trace.name = trace.name || keys.join("
"); + trace.legendgroup = trace.legendgroup || keys.join("
"); + + // keep track of mapping between this new trace and the trace it targets + // (necessary for updating frames to reflect the selection traces) + trace._originalIndex = i; + trace._newIndex = this.gd._fullData.length + traces.length; + trace._isCrosstalkTrace = true; + traces.push(trace); + } + } + + if (traces.length > 0) { + + Plotly.addTraces(this.gd, traces).then(function(gd) { + // incrementally add selection traces to frames + // (this is heavily inspired by Plotly.Plots.modifyFrames() + // in src/plots/plots.js) + var _hash = gd._transitionData._frameHash; + var _frames = gd._transitionData._frames || []; + + for (var i = 0; i < _frames.length; i++) { + + // add to _frames[i].traces *if* this frame references selected trace(s) + var newIndices = []; + for (var j = 0; j < traces.length; j++) { + var tr = traces[j]; + if (_frames[i].traces.indexOf(tr._originalIndex) > -1) { + newIndices.push(tr._newIndex); + _frames[i].traces.push(tr._newIndex); + } + } + + // nothing to do... + if (newIndices.length === 0) { + continue; + } + + var ctr = 0; + var nFrameTraces = _frames[i].data.length; + + for (var j = 0; j < nFrameTraces; j++) { + var frameTrace = _frames[i].data[j]; + if (!frameTrace.key || frameTrace.set !== group) { + continue; + } + + var matchFunc = getMatchFunc(frameTrace); + var matches = matchFunc(frameTrace.key, keys); + + if (matches.length > 0) { + if (!trace._isSimpleKey) { + frameTrace = subsetArrayAttrs(frameTrace, matches); + } + var d = gd._fullData[newIndices[ctr]]; + if (d.marker) { + frameTrace.marker = d.marker; + } + if (d.line) { + frameTrace.line = d.line; + } + if (d.textfont) { + frameTrace.textfont = d.textfont; + } + ctr = ctr + 1; + _frames[i].data.push(frameTrace); + } + } + + // update gd._transitionData._frameHash + _hash[_frames[i].name] = _frames[i]; + } + + }); + + // dim traces that have a set matching the set of selection sets + var tracesToDim = [], + opacities = [], + sets = Object.keys(this.groupSelections), + n = this.origData.length; + + for (var i = 0; i < n; i++) { + var opacity = this.origOpacity[i] || 1; + // have we already dimmed this trace? Or is this even worth doing? + if (opacity !== this.gd._fullData[i].opacity || this.highlight.opacityDim === 1) { + continue; + } + // is this set an element of the set of selection sets? + var matches = findMatches(sets, [this.gd.data[i].set]); + if (matches.length) { + tracesToDim.push(i); + opacities.push(opacity * this.highlight.opacityDim); + } + } + + if (tracesToDim.length > 0) { + Plotly.restyle(this.gd, {"opacity": opacities}, tracesToDim); + // turn off the selected/unselected API + Plotly.restyle(this.gd, {"selectedpoints": null}); + } + + } + + } +}; + +/* +Note: in all of these match functions, we assume needleSet (i.e. the selected keys) +is a 1D (or flat) array. The real difference is the meaning of haystack. +findMatches() does the usual thing you'd expect for +linked brushing on a scatterplot matrix. findSimpleMatches() returns a match iff +haystack is a subset of the needleSet. findNestedMatches() returns +*/ + +function getMatchFunc(trace) { + return (trace._isNestedKey) ? findNestedMatches : + (trace._isSimpleKey) ? findSimpleMatches : findMatches; +} + +// find matches for "flat" keys +function findMatches(haystack, needleSet) { + var matches = []; + haystack.forEach(function(obj, i) { + if (obj === null || needleSet.indexOf(obj) >= 0) { + matches.push(i); + } + }); + return matches; +} + +// find matches for "simple" keys +function findSimpleMatches(haystack, needleSet) { + var match = haystack.every(function(val) { + return val === null || needleSet.indexOf(val) >= 0; + }); + // yes, this doesn't make much sense other than conforming + // to the output type of the other match functions + return (match) ? [0] : [] +} + +// find matches for a "nested" haystack (2D arrays) +function findNestedMatches(haystack, needleSet) { + var matches = []; + for (var i = 0; i < haystack.length; i++) { + var hay = haystack[i]; + var match = hay.every(function(val) { + return val === null || needleSet.indexOf(val) >= 0; + }); + if (match) { + matches.push(i); + } + } + return matches; +} + +function isPlainObject(obj) { + return ( + Object.prototype.toString.call(obj) === '[object Object]' && + Object.getPrototypeOf(obj) === Object.prototype + ); +} + +function subsetArrayAttrs(obj, indices) { + var newObj = {}; + Object.keys(obj).forEach(function(k) { + var val = obj[k]; + + if (k.charAt(0) === "_") { + newObj[k] = val; + } else if (k === "transforms" && Array.isArray(val)) { + newObj[k] = val.map(function(transform) { + return subsetArrayAttrs(transform, indices); + }); + } else if (k === "colorscale" && Array.isArray(val)) { + newObj[k] = val; + } else if (isPlainObject(val)) { + newObj[k] = subsetArrayAttrs(val, indices); + } else if (Array.isArray(val)) { + newObj[k] = subsetArray(val, indices); + } else { + newObj[k] = val; + } + }); + return newObj; +} + +function subsetArray(arr, indices) { + var result = []; + for (var i = 0; i < indices.length; i++) { + result.push(arr[indices[i]]); + } + return result; +} + +// Convenience function for removing plotly's brush +function removeBrush(el) { + var outlines = el.querySelectorAll(".select-outline"); + for (var i = 0; i < outlines.length; i++) { + outlines[i].remove(); + } +} + + +// https://davidwalsh.name/javascript-debounce-function + +// Returns a function, that, as long as it continues to be invoked, will not +// be triggered. The function will be called after it stops being called for +// N milliseconds. If `immediate` is passed, trigger the function on the +// leading edge, instead of the trailing. +function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +}; diff --git a/vignettes/images/Vis_CBG.png b/vignettes/images/Vis_CBG.png index e48f85c..453044b 100644 Binary files a/vignettes/images/Vis_CBG.png and b/vignettes/images/Vis_CBG.png differ diff --git a/vignettes/images/Vis_CBM.png b/vignettes/images/Vis_CBM.png index d98c553..a0bf1ca 100644 Binary files a/vignettes/images/Vis_CBM.png and b/vignettes/images/Vis_CBM.png differ diff --git a/vignettes/images/Vis_CCPbar.png b/vignettes/images/Vis_CCPbar.png index 231e5ad..46f47d3 100644 Binary files a/vignettes/images/Vis_CCPbar.png and b/vignettes/images/Vis_CCPbar.png differ diff --git a/vignettes/images/Vis_CCPbox.png b/vignettes/images/Vis_CCPbox.png index 94c402c..4726746 100644 Binary files a/vignettes/images/Vis_CCPbox.png and b/vignettes/images/Vis_CCPbox.png differ diff --git a/vignettes/images/Vis_DEGAggBar.png b/vignettes/images/Vis_DEGAggBar.png new file mode 100644 index 0000000..9c77538 Binary files /dev/null and b/vignettes/images/Vis_DEGAggBar.png differ diff --git a/vignettes/images/Vis_DPM.png b/vignettes/images/Vis_DPM.png index e39d493..a994770 100644 Binary files a/vignettes/images/Vis_DPM.png and b/vignettes/images/Vis_DPM.png differ diff --git a/vignettes/images/Vis_Violin.png b/vignettes/images/Vis_Violin.png index 438ebaf..43e0338 100644 Binary files a/vignettes/images/Vis_Violin.png and b/vignettes/images/Vis_Violin.png differ