centos7离线安装gcc_2019最新Rosetta安装完全手册

作者: 吴炜坤

本文均在CentOS7(release 7.6.1810)版本下进行过的测试
我推荐使用Clang3.4.2的编译方法。

前言:

针对目前国内Rosetta中文资源甚少、零散、求助难的问题,我搭建了一个Rosetta中文社区论坛(beta)。

我们的初衷:

- 致力于降低新人入门的门槛,开通问题求助的渠道;

- 收集目前零散的文章和发布高质量教程/资源,打造国内一流的Rosetta学习资源;

- 形成开放、可持续的平台,加强国内科研人员在Rosetta方面的学习和交流。

现状:

中文社区目前还在筹划阶段,教程资源正在翻译和整理。

有兴趣的朋友可以看看:http:访问地址为http://www.rosettastudy.cn【已经开放注册】

特此:

如果您对Rosetta有一定的基础和实战经验,不妨加入我们,一起共建这个平台~

如果您没有接触过Rosetta,有对此有兴趣,不妨加入我们的微信群一起讨论和学习~

------从这里开始教程------

Rosetta简介

Rosetta是计算结构生物学皇冠上的一颗璀璨明珠,也是人类通往蛋白设计的巴别塔。整个套件内设有蛋白质结构建模和分析的各种采样算法和打分函数,涉及从头蛋白质设计、酶设计、分子对接以及生物大分子和大分子复合物的结构预测等领域。

Rosetta下载

Rosetta的发布有两种主要的形式: 稳定的正式版本(Numbered Release)和每周发行的版本(Weekly Release),由于每周发行版本会修复bug和新增最新功能,强烈建议下载此版本的源码。

Go to: https://www.rosettacommons.org/software/academic/

Rosetta的安装

最新的Rosetta安装依赖OPENMPI以及BOOST.

1.BOOST与其他开发环境

yum install boost-devel libstdc++ zlib zlib-devel bzip2

2. 编译器的选择

使用GCC编译器

最新的Rosetta代码编译依赖完整的C++11特性,因此我们需要更新系统自带的gcc编译器。如果使用gcc-8.21, 完全可以编译通过Rosetta.

sudo yum install centos-release-scl
sudo yum install devtoolset-8
scl enable devtoolset-8 zsh

使用Clang编译器

版本Clang 3.4.2, 此外你需要额外编译clang版本的openmpi。clang3.4完全兼容C++11 regex。推荐使用!并且更加灵活和快速。

yum install epel-release
yum install clang clang-devel clang-analyzer

3.OPENMPI的编译与安装

GCC编译环境:

yum install openmpi openmpi-devel -y
echo "export PATH=/usr/lib64/openmpi/bin/:${PATH}" >> ~/.zshrc

Clang编译环境:

#自行编译的方法:clang.并创建软连接。
cd openmpi-3.1.0/
./configure CC=clang CXX=clang++ --prefix=/usr/local/openmpi_clang
make -j 40
make install
ln -s /usr/local/openmpi_clang/bin/mpirun /usr/local/bin/mpiclang

运行时应该使用mpiclang,而不是mpirun(gcc),避免影响其他gcc编译软件的并行。

4.Rosetta的编译与安装

环境变量配置:

#Rosetta
export ROSETTA=/mnt/sdd/software/rosetta_src_201x.xx.xxxxxx_bundle
export ROSETTA3_DB=$ROSETTA/main/database
export ROSETTA_BIN=$ROSETTA/main/source/bin
export PATH=$PATH:$ROSETTA_BIN
export LD_LIBRARY_PATH=$ROSETTA/main/source/bin:$LD_LIBRARY_PATH

编译多线程模式版本的Rosetta, 此处以调用40个核编译为例:

tar zxvf rosetta_src_2019.12.60667_bundle.tgz
cd $ROSETTA/main/source/

# 使用gcc编译:
./scons.py -j 40 mode=release bin extras=mpi #gcc

# 使用clang编译:
export PATH=/usr/local/openmpi_clang/bin:${PATH} # 暂时输出mpicc_clang
./scons.py -j 40 mode=release bin extras=mpi cxx=clang cxx_ver=3.4

测试运行

antibody.mpi.linuxgccrelease # gcc
antibody.mpi.linuxclangrelease # clang

5. PyRosetta的安装编译

5.1 Release包编译

一般不会出错,简单方便,而且更新的速度更快。但无法兼容Anaconda.

下载地址:

http://www.pyrosetta.org/dow

cd /path/PyRosetta4.Release.python27.linux.release-215/setup
python setup.py install

5.2 Conda源安装(Python3.6环境)

参考:https://www.jianshu.com/p/bc9b4993075b?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weixin

完全兼容Anaconda。

5.3 源代码编译(Python2.7环境)

  • 首先你要使用Clang-4.3.2编译好的Rosetta_bundel
  • Clang-4.3.2
# 必须全部安装!
yum install libstdc++-devel python-devel
conda install python-blosc

# 修复xy liblzma.so.5  错误:
# 0xz: /lib64/liblzma.so.5: version `XZ_5.2' not found (required by xz)
rm -rf /lib64/liblzma.so.5
ln -s /root/anaconda2/lib/liblzma.so.5.2.4  /lib64/liblzma.so.5

# 安装ninja
git clone git://github.com/ninja-build/ninja.git && cd ninja
./configure.py --bootstrap
cp ./ninja /usr/local/bin

# 安装cmake
wget https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0.tar.gz
tar zxvf cmake-3.14.0.tar.gz
cd cmake-3.14.0
./bootstrap
make -j 40
make install

Building:

  • --serialization 编译串行的PyRosetta
  • --multi-threaded 编译并行的PyRosetta
# Build pyrosetta-bindings
cd $ROSETTA/main/source/src/python/PyRosetta

# 系统自带anaconda编译时不需要指定python lib位置:
python build.py -j 30 --create-package /mnt/sdd/software/pyrosetta_serialization --serialization --compiler clang 

cd /mnt/sdd/software/pyrosetta_serialization/setup
python setup.py install

# anaconda虚拟环境编译时需要指定python3 lib的位置: 如下
python build.py -j 30 --create-package /mnt/sdd/software/pyrosetta_serialization3 --serialization --compiler clang --python-lib  /root/anaconda2/envs/python3/lib/python3.6

cd /mnt/sdd/software/pyrosetta_serialization3/setup
python setup.py install

# 卸载安装新版本:
pip uninstall pyrosetta

注意编译过程中需要海量的内存(>=64GB for -j 24)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值