MCAS2安装及遇到问题解决

MCAS2安装及遇到问题解决

MACS2(Model-based Analysis for ChIP-Seq)介绍:由Tao Liu实验室开发的一款在ubuntu上运行的专门处理CHIP-Seq数据的下游软件,是bowtie2处理数据得到sam文件后,或者samtools处理数据后的下游工具。官网
网上下载安装方式很多,推荐使用python从源代码安装,首先在python的软件包网站pypi使用wget命令下载它的最新版本MACS2-2.1.1.20160309,下载是一个tar打包压缩文件,使用正常的tar解压缩命令(tar -xzf )之后打开解压缩后文件夹

root@DESKTOP-5KGGLM7:~/MACS2/MACS2-2.1.1.20160309# ls
bin        COPYING      MACS2           MANIFEST.in  README.rst  setup.py
ChangeLog  INSTALL.rst  MACS2.egg-info  PKG-INFO     setup.cfg   setup_w_cython.py

文件夹中的setup.py是python写的安装程序,需要python运行,注意python在在linux Ubuntu预装了,注意2.7和3.5两个版本都有,但是注意它们很多对应的软件不一样,再用aptget时需要加上对应的版本号比较恶心,比如python-setuptools直接下载的是2.7版本python能用的,3.5版本就识别不了,需要装python3。5-setuptools! MACS2只能用python2.7环境.

安装问题1:python安装需要很多依赖软件

root@DESKTOP-5KGGLM7:~/MACS2/MACS2-2.1.1.20160309# python2.7 setup.py install
Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    from setuptools import setup, Extension
ImportError: No module named 'setuptools' 

首先提示没有setuptools,安装

apt-get install python-setuptools
root@DESKTOP-5KGGLM7:~/MACS2/MACS2-2.1.1.20160309# python2.7 setup.py install
CRITICAL:Numpy must be installed!  

然后提示没有安装numpy,再安装

apt-get install python-numpy

再次运行安装程序结果:

root@DESKTOP-5KGGLM7:~/MACS2/MACS2-2.1.1.20160309# python2.7 setup.py install                          //开始安装//
running install
running bdist_egg
running egg_info
writing requirements to MACS2.egg-info/requires.txt
writing MACS2.egg-info/PKG-INFO
writing top-level names to MACS2.egg-info/top_level.txt
writing dependency_links to MACS2.egg-info/dependency_links.txt
reading manifest file 'MACS2.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'MANIFEST'
no previously-included directories found matching 'test'
writing manifest file 'MACS2.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/MACS2
copying MACS2/Constants.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/OptValidator.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/OutputWriter.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/__init__.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/bdgbroadcall_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/bdgcmp_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/bdgdiff_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/bdgopt_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/bdgpeakcall_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/callpeak_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/cmbreps_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/diffpeak_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/filterdup_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/pileup_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/predictd_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/randsample_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
copying MACS2/refinepeak_cmd.py -> build/lib.linux-x86_64-2.7/MACS2
creating build/lib.linux-x86_64-2.7/MACS2/IO
copying MACS2/IO/BinKeeper.py -> build/lib.linux-x86_64-2.7/MACS2/IO
copying MACS2/IO/__init__.py -> build/lib.linux-x86_64-2.7/MACS2/IO
copying MACS2/IO/test_processing.py -> build/lib.linux-x86_64-2.7/MACS2/IO
copying MACS2/IO/test_threading.py -> build/lib.linux-x86_64-2.7/MACS2/IO
running build_ext
building 'MACS2.Prob' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/MACS2
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c MACS2/Prob.c -o build/temp.linux-x86_64-2.7/MACS2/Prob.o -w -O3 -ffast-math
unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

安装完成后使用list命令可以发现多了build文件夹

root@DESKTOP-5KGGLM7:~/MACS2/MACS2-2.1.1.20160309# ls
bin    ChangeLog  INSTALL.rst  MACS2.egg-info  PKG-INFO    setup.cfg  setup_w_cython.py
build  COPYING    MACS2        MANIFEST.in     README.rst  setup.py

但实际上并没有安装成功,安装代码最后几行可以看到有报错的

x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c MACS2/Prob.c -o build/temp.linux-x86_64-2.7/MACS2/Prob.o -w -O3 -ffast-math
unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

实际上还是相关依赖包没有装全原因,阅读软件包带的INSTALL.rst,可以看到如下信息:

Python version must be equal to *2.7* to run MACS. I recommend using the version *2.7.2*.

Numpy_ (>=1.6) are required to run MACS v2.

GCC is required to compile ``.c`` codes in MACS v2 package, and python
header files are needed. If you are using Mac OSX, I recommend you
install Xcode; if you are using Linux, you need to make sure
``python-dev`` is installed.

Cython_ (>=0.18) is required *only if* you want to regenerate ``.c``
files from ``.pyx`` files using ``setup_w_cython.py`` script.

.. _Numpy: http://www.scipy.org/Download
.. _Cython: http://cython.org/

numpy已经装过,看来是python-dev和cython没有安装,于是使用apt-get install 命令安装了这两个软件(注意,如果自己将apt换过源,比如换成了国内的aliyun mirror网站,那么极有可能python-dev无法正常安装,此时将源再换回官网的源即可)

zephyr@DESKTOP-OIB6POQ:~$ sudo apt-get install python-dev
zephyr@DESKTOP-OIB6POQ:~$ sudo apt-get install cython

运行安装命令

zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309$ sudo python2.7 setup.py install

会出现很长的安装行,当最后一行出现以下代码时即为安装完成

Finished processing dependencies for MACS2==2.1.1.20160309

安装问题2:出现的文件不是可执行程序?

此时进入bin文件夹,可以发现多了一个文件macs2

zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309$ cd bin
zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ ls
macs2

但是注意,这个macs2文件并不是可执行文件,试图运行它会出现以下结果

zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ ./macs2 callpeak
-bash: ./macs2: Permission denied

查看它的权限详情会发现是因为它没有给与可执行权限的缘故

zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ ls -l
total 60
-rw-r--r-- 1 zephyr zephyr 59864 Aug 19 00:33 macs2

使用chmod命令给与权限后即可发现可以正常运行了

zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ sudo chmod 777 macs2
zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ ls -l
total 60
-rwxrwxrwx 1 zephyr zephyr 59864 Aug 19 00:33 macs2
zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ ./macs2 callpeak
usage: macs2 callpeak [-h] -t TFILE [TFILE ...] [-c [CFILE [CFILE ...]]]
                      [-f {AUTO,BAM,SAM,BED,ELAND,ELANDMULTI,ELANDEXPORT,BOWTIE,BAMPE,BEDPE}]
                      [-g GSIZE] [--keep-dup KEEPDUPLICATES]
                      [--buffer-size BUFFER_SIZE] [--outdir OUTDIR] [-n NAME]
                      [-B] [--verbose VERBOSE] [--trackline] [--SPMR]
                      [-s TSIZE] [--bw BW] [-m MFOLD MFOLD] [--fix-bimodal]
                      [--nomodel] [--shift SHIFT] [--extsize EXTSIZE]
                      [-q QVALUE | -p PVALUE] [--to-large] [--ratio RATIO]
                      [--down-sample] [--seed SEED] [--tempdir TEMPDIR]
                      [--nolambda] [--slocal SMALLLOCAL] [--llocal LARGELOCAL]
                      [--broad] [--broad-cutoff BROADCUTOFF]
                      [--cutoff-analysis] [--call-summits]
                      [--fe-cutoff FECUTOFF]
macs2 callpeak: error: argument -t/--treatment is required

经过测试看来是安装完毕了,接下来将其其所在文件夹添入PATH的环境变量中以方便随时调用macs2程序

zephyr@DESKTOP-OIB6POQ:~/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin$ export PATH=/home/zephyr/Bioinformatics/MACS2/MACS2-2.1.1.20160309/bin:$PATH

搞定!!!

猜你喜欢

转载自blog.csdn.net/Zephyr_Hu/article/details/81836347
今日推荐