|
本帖最后由 kunkun 于 2019-5-14 11:06 编辑
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,但是无法自己构建PyRosetta,只能够安装Release版本的PyRosetta
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个核编译为例:
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包编译
一般不会出错,简单方便,而且更新的速度更快。
下载地址:
http://www.pyrosetta.org/dow
cd /path/PyRosetta4.Release.python27.linux.release-215/setup
python setup.py install
Username: levinthal
Password: paradox
5.2 源代码编译
首先你要使用Clang-4.3.2编译好的Rosetta_bundel
Clang-4.3.2
# 必须全部安装!
yum install libstdc++-devel python-devel
conda install python-blosc
# 安装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
# 修复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
# 系统自带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
注意编译过程中需要海量的内存(>=64GB for -j 24)。
|
评分 Rate
-
查看全部评分 View all ratings
|