SpeedSeq:一个快速基因组分析和注释的灵活框架
简介
Speedseq是一个快速基因组分析和注释的灵活框架,发表在 Nature Method上封装了大量基因组分析的软件,比如比对软件BWA,calling SNP软件freebays,SV鉴定软件lumpy等,这也导致了这款软件的安装十分繁琐。另外SpeedSeq基于Python2环境,目前很多新版本的模块比如SpeedSeq依赖的numpy、pysam以及scipy基本不支持Python2了,所以如果你基于 SpeedSeq主页的安装手册进行安装各种依赖,会让你怀疑人生的。此外以后如果有软件是依赖Python2环境的,我的建议是尽量别用了,除非是找不到替代的软件了。
安装
要使用一个软件第一步是你能安装它。仅仅安装SpeedSeq是很简单的,但是需要安装很多依赖,尤其是涉及一大堆需要编译的软件。SpeedSeq提供了一份 安装模板。但是如果你完全按照此手册进行安装的话,你会崩溃的。
SpeedSeq的prerequisites:
- g++ and the standard C and C++ development libraries (https://gcc.gnu.org/)
- CMake (http://www.cmake.org/)
- GNU awk and core utils
- Python 2.7 (https://www.python.org/)
- numpy
- pysam 0.8.0+
- scipy
- ROOT (https://root.cern.ch/) (required if running CNVnator)
- Variant Effect Predictor (http://www.ensembl.org/info/docs/tools/vep/index.html) (required if annotating VCF files)
第一步我们先创建一个python2的虚拟环境
#创建虚拟环境
conda create -n speedseq python=2.7
#激活该环境
conda activate speedseq
#有的时候如果你使用zsh的话,可能激活环境会报错,此时可以进行如下操作
source ~/miniconda3/etc/profile.d/conda.sh
conda activate speedseq#后续所有的操作都是在此环境中进行
第二步是安装需要的python模块,安装模块之前,先安装适用于python2的pip
#先去http://pypi.upc.edu/mirror/pip/下载pip-9.01
wget http://pypi.upc.edu/mirror/pip/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar zxvf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
#安装模块,此时需要注意由于是python2环境,所以你安装的模块不能是太新的,不然安装不了,我这里安装的版本如下
pip install numpy==1.10.4 scipy==1.2.2 pysam==0.9.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com --user
#可以进入pytohn中import事实是否安装成功
第三步安装CNVnator相关的prerequisites
##CNVnator需要ROOT软件
#先安装一些依赖(根据自己不同的情况安装,由于我服务器上各种依赖比较完善所以我基本不用安装)
sudo apt-get install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev gfortran libssl-dev libpcre3-dev libxft-dev libxext-dev xlibmesa-glu-dev libglew1.5-dev libftgl-dev libmysqlclient-dev libfftw3-dev libcfitsio-dev \
graphviz-dev libavahi-compat-libdnssd-dev \
libldap2-dev libxml2-dev libkrb5-dev \
libgsl0-dev libqt4-dev
##下一步去https://root.cern.ch/releases下载ROOT,条最新的下载就行了,我是ubuntu16.04,所以我下载的是root_v6.18.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
wget https://root.cern/download/root_v6.18.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
##需要注意的是,root_v6.18.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz是适用于ubuntu16以及gcc5.4的,所以先看看你的gcc是什么版本,我的原先的是gcc7,所以需要在安装gcc5,此时我们就有两个版本的gcc,切换一下就好了,
#先看一下系统安装了哪几个gcc
ll /usr/bin/gcc*
#使用update-alternatives设置gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 40
#切换成gcc5
sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/gcc-7 100 auto mode
* 1 /usr/bin/gcc-5 40 manual mode
2 /usr/bin/gcc-7 100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
#由于我已经切换到了gcc5,所以这里就不选择了,如果你的gcc不是gcc5,可以选择切换到你需要的gcc版本,当然如果你有module的话,也可以用module指定
#安装ROOT
tar zxvf root_v6.18.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz
cd root
./configure --prefix=$PWD
make
echo "source /your root path/root/bin/thisroot.sh" >> ~/.bashrc
source ~/.bashrc
第四步安装SpeedSeq
git clone --recursive https://github.com/hall-lab/speedseq
cd speedseq
make
cd bin
wget https://raw.githubusercontent.com/hall-lab/speedseq/master/bin/annotate_rd.py
wget https://raw.githubusercontent.com/hall-lab/speedseq/master/bin/cnvnator_wrapper.py
#安装CNVnator,进入SpeedSeq文件夹
cd speedseq
make cnvnator
到这里基本SpeedSeq安装成功,还有一些专本针对人类研究的我这里不讲,做人研究的可以去 SpeedSeq主页根据指南安装,问题不大了。
进入example中运行看是否出错
cd example
./run_speedseq
安装成功的话,你可以得到以下文件
- example.bam
- example.discordants.bam
- example.splitters.bam
- example.vcf.gz
- example.sv.vcf.gz
SpeedSeq封装了以下核心软件:
The core components enable standard functionality outlined in Quick start.
- BWA (http://bio-bwa.sourceforge.net/)
- FreeBayes (https://github.com/ekg/freebayes)
- LUMPY (https://github.com/arq5x/lumpy-sv)
- Sambamba (http://lomereiter.github.io/sambamba/)
- SAMBLASTER (https://github.com/GregoryFaust/samblaster)
- Vawk (https://github.com/cc2qe/vawk)
- GNU Parallel (http://www.gnu.org/software/parallel/)
- mbuffer (http://www.maier-komor.de/mbuffer.html)
SpeedSeq主要安装比较麻烦,安装完之后使用就很简单了,比较是封装了大量的常用软件并做成了pipeline。