查看: 3127|回复: 9

[R语言] 使用Shiny搭建基于Seurat包的单细胞数据可视化平台

[复制链接]
  • TA的每日心情
    yes!
    前天 08:56
  • 签到天数: 936 天

    连续签到: 3 天

    [LV.10]以坛为家III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    25
    奥币
    5142
    积分
    1470
    注册时间
    2016.5.11
    在线时间
    479 小时

    活跃会员突出贡献


    发表于 2020.4.18 10:08:22 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 bioinfomics 于 2020.4.18 10:07 编辑

    Seurat包系列学习笔记
    Seurat包学习笔记(一):Guided Clustering Tutorial
    Seurat包学习笔记(二):Integration and Label Transfer
    Seurat包学习笔记(三):Analysis of spatial datasets
    Seurat包学习笔记(四):Using sctransform in Seurat
    Seurat包学习笔记(五):Using Seurat with multi-modal data
    Seurat包学习笔记(六):scATAC-seq + scRNA-seq integration
    Seurat包学习笔记(七):Stimulated vs Control PBMCs
    Seurat包学习笔记(八):Cell-Cycle Scoring and Regression
    Seurat包学习笔记(九):Differential expression testing
    Seurat包学习笔记(十):New data visualization methods in v3.0
    Seurat CheatSheet思维导图
    Seurat对象解读思维导图

    Shiny是一个能够方便构建交互式网页应用的R包,仅用几行代码就可以轻松地构建一个简单的web应用程序。
    Shiny应用程序主要分为两个部分:用户界面定义和服务端脚本。它们既可以由单个脚本 app.R 构成,也可以分成两个独立的脚本 ui.Rserver.R



    安装shiny及其扩展包
    [AppleScript] 纯文本查看 复制代码
    # 设置安装包镜像
    options(repos="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
    install.packages("shiny")
    install.packages("shinythemes")
    install.packages("shinydashboard")


    运行内置示例应用
    可以使用runExample()函数查看shiny包中内置的一些应用程序,里面包含了11个示例的web应用,我们可以通过这些示例应用进行初步的学习。

    [AppleScript] 纯文本查看 复制代码
    # 加载shiny包
    library(shiny)
    
    # List all available examples
    # 查看内置的示例应用
    runExample()
    Valid examples are "01_hello", "02_text", "03_reactivity", "04_mpg", "05_sliders", "06_tabsets", "07_widgets", "08_html", "09_upload", "10_download", "11_timer"
    # 运行示例应用"01_hello"
    runExample("01_hello")



    运行完代码后,就会通过浏览器弹出一个web应用的窗口,可以交互式的调整生成的图形。

    查看该示例web应用的源代码app.R


    [AppleScript] 纯文本查看 复制代码
    library(shiny)
    
    # Define UI for app that draws a histogram ----
    ui <- fluidPage(
    
      # App title ----
      titlePanel("Hello Shiny!"),
    
      # Sidebar layout with input and output definitions ----
      sidebarLayout(
    
        # Sidebar panel for inputs ----
        sidebarPanel(
    
          # Input: Slider for the number of bins ----
          sliderInput(inputId = "bins",
                      label = "Number of bins:",
                      min = 1,
                      max = 50,
                      value = 30)
    
        ),
    
        # Main panel for displaying outputs ----
        mainPanel(
    
          # Output: Histogram ----
          plotOutput(outputId = "distPlot")
    
        )
      )
    )
    
    # Define server logic required to draw a histogram ----
    server <- function(input, output) {
    
      # Histogram of the Old Faithful Geyser Data ----
      # with requested number of bins
      # This expression that generates a histogram is wrapped in a call
      # to renderPlot to indicate that:
      #
      # 1. It is "reactive" and therefore should be automatically
      #    re-executed when inputs (input$bins) change
      # 2. Its output type is a plot
      output$distPlot <- renderPlot({
    
        x    <- faithful$waiting
        bins <- seq(min(x), max(x), length.out = input$bins + 1)
    
        hist(x, breaks = bins, col = "#75AADB", border = "white",
             xlab = "Waiting time to next eruption (in mins)",
             main = "Histogram of waiting times")
    
        })
    
    }
    
    # Create Shiny app ----
    shinyApp(ui = ui, server = server)


    使用ShinySeurat可视化单细胞测序数据
    前段时间根据shiny官网提供的教程学习了下使用shiny搭建交互式的web应用,我学习模仿了一些教程利用Shiny基于Seurat的分析结果搭建了一个单细胞测序数据可视化的交互平台ShinySeurat,可以方便地将Seurat的分析结果进行可视化的展示,并下载相应的图片和结果。在该应用中,我主要提供了三种模式展示不同的分析结果,可以对单样本数据、多样本整合数据以及ST的分析结果进行可视化的展示。





    Single Sample Mode 单样本数据可视化展示
    这里我将使用Seurat中分析过的PBMC3K的数据进行可视化的展示。











    Multiple Sample Mode 多样本整合数据可视化展示
















    ST Sample Mode ST样本数据可视化展示
















    原文链接:https://www.jianshu.com/p/aaa3cf95ee3f

    ▼更多精彩推荐,请关注我们▼















    加油啦。
    回复

    使用道具 举报

  • TA的每日心情
    yes!
    2020.5.29 19:39
  • 签到天数: 49 天

    连续签到: 1 天

    [LV.5]常住居民I

    中华鲟

    Rank: 5Rank: 5

    主题
    58
    奥币
    430
    积分
    741
    注册时间
    2017.12.20
    在线时间
    45 小时

    发表于 2020.4.19 11:52:19 | 显示全部楼层
    周五啦!
    回复

    使用道具 举报

  • TA的每日心情
    yes!
    前天 08:56
  • 签到天数: 936 天

    连续签到: 3 天

    [LV.10]以坛为家III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    25
    奥币
    5142
    积分
    1470
    注册时间
    2016.5.11
    在线时间
    479 小时

    活跃会员突出贡献


     楼主| 发表于 2020.4.19 17:13:20 | 显示全部楼层
    加油啦。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    2020.4.20 09:36
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]初来乍到

    钵水母

    Rank: 3Rank: 3

    主题
    5
    奥币
    27
    积分
    40
    注册时间
    2018.2.6
    在线时间
    2 小时

    发表于 2020.4.20 09:38:05 | 显示全部楼层
    seurat好好学习,果断收藏
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    钵水母

    Rank: 3Rank: 3

    主题
    0
    奥币
    1
    积分
    16
    注册时间
    2020.4.20
    在线时间
    0 小时

    发表于 2020.4.20 17:55:24 | 显示全部楼层
    围观学习ing
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    钵水母

    Rank: 3Rank: 3

    主题
    0
    奥币
    1
    积分
    16
    注册时间
    2020.4.20
    在线时间
    0 小时

    发表于 2020.4.20 17:57:56 | 显示全部楼层
    感谢楼主分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    yes!
    前天 08:56
  • 签到天数: 936 天

    连续签到: 3 天

    [LV.10]以坛为家III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    25
    奥币
    5142
    积分
    1470
    注册时间
    2016.5.11
    在线时间
    479 小时

    活跃会员突出贡献


     楼主| 发表于 2020.4.21 16:46:24 | 显示全部楼层

    不客气
    加油啦。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    yes!
    前天 08:56
  • 签到天数: 936 天

    连续签到: 3 天

    [LV.10]以坛为家III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    25
    奥币
    5142
    积分
    1470
    注册时间
    2016.5.11
    在线时间
    479 小时

    活跃会员突出贡献


     楼主| 发表于 2020.4.21 16:47:29 | 显示全部楼层
    YMkaiye 发表于 2020.4.20 09:38
    seurat好好学习,果断收藏

    好好学习
    加油啦。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    no
    2020.4.22 14:09
  • 签到天数: 28 天

    连续签到: 2 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    8
    奥币
    1361
    积分
    172
    注册时间
    2015.12.24
    在线时间
    20 小时

    发表于 2020.4.22 14:24:16 | 显示全部楼层
    真优秀拉
    谁还不是个宝宝
    回复

    使用道具 举报

  • TA的每日心情
    好棒
    2020.6.11 15:33
  • 签到天数: 47 天

    连续签到: 1 天

    [LV.5]常住居民I

    中华鲟

    Rank: 5Rank: 5

    主题
    11
    奥币
    454
    积分
    657
    注册时间
    2020.3.29
    在线时间
    26 小时

    灌水之王


    发表于 2020.4.25 09:48:16 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表