jjzjj

RNA-seq入门实战(零):RNA-seq流程前的准备——Linux与R的环境创建

嘿嘿嘿嘿哈 2023-10-07 原文
RNA-seq入门实战整体分析流程

前言:
进行RNA-seq入门实战首先需要有一定的linux与R基础,推荐跟着B站生信技能树-jimmy老师学习打牢基础:
【生信技能树】生信人应该这样学linux(更新至第14集)_哔哩哔哩_bilibili
【生信技能树】生信人应该这样学R语言_哔哩哔哩_bilibili

本节概览:

  1. Linux下RNA-seq环境创建:
    Ubuntu子系统下载安装、Mniconda3与上游分析软件下载
  2. R下RNA-seq环境创建
    R与Rstudio下载安装、Bioconductor与R包下载

1. Linux环境设置

1.1 Linux系统的创建——Ubuntu

运行Linux系统一般使用服务器或者个人电脑的虚拟机(Virtualbox、VMware)和子系统,下面简单介绍Windows子系统的安装配置,
详细说明请参阅Windows子系统WSL的体验与配置——Ubuntu-22.04

  • Ubuntu子系统的下载安装
    首先在win10中搜索“ 启用或关闭Windows功能 ”,进入该程序,勾选“适用于Linux的Windows子系统”;之后去微软商店搜索Ubuntu下载安装,一般安装默认版本或者最新的22.04LTS



  • 用户权限设置
    设置好用户名和密码进入Ubuntu后,需要设置一下用户权限
    启用root需要设置密码:sudo passwd root
    添加用户至root组: usermod -aG sudo username
    切换root用户:su
    退出root:exit
  • 软件镜像源设置
    一般选择国内的清华镜像,ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,再编辑(* 注意要先切换为root用户*才能编辑该文件)
su
cd /etc/apt/
cp sources.list sources.list.bak
vim sources.list

Ubuntu版本 22.04 LTS的设置(注意要找到对应的Ubuntu版本设置)如下:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
  • 更新一下所有软件
sudo  apt update       #更新可用软件包列表
sudo  apt upgrade      #更新已安装的包

1.2 Mniconda3下载安装

一般使用Mniconda3软件进行创建分析环境和管理软件,下面简单介绍Mniconda3的安装,其详细使用说明请参阅Miniconda3的安装、配置和使用

  • 下载与安装
    切换到安装位置(一般为主目录~), 下载最新的miniconda3,bash启动安装,一直enter、yes就可以了。
wget https://mirrors.ustc.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
#wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash  Miniconda-latest-Linux-x86_64.sh
  • 设置conda软件镜像源
    依次输入以下命令设置软件镜像源,并展示镜像源地址,这里设置了中科大镜像:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge
conda config  --set show_channel_urls yes
  • 创建分析环境
    创建rna流程环境rna_p3,指定python版本为3,同时下载sra-tools 软件,之后每次要运行rna流程都要进入该环境
conda create -n rna_p3 python=3 sra-tools               
conda env list                                         #查看环境
conda activate rna_p3                                  #进入conda 环境
conda deactivate                                    #退出当前conda环境
  • 上游分析软件下载
    本次RNA-seq流程涉及软件如下所示,使用conda install -y 软件名=版本号依次进行下载即可,可同时下载多个软件,但不建议同时下载太多,容易报错

质控清洗:fastqc multiqc trim-galore
比对计数: hisat2 subread samtools=1.6 salmon


2. R环境设置

注意,安装使用R首先需要你的电脑用户名不能含有中文,否则后期运行程序会很容易报错,如果用户名含有中文请进行更改(很难。。。)或新建一个用户;
Rstudio是R的编译器,能提升用户交互体验,安装Rstudio前一定要先安装R

2.1 R与Rstudio下载安装

  • 先在清华镜像源下载 R,地址:The Comprehensive R Archive Network (tsinghua.edu.cn)
    依次进入:Download R for Windows——base——Previous releases;
    一般选择下载R 4.1.3,使用最新版可能会有不适配的问题,使用默认选项一直确定安装即可

  • 安装好 R后之后,再去Rstudio官网下载Rstudio,地址:Download the RStudio IDE - RStudio

  • Rstudio中设置清华镜像源
    依次进入:Tools——Global Options——Pakages——Change;选择镜像源


2.2 Bioconductor与R包下载

新建一个Rscript,运行以下内容,下载Bioconductor和本次实战所需所有R包等,代码修改自jimmy老师

###Bioconductor 下载
install.packages("BiocManager") 

###设置好清华镜像
rm(list = ls())   
options()$repos 
options()$BioC_mirror
#options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor/")
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options()$repos 
options()$BioC_mirror

###安装需要的包
BiocManager::install(c("GSEABase","GSVA","msigdbr","clusterProfiler" ),ask = F,update = F)
BiocManager::install(c("GEOquery","limma","impute" ),ask = F,update = F)
BiocManager::install(c("org.Hs.eg.db","org.Mm.eg.db"),ask = F,update = F)
BiocManager::install(c("DESeq2","edgeR" ),ask = F,update = F)
BiocManager::install("enrichplot",ask = F,update = F)
BiocManager::install("devtools",ask = F,update = F)
BiocManager::install("WGCNA",ask = F,update = F) 
BiocManager::install("data.table",ask = F,update = F)
BiocManager::install("tximport",ask = F,update = F)
BiocManager::install("tidyverse",ask = F,update = F)
BiocManager::install("DOSE",ask = F,update = F)
BiocManager::install("patchwork",ask = F,update = F)
BiocManager::install("RBGL",ask = F,update = F)  #Vennerable依赖包
BiocManager::install("pathview",ask = F,update = F)
BiocManager::install(c("STRINGdb","ggraph","igraph"),ask = F,update = F)
install.packages("Vennerable", repos="http://R-Forge.R-project.org") #安装Vennerable包
install.packages("statmod")

#其他一些基础包安装
options()$repos 
install.packages(c("FactoMineR", "factoextra")) 
install.packages(c("ggplot2", "pheatmap","ggpubr","ggthemes","ggstatsplot","ggsci","ggsignif")) 
install.packages("rvcheck")
(.packages())  #查看当前加载运行包

#更新所有包
rvcheck::update_all(check_R = F,
                    which = c("CRAN", "BioC", "github"))
  • 永久设置bioconductor镜像
#bioconductor | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
file.edit('~/.Rprofile')

输入以下内容:

# 清华源的镜像
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")

以上就是进行RNA-seq流程前的全部准备了,下一步就可以开始进行上游数据下载、格式转化和质控清洗等步骤啦

参考资料
GitHub - jmzeng1314/GEO (强烈推荐学习)
【生信技能树】生信人应该这样安装软件_哔哩哔哩_bilibili
【生信技能树】生信分析入门环境搭建_哔哩哔哩_bilibili


RNA-seq实战系列文章:
RNA-seq入门实战(零):RNA-seq流程前的准备——Linux与R的环境创建
RNA-seq入门实战(一):上游数据下载、格式转化和质控清洗
RNA-seq入门实战(二):上游数据的比对计数——Hisat2+ featureCounts 与 Salmon
RNA-seq入门实战(三):从featureCounts与Salmon输出文件获取counts矩阵
RNA-seq入门实战(四):差异分析前的准备——数据检查
RNA-seq入门实战(五):差异分析——DESeq2 edgeR limma的使用与比较
RNA-seq入门实战(六):GO、KEGG富集分析与enrichplot超全可视化攻略
RNA-seq入门实战(七):GSEA——基因集富集分析
RNA-seq入门实战(八):GSVA——基因集变异分析
RNA-seq入门实战(九):PPI蛋白互作网络构建(上)——STRING数据库的使用
RNA-seq入门实战(十):PPI蛋白互作网络构建(下)——Cytoscape软件的使用
RNA-seq入门实战(十一):WGCNA加权基因共表达网络分析——关联基因模块与表型

有关RNA-seq入门实战(零):RNA-seq流程前的准备——Linux与R的环境创建的更多相关文章

  1. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  2. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  5. ruby - 如何使用 RSpec::Core::RakeTask 创建 RSpec Rake 任务? - 2

    如何使用RSpec::Core::RakeTask初始化RSpecRake任务?require'rspec/core/rake_task'RSpec::Core::RakeTask.newdo|t|#whatdoIputinhere?endInitialize函数记录在http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_method没有很好的记录;它只是说:-(RakeTask)initialize(*args,&task_block)AnewinstanceofRake

  6. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  7. ruby - 有人可以帮助解释类创建的 post_initialize 回调吗 (Sandi Metz) - 2

    我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法

  8. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  9. ruby - 使用多个数组创建计数 - 2

    我正在尝试按0-9和a-z的顺序创建数字和字母列表。我有一组值value_array=['0','1','2','3','4','5','6','7','8','9','a','b','光盘','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','','u','v','w','x','y','z']和一个组合列表的数组,按顺序,这些数字可以产生x个字符,比方说三个list_array=[]和一个当前字母和数字组合的数组(在将它插入列表数组之前我会把它变成一个字符串,]current_combo['0','0','0']

  10. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

随机推荐