Seurat2和Seurat3共存的方法

软件升级虽然是一件值得高兴的是,但是代码变化太大却不是一件好消息。比如说Seurat,这个单细胞分析最常用的R包,它的2.x版本和3.x版本的变化就是翻天覆地。

为了能够重现别人的代码,你可能需要重装2.3.4版本的Seurat,官方提供了安装脚本

1source("https://gist.githubusercontent.com/satijalab/beb9bb50dedc75ee023bd5d9be5fe684/raw/e103577735a2fba9da2ccca14ce1ac33e46c1bc4/old_seurat.R")

但是在window下安装会出一个报错, 提示无法在Windows下安装MacOS的版本

这个时候需要手动安装Seurat,注意,这里要求有Rtools才能进行编译

1install.packages('Seurat', repos = 'https://satijalab.org/ran', type = "source")

可以设置install.packages里的参数lib.loc,让Seurat安装到其他的文件加,就不会替换原来的Seurat,同时用library加载的时候,也需要设置lib.loc.

上面是简单可行易操作的方法,唯一的问题是你不能同时加载两个Seurat版本,当然你也不会想这样子做,所以这是一个伪需求。

下面就是瞎折腾环节, 我要将Seurat的2.3.4版本单独搞出一个R包,Seurat2,这样子就可以同时加载这两个R包。

下载Seurat 2.3.4

1wget https://satijalab.org/ran/src/contrib/Seurat_2.3.4.tar.gz

解压缩它

1tar xf Seurat_2.3.4.tar.gz
2cd Seurat

删除MD5文件,因为它会做文件检验

1rm MD5

修改里面所有的Seurat替换成Seurat2, seurat替换成seurat2

1find . -type f -print0 | xargs -0 sed -i "s/Seurat/Seurat2/g"
2find . -type f -print0 | xargs -0 sed -i "s/seurat/seurat2/g"

这种无差别的替换会有一个问题,会把一些这类http://www.satijalab.org/seurat非代码信息中的seurat替换成seurat2,不过这并不影响实际函数的使用。

R/seurat.R重名为R/seurat2.R

1mv R/seurat.R R/seurat2.R

之后将修改后的文件进行打包

就能用install.packages("Seurat2.tar.gz",repos=NULL,type="source")

进行安装了

1tar -czf Seurat2.tar.gz Seurat

注意: 目前未修改测试数据集的对象,所以不能用Seurat2来运行pbmc_small的例子

目前我将其上传到GitHub,所以可以用devtools进行安装。由于代码只是简单修改,存在bug,不建议尝试使用。

1devtools::install_github("xuzhougeng/Seurat2")

代码测试,数据来自文献https://www.nature.com/articles/srep39921

1library(Seurat)
2library(Seurat2)
3
4molecules <- read.delim("~/tung/molecules.txt",header = TRUE,
5                        row.names = 1)
6
7# 使用Seurat2进行分析
8obj <- CreateSeurat2Object(raw.data = molecules, 
9                          min.cells = 3, #筛选至少在3个细胞中表达的基因
10                          min.genes = 200) #筛选至少有200个基因表达的细胞
11obj <- FilterCells(obj, 
12                   subset.names = c("nUMI","nGene"), 
13                   low.thresholds = c(25000, 6000),
14                   high.thresholds = c(Inf, Inf))
15obj <- NormalizeData(
16  object = obj, 
17  normalization.method = "LogNormalize", 
18  scale.factor = 10000
19)
20
21obj <- FindVariableGenes(
22  object = obj,
23  mean.function = ExpMean, #计算x轴的值的方法
24  dispersion.function = LogVMR, #计算y轴的值的方法
25  do.plot = F,
26  x.low.cutoff = 0.0125, 
27  x.high.cutoff = 3, 
28  y.cutoff = 0.5
29)
30
31obj <- ScaleData(
32  object = obj, 
33  vars.to.regress = c("nUMI")
34)
35
36obj <- RunPCA(
37  object = obj, 
38  pc.genes = obj@var.genes, 
39  do.print = FALSE
40)
41
42pca_to_use <- 14 #上一步主成分的个数
43obj <- FindClusters(
44  object = obj, 
45  reduction.type = "pca", 
46  dims.use = 1:pca_to_use,  # 
47  resolution = 1.0, 
48  print.output = 0, 
49  save.SNN = TRUE
50)
51

(0)

相关推荐

  • 【R包荟萃】一键下载多平台R包工具:anyLib包详解

    在前面的课程中,我们为大家介绍到R包主要来源于CRAN.Bioconductor和GitHub平台,具体的包安装方法可详见[R语言学习3]R语言程序包来源与使用方法简介,然而不同平台来源的包安装方法均 ...

  • 用“共存的方法”解一道中考化学题

    关于金属化学性质的考查主要以选择题出现,或考查一种金属与几种混合盐溶液反应:或考查几种混合金属与一种盐溶液反应.所以,研究金属和盐溶液反应的文献比较多.从2015年开始,武汉市中考化学试题中关于金属化 ...

  • 圣人的使命,就是找到可以让人与自然和谐共存的方法与工具

    阅读前先播放音乐,让生活充满阳光 2CELLOS-Shape of My Heart (我心之形).mp34:36 来自紫龙传媒 宇宙的本质就是平衡,无论黑暗多么广袤都必须以光明为轴心来平衡.黑暗就是 ...

  • 高中化学离子共存判断方法

    离子共存 所谓离子共存实质上就是看离子间是否发生反应.若离子在溶液中发生反应,就不能共存.有关溶液中离子能否共存问题是中学化学中的常见问题.近几年高考几乎每年都设置判断离子共存问题的试题.题不难,但这 ...

  • Seurat2与Seurat3兼容与切换

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树, 一枚大型测序工厂的螺丝钉, 一个随机森林中提灯觅食的津门旅客. 在单细胞数据分析时,常常用到Seurat(http ...

  • UGNX1980安装教程 与UG高低版本共存安装方法

    UGNX1980安装教程 与UG高低版本共存安装方法

  • 肝气郁结与肝胆湿热共存,中医的调理方法思路

    肝主疏泄,主调畅气机,肝胆也多见湿热的病症,肝气郁结容易出现胸胁胀痛.胸闷心悸.心烦易怒.焦虑烦躁等病症,气血不调也容易出现女性月经不调.乳房胀痛.小腹胀痛等病症. 肝气郁结日久也容易形成肝火与湿热交 ...

  • UC头条:肝气郁结与肝胆湿热共存, 中医的调理方法思路

    肝主疏泄,主调畅气机,肝胆也多见湿热的病症,肝气郁结容易出现胸胁胀痛.胸闷心悸.心烦易怒.焦虑烦躁等病症,气血不调也容易出现女性月经不调.乳房胀痛.小腹胀痛等病症. 肝气郁结日久也容易形成肝火与湿热交 ...

  • 肝气郁结与肝胆湿热共存, 中医的调理方法思路

    肝主疏泄,主调畅气机,肝胆也多见湿热的病症,肝气郁结容易出现胸胁胀痛.胸闷心悸.心烦易怒.焦虑烦躁等病症,气血不调也容易出现女性月经不调.乳房胀痛.小腹胀痛等病症. 肝气郁结日久也容易形成肝火与湿热交 ...

  • 初中化学离子共存的判断方法,初中生务必掌握!

    GUIDE 导读 王老师提醒:离子共存是初中化学的难点也是重点,这个知识点一般会应用到选择题(离子共存.物质鉴别.物质除杂).实验探究题等,所以同学们一定要掌握哦! 今天,老师就和大家来聊聊离子共存的 ...