conda第一步,你確定安裝成功了嗎?

  • 2019 年 10 月 4 日
  • 筆記

conda的下載和安裝見conda或者見生信技能書推文conda管理生信軟體一文就夠 安裝軟體結束後,會出現三個done 但是也只能說明軟體安裝正常結束,但是不能說明軟體能正常使用。 尤其有些需要調py的一些包的時候,會出錯,或者python版本不兼容,在使用軟體的時候,軟體即會出現異常報錯。

因此,這篇博文是為了你用conda安裝常見軟體後,如何確定軟體安裝正常可被使用!

安裝列表

bwa  gatk4  sra-tools  fastqc  trim-galore  star  hisat2  bowtie2  subread  htseq  multiqc  samtools

安裝方法

參考上面conda安裝,這裡直接push程式碼,就當回顧一下~

# 配置過鏡像後,家目錄下有一個.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等,但重點是你運行該軟體的程式碼的時候,軟體不能運行成功!!!! 每一款軟體調用幫助文檔的方式不同,這又給初學者帶去了困擾,具體查看下面程式碼,希望能幫到你~

# 第一步別忘了激活環境  $ 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,你可以不更新
$ 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 安裝過一款軟體,我特別想知道他都載入了環境什麼命令,能不能從伺服器上查詢到,這樣的話我就不用記住安裝過哪個軟體,需要調取哪個命令的幫助文檔啦???

樹曰:

這個方法是有的,如果你上來就先看的這個問題,前面那麼多的調取幫助文檔的方法你都不用看了,甚至於這篇博文也不用看了,好尷尬,白寫了,哈哈哈哈哈哈

前提,前提是你能找到下面圖內的路徑

# 這個路徑肯定是自己的路徑,需要替換  $ cd /home/qmcui/miniconda2/envs/rna/bin  $ ls -trlh  # 每次安裝一個軟體,最新時間戳生成的命令就是那個軟體載入到環境內的命令!

備註:有沒有一種情況,你已經裝過了,時間戳也沒了,怎麼辦,那你卸載了,重新裝一遍唄!哈哈哈