HiC软件安装篇之Lachesis

简介: Lachesis是希腊神话众神之一,负责决定生命之线的长度。但是咱们这个lachesis是2013年发表在nature biotechnology上(https://doi.org/10.1038/nbt.2727 )由shendurelab开发的用于辅组基因组组装的软件。

Lachesis是希腊神话众神之一,负责决定生命之线的长度。但是咱们这个lachesis是2013年发表在nature biotechnology上(https://doi.org/10.1038/nbt.2727 )由shendurelab开发的用于辅组基因组组装的软件。

github地址:

https://github.com/shendurelab/LACHESIS

http://shendurelab.github.io/LACHESIS/

软件下载:软件提供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.hSAMStepper.cc这两个文件的#include <bam/sam.h>这一行给改成"/path/to/samtools-0.1.18/sam.h" 不进行这一步的话是会报错的

接下来运行make。我碰到了一个错:找不到libboost_system.so.1.53.0 解决办法见下图

img_7a128f46f20241316b24d6ae20a41472.png
img

据小伙伴说前面用./b2 install --prefix=/usr就不需要这一步。各位朋友可以自己试试。

至此如果出现下图就说明软件安装成功了

img_0ec179d96cdc8025b8d4d81ed71a7b44.png
缺少test_case.ini

只要配置好test_case.ini文件就能正常使用了。


接下来做个报错集锦。包含这个软件安装过程中可能会出现的各种报错:

报错集锦

1、configure: error: cannot run /bin/sh ./config.sub

img_9f81d5ba8b7abfe0e02ddd19b1511096.png
报错1

configure: error: cannot run /bin/sh ./config.sub根据lachesis的一篇issue(https://github.com/shendurelab/LACHESIS/issues/31)运行

autoreconf --install

就可以解决。

2、samtools报错

img_0e63ce59e350b77128d5acb791b8fa54.png
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库报错

img_44c03c3363afb97e45eae1159d1e4b37.png
报错3

这个错误是由于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"的错

img_c083f70d8d79b14c22bb4b27775adaaf.jpe
报错5

感谢来自小伙伴的报错反馈。在网上查询后根据https://blog.csdn.net/liu1055087125/article/details/72888154得知该错误是由于g++ gcc版本不够高导致的。需要安装高版本的gcc g++库。


致谢

欢迎其他尝试安装这个软件的小伙伴们给我们反馈别的错误~

特别感谢@胡加祥 同学的大力支持。安装这个软件花了两天碰了各种壁,希望以后的小伙伴不要再重蹈我们的覆辙,这样我们的各种尝试和努力也就有了意义。感谢菲沙,感谢生信技能树,感谢jimmy师兄,感谢有你们。

2018年8月10日 update:感谢@南农梨中心刘月园 小姐姐的报错反馈~

相关文章
|
网络协议 网络架构
【计算机网络】OSI、TCP/IP、五层模型
【计算机网络】OSI、TCP/IP、五层模型
|
移动开发 缓存 监控
面试官:本机号码一键登录,是怎么实现的?
面试官:本机号码一键登录,是怎么实现的?
2613 0
面试官:本机号码一键登录,是怎么实现的?
|
6月前
|
并行计算 PyTorch 算法框架/工具
OpenFold2.0 基于NPU的推理适配与测试
本教程详细介绍了 OpenFold 的环境搭建、代码部署、依赖安装、数据集准备及推理测试全流程。首先通过 Anaconda 创建 Python3.9 环境并配置相关库,接着克隆 OpenFold 代码仓库并安装必要依赖(如 PyTorch、dllogger、hhsuite 等)。随后准备 PDB 数据集与模型参数,调整脚本路径以适配运行环境。最后执行推理脚本完成测试,并针对常见报错提供了解决方案,例如更新 NumPy、SciPy 或调整 GPU 配置等,确保流程顺利运行。
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
530 12
YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
1447 6
基因组组装:Hifiasm 使用教程
基因组组装:Hifiasm 使用教程
|
NoSQL Java Linux
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
该博客文章介绍了如何在Spring Boot项目中通过配置和代码实现连接运行在Linux虚拟机上的Redis服务,并提供了详细的步骤和测试结果截图。
springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
|
Shell Linux C语言
【Shell 命令集合 文本处理工具】Linux 字段连接 join 命令使用指南
【Shell 命令集合 文本处理工具】Linux 字段连接 join 命令使用指南
261 1
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之怎么编写和执行Spark SQL
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
编解码 人工智能 测试技术
安卓适配性策略:确保应用在不同设备上的兼容性
【4月更文挑战第13天】本文探讨了提升安卓应用兼容性的策略,包括理解平台碎片化、设计响应式UI(使用dp单位,考虑横竖屏)、利用Android SDK的兼容工具(支持库、资源限定符)、编写兼容性代码(运行时权限、设备特性检查)以及优化性能以适应低端设备。适配性是安卓开发的关键,通过这些方法可确保应用在多样化设备上提供一致体验。未来,自动化测试和AI将助力应对设备碎片化挑战。
1982 4