conda第一步,你确定安装成功了吗?

2019-09-17 17:18:03 浏览数 (1)

conda的下载和安装见conda或者见生信技能书推文conda管理生信软件一文就够 安装软件结束后,会出现三个done 但是也只能说明软件安装正常结束,但是不能说明软件能正常使用。 尤其有些需要调py的一些包的时候,会出错,或者python版本不兼容,在使用软件的时候,软件即会出现异常报错。

因此,这篇博文是为了你用conda安装常见软件后,如何确定软件安装正常可被使用!

安装列表

代码语言:javascript复制
bwa
gatk4
sra-tools
fastqc
trim-galore
star
hisat2
bowtie2
subread
htseq
multiqc
samtools

安装方法

参考上面conda安装,这里直接push代码,就当回顾一下~

代码语言:javascript复制
# 配置过镜像后,家目录下有一个.condarc文件,内容如下
$ cat ~/.condarc 
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - defaults
show_channel_urls: true

$ conda create -n rna python=2 -y
$ source activate rna
$ conda install -y sra-tools
# 默认装软件最新版

安装每一个软件和调取帮助文档

安装成功出现三个done 成功调取这个软件的帮助文档=软件安装成功 问题是我怎么知道出来的帮助文档是对的,而不是报错??!!! 一般情况下,帮助文档的格式都是很统一的,左面是参数,右面是参数的英文解释,而且格式看着很整齐!一般为两列! 如果报错了,出来的内容不同于上面的信息,很乱,还会出现ERROR、NOT、exception等,但重点是你运行该软件的代码的时候,软件不能运行成功!!!! 每一款软件调用帮助文档的方式不同,这又给初学者带去了困扰,具体查看下面代码,希望能帮到你~

代码语言:javascript复制
# 第一步别忘了激活环境
$ source activate rna

# 安装sra-tools
# 从ncbi下载sra,转化sra文件为fq
# conda安装sra-tools
$ conda install -y sra-tools

# 调取该软件的命令的帮助文档,下面两句是重点
$ prefetch --help
$ fastq-dump --help
$ which prefetch

# 运行结果示例如下
# /home/qmcui/miniconda2/envs/rna/bin/prefetch
# 可以看到这个命令确实你刚装的,而且存在于rna的小环境内bin的目录下
# 也可以不运行which这个命令~,但是当你软件报错的时候,你就要知道这个命令到底是装在哪里的~,就可以which一下!
# 后面格式同上

$ conda install -y bwa
bwa

$ conda install -y gatk4
gatk
$ gatk Tool --help

$ conda install -y fastqc
fastqc --help

$ conda install -y trim-galore cutadapt
trim_galore --help

$ conda install -y star
STAR --help

$ conda install -y hisat2
hisat2 -h
# 等同于hisat2 --help

$ conda install -y bowtie2
bowtie2 --help

$ conda install -y subread
featureCounts

$ conda install -y htseq
htseq-count --help

$ conda install -y multiqc
multiqc --help

$ conda install -y samtools
samtools
which samtools
# /home/qmcui/miniconda2/envs/rna/bin/samtools

写在最后的小技巧

1 如果我不知道我是不是安装过该软件,怎么办? 树曰:

  • 那就在运行一次安装呗,没关系,比如conda install -y htseq,结果如下,会出现“# All requested packages already installed.”。说明你已经安装过了,而且版本识最新版本了,conda就不会给你装了。
  • 也有一种情况,如果软件被更新了,conda会继续给你装一个最新版本,如果你介意两个版本的软件分析的结果,请不要更新~,那就意味着你不能运行conda install的安装代码了,那怎么办?
  • 那么就得直接回答上面的问题,查看这个软件的帮助文档,如果存在,which后,证明环境里确实已经安装,那么版本号怎么找,一般会在--help内看到该命令/软件的版本号,特殊的找不到的话,需要搜索咯
  • 如果你还想问,我想知道镜像里这个软件有没有更新,我都知道两种方法,比如conda search 软件名查看最新软件版本,比较一下~
  • 提示你更新conda,你可以不更新
代码语言:javascript复制
$ conda install -y htseq
Solving environment: done
==> WARNING: A newer version of conda exists. <==
  current version: 4.5.11
  latest version: 4.6.11
Please update conda by running

$ conda update -n base -c defaults conda

# All requested packages already installed.

2 安装过一款软件,我特别想知道他都载入了环境什么命令,能不能从服务器上查询到,这样的话我就不用记住安装过哪个软件,需要调取哪个命令的帮助文档啦???

树曰:

这个方法是有的,如果你上来就先看的这个问题,前面那么多的调取帮助文档的方法你都不用看了,甚至于这篇博文也不用看了,好尴尬,白写了,哈哈哈哈哈哈

前提,前提是你能找到下面图内的路径

代码语言:javascript复制
# 这个路径肯定是自己的路径,需要替换
$ cd /home/qmcui/miniconda2/envs/rna/bin
$ ls -trlh
# 每次安装一个软件,最新时间戳生成的命令就是那个软件加载到环境内的命令!

备注:有没有一种情况,你已经装过了,时间戳也没了,怎么办,那你卸载了,重新装一遍呗!哈哈哈

0 人点赞