Lachesis是希腊神话众神之一,负责决定生命之线的长度。但是咱们这个lachesis是2013年发表在nature biotechnology上(https://doi.org/10.1038/nbt.2727 )由shendurelab开发的用于辅组基因组组装的软件。
github地址:
软件下载:软件提供zip和tar.gz两种格式,任选其一即可。
#这个是zip文件
wget https://github.com/shendurelab/LACHESIS/zipball/master
unzip master
#这个是tar.gz文件
wget https://github.com/shendurelab/LACHESIS/tarball/master
tar -zxvf master
Lachesis有两个依赖:samtools(低于0.1.19的版本)和C++的boost库(需要大于1.52.0但是又不能太高比如1.67.0就不行)
所以安装软件真的是体力活。。
安装boost
在这个地址https://www.boost.org/users/history/找一个老一点的版本(比如我用的boost_1_53_0,但是不能低于1.52.0,否则也会报错。)解压好之后
tar -zxvf boost_1_53_0.tar.gz
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2 toolset=gcc
sudo ./b2 install # 或者sudo ./b2 install --prefix=/usr
sudo ./bjam install
这个过程可能会比较长,中间可能会有几个warning,不用担心,不影响的。
tips: 如果没有权限的话后两步都需要用--prefix=
参数指定到自己的目录下的boost的位置进行安装。
安装samtools
在sourceforge(https://sourceforge.net/projects/samtools/files/samtools/)下载低于0.1.19的samtools版本。需要先安装一个依赖再运行Makefile:
sudo apt-get install libncurses5-dev
./Makefile
安装lachesis
添加两个环境变量:
export LACHESIS_BOOST_DIR=/path/to/boost_1_53_0/
export LACHESIS_SAMTOOLS_DIR=/path/to/samtools-0.1.18/
正式开始安装。
cd lachesis
./configure --with-samtools=/path/to/samtools-0.1.18 --with-boost=/path/to/boost_1_53_0/
这一步如果没报错的话就可以开始make的,但是在make之前需要把修改shendurelab-LACHESIS-2e27abb/src/include/gtools
下面SAMStepper.h
和SAMStepper.cc
这两个文件的#include <bam/sam.h>
这一行给改成"/path/to/samtools-0.1.18/sam.h"
不进行这一步的话是会报错的
接下来运行make
。我碰到了一个错:找不到libboost_system.so.1.53.0
解决办法见下图
据小伙伴说前面用./b2 install --prefix=/usr
就不需要这一步。各位朋友可以自己试试。
至此如果出现下图就说明软件安装成功了
只要配置好test_case.ini文件就能正常使用了。
接下来做个报错集锦。包含这个软件安装过程中可能会出现的各种报错:
报错集锦
1、configure: error: cannot run /bin/sh ./config.sub
报configure: error: cannot run /bin/sh ./config.sub
根据lachesis的一篇issue(https://github.com/shendurelab/LACHESIS/issues/31)运行
autoreconf --install
就可以解决。
2、samtools报错
不管是输./configure --with-samtools=/home/hanschen/miniconda3/bin/
还是./configure --with-samtools=/home/hanschen/miniconda3/bin/samtools
还是./configure --with-samtools=no
或者./configure --without-samtools
都是报错,虽然报的错不太一样。
这个是因为samtools的版本过高引起的。安装0.1.19级以下版本的samtools就好了。在安装samtools的时候可能会有一个报错,需要安装上诉的一个库sudo apt-get install libncurses5-dev
3、boost库报错
这个错误是由于boost版本过高或者过低引起的(1.63.0会报错,经小伙伴测试1.51.0也会报错),按照上述教程安装boost的1.52.0或者1.53.0版本就可以解决
4、boost的cannot find flags错误
这个报错的截图找不到了,大致的问题是boost库没完全安装好,只要按照上述教程运行./bjam install
就可以避免这个错误。
5、lachesis在make时报"unrecognized command line option “-std=c++11"的错
感谢来自小伙伴的报错反馈。在网上查询后根据https://blog.csdn.net/liu1055087125/article/details/72888154得知该错误是由于g++ gcc版本不够高导致的。需要安装高版本的gcc g++库。
致谢
欢迎其他尝试安装这个软件的小伙伴们给我们反馈别的错误~
特别感谢@胡加祥 同学的大力支持。安装这个软件花了两天碰了各种壁,希望以后的小伙伴不要再重蹈我们的覆辙,这样我们的各种尝试和努力也就有了意义。感谢菲沙,感谢生信技能树,感谢jimmy师兄,感谢有你们。
2018年8月10日 update:感谢@南农梨中心刘月园 小姐姐的报错反馈~