Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >R语言环境搭建

R语言环境搭建

作者头像
生信喵实验柴
发布于 2022-10-25 11:33:53
发布于 2022-10-25 11:33:53
1.1K00
代码可运行
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴
运行总次数:0
代码可运行

背景

R 语言已经广泛的应用与生物信息分析中,包括 RNAseq,单细胞,生物统计,绘图等都要用到 R 语言。R 语言是生物信息分析平台重要的组成部分。本章节中我们将在服务器中配置完整的 R 语言分析环境。

一、安装 R 软件

默认的 CentOS 源中是没有 R 软件的,需要安装 epel 源,我们之前已经安装了,R 软件在里面的名字为R.x86_64,如果不知道这个名字,可以使用yum search进行搜索。由于yum search不能使用正则表达式进行限制范围,会将所有包含 R 字符的结果都列出来,这里我们利用一个技巧。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(base) [root@mgt ~]# yum search R | grep "^R"
R.x86_64 : A language for data analysis and graphics
R-4.1.1.x86_64 : GNU R statistical computation and graphics system
R-RInside.x86_64 : C++ Classes to Embed R in C++ (and C) Applications
R-RInside-devel.x86_64 : RInside Development Files
R-RInside-examples.x86_64 : RInside Examples
R-RUnit.noarch : R Unit test framework
R-Rcpp.x86_64 : Seamless R and C++ Integration
R-Rcpp-devel.x86_64 : Rcpp Development Files
R-Rcpp-examples.x86_64 : Rcpp Examples
R-core.x86_64 : The minimal R components necessary for a functional runtime
R-core-devel.x86_64 : Core files for development of R packages (no Java)
R-devel.x86_64 : Full R development environment metapackage
R-highlight.x86_64 : R Syntax Highlighter
R-inline.noarch : Functions to Inline C, C++, Fortran Function Calls from R
R-java.x86_64 : R with Fedora provided Java Runtime Environment
R-java-devel.x86_64 : Development package for use with Java enabled R components
R-littler.x86_64 : littler: R at the Command-Line via 'r'
R-littler-examples.x86_64 : R-littler Examples
R-qtl.x86_64 : Tools for analyzing QTL experiments
R-rlecuyer.x86_64 : R interface to RNG with multiple streams
R2spec.noarch : Python script to generate R spec file
RBTools.noarch : Tools for use with ReviewBoard
RabbIT.noarch : Proxy for a faster web
RackTables.noarch : A data-center asset management system
RdRand.x86_64 : Library for generating random numbers using the RdRand
RdRand-devel.x86_64 : Development files for the RdRand
ReviewBoard.noarch : Web-based code review tool

其中的 R.x86_64 就是要的结果,使用 yum info 可以查看 R 包的版本信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#查看 R 版本
yum info R.x86_64

但由于 R 软件更新较快,每半年就有一个较大的版本升级,且目前很多 R 包安装编译比较麻烦,这里我们推荐使用 bioconda 来安装 R 和相应的 R 包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#利用 bioconda 安装 R
mamba install -y r-base

还可以编译安装R语言,之前介绍过

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#下载
wget https://cloud.r-project.org/src/base/R-4/R-4.2.1.tar.gz
tar -zxvf R-4.2.1.tar.gz
cd R-4.2.1
#检测配置
./configure 
#编译
make
make install
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mv /usr/bin/R /usr/bin/R.bak #将系统3.6.0R备份
ln -s /share/Software/biosoft/R-4.2.1/bin/R /usr/bin/R #软连接新的4.2.1
[root@mgt R-4.2.1]# ll /usr/bin/R
lrwxrwxrwx 1 root root 37 Jul  6 16:49 /usr/bin/R -> /share/Software/biosoft/R-4.2.1/bin/R

还可以使用rstudio官网上的rpm安装(推荐)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export R_VERSION=4.2.1
curl -O https://cdn.rstudio.com/r/centos-7/pkgs/R-${R_VERSION}-1-1.x86_64.rpm
sudo yum install R-${R_VERSION}-1-1.x86_64.rpm
mv /usr/local/bin/R /usr/local/bin/R.bak
mv /usr/local/bin/Rscript /usr/local/bin/Rscript.bak
sudo ln -s /opt/R/${R_VERSION}/bin/R /usr/local/bin/R
sudo ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/local/bin/Rscript

二、安装 Rstudio-server

Rstudio 是 R 的集成开发环境,非常的好用,在服务器端安装 Rstudio-server 之后就可以通过浏览器访问 R,非常的方便。在配置 Rstudio-server 之前需要注意,首先需要安装 R 软件。另外使用免费版本的 rstudio-server 软件只能使用一个版本的 R 语言。且只能通过管理员安装和配置,个人用户无法配置 rstudio-server。

2.1 安装 rstudio-server

https://www.rstudio.com/products/rstudio/download-server/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#安装rstudio-server
wget https://download2.rstudio.org/server/centos8/x86_64/rstudio-server-rhel-2021.09.2-382-x86_64.rpm
yum install rstudio-server-rhel-2021.09.2-382-x86_64.rpm

#检查是否安装成功
rstudio-server verify-installation
rstudio-server status

默认 rstudio-server 使用的是/usr/bin/下的 R,现在我要切换默认使用 bioconda 的 R。需要

修改 rstudio-server 的配置文件。或者将 R 软连接到/usr/bin 下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#修改rstudio-server配置,配置R版本的地址,前面我们软链接了,所以省去这一步
# vim /etc/rstudio/rserver.conf
# Server Configuration File
#rsession-which-r=/usr/local/bin/R

2.2 开启 8787 端口

CentOS7 系统采用新的防火墙策略,因此,安装完成 Rstudio 之后,还不能通过浏览器访问,需要进行防火墙设置才行,ubuntu 系统可以直接访问,下面的设置非常重要。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl start rstudio-server.service
systemctl enable rstudio-server.service
systemctl status rstudio-server
firewall-cmd --permanent --add-port=8787/tcp
firewall-cmd --permanent --add-port=8787/udp
firewall-cmd --reload

完成以上步骤,rstudio-server 就配置完成了。利用浏览器输入 ip 地址:8787 就可以愉快地访问了。后面需要安装 R 包,都可以通过 bioconda 进行安装了,非常的方便。

2.3 配置 R 包

可以在 R 中安装 R 包,我们需要注意下载的位置,安装到库的位置,大家都可以做下了解,以防文件混乱

也可以使用 bioconda 进行配置,需要注意 R 包的名字在 bioconda中以 r-为前缀,Bioconductor 包的名字为 bioconductor-前缀。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.libPaths(c("/opt/R/4.2.1/lib/R/library"))#查看R包库位置
"/home/xhs/R/x86_64-pc-linux-gnu-library/4.1" "/opt/R/4.2.1/lib/R/library"
#上面有两个,我们想安装到第二个路径中
#先在命令行给到目录修改权限、doc为包的介绍html存放目录也需要权限
sudo chmod -R 777 /opt/R/4.2.1/lib/R/library
sudo chmod -R 777 /opt/R/4.2.1/lib/R/doc
#/home/xhs/Rpack/download创建,用于存放下载的RR中安装命令
install.packages('ggplot2',lib = "/opt/R/4.2.1/lib/R/library",destdir = '/home/xhs/Rpack/download')

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
美多商城项目(十一)
If you saw the darkness in front of you, don't be afraid, that's because sunshine is at your back.
小闫同学啊
2019/07/18
1.5K0
美多商城项目(十一)
美多商城项目(二)
1.获取参数进行校验(参数完整性,是否同意协议,手机号格式,手机号是否已经注册过,两次密码是否一致,短信验证码是否正确)
小闫同学啊
2019/07/18
1.1K0
美多商城项目(二)
美多商城前三天重点内容大盘点
Django中其实提供了用户模型类User保存用户的数据,让我们先来看一下自带的模型类都包含了些什么:
小闫同学啊
2019/07/18
7990
美多商城前三天重点内容大盘点
美多商城前三天遗忘知识点回顾
既来之,则安之。看似是一种无奈,一种妥协,其实却是智慧之举。我们既然已经来到这个地方,既然已经做了这份工作,那么就全心全意的去对待。我们要保持着积极向上的态度,即使枯燥的工作,我们任然可以学习收获很多。你要相信,没有任何一件事是白做的,你所学的东西,总会在以后的某一刻使用到。少一些功利心,少一些消极态度,会发现生活如此美好。
小闫同学啊
2019/07/18
3820
美多商城前三天遗忘知识点回顾
美多商城项目导航帖
Kindness is the sunshine in which virtue grows.
小闫同学啊
2019/07/18
1.4K0
美多商城项目导航帖
python技术面试题(五)
What the caterpillar calls the end, the rest of the world calls a butterfly
小闫同学啊
2019/07/18
6680
python技术面试题(五)
项目重要技术点介绍
我们的项目是一个B2C模式的电商网站,采用的是前后端分离开发模式。前端主要使用vue.js开发,后端则主要使用DRF框架。
小闫同学啊
2019/07/18
2.4K0
项目重要技术点介绍
Vue + Flask 小知识(五)
认证:判定用户的合法性,一般是判断是否已经登陆 鉴权:判断用户的权限,一般是判断用户是否可以继续继续某个操作
周萝卜
2019/07/30
1.3K0
美多商城项目(五)
I would rather die of passion than of boredom.
小闫同学啊
2019/07/18
1.2K0
美多商城项目(五)
美多商城项目(七)
If you can change your mind, you can change your life.
小闫同学啊
2019/07/18
1.9K0
美多商城项目(七)
美多商城项目(八)
It is our attitude at the beginning of a difficult task which, more than anything else, will affect its successful outcome.
小闫同学啊
2019/07/18
1.1K0
美多商城项目(八)
美多商城项目(一)
1.在给用户授权的时候,用到了一个%,表示的是任何ip都可以连接这个数据库。换句话说,如果你换了电脑,你也是可以进行连接数据库继续开发的。
小闫同学啊
2019/07/18
1.4K0
美多商城项目(一)
使用python实现后台系统的JWT认证
專 欄 ❈ 茶客furu声,Python中文社区专栏作者 博客: http://www.jianshu.com/p/537b356d34c9 ❈ 今天的文章介绍一种适用于restful+json的API认证方法,这个方法是基于jwt,并且加入了一些从oauth2.0借鉴的改良。 1. 常见的几种实现认证的方法 首先要明白,认证和鉴权是不同的。认证是判定用户的合法性,鉴权是判定用户的权限级别是否可执行后续操作。这里所讲的仅含认证。认证有几种方法: 1.1 basic auth
Python中文社区
2018/01/31
3.2K0
第三方微信授权登录APP接入_使用第三方应用打开是什么意思
在微信开放平台 https://open.weixin.qq.com/ 注册成为开发者,具体步骤略
全栈程序员站长
2022/09/20
1.4K0
第三方微信授权登录APP接入_使用第三方应用打开是什么意思
OAuth2.0理解和用法
现在网络的资料到处都是,很容易搜索到自己想要的答案。但答案通常只能解决自己一部分的问题。如果自己想要有一套自己的解决方案,还得重新撸一遍靠谱。
Ryan-Miao
2021/04/19
1.3K0
OAuth2.0理解和用法
Python面试题大全(三):Web开发(Flask、爬虫)
193.scrapy和scrapy-redis有什么区别?为什么选择redis数据库?
不吃西红柿
2022/07/29
1K0
美多商城项目(四)
Know well what leads you forward and what holds you back,and choose the path that leads you to wisdom.
小闫同学啊
2019/07/18
1.3K0
美多商城项目(四)
【One by One系列】IdentityServer4(一)OAuth2.0与OpenID Connect 1.0
在微服务场景中,身份认证通常是集中处理,这也是有别于单体应用一把梭哈的模式,其中,在微软微服务白皮书中,提供了两种身份认证模式:
DDGarfield
2022/06/23
1.6K0
【One by One系列】IdentityServer4(一)OAuth2.0与OpenID Connect 1.0
看看有哪些 Web 认证技术.
BASIC 认证会将“用户名:密码”经过 Base64 加密后放入请求头部的 Authorization 字段用于服务端校验,因为采用的是 Base64 加密,密码被盗用的风险极高,另外一般的浏览器也无法实现认证注销操作。
JMCui
2020/07/06
1.1K0
【愚公系列】2022年01月 Django商城项目13-登录界面-QQ登录功能实现
相关连接:https://connect.qq.com/manage.html#/appcreate/web
愚公搬代码
2022/01/18
3920
【愚公系列】2022年01月 Django商城项目13-登录界面-QQ登录功能实现
相关推荐
美多商城项目(十一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档