win11安装rosetta和pyrosetta
本人完全菜鸡小白,从头研究这玩意,找个地方记录一下
感觉能遇到的问题基本都遇到了。。真是服了
不支持win的软件真的难搞啊。。对于菜鸡来说
主要参考
https://rosettacommons.org/demos/latest/tutorials/install_build/install_build
https://www.pyrosetta.org/downloads/windows-10
https://bioinformaticsreview.com/20210908/installing-rosetta-on-ubuntu/
https://www.youtube.com/watch?v=UEaFmUMEL9c
以及问GTP一堆问题
wsl 安装Ubuntu
设置wsl:参考 https://www.pyrosetta.org/downloads/windows-10
装Ubuntu
一开始直接 wsl --install -d Ubuntu,但是不知道为啥装g++以及pip3的时候依赖库就不符合要求了。。好像版本有点高,于是卸了重装20.04版本。。但是后面又用22.04版本又行了。。
安装命令:
wsl --install -d Ubuntu-20.04
出问题就 wsl --unregister ubuntu 重装
powershell 输入wsl 能切换成 wsl 模式
设置网络连接
使用sudo update时候死活连不上一直显示Ign1,查一堆资料说换源,换了一堆还是不行,不同Ubuntu版本源也不行。。不知从哪里看了想到ping一下发现连百度都上不了。。研究半天发现是要改DNS。。懒得研究为啥改了就行了。。
必须更改dns:
sudo vim /etc/resolv.conf
找一个DNS改上去例如 223.5.5.5 180.76.76.76
shift+i 编辑,esc回命令行,:wq! 保存退出,:q!不保存退出
ping www.baidu.com 检查网络连接
更改源(其实不改也行。。
sudo vim /etc/apt/sources.list
全删了网上找ubuntu镜像源改上去就行
:1,5d 删除1-5行
Ubuntu必要的安装
本来g++和gcc分开来装但是总是说依赖库版本有问题。。查了说直接装build-essential然而连这个都装不上了。。试图用aptitude装但是完全没有用。。怀疑是ubuntu版本高了,卸了ubuntu重装20.04版本然后直接装build-essential结果就好了。。到最后也不知道是为什么。。真就解决办法就是重装。。
命令:
sudo apt update
sudo apt upgrade
sudo apt install build-essential 编译相关
sudo apt install zlib1g-dev 解压缩相关
sudo apt install aptitude 不装也行。。
cd / 打开根目录
打开 c 盘的路径:
/mnt/c/
python安装
一开始装的最新版3.11结果pip3装不上去要求版本低于3.9 。。于是卸了改装3.8 。。但是后来重装Ubuntu20.04发现其实3.10也是可以的(pyrosetta最新支持到3.10)。。于是又把3.10设置为默认。。
python版本:
sudo ls -l /usr/bin | grep python 列出所有版本
sudo apt remove python3 卸载当前版本
sudo add-apt-repository ppa:deadsnakes/ppa 添加python源
sudo apt update
sudo apt python3.10 安装python3.10
设置默认使用的python版本:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
sudo update-alternatives --config python3
python3 --version 出现 3.10.13 搞定。。
设置默认python命令指向3.10后还需要更新包:
sudo apt install python3.10-distutils
否则后面装pyrosetta会出错。。
能成功下载以下包就行(pyrosetta需要)
sudo apt-get install ipython3 python3-setuptools python3-pip
需要设置将python指向python3,否则编译会有问题
sudo ln -s /usr/bin/python3 /usr/bin/python
python --version 出现 3.10.13 搞定。。
装Rosetta
下载 scons 用于编译
sudo apt install scons
下载 source 版本rosetta,将压缩包放到目标文件夹例如 /ros,进入/ros 文件夹。
cd /mnt/c/ros
一定要用命令解压缩,右键直接解压会缺少需要管理员权限才能解压的文件导致编译出错。。然后又得重新解压。。真给我搞晕了
解压不了则安装解压缩相关包:
sudo apt update
sudo apt install --reinstall libbz2-1.0=1.0.8-2
sudo apt install bzip2
bz2格式解压缩命令:
sudo tar -xvjf rosetta.source.release-351.tar.bz2
v会输出解压的文件名,直接 -xjf 就啥也不输出
别动它。。解压缩很久,解完会出现用户命令行
进入解压缩后的文件夹
cd rosetta.source.release-351/main/source/
编译前要先让 python命令 指向 python3,否则编译出错。
进行编译:
sudo python ./scons.py -j 8 mode=release bin
-j 8是使用 8核 编译
需要几小时,睡前运行起床后好了
检测编译成功:
进入source运行相关命令
cd source
./bin/AbinitioRelax.default.linuxgccrelease
报错说要sequence例如FASTA 说明成功(因为报错来自rosetta)
参考:https://www.youtube.com/watch?v=UEaFmUMEL9c
pyrosetta
参考:https://www.pyrosetta.org/downloads/windows-10
需要先下载相关包
sudo apt-get install ipython3 python3-setuptools python3-pip
下载了.linux 版本后发现官方推荐下载 linux.wheel 版本(https://www.pyrosetta.org/downloads/windows-10#h.z22mu2rkzun 的 “c. Download the appropriate Linux Release wheel, based on your Python version” 特么的写的那么小。。),然而试图下载这个版本半天下不下来,只好用.linux 的装了。因为用Python3.10所以下载310的包。
进入存放压缩包的文件夹,解压缩:
sudo tar -xvjf PyRosetta4.Debug.python310.linux.release-355.tar.bz2
需要几十分钟
安装:
cd PyRosetta4.Debug.python310.linux.release-355/setup
sudo python setup.py install
需要几个小时。。十二点开始晚上七八点回来发现好了
测试:
cd ../
vim test.py
from pyrosetta import *
init()
退出,执行
python test.py
运行需要一两分钟
或者直接打开python,输入import pyrosetta; pyrosetta.init().
没报错就成功