DEapp(差异表达分析)本地版——自由飞翔

时间:2022-07-22
本文章向大家介绍DEapp(差异表达分析)本地版——自由飞翔,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前面两期我们分别介绍了DEapp的理论(零代码差异表达分析, DESeq,limma,edgeR一网打尽)和实践(零代码差异表达分析——手把手带你GEO实战)。想必大家已经对DEapp有所了解了。我前面介绍过DEapp是一个做差异表达分析的网络工具,其实它是用R shiny写的一个网络工具。关于shiny的介绍可以参考我前面一篇文章。

网络应用实际上有一些局限性

  1. 这个网站搞不好那天就不存在了
  2. 服务器搞不好哪天就负载过重down掉了
  3. 用的人多了,你的任务还要排队,什么时候排得上谁也说不准
  4. 上传文件有大小限制
  5. 数据安全性谁也不能保证

那么问题来了,我们总不能因噎废食吧!这么好的工具,就这么眼睁睁看它从指缝中溜走,还说再见?别急,这个工具有本地版。直接从github可以下载源代码https://github.com/yan-cri/DEApp

下载到本地的文件叫DEApp-master.zip,解压,之后你就会看到,我们在shiny一文中讲到的server.R和ui.R。还有demo data。

先别急着运行,这个app背后依赖好几个R包。shiny是肯定需要装的,另外我们提到这个app中提供三个做差异表达的算法DESeq,limma,edgeR,因此这三个包也是需要装的。

具体这个app需要什么包,其实打开server.R和ui.R看一下就一目了然了

那么如何来安装这些包呢?你会发现下载的文件夹里面有一个install文件夹,里面有一个R文件prep.R,运行里面的R代码就可以了。或者直接将这段代码贴到你的R里面运行。小编用的R是3.5.1,测试没有问题。

packages <- c("shinydashboard", "DT","shiny", "ggplot2", "gplots")
if (length(setdiff(packages, rownames(installed.packages()))) > 0) {
  install.packages(setdiff(packages, rownames(installed.packages())))  
}

BCpackages <- c("edgeR", "DESeq2", "limma")
if (length(setdiff(BCpackages, rownames(installed.packages()))) > 0) {
  source("http://bioconductor.org/biocLite.R")
  biocLite(setdiff(BCpackages, rownames(installed.packages())))
}

sapply(c(packages, BCpackages), require, character.only=T)

print(sapply(c(packages, BCpackages), require, character.only=T))

接下来就可以来运行了,将你的工作路径修改到DEApp-master中

修改工作路径的方法是,R控制台->文件->修改工作路径

Rstudio中修改工作路径

然后运行

library(shiny)
runApp()

你会发现DEapp跃然纸上,还是熟悉的配方,还是熟悉的味道。

只是它现在运行在你的电脑上,看到网址了吗?

接下来你就可以去测试一下他的性能,是不是一如往常。

在DEApp-master的data中有demo数据,下面的操作前面都讲过了,大家可以enjoy youself了。

如果你懂R,其实DESeq,limma,edgeR这三个包做差异表达分析的代码都在server.R中可以找到。是不是发现了新大陆!