最近进入到一个新的实验室了,因为之前学习过一点点生信基础,所以老师让我尝试着做一点分析方面的工作,实验室是新组建的,虽然也有服务器集群,但是基本上个裸机,目前只有我这个沙雕在一个人瞎搞。不过硬着头皮也要上啊,所以就参考着jimmy师兄之前的帖子,自己在慢慢地摸索,真是发自内心的觉得,一个完善的生物信息学环境时多么重要。
生信软件一般都可以手动安装,但因为软件有基于不同的语言开发的,所以安装方法也各有所异,经常会安软件安到让人崩溃,现在好了,有了conda,只需要简单的安装命令就可以轻松搞定。
简单介绍一下conda,它是一个开源的软件包管理系统和环境管理系统,用conda安装软件时,也可以顺带安装依赖关系,bioconda是专门针对生物信息的。
下面是jimmy师兄关于如何使用bioconda配置生物信息学环境的笔记:
如果有了新的机器,那么要给新的机器安装好常见的生物信息学软件才能开始做数据分析,这个时候的自动化配置就可以用bioconda来解决。
定位需求
首先需要在 https://bioconda.github.io/recipes.html 查找所需软件名,搞清楚自己需要安装哪些生物信息学软件并且哪些可以安装,安装哪个版本。(截止2017年09月28日已经有了近5000个软件包,几乎可以囊括常见的生物信息学软件)
配置文件
然后根据需求,制作YAML格式的配置文件,如下:
# version 1.0
# email: jmzeng1314@163.com
name: jimmy
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
- defaults
dependencies:
- bcftools=1.3=0
- bedtools=2.19.1=0
- blat=35=1
- bowtie=1.2.1.1=py27pl5.22.0_0
- bowtie2=2.3.2=py27pl5.22.0_1
- bwa=0.7.15=1
- hisat2=2.1.0=py27pl5.22.0_0
- htslib=1.3=1
# Workflow
- nextflow
# Fastq Download And Quality Control Methods
- sra-tools
- fastx_toolkit
- fastqc
- trimmomatic
- multiqc
上面的下载源主要是为了大陆用户设置的,海外用户可以选其它。为了下面的脚本可以运行,请保证上面的配置文件的文件名是biosetup.yml
自动化安装软件
这里选择conda来根据上面的配置文件,自动化安装好所有的软件
#!/bin/bash
set -e
set -u
set -o pipefail
ENV=$1
# download miniconda and install
URL=https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-$(uname -m).sh
PREFIX=$HOME/miniconda3
if [ ! -d $PREFIX ]
then
wget -4 $URL && bash $(basename $URL) -b -p $PREFIX && \
echo "successful installation" && \
echo "export PATH=$PREFIX/bin:"'$PATH' >> ~/.bashrc
fi
if [ ! -f biosetup.yml ]
then
echo "please prepare the file : biosetup.yml"
fi
if [ $ENV ]
then
$HOME/miniconda3/bin/conda env create -f=biosetup.yml -p $ENV
else
echo "software install path is unset"
exit 0
fi
上面的脚本可以指定软件的安装位置!
conda的其它用法
更改python版本
conda info --envs
conda create -n py27 python=2.7 anaconda
#conda create -n py36 python=3.6 anaconda
source activate py27
source deactivate py27
conda env remove -n py27
python --version
which python
更多用法欢迎打印 conda cheat sheet PDF (1 MB)
说明一下的是,conda安装软件有时候也会出现报错的问题,参考 Anaconda is a snake. ,所以最好针对每个小任务创建小环境。
生信技能树论坛