首页 > 其他分享 >(防坑)Alphafold 非docker 安装指南

(防坑)Alphafold 非docker 安装指南

时间:2022-08-15 10:47:28浏览次数:77  
标签:run 防坑 py alphafold test conda 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包。

      git clone https://github.com/deepmind/alphafold.git

    • 第二步:进入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

  • 后记:

标签:run,防坑,py,alphafold,test,conda,Alphafold,docker
From: https://www.cnblogs.com/phying/p/16587414.html

相关文章

  • Docker-Desktop在Ubuntu系统中的安装问题
    Docker-Desktop在Linux系统中的安装包为DEB包.deb安装包正常情况下无法直接通过UbuntuSoftware进行安装,需要安装相应的插件/支持。当然也可以通过命令行进行安装,如:su......
  • Docker命令速查
    Docker命令显示所有正在运行的docker容器dockerps显示所有docker容器dockerps-a运行容器dockerrun:运行一个容器并连接到它dockerrun-it:在后台运行容器......
  • redis 和docker等名词了解
    redisredis产生redis是MySQL数据库经常直接面对大量的读写访问,面对比较复杂的数据据操作,会导致数据库I/O反映缓慢或者奔溃;有人研究学习CPU从内寸直接读取数据,把MYSQL经......
  • centos7使用 Docker Engine部署gitlab
    1.安装docker-ce卸载旧版本:yumremovedockerdocker-commondocker-selinuxdocker-engine一、虚拟机联网,安装yum工具执行以下命令yuminstall-yyum-utils\dev......
  • Docker 常用命令
    基本命令安装Centoscd/etc/yum.repos.dwgethttps://download.docker.com/linux/centos/docker-ce.repoyuminstalldocker-ce-y如果安装过程中报错:packagedock......
  • Docker 01
    1.Docker启动/关闭a.开启dockersystemctlstartdockerb.查看docker状态systemctlstatusdockerc.关闭dockersystemctlstopdockerd.docker开机自启动s......
  • docker swarm容器编排学习笔记
    1、介绍DockerSwarm 和DockerCompose一样,都是Docker官方容器编排项目不同点:DockerCompose是一个在单个服务器或主机上创建多个容器的工具,DockerSwarm则可以......
  • (Docker)镜像的制作与部署方式
    基于Linux的虚拟化(Docker)镜像的制作与部署方式原创 曹兆祺 风乍起带你学编程 2022-08-1323:00 发表于天津收录于合集#docker5个#镜像1个#linux3个  ......
  • 九、docker swarm主机编排
    一、什么是DockerSwarmSwarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm,它是将一群......
  • 八、docker compose容器编排
    一、Docker-Compose1.1、什么是DockerComposeCompose项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在 https://github.com/docker/comp......