Skip to content

linux_chenxupeng

James Chen edited this page Apr 19, 2018 · 1 revision

#Tips about Linux

Edited by 19' Under Xupeng Chen

Conda & Bioconda

Conda是一个包管理软件,可以帮助方便地下载各种软件而不需要编译。尤其是Bioconda可以用来管理linux系统上的生信相关的软件,是解决安装权限不够的问题的好工具。

Conda

conda是一个包,依赖和环境管理工具,适用于多种语言,如: Python, R, Scala, Java, Javascript, C/ C++, FORTRAN

安装

Anaconda安装可以去官方下载,但是强烈推荐使用tuna镜像,免流量,而且速度极快。 下载地址,下载.sh文件后运行,按照提示一步一步往下运行即可。 下载Anaconda后,很多python的常用库都会被自动安装好,另外建议运行以下命令

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 install packages命令下载需要的包的时候,会自动从tuna镜像下载,速度会非常快。

Bioconda

Bioconda是conda上一个分发生物信息软件的频道,使用它的最大好处是,你不用自己编译软件了。 Conda tuna 安装 conda设置 从tuna下载免流量,快 目前Bioconda有超过130个添加、更新和维护生物信息软件的贡献者,他们为这个频道发布了1500多个软件包。总结起来,bioconda有以下几个特点:

  • 软件是编译好的,无需自己编译
  • 跨平台,支持Linux和Mac OS(本身conda还支持Windows)
  • 支持多种语言,Python/Perl/R/Java/Go等
  • 兼容多种语言的包管理器,如pip,CRAN,CPAN,Bioconductor,apt-get以及 homebrew 针对Python来说,使用conda相比pip的很大优势,就是不用自己编译。安装软件最头疼的问题,就是解决编译报错,很多时候忙活一天就为了把一个软件装好。

使用方法

先添加Bioconda频道

conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda

然后即可用conda安装各种需要的软件,可以先去bioconda channel看看自己需要的软件在不在列表内。

conda install bowtie
conda create -n myenv bwa bowtie hisat star #a new environment can be created
source activate myenv #activate the environment

参考资料: Using Bioconda — Bioconda documentation packages list

在服务器上运行jupyter notebook并在本地浏览器使用

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写(markdown)、运行代码和展示结果。

  • jupyter适合课题的早期尝试、绘图等非常便利,代码重复运行和复制粘贴方便,方便反复调试,尤其适合尚未工程化,需要大量尝试的阶段。

  • jupyter非常适合教学,交互效果非常好,github上有大量的教学项目是用jupyter notebook展示的,方便查看结果,查看相关说明、公式,方便学习者进行反复实验。

本地设置服务器信息

vi .ssh/config
Host ibme
HostName 166.111.152.116 #ibme的ip
ControlPersist yes
ControlMaster auto
User chenxupeng
DynamicForward 127.0.0.1:32987 #最后的port(如32987)要自己设置,不能与他人冲突

使用SwitchOmega在本地浏览器设置代理

添加情景模式,如ibme

代理协议SOCKS5,代理服务器127.0.0.1,代理端口填写自己设置的port。

在auto switch页面添加规则
172.235.0.*,192.235.0.*,node50*等,情景模式选择ibme

点击应用选项

在服务器上设置start-jupyter文件
vi ~/bin/start-jupyter
填写:
#! /bin/bash
bsub <<EOF
#BSUB -J jupyter
#BSUB -R span[hosts=1]
#BSUB -q Z-LU
cd
jupyter notebook --no-browser --ip=0.0.0.0 --port=10087 #port自己设置一个,不要冲突
EOF

(也可以使用#BSUB -q Z-BNODE)

start jupyter

首先start-jupyter启动,会自动提交一个任务到某个节点

使用节点名称连接

接下来可以用bjobs看到jupyter被提交到了哪个节点。接下来打开本地浏览器,输入

node50*:port #如node504/10087

若使用Z-BNODE,可在浏览器填写

zbnode01.cluster.com:port
使用ip连接

用nslookup获得节点的ip,在本地浏览器输入:

ip:port #如192.235.5.48:10087
#获得ip方法
nslookup node504.cluster.com
nslookup zbnode01.cluster.com

第一次登陆需要密码,用bpeek查看任务输出,即可看到token,复制至浏览器即可使用jupyter notebook进行编程了。

Clone this wiki locally