在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 !

Linux,Unix各种版本的操作系统在线安装软件命令

摘自:http://blog.csdn.net/zjg555543/article/details/8278266 linux和unix,各个版本的操作系统都有自己的软件安装方式,最方便的莫过于在线安 ...

Linux mint 18版本开启SSH服务

linux mint 18版本默认是没有安装ssh server的 需要手动安装 安装ssh server: 此命令需要联网,会自动下载安装 安装之后看是否开始了ssh, 看到ssh-agent 和s ...

linux中用shell获取昨天、明天或多天前的日期

linux中用shell获取昨天.明天或多天前的日期 时间 -- :: BlogJava-专家区 原文 http://www.blogjava.net/xzclog/archive/2015/12/0 ...

linux中用shell获取时间,日期

linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...

linux部署不同版本mysql

测试环境部署过程中经常会遇到同一个服务器上部署两个不同版本的mysql数据库,在部署过程中也会有各种各样的问题,现将部署多版本mysql的方法总结如下: 1.下载mysql版本 http://down ...

linux查看内核版本、系统版本、系统位数(32or64)

linux查看内核版本.系统版本.系统位数(32or64) 2011-05-01 22:05:12 标签:linux 内核版本 休闲 系统版本 系统位数 1. 查看内核版本命令: 1) [root@ ...

Linux下指定版本编译安装LAMP

说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

Linux 查看系统版本及位数

1. 查看内核版本命令: 1) [root@www ~]# cat /proc/version    Linux version 2.6.9-22.ELsmp (bhcompile@crowe.dev ...

Linux 查看系统版本和内核

查看系统内核版本 [root@11e71db4a00e /]# cat /proc/version Linux version -.el7.x86_64 (builder@kbuilder.dev.c ...

随机推荐

不停止MySQL服务增加从库的两种方式

不停止MySQL服务增加从库的两种方式 转载自:http://lizhenliang.blog.51cto.com/7876557/1669829 现在生产环境MySQL数据库是一主一从,由于业务量访 ...

你好,C++(5)如何输出数据到屏幕、从屏幕输入数据与读写文件?

2.2  基本输入/输出流 听过HelloWorld.exe的自我介绍之后,大家已经知道了一个C++程序的任务就是描述数据和处理数据.这两大任务的对象都是数据,可现在的问题是,数据不可能无中生有地产生 ...

BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚( 线段树 )

线段树.. -------------------------------------------------------------------------------------- #includ ...

洛谷 P1083 借教室

传送门:Probem 1083 https://www.cnblogs.com/violet-acmer/p/9721160.html 一.暴力简述 首先我们不难看出,这道题--并不是一道多难的题,因 ...

Android长度单位详解(dp、sp、px、in、pt、mm、dip)

Android中定义的dimension单位有以下这些:px(Pixels ,像素):对应屏幕上的实际像素点.in(Inches ,英寸):屏幕物理长度单位.mm(Millimeters ,毫米):屏 ...

django配置超级管理员

Admin站点管理: 概述: 内容发布:负责添加,修改,删除内容的 公告访问 配置Admin应用: 在settings.py文件中的INSTALLED_APPS中添加'django.contrib.a ...

oozie 重新提交作业

在oozie的运行过程当中可能会出现错误,比如数据库连接不上,或者作业执行报错导致流程进入suspend或者killed状态,这个时候我们就要分析了,如果确实是数据或者是网络有问题,我们比如把问题解决 ...

Ajax棵

ajax 1.什么是ajax?(异步请求,局部刷新) ajax是一个改善用户体验的技术,实质上是利用浏览器端ajax对象()向服务器发送异步(ajax对象在向服务器发送请求的时候,用户可以继续其他操作 ...

《opencv学习》 之 OTSU算法实现二值化

主要讲解OTSU算法实现图像二值化:    1.统计灰度级图像中每个像素值的个数. 2.计算第一步个数占整个图像的比例. 3.计算每个阈值[0-255]条件下,背景和前景所包含像素值总个数和总概率(就 ...

2017-2018-1 20155220 《信息安全系统设计基础》课下实践——实现mypwd

学习pwd命令 输入pwd命令 于是man 1 pwd查看pwd详细 然后查看pwd实现需要的系统调用man -k; grep 在这发现了一个功能相同的内核函数getcwd 到这步就很简单了,先查看这 ...

linux怎么切换不同版本的r,在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3相关推荐

  1. 在Linux中切换用户的命令是set,Linux基础命令---切换用户su

    Python基础之:List Python:List (列表) list 为Python内建类型,位于__builtin__模块中,元素类型可不同,元素可重复,以下通过实际操作来说明list的诸多功能 ...

  2. linux自动切换tty,Linux 中不适用功能键切换TTY

    本简要指南介绍了在类 Unix 操作系统中如何在不使用功能键的情况下切换 TTY.在进一步讨论之前,我们将了解 TTY 是什么.正如在 AskUbuntu 论坛的一个答案[1]中所提到的,TTY这个词 ...

  3. linux环境切换python3版本

    linux环境切换python3版本 在linux环境下既安装了python3.5又安装了python3.7,在安装库函数的时候有时候会遇到版本不兼容问题,例如有些库函数要求当前的python环境必须 ...

  4. r语言工作路径linux,R语言实用基础知识_工作路径-注释-安装和卸载R包_2019-12-01...

    R语言的实用基础知识有很多,都是我在工作和学习中所整理的,有的是看书整理的,也有的是从网络上的各种博客.各种资源获取的,所以我采用日更的方式进行支持整理和更新,希望能够帮到屏幕前的你! 今天是我日更的 ...

  5. java file取不到linux文件_Java中高级核心知识全面解析——Linux基本命令(切换、增删改查、压缩文件、权限命令)...

    一.目录切换命令 cd usr: 切换到该目录下usr目录 cd ..(或cd../): 切换到上一层目录 cd /: 切换到系统根目录 cd ~: 切换到用户主目录 cd -: 切换到上一个操作所在 ...

  6. linux sudo 版本,Linu下如何升级当前sudo版本

    Sudo 的全称是"superuserdo",它是Linux系统管理指令,允许用户在不需要切换环境的前提下以其它用户的权限运行应用程序或命令,通常是以 root 用户身份运行命令, ...

  7. Linux查sudo版本,Linu下如何升级当前sudo版本

    Linu下如何升级当前sudo版本 Sudo 的全称是"superuserdo",它是Linux系统管理指令,允许用户在不需要切换环境的前提下以其它用户的权限运行应用程序或命令,通 ...

  8. Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)

    Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...

  9. Linux学习笔记5——什么是Linux:Linux 核心版本与 Linux 发布商版本、如何学linux

    一.Linux是什么?它怎么来的? 1,linux是什么? 不用多说,linux就是操作系统,但我在培训的时候讲课的老师强调,linux不是操作系统而是内核,kernel...从操作系统的概念来看,操 ...

最新文章

  1. 网站应分析哪些方面来提升网站优化的效果呢?
  2. Wex5铛铛开发环境搭建步骤
  3. BZOJ1563:[NOI2009]诗人小G(决策单调性DP)
  4. 视觉SLAM找工作面试问题集锦(转自网络)
  5. javascript对下拉列表框(select)的操作
  6. linux 后台程序 cout输入到文件,istringstream在读文件时候的应用
  7. 【HDU - 5456】Matches Puzzle Game(数位dp,思维)
  8. 【Java】对JTable里的元素进行排序
  9. manga camera android,Manga-Camera
  10. MFC开发IM-第二十三篇、C++中 UTF-8转成Unicode
  11. c语言static知识点,C语言知识点集锦
  12. 静态码率(CBR)和动态码率(VBR)
  13. Winform 连接打印机
  14. 什么是资本运营的核心?
  15. php实现五维雷达图,Unity 属性雷达图
  16. win10家庭版怎么删除多余的用户
  17. windows编程学习——1 关闭窗口不退出
  18. linux centos7 iso镜像下载,CentOS Linux 7.9 (2009) iso镜像下载
  19. git WorkFlow规范
  20. 过滤器实现单一用户登录

热门文章

  1. SQL Server 数据库维护脚本合集[005]-删除数据库所有用户表
  2. [转] STL中map用法详解
  3. 操作系统原理之内存管理(第四章第一部分)
  4. springmvc中对日期格式化的处理
  5. 洛谷p2704 炮兵阵地
  6. 洛谷P2822组合数问题
  7. ThreadLocal可能引起的内存泄露
  8. 洛谷 P3391 【模板】文艺平衡树
  9. 【调试】Linux下超强内存检测工具Valgrind
  10. Javascript 获取url参数,hash值 ,cookie