生信人应该这样安装软件

"AUTHOR:Shuntai Yu"
"DATE:2020年3月17日"

[toc]

$ find ./ -name *.gz  #找压缩包的方法,在不同文件夹下结果可能不同
./samtools-1.10/examples/ex1.sam.gz
./samtools-1.10/test/mpileup/expected/1.out.f3-6.gz
./samtools-1.10/htslib-1.10/test/bgziptest.txt.gz
$ which bowtie2  #寻找bowtie2 软件在哪里
/data1/lixianlong/shengxin/tmp/biosoft/bowtie2-2.2.9/bowtie2

Blast的下载:
谷歌搜索:blast ncbi download
ftp一般就是下载的链接,因为从ftp里面可以看到有个executables就是可执行的意思。然后直接复制到服务器wget就可以下载
也可以点击去选择自己的版本

如果下载的时间比较长可以使用&放到后台,但是输出还在前台,可以使用nohup,nohup和&结合就可以实现后台下载,并且前台无输出,可同时执行其他操作。

$ nohup wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/magicblast/LATEST/ncbi-magicblast-1.5.0-x64-linux.tar.gz &  #nohup和&结合
$ ps -l

conda安装软件笔记

比较好的几篇文章:

文章一:Bioconda安装与使用
文章二:conda的安装与使用(2019-6-28更新)
文章三:Anaconda is a snake

简介
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。conda分为anaconda和miniconda,miniconda是精简版,推荐使用miniconda。

第一步:下载miniconda3

$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

第二步:安装miniconda3

$ chmod u+x Miniconda3-latest-Linux-x86_64.sh
$ bash Miniconda3-latest-Linux-x86_64.sh  #可以直接运行,如果需要指定安装路径可用下面这个代码
# $ bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3  
# -b: 自动安装模式
# -p: 软件安装到何处
$ conda update conda #更新miniconda

注意:以前的教程都是教一路yes下来的,但是会有隐患,特别是当你的服务器之前有安装过软件的话,conda会污染你原来的环境,把你原来设置好的东西进行更改。具体的惨痛教训请参见:Anaconda is a snake
在询问是否将conda加入环境变量的时候选择no。

第三步:创建conda环境(可选)

在上一步选择no之后,输入conda是会报找不到此命令的。那要如何启动呢?
找到你刚才安装的miniconda,如果没有更改过安装位置的话应该是在/home下面,cd到miniconda3的bin目录下面,能看到有一个activate。
base是conda的基本环境,有些软件依赖的是python2的版本,当你还是使用你的base的时候你的base里的python会被自动降级,有可能会引发别的软件的报错,所以,可以给一些特别的软件创建单独的环境。

$ conda create -n 变量名 python=2  #新建一个环境。  -n: 设置新环境的名字。 python=2 指定新环境的python的版本,很多软件不太兼容python3所以一般使用2。
$ conda create -n 变量名 python=2 bwa  #创建该环境的同时,将bwa软件安装在该环境下

查看当前存在的conda环境

$ conda env list  # 方法一
$ conda info --envs   # 方法二

重命名环境

实际上conda并没有提供这样的功能,但是可以曲线救国,原理是先克隆一个原来的环境,命名成想要的名字,再把原来的环境删掉即可。
conda 创建/删除/重命名 环境

$ conda create -n 新环境名 --clone 旧环境名  # 重命名环境
$ conda remove -n 旧环境名 --all  # 重命名环境

删除环境

$ conda remove -n 变量名 --all   
$ rm -rf ~/miniconda3/envs/变量名/ #这招简单粗暴!  

第四步:激活conda环境

哪个环境被激活,conda install会将软件安装到哪个环境下,如果不激活,conda install操作会默认安装到base环境里面。当命令行前面出现(base)的时候说明现在已经在conda的环境中了。这时候输入conda list 命令就有反应了

$ conda activate  # 方法一:启动conda(又叫激活环境)
$ . ~/miniconda3/bin/activate  # 方法二:启动conda。
$ conda activate 变量名  # 方法三:启动conda特定的某一个环境。

激活前后对比一下,可以看到$PATH有变化

$ echo $PATH  #这一步可无,可看到多了一个被active的变量

第五步:添加频道

安装conda就相当于买了一台电视机,但是有电视了不意味着你就能看节目了,你要手动添加频道才能看你想看的电视节目。添加清华的镜像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/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes

查看已经添加的channels

conda config --get channels

已添加的channel在哪里查看

vim ~/.condarc

第六步:利用conda安装生物信息软件

1.软件搜索

conda install之前需要先serach一下,因为软件的名字不一定是conda给的名字,如果不是就会报错(比如TOPHAT,在conda里面是tophat,我们要改成tophat才能安装成功,使用TOPHAT无法成功安装),search本身消耗时间。会出现软件版本,星号标记的表示是已经安装的版本。search的过程也可以在windows上进行,登录网址:http://link.zhihu.com/?target=https%3A//bioconda.github.io/recipes)查找该软件是否被conda支持。

$ conda search 软件名  #比如conda install hisat是会失败的,但是提前conda search hisat他会告诉你是hisat2而不是hisat。曾说有很多软件是conda安装不了的。

2.软件安装

有时候安装的软件版本太新,使得软件有一些bug还没来得及被发现和解决,这些最新的软件使用的时候就会发生报错,这时就需要指定版本来安装稍微旧一些的版本。详见《samtools安装踩坑记录》。

$ conda install 软件名  #可以同时安装好几个软件, conda install -y 软件名1 软件名2 软件名3,# 其中 -y 表示确认,加了之后就不会再有让你选择 yes 或 no 的情况了。
$ conda install 软件名=版本号  #安装指定版本的软件,要安装其他版本,这时conda会先卸载已安装版本,然后重新安装指定版本。

3.软件更新、卸载、查看安装位置、查看已装软件

$ conda update 软件名  # 更新指定软件 eg:conda update gatk
$ conda remove 软件名  # 卸载指定软件 eg:conda remove gatk
$ conda remove 软件名 -y   # 其中 -y 表示确认,加了之后就不会再有让你选择 yes 或 no 的情况了。
$ which 软件名   # 查看该软件安装的位置
$ conda list  # 查看已安装软件

第七步:退出conda环境

$ . ~/miniconda3/bin/deactivate  # 方法一
$ conda deactivate  # 方法二
$ echo $PATH  #这一步可无,可看到多的那个被active的变量又没有了。

通过alias在.bashrc里设置别名免去每次敲. ~/miniconda3/bin/deactivate的麻烦。

alias condaup='. ~/miniconda3/bin/deactivate'

第八步:创建软件的软链接

退出conda环境之后之前安装的软件就无法使用了,因此需要把安装好的软件软连接到一个处在环境变量里的位置就可以使用了。三步走:

1. 创建一个文件夹

我一般的习惯是在/home目录下创建一个.soft文件夹

2. 将这个文件夹添加到环境变量中

$ export PATH="~/.soft:$PATH"  #将这句添加到bashrc

3. 软链接

$ ln -s ~/miniconda3/bin/软件名 ~/.soft  # 只有base的conda环境才能软链接。

#  $ ln -s ~/miniconda3/envs/变量名/bin/软件名 ~/.soft  #这个是不行的,因为第三步已经说明,base是conda的基本环境,但是为了解决某些软件环境依赖的问题,而专门为某些软件创建了新的环境。这些创建的新环境里面的软件是无法添加到bashrc的,在操作上不可行。想一想也能明白,因为添加到bashrc就意味着在整个环境变量都可以调用该软件,而创建新环境的目的就是不让它在整个环境中运行,只在创建的环境中可以运行,所以很好理解!

这样就可以运行啦~如果还是不行建议试试初始化一下bashrc:. ./bashrc

进入miniconda3文件夹,可以看到有很多文件夹,conda每新建一个环境(这里暂且称为new),envs文件夹下面就会多一个文件夹new,进入new文件夹发现里面有bin,conda install的软件都在这里。

你可能感兴趣的:(生信人应该这样安装软件)