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

在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 到这步就很简单了,先查看这 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity手游之路四3d旋转-四元数,欧拉角和变幻矩阵

http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转。主要有三种方式。变换矩阵,四元数和欧拉角。 定义 变换矩阵可以执行任意的3d变换(平移,旋转,缩放,切边)并且透视…

本地通知

本地通知,local notification,用于基于时间行为的通知,比如有关日历或者todo列表的小应用。另外,应用如果在后台执行,iOS允许它在受限的时间内运行,它也会发现本地通知有用。比如,一个应用&…

Redux 并不慢,只是你使用姿势不对 —— 一份优化指南

原文地址:Redux 并不慢,只是你使用姿势不对 —— 一份优化指南原文作者:Julian Krispel译文出自:掘金翻译计划本文永久链接:github.com/xitu/gold-m…译者:reid3290校对者:sunui,xek…

把windows装到linux下,如何将WSL(Windows Subsystem for Linux 2)安装到Windows 10?

原标题:如何将WSL(Windows Subsystem for Linux 2)安装到Windows 10?Windows 10凭借大受欢迎的WSL(Windows Subsystem for Linux)进入Linux领域。由于最近推出了WSL的最新版WSL2,用户现在可以利用实际的Linux内核从Windows执行Linux任务。现在…

TWRP-recovery中文界面安装方法[转]

把下载到的ui.zip放入sdcard1/twrp文件夹。注意,是内置存储卡中。如没有上述文件夹,自行建立后通过文件管理器放入,不是卡刷。文件夹应如下所示:sdcard1(内置SD) | ┕--twrp(文件夹…

如何定期备份网站数据

产生这个问题的背景是我在维护两个个人的网站,因为采用的是虚拟主机,有时候空间续费不及时等,都可能造成数据的丢失,为了保障数据不丢失,因为有必要每15天左右对网站数据进行备份以防止发生不当的事情。 我们希望做的就…

初创团队可能不适合应届生小孩

根据最近招聘中接触到的一些刚毕业小孩的表现,谈谈这个问题: 1、扛不住,初创团队一般最好一人撑一快工作,刚毕业经验比较薄的小孩在这方面一是心理上不敢担当,二是能力上确实还需要磨炼成长 2、初创团队的那个环境可能…

vba执行linux命令,从VBA中的shell命令捕获输出值?

慕盖茨4494581根据Andrew Lessard的回答,这是一个运行命令并将输出作为字符串返回的函数 -Public Function ShellRun(sCmd As String) As StringRun a shell command, returning the output as a stringDim oShell As ObjectSet oShell CreateObject("WScript…

溢出和剪裁,可见性

内容溢出和剪裁 如果一个元素的内容对于元素大小来说过大,就有可能溢出元素本身。对于此情况,有一些解决办法可选。 溢出 overflow 值 visible(默认):内容在元素框外可见。一般会导致内容超出其自己的元素框,但不会改变框的形状scroll:溢出部…

C#= 栈模仿堆的操作

//原理,利用两个栈,互相作用,来模仿堆的效果,先进先出。。 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Threading.Tasks;5 6 namespace TwoStacksQueue7 {8 public class Progra…

linux计划任务执行日志,linux中centos制定计划任务执行命令并且输出日志

1.写脚本最简单的 写如下代码#!/bin/shABC1.每个命令之间用;隔开说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。2.每个命令之间用&&隔开说明:若前面…

Java-大集合拆分为指定大小的小集合

因为Oracle数据的in 最大允许1000 ,超过就会报错&#xff0c; 所以需要将集合拆分为多个集合进行处理. /*** 拆分集合* param <T>* param resList 要拆分的集合* param count 每个集合的元素个数* return 返回拆分后的各个集合*/public static <T> List<L…

AsyncTask与多任务

问题由来&#xff1a; 之前看到一篇博文&#xff0c;说AsyncTask不适合运行多任务&#xff0c; 多个任务不会异步执行&#xff0c; 当时只是印象里记住了一下也不确定&#xff0c; 今天把代码看了看&#xff0c; 把原因写出来。 问题的代码演示&#xff1a; 1 public class Asy…

iptables简单应用

可以修改/etc/rc.d/boot.local让规则重启后也能生效&#xff0c;如&#xff1a;/sbin/iptables -F/sbin/iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT/sbin/iptables -A INPUT -i eth0 -p tcp -j DROP/sbin/iptables -A INPUT -i eth0 -p udp -j DROPiptables是一个…

linux中内部命令有哪些,linux内部命令有哪些

linux中常见的内部命令有&#xff1a;1.exit命令&#xff0c;退出当前的shell&#xff1b;2.history命令&#xff0c;显示历史执行过的命令&#xff1b;3.cd命令&#xff0c;切换当前工作目录&#xff1b;4.source命令&#xff0c;重新执行刚修改的初始化文件&#xff1b;5.ech…

使用SALT-API进入集成开发的简单样例

测试的时候&#xff0c;可以CURL -K&#xff0c;但真正作集成的时候&#xff0c;却是不可以的。 必须&#xff0c;不可以让TOKEN满天飞吧。 现在进入这个阶段了。写个样例先&#xff1a; import salt import salt.auth import salt.log import saltapiopts salt.client.LocalC…

POJ 2778

题意&#xff1a;很Uva项链题目类似。 区别&#xff1a; 1、字符串很多&#xff0c;用map hash超时&#xff0c;用Trie查找。 2、DFS判断连通&#xff0c;和并查集判连通&#xff0c;被我写错的地方时&#xff0c;查森林的时候&#xff0c;还是要Find_Set。 1 #include <ios…

linux挂载VMFS硬盘,ESX4.1挂载NFS共享存储(VMkernel)

要使用vmotion,iscsi,nfs功能&#xff0c;必须启用VMkernel端口&#xff0c;ESX 4.1默认不启用&#xff0c;ESXi 5.x默认启用。在 vCenter Server“SZVCENTER01”上调用对象“datastoreSystem-44”的“HostDatastoreSystem.CreateNasDatastore” 失败。挂载NFS存储的ESX控制台命…

Perl学习之四:语句(续)

循环控制&#xff1a;1.last 退出标签的语句块2.next 3.redo不推荐&#xff0c;循环次数不可控 4.goto不推荐。***************************************标签&#xff1a; 先定义一个 labellast|next|redo|goto label&#xff1b; last VS next 相当于C语言中的&#xff1a;las…

2017年8个最流行的Web编程趋势

互联网一直在不断的发展&#xff0c;这意味着开发人员必须及时了解当前的所有变化。人们在新闻、社交、购物到银行等各大方面都与互联网有着千丝万缕的联系。因此&#xff0c;为了满足全球数百万网络用户的需求&#xff0c;Web开发需求正在上升。Web编程趋势是在W开发的过程中不…