knitr::opts_chunk$set(echo = FALSE, warning = FALSE, error = FALSE, message = FALSE)
method_expand <- function(method_name){ method_name <- c(method_name, "ESCO-tree", "ESCO-traj", "SCRIP-GP-trendedBCV", "SCRIP-GP-commonBCV", "SCRIP-BGP-commonBCV", "SCRIP-BP", "SCRIP-BGP-trendedBCV", "Splat-paths", "SplatPop-paths", "SCRIP-paths", "scDesign3-tree", "scMultiSim-tree") method_name <- method_name[-24] return(method_name) }
methods <- simmethods::get_method()
Simmethods collects and documents 49 popular and common simulation methods for single-cell and spatial transcriptome data. To satisfy user's requirements in different scenarios, we bundled the simulators comprehensively and users can simulate many kinds of single-cell RNA-seq data (different number of groups, batches, differential expressed genes and even data with differentiation trajectory) using certain methods. If you want to learn how to use a certain simulation method, please check the following chart and commit an issue or send an Email to us when you have any question.
method_name <- names(methods) method_name <- method_expand(method_name) method_table <- purrr::map_dfr(method_name, .f = function(x){ real_name <- stringr::str_split(x, pattern = "-", simplify = TRUE)[1] method_definition <- methods[[real_name]][[paste0(real_name, "_method")]] ## Language if(method_definition$programming == "R"){ logo <- "'man/figures/R_logo.png' " size <- paste("height='23px'", "width='30px'") Language <- paste0("<img src=", logo, size, ">") }else{ logo <- "'man/figures/python_logo.png' " size <- paste("height='28px'", "width='84px'") Language <- paste0("<img src=", logo, size, ">") } ## DOI if(!is.null(method_definition$manuscript$doi)){ DOI <- paste0("<a href=", paste0("'https://doi.org/", method_definition$manuscript$doi), "'><img src='man/figures/doi_logo.png' height='24px' width = '24px'></a>") }else{ DOI <- "" } ## URL if(!is.null(method_definition$url) | !is.null(method_definition$authors$github)){ if(stringr::str_detect(method_definition$url, pattern = "cran")){ png_logo <- "'man/figures/CRAN.png' " url_size <- "height='12.5px' width = '30px'" }else if(stringr::str_detect(method_definition$url, pattern = "bioconductor")){ png_logo <- "'man/figures/bioconductor_logo.png' " url_size <- "height='36px' width = '30px'" }else if(stringr::str_detect(method_definition$url, pattern = "github")){ png_logo <- "'man/figures/github_logo.png' " url_size <- "height='21px' width = '38px'" }else{ png_logo <- "'man/figures/URL.png' " url_size <- "height='25px' width = '25px'" } if(!is.null(method_definition$authors$github)){ png_logo2 <- "'man/figures/github_logo.png' " url_size2 <- "height='21px' width = '38px'" } if(!is.null(method_definition$authors$github)){ if(method_definition$authors$github == method_definition$url){ URL <- paste0("<a href=", paste0("'", method_definition$url), paste0("'><img src=", png_logo, url_size, "></a>")) }else{ URL <- paste(paste0("<a href=", paste0("'", method_definition$url), paste0("'><img src=", png_logo, url_size, "></a>")), paste0("<a href=", paste0("'", method_definition$authors$github), paste0("'><img src=", png_logo2, url_size2, "></a>"))) } }else{ URL <- paste0("<a href=", paste0("'", method_definition$url), paste0("'><img src=", png_logo, url_size, "></a>")) } }else{ URL <- "" } ## Journal if(is.null(method_definition$manuscript$journal)){ Journal <- "" }else{ Journal <- method_definition$manuscript$journal } method_summary <- tibble::tibble(Method = x, Language = Language, URL = URL, DOI = DOI, Journal = Journal) method_summary }) method_table <- plyr::arrange(method_table, Method) method_table <- tibble::add_column(method_table, ID=1:nrow(method_table), .before = "Method") knitr::kable(method_table, align = c("clcccl"))
We are glad to add new simulation methods if some methods are innovative and creative that many users commonly used. If you have the requirements, please tell me by email (duohongrui@cqnu.edu.cn) or raise an issue for that.
Duo H, Li Y, Lan Y, et al. Systematic evaluation with practical guidelines for single-cell and spatially resolved transcriptomics data simulation under multiple scenarios. Genome Biology, 2024, 25(1): 145.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.