## Derived from MCPcounter publication by Becht et al. 2016
##
## MCPcounter defines gene signatures per cell type in a conservative manner
library(GSEABase)
library(tidyverse)
.define_geneset <- function(cell_type, symbol,
type = SymbolIdentifier('org.Hs.eg.db'),
organism = "Homo sapiens",
url = "",
contributor = contrib) {
## symbol = character vector
## cell_type = character string
GeneSet(
setName = cell_type,
geneIds = symbol,
type = type,
organism = organism,
urls = url,
contributor = contributor)
}
url <- 'https://raw.githubusercontent.com/ebecht/MCPcounter/master/Signatures/genes.txt'
contrib <- 'Robert A. Amezquita'
genes <- read_tsv('https://raw.githubusercontent.com/ebecht/MCPcounter/master/Signatures/genes.txt')
colnames(genes) <- c('SYMBOL', 'cell_type', 'ENTREZID')
genes_tbl <- genes %>%
select(-ENTREZID) %>%
group_by(cell_type) %>%
nest() %>%
mutate(data = map(data, ~ c(.) %>% unlist() %>% as.character()))
gs <- map2(genes_tbl$cell_type, genes_tbl$data, .define_geneset, url = url)
names(gs) <- genes_tbl$cell_type
MCPcounter_markers <- GeneSetCollection(gs)
usethis::use_data(MCPcounter_markers, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.