proteinsolver
论文
proteinsolver以包含蛋白质结构的pdb文件为输入,它能够以这个蛋白质的空间结构为模板,设计出一系列满足该空间结构的其他的蛋白质序列。proteinsolver采用类似于数独问题的方法,即把蛋白质设计转化为CSP问题,用图神经网络进行计算。
论文链接:Fast and Flexible Protein Design Using Deep Graph Neural Networks
源码
proteinsolver(框架是pytorch)
使用
就是照着人家的README文件里面的操作搞。
本地运行
一开始在Windows下面弄,创建Anaconda环境的时候就遇到不明不白的问题。转了半天说有些包不兼容,怎么弄都不行。
后来发现是操作系统的问题。打开虚拟机(操作系统是Ubuntu20.04,64位)就行了,但也不能直接复制粘贴,pytorch得进到环境里面装,不然还是有报错。
这一步创建了一个新的conda环境,并安装了必要的依赖库。
conda create -n proteinsolver -c conda-forge -c kimlab -c ostrokach-forge proteinsolver
conda activate proteinsolver
conda install pytorch torchvision torchaudio cpuonly -c pytorch
然后继续跟着教程走。进入到源码的根目录中运行pip install --editable .
,使Python使用代码的开发版本。
cd Documents/proteinsolver_master
pip install --editable .
因为是打算用人家训练好的版本,wget
这步运行也没问题(也需要在根目录下运行):
wget -r -nH --cut-dirs 1 --reject "index.html*" "http://models.proteinsolver.org/v0.1/"
接着启动jupyter:
jupyter notebook
然后,就没有然后了……运行20_protein_demo.ipynb这个笔记本,仍然会遇到无法导入库的情况:
后面解决了的话再补充吧。
docker image
先按照指示装一个docker,然后需要修改配置文件,改用阿里的镜像。1用如下命令创建一个文件:
vim /etc/docker/daemon.json
然后会打开一个空白文档。按i进入INSERT模式,然后贴入如下内容:
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
按Esc退出INSERT模式,然后输入:wq
保存并退出。接着就可以跑加载proteinsolver镜像的命令。如果一次不成功,可以再来一次。
docker run -it --rm -p 8000:8000 registry.gitlab.com/ostrokach/proteinsolver:v0.1.25 jupyter notebook --ip 0.0.0.0 --port 8000
经历一阵读条之后,大概会出现这样一个东西,总之它可能没法直接用浏览器打开jupyter notebook,但是在terminal中会给出访问的地址。有两个地址,反正都试试。
用镜像可以比较容易的运行demo,导入部分正常运行: