0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统下的安装与使用

OpenCV学堂 来源:机器之心 作者:机器之心 2022-06-24 10:03 次阅读
AlphaFold2 是 2021 年 AI for Science 领域最耀眼的一颗星。现在,有人在 PyTorch 中复现了它,并已在 GitHub 上开源。这一复现在性能上媲美原版 AlphaFold2,且在算力、存储方面的要求对于大众来说更加友好。

刚刚,哥伦比亚大学系统生物学助理教授 Mohammed AlQuraishi 在推特上宣布,他们从头训练了一个名为 OpenFold 的模型,该模型是 AlphaFold2 的可训练 PyTorch 复现版本。Mohammed AlQuraishi 还表示,这是第一个大众可用的 AlphaFold2 复现。

e659c2d8-f301-11ec-ba43-dac502259ad0.png

AlphaFold2 可以周期性地以原子精度预测蛋白质结构,在技术上利用多序列对齐和深度学习算法设计,并结合关于蛋白质结构的物理和生物学知识提升了预测效果。它实现了 2/3 蛋白质结构预测的卓越成绩并在去年登上了《自然》杂志。更令人惊喜的是,DeepMind 团队不仅开源了模型,还将 AlphaFold2 预测数据做成了免费开放的数据集。 然而,开源并不意味着能用、好用。其实,AlphaFold2 软件系统的部署难度极大,并且对硬件的要求高、数据集下载周期长、占用空间大,每一条都让普通开发者望而却步。因此,开源社区一直在努力实现 AlphaFold2 的可用版本。 这次哥伦比亚大学 Mohammed AlQuraishi 教授等人实现的 OpenFold 总训练时间大约为 100000 A100 小时,但在大约 3000 小时内就达到了 90% 的准确率。

e6633476-f301-11ec-ba43-dac502259ad0.png

OpenFold 与原版 AlphaFold2 的准确率相当,甚至略胜一筹,可能因为 OpenFold 的训练集更大一点:

e66d88d6-f301-11ec-ba43-dac502259ad0.png

OpenFold 的主要优势是推理速度显著提升,对于较短的蛋白质序列,OpenFold 的推理速度可以达到 AlphaFold2 的两倍。另外,由于使用自定义的 CUDA 内核,OpenFold 使用更少的内存就能推理更长的蛋白质序列。 OpenFold 介绍 OpenFold 几乎再现了原始开源推理代码 (v2.0.1) 的所有功能,除了已趋于被淘汰的「模型集成」功能,该功能在 DeepMind 自己的消融测试中就表现不佳。 无论是否有 DeepSpeed,OpenFold 都能以全精度或 bfloat16 进行训练。为了实现 AlphaFold2 的原始性能,该团队从头开始训练 OpenFold,现已公开发布了模型权重和训练数据。其中,训练数据包含大约 400000 份 MSA 和 PDB70 模板文件。OpenFold 还支持使用 AlphaFold 的官方参数进行蛋白质推理。 与其他实现相比,OpenFold 具有以下优点:
  • 短序列推理:加快了在 GPU 上推理少于 1500 个氨基酸残基的链的速度;
  • 长序列推理:通过该研究实现的低记忆注意力(low-memory attention)对极长链进行推理,OpenFold 可以在单个 A100 上预测 超过 4000 个残基的序列结构,借助 CPU offload 甚至可以预测更长的序列;
  • 内存高效在训练和推理期间,在 FastFold 内核基础上修改的自定义 CUDA 注意力内核,使用的 GPU 内存分别比等效的 FastFold 和现有的 PyTorch 实现少 4 倍和 5 倍;
  • 高效对齐脚本:该团队使用原始 AlphaFold HHblits/JackHMMER pipeline 或带有 MMseqs2 的 ColabFold,已经生成了数百万个对齐。
Linux 系统下的安装与使用 开发团队提供了一个在本地安装 Miniconda、创建 conda 虚拟环境、安装所有 Python 依赖项并下载有用资源的脚本,包括两组模型参数。 运行以下命令:
scripts/install_third_party_dependencies.sh
使用如下命令激活环境:
sourcescripts/activate_conda_env.sh
停用命令:
sourcescripts/deactivate_conda_env.sh
在激活环境下,编译 OpenFold 的 CUDA 内核
python3setup.pyinstall
在 / usr/bin 路径下安装 HH-suite:
#scripts/install_hh_suite.sh
使用如下命令可以下载用于训练 OpenFold 和 AlphaFold 的数据库:
bashscripts/download_data.shdata/
如果要使用一组 DeepMind 的预训练参数对一个或多个序列进行推理,可以运行如下代码:
python3run_pretrained_openfold.py
fasta_dir
data/pdb_mmcif/mmcif_files/
--uniref90_database_pathdata/uniref90/uniref90.fasta
--mgnify_database_pathdata/mgnify/mgy_clusters_2018_12.fa
--pdb70_database_pathdata/pdb70/pdb70
--uniclust30_database_pathdata/uniclust30/uniclust30_2018_08/uniclust30_2018_08
--output_dir./
--bfd_database_pathdata/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt
--model_device"cuda:0"
--jackhmmer_binary_pathlib/conda/envs/openfold_venv/bin/jackhmmer
--hhblits_binary_pathlib/conda/envs/openfold_venv/bin/hhblits
--hhsearch_binary_pathlib/conda/envs/openfold_venv/bin/hhsearch
--kalign_binary_pathlib/conda/envs/openfold_venv/bin/kalign
--config_preset"model_1_ptm"
--openfold_checkpoint_pathopenfold/resources/openfold_params/finetuning_2_ptm.pt
更多细节请参见 GitHub:https://github.com/aqlaboratory/openfold

e6793442-f301-11ec-ba43-dac502259ad0.png

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4449

    浏览量

    90723
  • 开源
    +关注

    关注

    3

    文章

    2982

    浏览量

    41698
  • 深度学习
    +关注

    关注

    73

    文章

    5226

    浏览量

    119870

原文标题:首个大众可用PyTorch版AlphaFold2复现,哥大开源OpenFold,star量破千

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在Arch Linux系统安装Cutefish桌面环境

    现在你可以在 Arch Linux 中体验 Cutefish 桌面了。本文概述了在 Arch Linux 系统安装 Cutefish 桌面环境的步骤。
    的头像 发表于 04-19 17:05 5746次阅读

    Linux系统安装ISO文件

    路径名) /mnt/cd1 3、此时,在/mnt/cd1目录下,就有相应的安装文件了,接下来安装就可以了。 注:以上操作在su root 后进行,需要root权限。
    发表于 07-04 08:21

    如何在Linux系统安装Perl脚本语言

    本文向大家简单介绍一如何在Linux系统安装Perl脚本语言,Linux和Perl都属于自由
    发表于 07-16 06:38

    linux系统怎么安装python36和pycharm

    linux系统python36和pycharm的安装
    发表于 06-04 11:17

    嵌入式工程师关于linux的学习总结

    问题1:linux系统的定制和安装 STep 1 IBM PC按F12,来选择从CD-ROM起动; step 2 Fedora 问题2:基本命令 1 shutdown -h now 在关闭完成后停止(Halt)
    发表于 05-09 14:35 1051次阅读

    Linux系统中如何安装摄像头驱动

    1、摄像头(Webcam)驱动说明; 摄像头在Windows的驱动极为容易,最多是点几下鼠标,没有什么太大的难度。但在Linux中,驱动起来是有点困难,这并不是说Linux多高雅。只能
    发表于 11-07 11:45 5次下载

    你知道使用Linux系统Ubuntu安装LabVIEW 2017?

    实际从终端安装操作如下。首先进入到安装包目录,然后运行sudo ./INSALL安装。和NI官网提示的操作一样。并没有什么特别之处,懂Linux操作的应该都了解。
    发表于 04-19 14:31 1.4w次阅读

    Linux系统安装蓝牙USB无线电硬件

     尽管Linux系统已检测到并加载了与Bluetooth Radio进行接口连接的内核模块(设备驱动程序),但是Linux系统仍然无法使用蓝牙,因为没有Bluetooth应用程序。为了
    的头像 发表于 09-28 11:11 3165次阅读
    在<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>中<b class='flag-5'>安装</b>蓝牙USB无线电硬件

    怎么样才能在Linux系统安装软件

    或program.sit文件。在这两个操作系统中,你可以简单地点击它,它会问你一些非常基本的配置问题,比如,你接受许可协议还是你想要安装软件的目录。虽然在Linux中,安装程序/软件似
    的头像 发表于 01-25 17:44 2064次阅读

    如何在Linux系统安装软件

    或program.sit文件。在这两个操作系统中,你可以简单地点击它,它会问你一些非常基本的配置问题,比如,你接受许可协议还是你想要安装软件的目录。虽然在Linux中,安装程序/软件似
    的头像 发表于 02-15 15:36 7577次阅读

    Linux下如何安装和卸载rpm工具

    在Windows系统安装软件很简单,只要双击后缀为.exe的文件,然后根据提示连续单击“下一步”按钮即可。然而在Linux系统安装软件就
    的头像 发表于 11-06 22:07 7494次阅读

    Qt如何安装Linux

    Qt作为一款C++的跨平台开发框架,不懂在Linux系统安装怎么行呢?本文带大家详细的走一遍流程,如有不懂欢迎留言交流哦~
    的头像 发表于 02-27 14:59 1654次阅读
    Qt如何<b class='flag-5'>安装</b>在<b class='flag-5'>Linux</b>上

    ICer如何设置gvim语法亮亮

    在创建一个linux系统的时候,安装完gvim,系统默认的gvim的模式是白色背景,黑色字体,无语法亮亮。打开一个python脚本大概是下面这种效果。
    发表于 07-24 15:42 171次阅读
    ICer如何设置gvim语法亮亮

    怎么解决verilog和system verilog语法亮亮的问题呢?

    在创建一个linux系统的时候,安装完gvim,系统默认的gvim的模式是白色背景,黑色字体,无语法亮亮。打开一个python脚本大概是下面这种效果。
    的头像 发表于 07-26 17:37 676次阅读
    怎么解决verilog和system verilog语法亮亮的问题呢?

    linux安装网卡驱动教程

    Linux系统安装网卡驱动是一个比较基础的操作,下面我将为你详细讲解如何安装网卡驱动。 第一步,检查网卡型号和驱动支持情况:首先,你需要确定你的网卡型号,并查看该网卡型号在
    的头像 发表于 11-17 11:11 1522次阅读