(防坑)Alphafold 非docker 安装指南
本指南适用于Linux系统。Alphafold官方也强调尽量使用Linux系统!官方提供了docker版安装步骤。
Alphafold简介:
软硬件条件:
python版本:建议使用python3.8。
建议使用conda创建python环境。
conda安装参见:https://conda.io/projects/conda/en/latest/user-guide/install/index.html
硬件条件(搭建本地预测服务器参考条件):
硬盘1T至2T以上,建议3T。
注1:Alphafold预测的准确度依赖于共进化信息的丰富度,所以要完整的预测或全提高准确度,就需要下载好几个数据库,下载的脚本在Alphafold包的script文件夹下。所以需要这么大的存储,在超算上这都不是事。但是,个人PC就有点大了!
注2:如果只是简单预测或测试,可以不用下载官方给出的全部数据库,准备1T足以,视所需数据库的大小。
CPU: 8至12核以上。
内存:16G至48G以上。
GPU:支持CUDA11(不用GPU会很费时间,尽量使用GPU加速。)
注:如果只是想在个人PC上简单测试,以上硬件条件可忽略。也可以使用在线版Alphafold进行预测。
安装步骤:
第一步:从github下载Alphafold包。
第二步:进入alphafold文件夹,配置python环境。
pip install -r requirements.txt
第三步:修改jaxlib版本。
使用官方的jaxlib会报错:AttributeError: module 'jaxlib.pocketfft' has no attribute 'pocketfft'
pip install --upgrade jax==0.2.14 jaxlib==0.1.69
第四步:安装openMM。
官方建议使用conda安装。参见:https://openmm.org/
建议使用openmm7.5.1版本,7.6.0会报错:ModuleNotFoundError: No module named 'simtk.openmm.app.internal'
conda install -c conda-forge openmm=7.5.1
验证openmm:python -m simtk.testInstallation
直接执行python -m openmm.testInstallation 会报错找不到openmm
输出以下内容就说明安装好了。
OpenMM Version: 7.5.1 Git Revision:
There are 4 Platforms available:
1 Reference - Successfully computed forces 2 CPU - Successfully computed forces 3 CUDA - Successfully computed forces 4 OpenCL - Successfully computed forces
Median difference in forces between platforms:
Reference vs. CPU: Reference vs. CUDA: CPU vs. CUDA: Reference vs. OpenCL: CPU vs. OpenCL: CUDA vs. OpenCL:
All differences are within tolerance.
如果输出内容里出现:CUDA - Error computing forces with CUDA platform,原因在于cudatookit不对。首先使用 nvidia-smi 查看CUDA Version,然后使用 conda install -c conda-forge cudatoolkit= CUDA Version(对应的版本号),就可以解决问题。当然没有cuda也能跑起来,只是费时间。
验证Alphafold:
进入alphafold,执行 python run_alphafold_test.py
出现以下内容,就说明安装好了。
[ RUN ] RunAlphafoldTest.test_end_to_end_no_relax I0814 21:46:41.874690 140372256589632 run_alphafold.py:161] Predicting test I0814 21:46:41.875205 140372256589632 run_alphafold.py:190] Running model model1 on test I0814 21:46:41.875339 140372256589632 run_alphafold.py:202] Total JAX model model1 on test predict time (includes compilation time, see --benchmark): 0.0s I0814 21:46:41.878139 140372256589632 run_alphafold.py:271] Final timings for test: {'features': 3.409385681152344e-05, 'process_features_model1': 3.838539123535156e-05, 'predict_and_compile_model1': 2.0742416381835938e-05} [ OK ] RunAlphafoldTest.test_end_to_end_no_relax [ RUN ] RunAlphafoldTest.test_end_to_end_relax I0814 21:46:41.880331 140372256589632 run_alphafold.py:161] Predicting test I0814 21:46:41.880626 140372256589632 run_alphafold.py:190] Running model model1 on test I0814 21:46:41.880749 140372256589632 run_alphafold.py:202] Total JAX model model1 on test predict time (includes compilation time, see --benchmark): 0.0s I0814 21:46:41.883405 140372256589632 run_alphafold.py:271] Final timings for test: {'features': 3.0994415283203125e-05, 'process_features_model1': 3.409385681152344e-05, 'predict_and_compile_model1': 1.6450881958007812e-05, 'relax_model1': 2.9087066650390625e-05}
[ OK ] RunAlphafoldTest.test_end_to_end_relax
Ran 2 tests in 0.011s
OK
后记:
未完待续,后续Alphafold使用将继续更新。
本文提到的一些软件可以通过下列连接获取。
minicoda:链接: https://pan.baidu.com/s/1HOvUef7m0TffRdC-caUzVQ 提取码: dwwc
Alphafold:链接: https://pan.baidu.com/s/1D0CXpumKFo21kJLd29xvNw 提取码: ri6s
(防坑)Alphafold 非docker 安装指南的更多相关文章
- Centos 7 中 部署 asp.net core 3.0 + nginx + mongodb 的一些新手简单入门,非docker
目录 零.准备工作 一.部署Mongodb 1.安装Mongodb 2.创建mongodb的数据目录 3.设置目录权限 4.设置mongodb启动 5.修改mongodb的配置文件 6.启动Mongo ...
- Golang的防坑小技巧
Golang的防坑小技巧 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 作为一名小白,在之前没有接触到编程的小伙伴,难免会踩到一些坑,比如说刚刚入门的时候你需要安装环境,学习Gol ...
- Hadoop基础-常见异常剖析之防坑小技巧
Hadoop基础-常见异常剖析之防坑小技巧 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Linux下,非Docker启动Elasticsearch 6.3.0,安装ik分词器插件,以及使用Kibana测试Elasticsearch,
Linux下,非Docker启动Elasticsearch 6.3.0 查看java版本,需要1.8版本 java -version yum -y install java 创建用户,因为elasti ...
- SpringBoot整合log4j2进行日志配置及防坑指南
写在前面 最近项目经理要求将原先项目中的日志配置logBack,修改为log4j2,据说是log4j2性能更优于logback,具体快多少,网上有说快10多倍,看来还是很快的,于是新的一波挑战又开始了 ...
- Python语言防坑小技巧
Python语言防坑小技巧 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.赋值即定义 1>.运行以下代码会出现报错 #!/usr/bin/env python #_*_ ...
- position: sticky 防坑指南
position: sticky 防坑指南:https://www.jianshu.com/p/e217905e8b87 今天在写小程序项目的时候碰到一个需求是要把轮播图下面的标签栏滑动到顶部后固定, ...
- 阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南
我是风筝,公众号「古时的风筝」,一个不只有技术的技术公众号,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者. Spring Cloud 系列文章已经完 ...
- linux centos 安装Jenkins(非docker方式)
写在前面 我之前写过Asp.net Core 使用Jenkins + Dockor 实现持续集成.自动化部署(一):Jenkins安装这jenkisn的安装过程,但这篇使用的是docker的方式安装的 ...
随机推荐
- 【SNOI2017 DAY1】炸弹
题意:P5024 思路:首先\(O(n^2)\)向能炸到的点连边,所以能到达的点的个数就是能到达的点的个数.然后显然要缩点+拓扑排序(我写的记搜). 然后再写一个线段树优化建图. 然后就WA了,我想了 ...
- 2006NOIP普及组:明明的随机数
明明的随机数 时间限制:1000ms 内存限制:65536KB 题目描述: 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数 ...
- 我的第一个开源作品Kiwis2 Mock Server
我的第一个开源作品Kiwis2 Mock Server,目前公测中,欢迎大家提供宝贵意见. 代码:https://github.com/kiwis2/mockserver 主页:https://kiw ...
- Python数据分析--Numpy常用函数介绍(6)--Numpy中矩阵和通用函数
在NumPy中,矩阵是 ndarray 的子类,与数学概念中的矩阵一样,NumPy中的矩阵也是二维的,可以使用 mat . matrix 以及 bmat 函数来创建矩阵. 一.创建矩阵 mat 函数创 ...
- JVM学习笔记-从底层了解程序运行(一)
1:JVM基础知识 什么是JVM 1. java虚拟机,跨语言的平台,实现java跨平台 2. 可以实现多种语言跨平台,只要该语言可以编译成.class文件 3. 解释执行.class文件 java是 ...
- BUUCTF-LSB
LSB 看到这个题目应该是LSB隐写,StegSolve打开,在红绿蓝0号上发现图片信息 然后在Analyse选择data extract Save bin保存图片即可 得到的是个二维码,解码即可.
- rhel7修改网卡名
备份eno16777736网卡配置,并复制出一个ifcfg-eth0 [root@rhel7 network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777 ...
- CF484A Bits
CF484A Bits 题目 https://codeforces.com/problemset/problem/484/A 题解 思路 知识点:贪心,位运算. 每位独立考虑,要使 \(1\) 的数量 ...
- VScode中配置Java环境
vscode 中配置Java环境 转载说明:本篇文档原作者[@火星动力猿],文档出处来自哔哩哔哩-[教程]VScode中配置Java运行环境 转载请在开头或显眼位置标注转载信息. 1.下载VScode ...
- Tapdata Cloud 2.1.5来啦:新增支持Amazon RDS数据库,错误日志查询更便捷,Agent部署细节再优化
需求持续更新,优化一刻不停--Tapdata Cloud 2.1.5 来啦! 最新发布的版本中,数据连接再上新,同时新增任务报错相关信息快速查询入口,开始支持 JVM 参数自定义设置. 更 ...