Seurat 作為單細(xì)胞分析中的重量級R包,有多好用用,用過的人都知道。Seurat 分析流程基本涵蓋了單細(xì)胞分析中的所有常見分析方法,包括filtering,tSNE,UMAP降維及畫圖等。還有一個(gè)重量級功能就是矯正不同實(shí)驗(yàn)之間的批次效應(yīng)。然而Seurat 2和Seurat 3的矯正方法完全不一樣,得到的結(jié)果也不一致。
Seurat 2是基于CCA (典型相關(guān)性)的,可以矯正腫瘤,外周血及癌旁組織間由于實(shí)驗(yàn)帶來的批次效應(yīng),也能很好的矯正用不同的單細(xì)胞實(shí)驗(yàn)平臺進(jìn)行試驗(yàn)帶來的批次效應(yīng)。雖然速度慢,效果還是不錯(cuò)的。而Seurat 3 則是基于樣本間具有相似表達(dá)譜的細(xì)胞群來進(jìn)行矯正,對于同一種性質(zhì)的實(shí)驗(yàn),由于不同單細(xì)胞技術(shù)造成的實(shí)驗(yàn)批次效應(yīng),seurat 3 能夠很好的矯正。從官網(wǎng)給的pancers矯正結(jié)果就可以看到其矯正能力多么強(qiáng)大。然而正式因?yàn)槿绱藦?qiáng)大的矯正能力,對于腫瘤和外周血樣本的矯正卻過了頭,導(dǎo)致不該分在一起的細(xì)胞具有了相似的基因表達(dá)譜。本人也是做了好幾個(gè)課題,發(fā)現(xiàn)都存在這樣的問題,因此果斷放棄Seurat 3的矯正方法,繼續(xù)用Seurat 2的。但是Seurat 3的 findmarker 這個(gè)功能可以一次計(jì)算10萬以上的細(xì)胞不報(bào)錯(cuò),而Seurat 2就不行,折衷的方案是同時(shí)安裝 Seurat 2和 Seurat 3的包,在內(nèi)存里切換數(shù)據(jù),而不用寫到本地后再用Seurat 3讀取后升級。
尤其是對于動(dòng)輒10幾萬個(gè)細(xì)胞來說,保存數(shù)據(jù)到本地這個(gè)操作要花費(fèi)至少30min, 讀取也要30min.
下面我就告訴大家不用讀寫到本地就可以在Seurat 2 和 Seurat 3之間完美切換,。
其實(shí)方法很簡單,將Seurat 2和 Seurat 3 安裝在不同的 library 里面就行了。
我已經(jīng)安裝好了,以我自己進(jìn)行的自由切換為例:
> 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很好用。
默認(rèn)的library 是conda 自帶的
> .libPaths()
[1] "/data/home/heshuai/anaconda3/lib/R/library"
默認(rèn)的Seurat是最新版的 Seurat 3
> library(Seurat)
Registered S3 method overwritten by 'R.oo':
method from
throw.default R.methodsS3
> packageVersion("Seurat")
[1] ‘3.0.2'
我在另一個(gè)library 里安裝了 Seurat 2
/data/home/heshuai/R/x86_64-conda_cos6-linux-gnu-library
在兩者間自由切換
1. 首先將 Seurat 2 所在的library 加載進(jìn)來
> .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, 因?yàn)檫@個(gè)時(shí)候Seurat 2 所在的library 已經(jīng)在Seurat 3 之前了,系統(tǒng)會(huì)默認(rèn)先加載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'
>
現(xiàn)在Seurat 3已經(jīng)成功的切換成Seurat 2了. 想要加載Seurat 3的時(shí)候,將默認(rèn)library 換到Seurat 2的前面即可。
是不是 so easy !
總結(jié)
以上所述是小編給大家介紹的在linux中用同一個(gè)版本的R 同時(shí)安裝 Seurat2 和 Seurat3的教程,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!