在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3的教程
Seurat 作为单细胞分析中的重量级R包,有多好用用,用过的人都知道。Seurat分析流程基本涵盖了单细胞分析中的所有常见分析方法,包括filtering,tSNE,UMAP降维及画图等。还有一个重量级功能就是矫正不同实验之间的批次效应。然而Seurat2和Seurat3的矫正方法完全不一样,得到的结果也不一致。
Seurat2是基于CCA(典型相关性)的,可以矫正肿瘤,外周血及癌旁组织间由于实验带来的批次效应,也能很好的矫正用不同的单细胞实验平台进行试验带来的批次效应。虽然速度慢,效果还是不错的。而Seurat3则是基于样本间具有相似表达谱的细胞群来进行矫正,对于同一种性质的实验,由于不同单细胞技术造成的实验批次效应,seurat3能够很好的矫正。从官网给的pancers矫正结果就可以看到其矫正能力多么强大。然而正式因为如此强大的矫正能力,对于肿瘤和外周血样本的矫正却过了头,导致不该分在一起的细胞具有了相似的基因表达谱。本人也是做了好几个课题,发现都存在这样的问题,因此果断放弃Seurat3的矫正方法,继续用Seurat2的。但是Seurat3的findmarker这个功能可以一次计算10万以上的细胞不报错,而Seurat2就不行,折衷的方案是同时安装Seurat2和Seurat3的包,在内存里切换数据,而不用写到本地后再用Seurat3读取后升级。
尤其是对于动辄10几万个细胞来说,保存数据到本地这个操作要花费至少30min,读取也要30min.
下面我就告诉大家不用读写到本地就可以在Seurat2和Seurat3之间完美切换,。
其实方法很简单,将Seurat2和Seurat3安装在不同的library里面就行了。
我已经安装好了,以我自己进行的自由切换为例:
>R.version _ platformx86_64-conda_cos6-linux-gnu archx86_64 oslinux-gnu systemx86_64,linux-gnu status major3 minor6.1 year2019 month07 day05 svnrev76782 languageR version.stringRversion3.6.1(2019-07-05) nicknameActionoftheToes
我用的是最新的R版本3.6.1很好用。
默认的library是conda自带的
>.libPaths() [1]"/data/home/heshuai/anaconda3/lib/R/library"
默认的Seurat是最新版的Seurat3
>library(Seurat) RegisteredS3methodoverwrittenby'R.oo': methodfrom throw.defaultR.methodsS3 >packageVersion("Seurat") [1]‘3.0.2'
我在另一个library里安装了Seurat2
/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library
在两者间自由切换
1.首先将Seurat2所在的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.detachSeurat3后加载Seurat2,因为这个时候Seurat2所在的library已经在Seurat3之前了,系统会默认先加载Seurat2
>detach("package:Seurat",unload=T) >library(Seurat) Loadingrequiredpackage:ggplot2 RStudioCommunityisagreatplacetogethelp:https://community.rstudio.com/c/tidyverse. Loadingrequiredpackage:cowplot ******************************************************** Note:Asofversion1.0.0,cowplotdoesnotchangethe defaultggplot2themeanymore.Torecovertheprevious behavior,execute: theme_set(theme_cowplot()) ******************************************************** Loadingrequiredpackage:Matrix >packageVersion("Seurat") [1]‘2.3.4' >
现在Seurat3已经成功的切换成Seurat2了.想要加载Seurat3的时候,将默认library换到Seurat2的前面即可。
是不是soeasy!
总结
以上所述是小编给大家介绍的在linux中用同一个版本的R同时安装Seurat2和Seurat3的教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!