TOP

0 题记

从2018-7-16日开始,我讲了四天课(实际3天半,共21个小时),内容包括Linux入门、Python入门和R入门。目的是让大家能在自己的PC和服务器上进行生物信息学分析相关的实践。去年我用了差不多21小时只讲了R入门。今年为什么添加了Linux和Python?因为去年我自己这两个都还没有入门,也没有任何实践操作经验,去年有基因所的老师来教这个部分。今年,我更希望大家能从基因所老师那里学到 生物信息 相关的东西,不要因为系统操作跟不上,一直云里雾里,所以讲了这个课程的 pre course

本文总结了一个没有什么计算机知识的学生要入门生物信息,完成个人 PC 环境配置的基础知识。算是为这几日以教促学的自我总结。

  • 以下操作在 Mac OS X 中测试无误,Windows 部分主要靠回忆。
  • 如果在 Windows里面进行,打开Termial对应打开 CMD 或者 powershell
  • 快捷需要相应调整,Windows 没有 cmd 键.

1 软件安装

1.1 系统 Linux vs Mac vs Windows

课程中涉及到的系统包括:

  • 一台能远程登录的服务器 Linux(Centos7)
  • 我用 Mac
  • 学生大部分使用 Windows
    • 但是从 XP 到 10 都有。系统和配置的种类很多,维护状态也大不相同,我不能强求大家先重装一个系统再来,所以遇到了五花八门的问题。
  • 总结下问题如下:
    • 内存不足
    • 系统版本老
    • 原安装的软件混乱
    • 使用中文用户名

1.2 软件

  • 服务器端没有做什么事情,它只是有一个校内的固定ip地址,能够让大家远程登录。
  • 个人电脑(PC)上面一共安装了四大类软件。
  • 逻辑如图
    • PC能与服务器通信和文件传输;
    • 能建立和维护 R 和 Python 的工作环境;
    • 能在开发环境中编写和调试代码。
  1. 与服务器连接

    • Filezilla 或 Cyberduck
    • Powershell 或 Terminal
  2. 编译语言
    • R 3.5.1:先安装,再装Rstudio
    • Python 3.6:Conda顺带安装
    • Java:由于有些软件会用到,不是所有人都安了,所以也让大家装了
  3. 环境管理
    • Anaconda/miniconda:Python管理
    • Rstudio:R管理
  4. 代码编辑器/IDE
    • Jupyter: 以前叫 ipython notebook:支持Python,R等,代码+注释的编辑方式,使可读性强,适合教学用。
    • Sublime Text 3:轻量,免费,多种语言高亮支持,也能提供编译。需要自己进行进一步配置。个人很喜欢 ST3。不仅快,功能丰富,而且打开大的数据也不卡。但是,ST3有本事能让你用的得心应手,前提也是你得花时间配置。思考了下,认为这篇,不适合展开细讲,所以留一个坑吧。

1.3 安装

1.3.1 文件传输 Filezilla | Cyberduck

本来以为最没有问题的是这个部分,不过还是出了点小问题。

  • Filezilla 下载成了 Filezilla server
  • Cyberduck 连接的时候应该选择 SFTP 类型。

1.3.2 远程登录 Powershell | Terminal

Windows

  • Powershell Windows 8.1 之后自带,有就能直接运行 ssh 命令。
  • 没有可以下载,或者下 PuttyOpenssh
  • 不想安装可以在 CMD 里面使用 telnet 命令。

Mac

  • Terminal 自带。
  • 代码ssh -p 22 username@ip

登录信息

  • port 端口 -p
  • ip 地址
  • 用户名
  • 密码

让服务器说中文

  • 远程登录之后,打开家目录(当前目录/home/username)下的 .bash_profile
vi .bash_profile
  • i
  • 输入 export LANG=zh_CN.UTF-8
  • esc,再输入 :wq 回车。
  • 然后重新登录,或者运行。
source .bash_profile

1.3.3 语言编译器 R | Python

R

下载安装3.5.1,没有遇到报错 link

Python

装 Python 3,安装 conda 就自动装上。

Java

也是去官网下载安装,没有遇到报错,只是大,需要等。

1.3.4 环境管理 conda | Rstudio

用来管理和安装各种软件包和模块。

Conda for Python

  • Anaconda 和 Miniconda 都是在使用 Conda 命令来管理包(模块)和运行环境的。
  • 区别是Anaconda把常用的大量的包都预先安装好了。Anaconda有用户界面(GUI),Miniconda只是能够用命令行(Command line)来运行。
  • Anaconda 预装了 Jupyter Notebook,还能一起管理 Rstudio

看到这里是不是觉得那还装啥别的,就来Anaconda 了吧!实践告诉我,并不是。Anaconda有三个硬伤:

  1. 内存不够开起来慢,就这么说吧,拖家带口,跑不动。
  2. Anaconda没有提供最新的R环境。目前支持的是 R3.4.3 可是已经有一些包要求不是R3.5.1就不准装,目前,我随便搜了下,并不知道怎么在 Anaconda里面让R的核更新。
  3. 如果想自定义,里面的关系盘根错节,不知道怎么改。
    比如我自己下一个 R3.5.1 然后再修改依赖关系,但是我发现其实 bin 里面放的是一个 Wrapper,我不知道怎么改,即使我知道自己的新R在哪里,我尝试了各种简单的拖动,替换,并没有成功。

所以,我决定把 Anaconda 卸了,安装 miniconda,然后通过 Conda 来安装 Jupyter

安装过程
  1. 下载文件,例如 Miniconda3-latest-MacOSX-x86_64.sh
  2. 运行。

    注意,这里是 .sh,双击以文件形式打开,运行是在 Terminal 中进入文件所在文件夹,然后运行的。

cd Download
bash ./Miniconda3-latest-MacOSX-x86_64.sh
conda 使用

通常就是知道自己需要安装的包的名字(例如:numpy),然后输入命令。运行后,首先会完成解析,确认,输入 y安装才会继续。解析返回的内容包括:

  • 将安装哪些依赖dependency(也就是相关的包)
  • 哪些会升版本
  • 那些需要降级版本

会要下很多很多东西,但是等就好。中间报错通常因为下载中断,再运行一次,会从断的地方继续。

conda install numpy
conda 频道 channel
  • 不同的 channels 放着不同的东西。
  • 添加频道
conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
  • 生物信息常用 bioconda,里面包含 biopython 模块
conda install biopython

提高下载速度 mirror

  • 清华有anaconda的 镜像,按需求选择了几个需要的 channel。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

Rstudio

安装 Rstudio 一般问题也不大,容易错的是:

  • 安装在含义中文的路径中,比如用户名,对后续使用有影响。
  • 没有安装 R 就装 Rstudio。

1.3.5 代码编辑IDE Jupyter | Sublime Text3

交互式开发环境 IDE interactive development enviroment: 意思就是你能在里面写代码,然后看到结果。还能辅助你管理包环境变量,文件等。

首先 Rstudio 也是IDE,但是它是 R 专用的 IDE。
下面追加安装的两个IDE能支持多种语言,特别是 Sublime Text 3,简直各种小能手。

Sublime Text 3

  • 安装没有出现过问题,注意版本要新。
  • ST3 能用各种你已经安装的 编译器(例如Python和R)来运行对应的代码文件(.py和.r)。
    在对应的打开文件中,按 Cmd + B,在 Tools -> Build System 选择合适的编译器,或者自动,ST编译代码,在下方显示结果。
  • Python 能输出图形,如果编译之后没有图,参考
  • R 目前没有直接出图,有需要安装 REPL 参考

Jupyter

  • 使用conda安装,
conda install jupyter
  • 推荐安装 nbextension插件,这样能有目录,高亮,帮助窗口等附件功能。
conda install -c conda-forge jupyter_contrib_nbextensions
  • 激活使用的插件,可以打开 notebook 之后勾选;或者使用代码。推荐打开help panel,table of content和highlighter。
jupyter nbextension enable highligher/main 
  • 运行 notebook:输入命令,会以当前的路径作为根目录,以默认浏览器打开一个页面(本地服务器)。
jupyter notebook

1.3.6 Jupyter notebook + R kernel

  • 因为我们已经安装的 R 现在就是要让 Jupyter notebook 找到R了。很简单,使用IRkernel。
  • 有一个小坑。首先以下代码是 R 里面运行的,前面两行能在 R studio 运行成功,但是第三行一定要在 R 本身 运行!
  • 建议在 Terminl 中输入 R 运行,然后再运行下面的代码。
  • 结果会将你 当前使用的 R 的版本 作为 核(kernel)
  • 以后打开 Jupyter notebook 就能选择 R 作为核了。
install.packages('devtools')
devtools::install_github('IRkernel/IRkernel')
# or devtools::install_local('IRkernel-master.tar.gz')
IRkernel::installspec()  # to register the kernel in the current R installation

1.4 常见问题

1.4.1 不知道自己有没有安装成功

  • 首先要区分 命令 command程序 app exe。本质上 运行命令 运行的是 命令 指向的 程序命令 可以理解为放在 环境变量 指向的 位置 PATH中的 程序本身,或者 程序的超链接
  • 例如:R 本来装在 /Library/Frameworks/R.framework 中,但是在 /usr/local/bin/ 里有一个 R 的超链接,所以我们可以在任何地方 只输入 R 就运行程序。比较下面的代码:
    • 运行的是 R命令,通过 环境变量找到 R程序,然后打开。
    $R
    • 运行的是 当前路径下的R程序,所以前面有 ./。如果所在路径没有 R 不能运行成功。
    $./R
  • 因此,在命令行模式中,通常输入 程序 的名字就能知是否安装成功。例如输入Java,Python,R 或 Jupyter

1.4.2 安装程序或修改环境变量后没有生效

  • 例如安装了 miniconda 之后,conda 命令并没有马上被找到。因为其实有一条命令还没有生效。打开 .bash_profile
vi ~/.bash_profile

看到里面写着如下命令。它在每次登陆的时候生效,所以需要再登陆一次。

# added by Miniconda3 installer

export PATH="/Users/YOURNAME/miniconda3/bin:$PATH"

1.4.3 环境变量设置出错

环境变量是什么?

环境变量 = PATH 也就是路径。一个系统帮助我们找到要运行的程序的 路径

  • 虽然是一样的安装程序,但是经常就有人的机器,安装了之后还是不能运行。其实就是安装的过程没有完成添加 环境变量 PATH。我们可以自己添加环境变量。

  • 大家都很不明白什么是环境变量。请看以下 Windows 的例子。
  • 如果 blastn.exe 装在了 D:\Blast+ 中。直接在 CMD 中运行 blastn 是不会成功的,因为我们没有把 D:\Blast+设置为让系统帮我们找可执行文件的位置 =
    PATH 。

如何修改

  • Mac 中详细说明见上一条。以下代码仅为例子。
echo $PATH
vi ~/.bash_profile

# added by Miniconda3 installer

export PATH="/Users/YOURNAME/Blast+/bin:$PATH"

  • Windows 我的电脑,右键,属性,高级设置,环境变量,在原有的环境变量基础上加上
    ;C:\Blast+

  • Windows 10 才能逐条显示环境变量中的路径,能用浏览的方式加入新的。
  • Windows 命令行方式添加。

set PATH=%PATH%;D:\Blast+
echo %PATH%

1.4.4 下载错了位(32 vs 64)或版本

  • 如果不是从官网下载,常常已经不是最新的版本,有时候不能正常的支持所有的包。
  • 目前还有一些笔记本是32位的,但是一些软件最新的版本已经没有32位了,比如Blast+。解决的方法是下载稍微老一些的版本。

1.4.5 缺少管理员权限

  • 在图形界面安装,如果是因为没有管理员权限的问题,有时候是不会报错,只是一直安装不成功。
  • 如果在命令行界面,安装失败才能看到返回的错误信息。
  • Windows 可以用管理员权限打开 CMD。注意没有 sudo 命令。以下两个都是网上找的,没测试。来源。
runas /noprofile /user:Administrator cmd
ru
  • Mac 里面可以用 sudo 来运行。例如
sudo conda install pandas

2 总结

2.1 最小安装

  • Filezilla/Cyberduck
  • minicoda
  • R
  • Rstudio
  • Jupyter

2.2 跟不上进度的主要原因

  • 不能理解绝对路径和相对路径 = 因为找不到文件报错
  • 不习惯使用 table 补齐代码 = 输入错误
  • 不能理解变量的作用域 = R里面不懂如何使用$
  • 不知道 在不同语境下的含义,特别是在 R 里面 = 弄混变量和字符串
  • 不知道 [] () 使用时候的不同含义 = R里面的函数和内容提取
  • 不知道一般有哪几类错误
  • 关键是不看错误信息说什么,特别是信息长又是英语的时候,更别说分析问题怎么解决
  • 不知道怎么把大问题拆成小步骤,听指导的时候总是跳步骤。

有的学生会很积极的来上课,但一直跟不上,然后就一直问别人该怎么操作,发现代码运行出来,就很满意了,但是他们唯独不做的事情是理解问题和分析问题。也不在乎自己是不是获得了独立完成的能力。

以前我认为只要老师讲得够清楚就能解决问题。好像也不是这么回事。很多基础的概念和原理,很多人并不能按照我期待的理解。可能是每种语法还是需要一定的时间来记忆。知识也需要发酵。

比如,我希望大家从表格数据里提取一个列,做逻辑运算,再把结果添加到数据的新列里。需要使用 $ 提取内容,>做逻辑计算 , 最后通过 $ 把计算结果赋值 <- 给原来的 不存在的列,完成添新列。我发现,大家不能完成不是单纯的不记得使用哪个命令,重要的是不能把这个任务线性化,不能分割为最小的步骤。我会一直努力拆解,然后提醒。最后发现,真的要精确到每一步,才有可能准确理解。

df$z <- df$x > 3 读出这个代码里面的数据流向也是入门的一道坎。

另外,我还是容易不淡定,嗯。

转载于:https://www.cnblogs.com/Xeonilian/p/setup-environment-for-bioinformatics-linux-python-r.html

生物信息电脑运行环境搭建-Python R Linux相关推荐

  1. Python运行环境搭建

    1.概述 对于初学者来说,如何编写自己的第一个可以正常运行的Python程序可能不是一个简单的事,因为他需要一个运行环境进行支撑.下面就跟大家一起看一下如何搭建python的运行环境. python是 ...

  2. Python运行环境搭建/代码的编写和执行

    Python 运行环境搭建 上面我们学习了 Python 是一门解释型编程语言,那么 Python 代码离不开 Python 解释器,所谓的搭建 Python 开发环境搭建的核心就是按照 Python ...

  3. 嵌入式arm linux Java运行环境搭建和注意事项

    嵌入式arm linux Java运行环境搭建和注意事项 我的开发硬件环境 搭建步骤 1. 下载 ORacle 公司的ejdk-8u211-linux-arm-sflt.tar.gz(软件浮点版本,这 ...

  4. 基于RK3308的ROS运行环境搭建和交叉编译

    基于RK3308的ROS运行环境搭建和交叉编译 固件编译环境 准备工作 软件包安装 交叉编译工具链介绍 下载 SDK SDK 目录结构 全自动编译脚本 烧写镜像文件 第一步,编译固件(ubuntu18 ...

  5. 启明云端分享|ESP32-S3开发环境搭建,这里我们会介绍两个比较常用的开发环境搭建:WINDOWS\LINUX

    ESP32-S3开发环境搭建,这里我们会介绍两个比较常用的开发环境搭建:WINDOWS\LINUX 详细安装步骤概览 注:目前master分支,支持S3. 官方开发文档:包含多种平台 https:// ...

  6. 大数据技术之Hadoop(入门)概述、运行环境搭建、运行模式

    文章目录 1 Hadoop 概述 1.1 Hadoop 是什么 1.2 Hadoop 优势 1.3 Hadoop 组成(面试重点) 1.3.1 HDFS 架构概述 1.3.2 YARN 架构概述 1. ...

  7. 大数据之Hadoop3.x 运行环境搭建(手把手搭建集群)

    文章目录 写在开头 安装包准备 一.Hadoop运行环境搭建(开发重点) 1.1 模板虚拟机环境准备 1.2 克隆虚拟机 1.3 在hadoop102安装JDK 1.4 在hadoop102安装Had ...

  8. Zephyr物联网操作系统之运行环境搭建(一)

    对于zephyr这个实时嵌入式操作系统,可以先在x86架构上搭建运行环境,学习相关知识.之后,根据实际需求,再将操作系统移植到不同架构的MCU上. 一.环境搭建 准备工作:安装ubuntu操作系统 虚 ...

  9. vs2017运行环境_从零开始针对 .NET 应用的 DevOps 运营实践 运行环境搭建

    一.Overview 最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actio ...

  10. PP-Human人类属性运行环境搭建

    PP-Human人类属性运行环境搭建 功能介绍 PP-Human提供了目标检测.属性识别.行为识别.ReID预训练模型,以实现不同使用场景,用户可以直接下载使用.Paddle humank可以实现实现 ...

最新文章

  1. python两道简单的面试题
  2. 10474 - Where is the Marble?
  3. 建立FPGA深度学习加速生态圈,为人工智能赋能
  4. 通信网络基础期末复习-第六章-拥塞控制
  5. C++ WINDOWS API 第2章 Windows API概要
  6. Android 分享功能大全
  7. 从golang-gin-realworld-example-app项目学写httpapi (四)
  8. 阿里云部署flask
  9. python经典题库和答案_Python99道经典练习题答案.docx
  10. ArcEngine中拓扑的使用
  11. Java项目_宠物领养系统_不到一小时教会你
  12. 惠普win7驱动_win7怎么样打开无线网卡开关
  13. python 日本 地图 热力图_python 在百度地图上画热力图
  14. Pyhton计算一元二次方程的根
  15. Python项目实战:爬取图虫创意优质高清壁纸图
  16. pip install 安装的问题
  17. 【唐诗学习】五、山水田园诗派代表
  18. AI for Science年度激辩:AlphaFold成功难以复制,数据人才生态建设都是挑战|MEET2023...
  19. 360随身wifi驱动 v3.1.0.1075 官方版
  20. 淘宝客导购产品设计(二)

热门文章

  1. 学历学位验证查询流程中国执行信息公开网执行人查询结果查询流程
  2. eclipse IED的优化(gc.log)
  3. 高频引力波数值计算matlab,李刚李莉张雏黄敬霞受热变形及系统优化分析J光.doc...
  4. Xcode10适配之libstdc++.6.0.9.tdb
  5. html input 宽度自适应,CSS实现input宽度根据输入内容自适应
  6. 怎样关闭百度云开机启动服务器,怎样取消百度网盘的启动打开?百度网盘关闭启动自启的办法...
  7. [CSP-S模拟测试]:砍树(数学+模拟)
  8. app抓包于appium爬取数据
  9. 用python画竹子_基于Python的一个简单爬虫(糗事百科爬虫)
  10. 直接下载 * http://softforspeed.51xiazai.cn/down/BaiduNetdisk_6.9.7.4.exe