在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3的教程

 更新时间:2019年08月19日 21:26:45   作者:何帅  
这篇文章主要介绍了在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

Seurat  作为单细胞分析中的重量级R包,有多好用用,用过的人都知道。Seurat 分析流程基本涵盖了单细胞分析中的所有常见分析方法,包括filtering,tSNE,UMAP降维及画图等。还有一个重量级功能就是矫正不同实验之间的批次效应。然而Seurat 2和Seurat 3的矫正方法完全不一样,得到的结果也不一致。

Seurat 2是基于CCA (典型相关性)的,可以矫正肿瘤,外周血及癌旁组织间由于实验带来的批次效应,也能很好的矫正用不同的单细胞实验平台进行试验带来的批次效应。虽然速度慢,效果还是不错的。而Seurat 3 则是基于样本间具有相似表达谱的细胞群来进行矫正,对于同一种性质的实验,由于不同单细胞技术造成的实验批次效应,seurat 3 能够很好的矫正。从官网给的pancers矫正结果就可以看到其矫正能力多么强大。然而正式因为如此强大的矫正能力,对于肿瘤和外周血样本的矫正却过了头,导致不该分在一起的细胞具有了相似的基因表达谱。本人也是做了好几个课题,发现都存在这样的问题,因此果断放弃Seurat 3的矫正方法,继续用Seurat 2的。但是Seurat 3的 findmarker 这个功能可以一次计算10万以上的细胞不报错,而Seurat 2就不行,折衷的方案是同时安装 Seurat 2和 Seurat 3的包,在内存里切换数据,而不用写到本地后再用Seurat 3读取后升级。

尤其是对于动辄10几万个细胞来说,保存数据到本地这个操作要花费至少30min, 读取也要30min.

下面我就告诉大家不用读写到本地就可以在Seurat 2 和 Seurat 3之间完美切换,。

其实方法很简单,将Seurat 2和 Seurat 3 安装在不同的 library 里面就行了。

我已经安装好了,以我自己进行的自由切换为例:

> R.version
        _             
platform    x86_64-conda_cos6-linux-gnu
arch      x86_64           
os       linux-gnu         
system     x86_64, linux-gnu     
status                  
major     3             
minor     6.1            
year      2019            
month     07             
day      05             
svn rev    76782           
language    R             
version.string R version 3.6.1 (2019-07-05)
nickname    Action of the Toes  

 我用的是最新的R版本 3.6.1很好用。

默认的library 是conda 自带的

> .libPaths()
[1] "/data/home/heshuai/anaconda3/lib/R/library"

默认的Seurat是最新版的 Seurat 3

> library(Seurat)
Registered S3 method overwritten by 'R.oo':
 method    from   
 throw.default R.methodsS3
> packageVersion("Seurat")
[1] ‘3.0.2'

我在另一个library 里安装了 Seurat 2

/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library

在两者间自由切换

1. 首先将 Seurat 2 所在的library 加载进来

> .libPaths("/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library")
> .libPaths()
[1] "/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library" "/data/home/heshuai/anaconda3/lib/R/library"      
>

2. detach Seurat 3 后加载 Seurat 2, 因为这个时候Seurat 2 所在的library 已经在Seurat 3 之前了,系统会默认先加载Seurat 2

> detach("package:Seurat", unload = T)
> library(Seurat)
Loading required package: ggplot2
RStudio Community is a great place to get help: community.rstudio.com/c/tidyverse.
Loading required package: cowplot
 
********************************************************
Note: As of version 1.0.0, cowplot does not change the
 default ggplot2 theme anymore. To recover the previous
 behavior, execute:
 theme_set(theme_cowplot())
********************************************************
 
Loading required package: Matrix
> packageVersion("Seurat")
[1] ‘2.3.4'
>  

现在Seurat 3已经成功的切换成Seurat 2了. 想要加载Seurat 3的时候,将默认library 换到Seurat 2的前面即可。

是不是 so easy ! 

总结

以上所述是小编给大家介绍的在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3的教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Linux 中不输入密码运行 sudo 命令的方法

    Linux 中不输入密码运行 sudo 命令的方法

    sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。这篇文章主要介绍了Linux 中不输入密码运行 sudo 命令的方法,需要的朋友可以参考下

    2019-07-07

  • linux中快速列出文件列表的多种方法总结

    linux中快速列出文件列表的多种方法总结

    这篇文章主要给大家总结介绍了关于linux中如何快速列出文件列表的多种方法,分别介绍了walk、os.scandir、tree、find以及locate等方法,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。

    2017-10-10

  • linux 清理内存命令详细介绍

    linux 清理内存命令详细介绍

    这篇文章主要介绍了linux 清理内存命令详细介绍的相关资料,这里对Linux 清理内存进行了详解及查看内存条命令,需要的朋友可以参考下

    2016-11-11

  • Linux下用dnsmasq做dns cache server的配置方法

    Linux下用dnsmasq做dns cache server的配置方法

    最近国外的服务器本地DNS总是出故障,闪断一会儿都会影响业务。于是在机房里找了两台Server,安装上keepalived和dnsmasq实际本地的DNS缓存

    2014-08-08

  • 服务器端包含、嵌入技术SSI(Server SideInc lude)详解

    服务器端包含、嵌入技术SSI(Server SideInc lude)详解

    这篇文章主要介绍了服务器端包含、嵌入技术SSI(Server SideInc lude)详解,本文包含SSI简介、SSI的语法、SSI的一些常用命令等,SSI最明显的特征是网页的扩展名师.shtml,一些大网站也常用这种技术,需要的朋友可以参考下

    2014-07-07

  • Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割

    这篇文章主要介绍了Linux tomcat下catalina.out日志文件分割的相关资料,需要的朋友可以参考下

    2017-02-02

  • linux下dhcp服务配置教程

    linux下dhcp服务配置教程

    这篇文章主要为大家详细介绍了linux下dhcp服务的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    2017-04-04

  • Apache 并发优化设置方法

    Apache 并发优化设置方法

    本文是对512M 内存并装有apache的vps进行优化,请不要跟我说装nginx就强多了,确实如此,但是你这样说的话,这篇文章就没什么意义了

    2016-08-08

  • ubuntu (linux)修改网卡名称命令

    ubuntu (linux)修改网卡名称命令

    这篇文章主要介绍了ubuntu (linux)修改网卡名称命令的相关资料,这里提供了实现的命令代码,需要的朋友可以参考下

    2016-11-11

  • linux根据进程号PID查找启动程序的全路径

    linux根据进程号PID查找启动程序的全路径

    工作环境中遇到网络不正常,检测是某服务器异常往外发送数据包,使用netstat命令查看,发现有程序。这篇文章主要介绍了linux根据进程号PID查找启动程序的全路径,需要的朋友可以参考下

    2019-08-08

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。