MacOS环境是学习和配置Rosetta的绝好平台,没有之一。
作者: 吴炜坤
Rosetta下载
Rosetta的发布有两种主要的形式: 稳定的正式版本(Numbered Release)和每周发行的版本(Weekly Release),由于每周发行版本会修复bug和新增最新功能,强烈建议下载此版本的源码。
Go to: https://www.rosettacommons.org/software/academic/
Rosetta的安装
最新的Rosetta安装依赖OPENMPI以及BOOST.
1.OPENMPI的编译
openmpi下载地址
tar -zxvf openmpi-3.1.0.tar.gz
cd /usr/local/openmpi-3.1.0
./configure
make install
#配置环境变量
echo "export PATH=/usr/local/openmpi-3.1.0/bin:$PATH" >> ~/.bashrc
2.基本开发环境
进入终端app, 输入以下命令安装基本环境。
brew install boost (ninja貌似不需要)
xcode-select --install
再次配置环境变量:
#boost
export DYLD_LIBRARY_PATH=/usr/local/Cellar/boost/版本号自己查询/lib
export BOOST_INC_DIR=/usr/local/Cellar/boost/版本号自己查询/include/boost
4.Rosetta的编译与安装
编译多线程模式版本的Rosetta, 此处以调用4个核编译为例: 将下载的Rosetta源代码放在桌面,解压:
cd ~/Desktop
tar -zxvf ~/Desktop/rosetta_src_201x.xx.xxx_bundle.tar.gz
由于clang12.0以及xcode commandline的变化,可能会导致mpi编译时的错误,因此需要修复一下源代码。
在~/Desktop/rosetta_src_201x.xx.xxx_bundle路径下搜索: CifScanner.c , trio.c, DICScanner.c三个文件并使用文本编辑器打开后,在第一行加入#include <unistd.h>并保存。
再进行环境变量配置:
#Rosetta
export ROSETTA=~/Desktop/rosetta_src_201x.xx.xxx_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
运行编译命令:
cd $ROSETTA/main/source/
./scons.py -j 16 mode=release bin extras=mpi
耐心等待即可。