Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

简单几步构建一个单细胞转录组浏览器 #5103

Closed
ixxmu opened this issue Jun 14, 2024 · 1 comment
Closed

简单几步构建一个单细胞转录组浏览器 #5103

ixxmu opened this issue Jun 14, 2024 · 1 comment

Comments

@ixxmu
Copy link
Owner

ixxmu commented Jun 14, 2024

https://mp.weixin.qq.com/s/BkguN2rIR9bjescLIh_cjg

@ixxmu
Copy link
Owner Author

ixxmu commented Jun 14, 2024

简单几步构建一个单细胞转录组浏览器 by 果子学生信

在我参与发表我的第一篇植物单细胞文章中,我用Shiny开发了一个简单的单细胞可视化网站,目前已经运行了5年了,有上万的访问,唯一的不足就是太简陋。我一直想着能不能找个一个更好的工具进行展示,最近发现了一个工具,ShinyCell,https://github.com/SGDDNB/ShinyCell。

他的安装非常简单,就是安装如下的R包

reqPkg = c("data.table""Matrix""hdf5r""reticulate""ggplot2"
           "gridExtra""glue""readr""RColorBrewer""R.utils""Seurat")
newPkg = reqPkg[!(reqPkg %in% installed.packages()[,"Package"])]
if(length(newPkg)){install.packages(newPkg)}

# If you are using h5ad file as input, run the code below as well
# reticulate::py_install("anndata")

reqPkg = c("shiny""shinyhelper""data.table""Matrix""DT""hdf5r"
           "reticulate""ggplot2""gridExtra""magrittr""ggdendro")
newPkg = reqPkg[!(reqPkg %in% installed.packages()[,"Package"])]
if(length(newPkg)){install.packages(newPkg)}


devtools::install_github("SGDDNB/ShinyCell")

然后,你读取你分析得到的Seurat文件,注意readySeu_rset.rds对应的是你使用Seura分析得到,并保存的Rds数据。接着,使用createConfig创建配配置,并用makeShinyApp制作shiny文件。

library(Seurat)
library(ShinyCell)
getExampleData() #案例数据
seu.obj = readRDS("readySeu_rset.rds")
scConf = createConfig(seu.obj )
makeShinyApp(seu.obj , scConf, gene.mapping = TRUE,
             shiny.title = "ShinyCell Quick Start"

makeShinyApp 可以需要修改的参数如下

  • gex.slot和gex.assay 用于定义展示的表达量数据的位置,比如说Seurat可以选择"RNA" 还是 "integrated"
  • gene.mapping: 一般是gene_id和gene symbol的对应关系。
  • shiny.dir  输出路径,默认是当前目录下的shinyApp。

最后输出的文件夹里包括ui.R, server.R 以及一系列的数据,可以通过Rstudio打开该文件夹,然后点开ui.R或者server.R 就可以看到Run App,用于启动。

如果需要在Shiny Server中展示,需要额外安装一个shiny server, 以ubuntu为例,在服务器上运行如下命令

sudo apt-get install gdebi-core
wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.22.1017-amd64.deb
sudo gdebi shiny-server-1.5.22.1017-amd64.deb

此外,服务器的R至少需要配置如下R包

# 定义需要安装和加载的包列表
packages <- c("shiny""shinyhelper""data.table""Matrix""DT""magrittr",
              "ggplot2""ggrepel""hdf5r""ggdendro""gridExtra")

# 安装未安装的包
install_all_packages <- function(packages) {
  new_packages <- packages[!(packages %in% installed.packages()[,"Package"])]
  if (length(new_packages)) install.packages(new_packages, dependencies = TRUE)
}

# 调用函数安装任何未安装的包
install_all_packages(packages)

# 测试:加载所有包
lapply(packages, library, character.only = TRUE)

接着,将输出的文件夹,例如shinyApp移动到/srv/shiny-server目录下, 你就可以通过浏览器访问对应的项目了,例如 http://服务器地址:3838/shiny-server

参考资料

  • https://posit.co/download/shiny-server/


@ixxmu ixxmu changed the title archive_request 简单几步构建一个单细胞转录组浏览器 Jun 14, 2024
@ixxmu ixxmu closed this as completed Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant