在linux中用同一个版本的R 同时安装 Seurat 2 和 Seurat 3

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: https://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 ! 

最新文章

  1. 【转】java-String中的 intern()
  2. [HTML/HTML5]3 页面结构
  3. Bootstrap入门四:代码
  4. NYOJ-205 求余数 AC 分类: NYOJ 2014-02-02 12:30 201人阅读 评论(0) 收藏
  5. In-App-Purcharse 官方原文摘要笔记
  6. Android中界面实现全屏显示的两种方式
  7. jquery ajax(5)form表单序列化
  8. TexturePacker文件的反向解析-TextureUnpacker
  9. win7 安装 redis +php扩展
  10. js中callback.call()和callback()的区别
  11. 【tmos】SpringBoot项目IDEA不识别依赖,但是能够运行时什么鬼?
  12. C# 网络爬虫利器之Html Agility Pack如何快速实现解析Html
  13. Python学习1 基础数据类型
  14. 环境变量PATH/cp命令/mv命令/文档查看cat/more/less/head/tail
  15. 8 -- 深入使用Spring -- 7... Spring 整合 Struts 2
  16. TinyURL
  17. Python 谷歌翻译
  18. psimpl_v7_win32_demo
  19. linux-Centos下磁盘管理(fdisk)
  20. ArcGIS for Android 10.1.1API 中文标注导致程序异常崩溃问题

热门文章

  1. Fiolki题解
  2. 【转载】DOMContentLoaded与load的区别
  3. Docker笔记(五):整一个自己的镜像
  4. 五分钟了解Zabbix
  5. 通过windug判断某个模块导致程序不能退出。
  6. 15号作品teamfinal使用体验
  7. Makefile简单的配置
  8. python面向对象的继承-组合-02
  9. 移动端H5多终端适配解决方案
  10. vuex的实现